이번 1061번부터 1065번까지는 비트 단위 논리 연산을 마무리하고, 프로그램의 흐름을 제어하는 조건문(Conditional Statement)의 기초로 진입합니다. 비트 단위로 값을 합치는 OR(|) 연산과 서로 다른 비트만 골라내는 XOR(^) 연산의 차이를 명확히 구분합니다. 그 후, 항이 3개 필요한 삼항 연산자(?:)를 통해 복잡한 if-else 문을 한 줄로 간결하게 표현하는 방법을 익힙니다. 특히 두 수 중 큰 값을 골라내는 로직을 세 수로 확장하며 연산자의 중첩 사용법을 연습하게 됩니다. 마지막으로는 조건에 따라 코드를 실행하거나 건너뛰는 선택 제어문(if)을 사용하여 짝수만 골라 출력하는 기본 패턴을 다룹니다.
두 정수를 입력받아 비트 단위로 OR 연산한 결과를 출력합니다.
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a | b);
return 0;
}
실행 결과
입력 예시: 3 5
출력 예시: 7
상세 설명 파이프(|) 기호 하나를 사용하면 비트 단위 OR 연산을 수행합니다. 두 비트 중 하나라도 1이면 1이 됩니다.
두 정수를 입력받아 비트 단위로 XOR 연산한 결과를 출력합니다.
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a ^ b);
return 0;
}
실행 결과
입력 예시: 3 5
출력 예시: 6
상세 설명 캐럿(^) 기호는 비트 단위 XOR(Exclusive OR) 연산자입니다. 대응하는 비트가 서로 다를 때만 1, 같으면 0이 됩니다.
두 정수 중 더 큰 값을 출력합니다. 단, if문을 사용하지 않고 삼항 연산자를 사용합니다.
#include <stdio.h>
int main() {
int a, b;
scanf("%d %d", &a, &b);
printf("%d", a > b ? a : b);
return 0;
}
실행 결과
입력 예시: 123 456
출력 예시: 456
상세 설명
삼항 연산자는 조건식 ? 참일_때_값 : 거짓일_때_값 형태를 가집니다. a > b가 참이면 a를 선택하고, 거짓이면 b를 선택합니다. 간단한 조건 판단을 한 줄로 작성할 때 매우 효율적입니다.
세 정수 중 가장 작은 값을 출력합니다. 삼항 연산자를 중첩하여 사용합니다.
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
printf("%d", (a < b ? a : b) < c ? (a < b ? a : b) : c);
return 0;
}
실행 결과
입력 예시: 3 -1 5
출력 예시: -1
상세 설명
삼항 연산자 안에 또 다른 삼항 연산자를 넣을 수 있습니다.
세 정수 a, b, c를 입력받아 그중 짝수(Even number)만 골라 줄을 바꿔 출력합니다.
#include <stdio.h>
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
if(a % 2 == 0) printf("%d\n", a);
if(b % 2 == 0) printf("%d\n", b);
if(c % 2 == 0) printf("%d\n", c);
return 0;
}
실행 결과
입력 예시: 1 2 4
출력 예시:
2
4
상세 설명
여기서부터 제어문(if)이 본격적으로 사용됩니다. if(조건식)은 괄호 안의 내용이 참(1)일 때만 뒤따르는 명령을 실행합니다. 짝수는 2로 나누었을 때 나머지가 0인 수이므로, 나머지 연산자(%)를 사용하여 a % 2 == 0 조건을 검사합니다.
| [CodeUp] C언어 기초 100제 풀이 (1071번 ~ 1075번) (0) | 2026.02.03 |
|---|---|
| [CodeUp] C언어 기초 100제 풀이 (1066번 ~ 1070번) (0) | 2026.02.03 |
| [CodeUp] C언어 기초 100제 풀이 (1056번 ~ 1060번) (0) | 2026.02.01 |
| [CodeUp] C언어 기초 100제 풀이 (1051번 ~ 1055번) (0) | 2026.02.01 |
| [CodeUp] C언어 기초 100제 풀이 (1046번 ~ 1050번) (0) | 2026.02.01 |