31. 비교 연산자

[C언어] 산술, 논리, 비교 연산자
00:19 산술 연산
00:35 [실습] 부호 연산
01:35 [실습] 사칙 연산
04:05 [실습] 나머지 연산
05:32 논리 연산자
05:46 [실습] 논리 연산
07:18 [실습] 논리 연산에서 주의할 점
09:03 비교연산자
09:18 [실습] 비교 연산자
10:01 비교 연신에서 주의할 점

<,< =, >, >= , ==, !=

C언어에서 비교 연산은 이항 연산자로 피연산자의 값의 크기를 비교하며 연산 결과는 참일 때 1, 거짓일 때 0이예요.

연산자를 보면 쉽게 알 수 있듯이 < 는 우항이 작은지 비교, <= 우항이 작거나 같은지 비교, > 우항이 큰지 비교, >= 우항이 크거나 같은지 비교, == 서로 같은지 비교, != 다른지 비교하는 연산자예요.
그리고 <=, >=, ==, != 연산자를 사용할 때 중간에 공백은 올 수 없어요.

◈ 비교 연산

#include <stdio.h>
int main()
{
    printf("1<2  연산 결과:%d \n", 1<2);
    printf("1<=2 연산 결과:%d \n", 1<=2);
    printf("1>2  연산 결과:%d \n", 1>2);
    printf("1>=2 연산 결과:%d \n", 1>=2);
    printf("1==2 연산 결과:%d \n", 1==2);
    printf("1!=2 연산 결과:%d \n", 1!=2);
    return 0;
}

◈ 실행 결과

1<2  연산 결과:1 
1<=2 연산 결과:1 
1>2  연산 결과:0 
1>=2 연산 결과:0 
1==2 연산 결과:0 
1!=2  연산 결과:1

비교 연산에서 주의할 점은 2<1<3 처럼 비교 연산하면 결과는 수학과 다를 수 있어요.
C언어에서 2<1<3을 계산할 때는 2<1을 먼저 계산한 후에 1과 비교 연산을 수행해요.
2<1의 연산 결과는 거짓이므로 0 이고, 0(2<1의 연산 결과)<3은 참이므로 연산 결과는 1이예요.

따라서 수학에서 2<1<3 계산을 C언어로 작성할 때는 (2<1)&&(1<3)처럼 논리곱 연산을 사용하세요.

◈ 비교 연산을 사용할 때 주의할 점

#include <stdio.h>
int main()
{
    printf("2<1<3 연산 결과: %d \n", 2<1<3);
    printf("(2<1) && (1<3) 연산 결과: %d \n", (2<1) && (1<3) );
    return 0;
}

◈ 실행 결과

2<1<3 연산 결과: 1
(2<1) && (1<3) 연산 결과: 0

◈ 기본 연습(정답 바로가기)
다음 프로그램의 출력 결과를 예측하고 이유를 설명하시오.

#include <stdio.h>
int main()
{
    printf("%d \n", 5<2<4);
    printf("%d \n", (5<2)&&(2<4));
    return 0;
}