C언어 삼항 연산자

코딩C언어
읽는데 4분 소요
처음 쓰여진 날: 2026-02-03
마지막 수정일: 2026-03-21
조회수: 435

요약

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 등

삼항 연산자와 연산자 우선순위 기초

삼항 연산자의 우선순위는 15단계 중 13번째로 낮습니다. 대입 연산자(=) 바로 위 순서입니다.

따라서 대부분의 연산자가 삼항 연산자보다 먼저 계산됩니다.

c
코드 하이라이팅 중...

계산 순서:

  1. y % 3 = 1 (나머지 연산)
  2. 1 < 3 = 1 (비교 연산, 참이면 1)
  3. 조건이 참(1)이므로 2 반환


중첩 삼항 연산자 기초

삼항 연산자는 중첩해서 사용할 수 있습니다. 하지만 가독성이 떨어지므로 복잡한 경우 if-else문을 권장합니다.

c
코드 하이라이팅 중...
c
코드 하이라이팅 중...

정보처리기사 실기 문제 풀이 심화

c
코드 하이라이팅 중...

1단계

c
코드 하이라이팅 중...
  • y % 3 = 4 % 3 = 1
  • 1 < 3 = 1 (참)
  • 조건이 참이므로 z = 2

2단계

c
코드 하이라이팅 중...

>>비트 시프트 연산자로, 2진수를 오른쪽으로 밀어내는 연산입니다.

  • z >> 1: z는 2이고, 2를 2진수로 바꾸면 10 → 오른쪽으로 1칸 밀면 01 → 10진수로 1
  • z & 1: 2(10)와 1(01)을 비트 AND 하면 각 자리가 모두 1인 경우만 1이므로 000
  • z = 0

3단계

c
코드 하이라이팅 중...
  • x > 5 = 7 > 5 = 1 (참)
  • z <= 3 = 0 <= 3 = 1 (참)
  • 1 && 1 = 1 (참) — &&는 두 조건이 모두 참이면 참
  • 조건이 참이므로 z * x = 0 * 7 = 0
  • z = 0

최종 출력: 0

삼항 연산자가 포함된 문제는 연산자 우선순위를 정확히 파악하는 것이 핵심입니다. 먼저 괄호를 쳐서 계산 순서를 명확히 한 뒤, 단계별로 값을 추적하세요.



정보처리기사 실기 대비 문제

관련 글

(34개)
제목태그시험
C언어 구조체 배열
C언어
-
C언어 구조체 포인터
C언어
-
C언어 함수 프로토타입
C언어
-