Menu
Coddy logo textTech

논리 연산자 파트 2

Coddy C 여정의 Fundamentals 섹션에 포함된 레슨 — 63개 중 22번째.

논리 연산자에는 논리 연산자의 조합이 무엇을 반환하는지 보여주는 "진리표(Truth table)"라고 불리는 특별한 표가 있습니다.

and (&&) 연산자에 대한 진리표:

aba && b
000
010
100
111

and (&&) 연산자에서 1 (true)을 얻는 유일한 방법은 ab가 모두 1 (true)인 경우입니다.

or (||) 연산자에 대한 진리표:

aba || b
000
011
101
111

이 경우, 1 (true) 결과를 얻으려면 a 또는 b 중 하나가 1 (true)이어야 합니다.

not (!) 연산자에 대한 진리표:

a!a
01
10

여기서 a의 값은 반전됩니다. 만약 a0 (false)이라면 !a1 (true)이 됩니다.

challenge icon

챌린지

쉬움

표현식 int b3 = !((b1 + b2) > (b1 * b2));에서 b3가 1 (true)로 평가되도록 변수 b1과 b2에 정수 값을 할당해야 합니다.

잠시 시간을 내어 조건을 분석하고 어떤 값이 이를 참으로 만들지 생각해 보세요.

치트 시트

진리표는 논리 연산자의 결과를 보여줍니다:

AND (&&) 연산자:

aba && b
000
010
100
111

두 피연산자가 모두 1 (참)일 때만 1 (참)을 반환합니다.

OR (||) 연산자:

aba || b
000
011
101
111

피연산자 중 하나라도 1 (참)이면 1 (참)을 반환합니다.

NOT (!) 연산자:

a!a
01
10

값을 반전시킵니다: 0 (거짓)은 1 (참)이 되고 그 반대도 마찬가지입니다.

직접 해보기

#include <stdio.h>

int main() {
    // 아래에 코드를 입력하세요
    int b1 = ?;
    int b2 = ?;
    int b3 = !((b1 + b2) > (b1 * b2));
    
    // 아래 줄을 변경하지 마세요
    printf("b3 = %d\n", b3);
    
    return 0;
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Fundamentals의 모든 레슨