관계 연산자
프로그래밍을 하다 보면 조건에 따라서 값을 다르게 설정해야 하는 경우가 있습니다.
예를 들어 뷔페에 갔을 경우 나이가 7세 미만이면 5,000원 그 이상이면 10,000원 이런 식으로 말이죠
이렇게 특정 기준을 프로그래밍할 때 필요한 것이 관계 연산자입니다.
관계 연산자에는 대소 관계 연산자, 동등 관계 연산자가 있습니다.
대소 관계 연산자는 >, < 와 같은 크다와 작다를 나타내는 것이고 동등 관계 연산자는 ==,!=과 같은 같다와 다르다를 나타내는 것입니다.
이 것들의 결과 값은 2개가 있는데 참 (1)과 거짓(0)입니다.
#include <stdio.h>
int main(void)
{
int a, b;
a = 10;
b = 20;
int res;
res = (a > b);
printf("%d", res);
return 0;
}
이렇게 10 > 20이라고 하면 당연히 값은 거짓이니 0이 나옵니다.
그러면 이번에는 1을 출력해볼까요??
등호만 반대로 돌리니 1을 잘 출력했습니다.
논리 연산자
논리 연산자도 위에서 본 관계 연산자처럼 0과 1을 출력하는 연산자입니다.
참(1)과 거짓(0)을 판별하는 데 쓰이고 AND(&&), OR(||), NOT(!) 이렇게 3개가 있습니다.
AND는 피 연산자가 모두 참이어야만 참이 되고
OR은 피연산자 중 1개만 참이 있어도 참이 됩니다.
그리고 NOT은 참과 거짓을 바꿀 경우에 사용하게 됩니다.
예를 들어보겠습니다.
#include <stdio.h>
int main(void)
{
int a, b, c, d;
a = 10;
b = 20;
c = 30;
d = 40;
int res;
res = (a < b) && (c < d);
printf("%d", res);
return 0;
}
10 < 20 && 30 <40
둘 다 참이므로 값도 당연히 참이 나옵니다.
하지만 30 > 40으로 바꾸면 어떻게 될까요??
AND(&&)를 사용했기 때문에 당연히 거짓이 됩니다.
그러면 이제 &&를 ||로 바꿔보겠습니다.
#include <stdio.h>
int main(void)
{
int a, b, c, d;
a = 10;
b = 20;
c = 30;
d = 40;
int res;
res = (a < b) || (c < d);
printf("%d", res);
return 0;
}
10 < 20이 참이니 뒤에가 거짓이라도 참이 나와줬습니다.
이상 관계 연산자와 논리 연산자에 대해서 알아봤습니다. 감사합니다.
'C' 카테고리의 다른 글
C언어 switch / case 사용 방법 (0) | 2022.01.17 |
---|---|
C언어 if문 (0) | 2021.12.26 |
C언어 연산자(산술 연산자/ 대입 연산자/ 증감 연산자) (0) | 2021.12.15 |
C언어 input값 출력하기 (scanf) (0) | 2021.12.12 |
C언어 식별자 사용 규칙 (0) | 2021.12.12 |
댓글