티스토리 뷰

jungol > 문제 > Langauge_Corder > 연산자 - 자가진단 7~8


자가진단 7

 

출처 : 자기주도C언어프로그래밍



&&연산자 || 연산자

&& 연산자 (논리곱)

이 연산자는 and의 의미를 가진다.

조건 a and 조건 b일 시 조건 a와 조건 b 둘 다

참으로 성립해야 참이다.

둘 중하나라도 거짓이면 조건 a and 조건 b는

거짓이다.

|| 연산자 (논리합)

이 연산자는 or의 의미를 가진다.

조건 a or 조건 b 일 시 조건 a 나 조건 b 중

둘 중 아무나 참이면 조건 a or 조건 b는 참이다.

둘 다 거짓일때가 조건 a or 조건 b의 거짓이다.

 

코드 10줄의 ;이 짤렸다



문제에선 정수를 입력받되 0인 경우 false
0이 아니면 true로 하라 했기에


  • 10) printf("%d", a!=0 && b!=0);

//논리곱

  • 11) printf(" %d", a!=0 || b!=0);

//논리합

비교연산자 !=을 이용하여 논리곱, 논리합을 적었다.


실행 결과


여러 번 실행했을 때의 결과다.



 

자가진단 8

 



langauge_corder 연산자의 마지막 자가진단!!!!


이번에는 조건이 두 개다





1. 처음수가 가장 클 때만 1(true) 아닐 시 다 0

2. 모든 수가 다 같을 때만 1(true)

아닐 시 다 0(false)



그래서 1번은

a(맨 처음 수)

a>b && a>c ( 10번째 줄)

보다시피 and로 해놓았다.



2번은

a=b=c ->

a == b && b == c (11번째 줄)

로 해놓았다.


결과들


여러 번 돌려도 오류 없이 내가 원하는 대로 작동한다!

이젠 형성평가다!




코드

 

자가진단 7
#include <stdio.h>

int main(void)
{
int a = 0;
int b = 0;
scanf("%d", &a);
scanf("%d", &b);

printf("%d", a!=0 && b!=0);
printf(" %d", a!=0 || b!=0);
return 0;
}
자가진단 8
#include <stdio.h>

int main(void)
{
int a = 0; int b = 0; int c = 0;
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);

printf("%d ", a>b && a>c);
printf("%d\n", a == b && a == c);
return 0;
}
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함