이번 1051번부터 1055번까지는 두 수의 크기를 비교하는 단계를 넘어, 조건의 참/거짓을 뒤집거나 결합하는 논리 연산에 대해 학습합니다.
등호(=)가 포함된 비교 연산자와 값이 다른지 확인하는 연산자의 정확한 표기법을 먼저 익힙니다.
그 후, 논리 연산자인 NOT(!), AND(&&), OR(||)을 사용하여 여러 조건을 복합적으로 처리하는 방법을 다룹니다.
C언어에서 참은 1, 거짓은 0으로 처리된다는 기본 원칙이 이 모든 연산의 결과에 적용됩니다.
이 과정은 추후 if문이나 반복문 같은 제어문을 작성하기 위한 필수적인 기초가 됩니다.
두 정수 a, b를 입력받아 b가 a보다 크거나 같으면(b >= a) 1, 그렇지 않으면 0을 출력합니다.
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", b >= a);
return 0;
}
실행 결과
입력 예시: 0 -1
출력 예시: 0
상세 설명
키보드에는 해당 키가 없으므로 >와 =를 붙여서 씁니다. 주의할 점은 반드시 등호(=)가 뒤에 와야 한다는 점입니다. =>로 쓰면 에러가 나거나 의도치 않은 동작을 하므로 a <= b 또는 b >= a 순서를 꼭 지켜야 합니다.
두 정수 a, b를 입력받아 두 값이 서로 다르면 1, 같으면 0을 출력합니다.
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a != b);
return 0;
}
실행 결과
입력 예시: 10 10
출력 예시: 0
상세 설명
값이 같은지 비교할 때는 ==를 쓰고, 값이 다른지 비교할 때는 느낌표(!)와 등호(=)를 합친 != 연산자를 사용합니다. 프로그래밍에서 느낌표(!)는 주로 부정(NOT)의 의미를 가집니다. 즉, !=는 '같지 않다(Not Equal)'를 의미합니다.
정수 1개가 입력되었을 때, 0이면 1을 출력하고 1이면 0을 출력하는 논리 반전 문제입니다.
#include <stdio.h>
int main() {
int a;
scanf("%d", &a);
printf("%d", !a);
return 0;
}
실행 결과
입력 예시: 1
출력 예시: 0
상세 설명
논리 연산자 !는 논리값을 뒤집는 역할을 합니다. C언어에서는 0을 거짓(False), 0이 아닌 모든 값을 참(True)으로 인식합니다. 따라서 !0은 참인 1이 되고, !1 (또는 !참)은 거짓인 0이 됩니다. 이를 활용해 스위치 상태를 켜고 끄는 토글(Toggle) 기능을 구현할 수 있습니다.
두 개의 정수가 입력되었을 때, 둘 다 참(1)일 경우에만 1을 출력하고, 하나라도 거짓(0)이면 0을 출력합니다.
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a && b);
return 0;
}
실행 결과
입력 예시: 1 1
출력 예시: 1
상세 설명
&&는 논리곱(AND) 연산자입니다. "그리고"라는 의미를 가지며, 양쪽의 조건이 모두 참일 때만 결과가 참(1)이 됩니다. 입력 예시처럼 둘 다 1이어야 1이 나오며, 만약 1 0, 0 1, 0 0이 입력되면 모두 거짓이므로 0이 출력됩니다.
두 개의 정수가 입력되었을 때, 하나라도 참(1)이면 1을 출력하고, 둘 다 거짓(0)일 때만 0을 출력합니다.
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a || b);
return 0;
}
실행 결과
입력 예시: 1 0
출력 예시: 1
상세 설명
||는 논리합(OR) 연산자입니다. "또는"이라는 의미를 가지며, 두 조건 중 하나라도 참이면 결과가 참(1)이 됩니다. 키보드 엔터키 위에 있는 백슬래시(\) 키를 Shift와 함께 누르면 나오는 파이프라인(|) 기호를 두 번 써서 입력합니다.
| [CodeUp] C언어 기초 100제 풀이 (1061번 ~ 1065번) (0) | 2026.02.01 |
|---|---|
| [CodeUp] C언어 기초 100제 풀이 (1056번 ~ 1060번) (0) | 2026.02.01 |
| [CodeUp] C언어 기초 100제 풀이 (1046번 ~ 1050번) (0) | 2026.02.01 |
| [CodeUp] C언어 기초 100제 (1041~1045번) 풀이 (0) | 2026.02.01 |
| [CodeUp] C언어 기초 100제 풀이 (1036번 ~ 1040번) (0) | 2026.02.01 |