논리 연산자 파트 2
Coddy C 여정의 Fundamentals 섹션에 포함된 레슨 — 63개 중 22번째.
논리 연산자에는 논리 연산자의 조합이 무엇을 반환하는지 보여주는 "진리표(Truth table)"라고 불리는 특별한 표가 있습니다.
and (&&) 연산자에 대한 진리표:
| a | b | a && b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
and (&&) 연산자에서 1 (true)을 얻는 유일한 방법은 a와 b가 모두 1 (true)인 경우입니다.
or (||) 연산자에 대한 진리표:
| a | b | a || b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
이 경우, 1 (true) 결과를 얻으려면 a 또는 b 중 하나가 1 (true)이어야 합니다.
not (!) 연산자에 대한 진리표:
| a | !a |
|---|---|
| 0 | 1 |
| 1 | 0 |
여기서 a의 값은 반전됩니다. 만약 a가 0 (false)이라면 !a는 1 (true)이 됩니다.
챌린지
쉬움표현식 int b3 = !((b1 + b2) > (b1 * b2));에서 b3가 1 (true)로 평가되도록 변수 b1과 b2에 정수 값을 할당해야 합니다.
잠시 시간을 내어 조건을 분석하고 어떤 값이 이를 참으로 만들지 생각해 보세요.
치트 시트
진리표는 논리 연산자의 결과를 보여줍니다:
AND (&&) 연산자:
| a | b | a && b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
두 피연산자가 모두 1 (참)일 때만 1 (참)을 반환합니다.
OR (||) 연산자:
| a | b | a || b |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
피연산자 중 하나라도 1 (참)이면 1 (참)을 반환합니다.
NOT (!) 연산자:
| a | !a |
|---|---|
| 0 | 1 |
| 1 | 0 |
값을 반전시킵니다: 0 (거짓)은 1 (참)이 되고 그 반대도 마찬가지입니다.
직접 해보기
#include <stdio.h>
int main() {
// 아래에 코드를 입력하세요
int b1 = ?;
int b2 = ?;
int b3 = !((b1 + b2) > (b1 * b2));
// 아래 줄을 변경하지 마세요
printf("b3 = %d\n", b3);
return 0;
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.