C언어 삼항 연산자
코딩C언어
읽는데 4분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-03-21
조회수: 435
선수학습(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
삼항 연산자가 포함된 문제는 연산자 우선순위를 정확히 파악하는 것이 핵심입니다. 먼저 괄호를 쳐서 계산 순서를 명확히 한 뒤, 단계별로 값을 추적하세요.