C언어 삼항 연산자
코딩C언어
읽는데 4분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-03-21
조회수: —
선수학습(1개)
요약
C언어 삼항 연산자(조건 연산자)의 문법, 참과 거짓 판단, 연산자 우선순위, 중첩 사용법을 정리합니다. 정보처리기사 실기 기출문제 풀이 포함.
삼항 연산자 핵심 정리
아래에서 하나씩 배울 내용을 미리 정리한 표입니다.
| 개념 | 설명 | 예시 |
|---|---|---|
| 삼항 연산자 | 조건에 따라 두 값 중 하나를 선택 | (a > b) ? a : b |
| 참/거짓 판단 | 0은 거짓, 0이 아닌 값은 참 | 5 ? 10 : 20 → 10 |
| 연산자 우선순위 | 삼항 연산자는 우선순위가 매우 낮음 | y % 3 < 3 ? 2 : 1 |
| 중첩 삼항 | 오른쪽에서 왼쪽으로 결합 | a ? b : c ? d : e |
c
코드 하이라이팅 중...
삼항 연산자를 이해하려면 조건문(if-else)과 연산자의 기본 개념을 알면 좋습니다.
삼항 연산자 기본 문법 쌩기초
삼항 연산자(Ternary Operator) 는 if-else문을 한 줄로 간단히 표현할 수 있는 연산자입니다.
c
코드 하이라이팅 중...

예제
c
코드 하이라이팅 중...
C언어에서 참과 거짓 쌩기초
C언어에서 0은 거짓, 0이 아닌 모든 값은 참입니다.
c
코드 하이라이팅 중...
| 값 | 참/거짓 |
|---|---|
| 0 | 거짓 |
| 1, 2, -1, 100 등 | 참 |
0만 거짓이고, 나머지는 전부 참입니다
음수(-1, -100)도 0이 아니므로 참입니다. 시험에서 음수를 거짓으로 착각하는 실수가 자주 출제됩니다.
삼항 연산자와 연산자 우선순위 기초
삼항 연산자의 우선순위는 15단계 중 13번째로 낮습니다. 대입 연산자(=) 바로 위 순서입니다.
따라서 대부분의 연산자가 삼항 연산자보다 먼저 계산됩니다.
c
코드 하이라이팅 중...
계산 순서:
y % 3= 1 (나머지 연산)1 < 3= 1 (비교 연산, 참이면 1)- 조건이 참(1)이므로 2 반환
중첩 삼항 연산자 기초
삼항 연산자는 중첩해서 사용할 수 있습니다. 하지만 가독성이 떨어지므로 복잡한 경우 if-else문을 권장합니다.
c
코드 하이라이팅 중...
중첩 삼항 연산자는 오른쪽에서 왼쪽으로 결합합니다
a ? b : c ? d : e는 a ? b : (c ? d : e)로 해석됩니다. 왼쪽부터 순서대로 읽으면 틀릴 수 있으니 주의하세요.
c
코드 하이라이팅 중...
정보처리기사 실기 문제 풀이 심화
c
코드 하이라이팅 중...
1단계
c
코드 하이라이팅 중...
y % 3=4 % 3= 11 < 3= 1 (참)- 조건이 참이므로 z = 2
2단계
c
코드 하이라이팅 중...
>> 는 비트 시프트 연산자로, 2진수를 오른쪽으로 밀어내는 연산입니다.
z >> 1: z는 2이고, 2를 2진수로 바꾸면10→ 오른쪽으로 1칸 밀면01→ 10진수로 1z & 1: 2(10)와 1(01)을 비트 AND 하면 각 자리가 모두 1인 경우만 1이므로00→ 0- z = 0
비트 시프트(>>)가 비트 AND(&)보다 먼저 계산됩니다
z & z >> 1은 z & (z >> 1)로 해석됩니다. 연산자 우선순위를 확인하세요.
3단계
c
코드 하이라이팅 중...
x > 5=7 > 5= 1 (참)z <= 3=0 <= 3= 1 (참)1 && 1= 1 (참) —&&는 두 조건이 모두 참이면 참- 조건이 참이므로
z * x=0 * 7= 0 - z = 0
최종 출력: 0
삼항 연산자가 포함된 문제는 연산자 우선순위를 정확히 파악하는 것이 핵심입니다. 먼저 괄호를 쳐서 계산 순서를 명확히 한 뒤, 단계별로 값을 추적하세요.