프로그래밍 언어 및 기술 [언제나휴일]

비교 연산, 논리 연산의 도움을 받으세요. 본문

C & C++/언제나 C언어

비교 연산, 논리 연산의 도움을 받으세요.

언휴 2025. 1. 3. 12:43

안녕하세요. 언제나 휴일에 언휴예요.

비교 연산 [C언어]

 

이번 강의는 비교 연산입니다.

1. 비교 연산
2. 비교 연산에서 주의할 점

1. 비교 연산

비교 연산은 연산 기호 및 하는 일이 직관적입니다.

 

기본적인 비교 연산은 어려움이 없다는 것이죠.

#include //표준 입출력 헤더
int main()
{
    printf("%d\n", 1 < 2);
    printf("%d\n", 1 <= 2);
    printf("%d\n", 1 == 2);
    printf("%d\n", 1 != 2);
    printf("%d\n", 1 > 2);
    printf("%d\n", 1 >= 2);
    
    return 0;
}

비교 연산의 연산 결과도 참이면 1, 거짓이면 0입니다.

1
1
0
1
0
0

2. 비교 연산에서 주의할 점

비교 연산을 이용하여 세 가지 이상의 값을 비교할 때는 논리 연산을 이용하세요.

 

수학에서 2<1<3은 거짓이지만 C언어에서는 참입니다.

C언어에서는 연산을 하나씩 수행합니다.

2<1<3은 2<1을 수행하고 수행 결과값과 3을 비교합니다.

2<1은 거짓이므로 연산 결과는 0입니다.

결국 0<3을 비교하여 전체 연산 결과는 1입니다.

#include //표준 입출력 헤더
int main()
{
    printf("%d\n", 2 < 1 < 3);
    return 0;
}

실행한 결과는 다음과 같습니다.

1

이처럼 세 가지 이상의 값을 비교할 때 예상하는 결과를 얻지 못할 수 있습니다.

 

이 때는 논리 연산을 이용하세요.

“A<B<C일 때 A<B 이고 B<C이다.” 명제를 이용하면 문제 없습니다.

#include //표준 입출력 헤더
int main()
{
    printf("%d\n", (2 < 1) && (2 < 3) );
    return 0;
}

실행 결과는 기대하는 0입니다.

0

언제나휴일 추천 여행 및 산책

대한독립만세길 [역사문화둘레길 1코스, 병천사거리, 유관순사적지]