정보처리기사 · 핵심요약

2026 정보처리기사 필기 핵심요약

2026

학습유형 선택

프로그래밍 언어 활용

핵심253

switch문

출제 빈도 2회

원본 76쪽

switch문은 조건에 따라 분기할 곳이 여러 곳인 경우 간단하게 처리할 수 있는 제어문이다.

• 형식

switch는 switch문에 사용되는 예약어로 그대로 입력한다.

switch(수식) ❶

수식 : ‘레이블1’ ~ ‘레이블n’의 값 중 하나를 도출하는 변수나 수식을 입력한다.

❷~❺번이 switch문의 범위이다. ‘{’로 시작해서 ‘}’로 끝난다. 반드시 입력해야 한다.

{ ❷
case 레이블1: ❸

case는 switch문에서 레이블을 지정하기 위한 예약어로 그대로 입력해야 한다.

레이블1 : ❶번 식의 결과가 될 만한 값 중 하나를 입력한다. 결과가 ‘레이블1’과 일치하면 이곳으로 찾아온다. 식의 결과가 5종류로 나타나면 case문이 5번 나와야한다. ❶번 식의 결과가 ❸번의 ‘레이블1’과 일치할 때 실행할 문장이다. switch문을 탈출하여 ❺번으로 간다. ❶번의 식의 결과가 ‘레이블2’와 일치하면 찾아오는 곳이다. ❶번의 식의 결과가 ❹번의 ‘레이블2’와 일치할 때 실행할 문장이다. switch문을 탈출하여 ❺번으로 간다.

실행할 문장1;
break;
case 레이블2: ❹
실행할 문장2;
break;
⋮
default
실행할 문장3;
} ❺

❶번의 식의 결과가 ‘레이블1’ ~ ‘레이블n’에 해당하지 않는 경우 찾아오는 곳이다.

case문의 레이블에는 한 개의 상수만 지정할 수 있으며, int, char, enum형의 상수만 가능하다.

case문의 레이블에는 변수를 지정할 수 없다.

break문은 생략이 가능하지만 break문이 생략되면 수식과 레이블이 일치할 때 실행할 문장부터 break문 또는 switch문이 종료될 때까지 모든 문장이 실행된다.

예제 점수(jum)에 따라 등급 표시하기
#include <stdio.h>
main( )
{
int jum = 85;
switch (jum / 10)
switch(수식)

jum을 10으로 나눠 결과에 해당하는 숫자를 찾아

간다. 85/10은 8.5지만 C 언어에서 정수 나눗셈은

결과도 정수이므로 결과는 8이다. 8에 해당하는 ❺번으로 이동하여 ❻, ❼번을 실행한다. ❶~❽번까지가 switch 조건문의 범위이다. 100점일 경우 ‘jum/10’의 결과인 10이 찾아오는 곳이지만 할 일은 ‘case 9:’와 같으므로 아무것도 적지 않는다. 아무것도 적지 않으면 다음 문장인 ❷번으로 이동한다. ‘jum/10’이 9일 경우 찾아오는 곳이다. ❸, ❹번을 실행한다.

{ ❶
case 10:
case 9: ❷
printf(“학점은 A입니다.\n”); ❸

“학점은 A입니다.”를 출력한다.

break; ❹

break를 만나면 switch문을 탈출하여 ❾번으로 이동한다. ‘jum/10’이 8일 경우 찾아오는 곳이다. ❻, ❼번을 실행한다.

case 8: ❺
printf(“학점은 B입니다.\n”); ❻

“학점은 B입니다.”를 출력한다.

break; ❼
case 7:
printf(“학점은 C입니다.\n”);
break;
case 6:
printf(“학점은 D입니다.\n”);
break;
default:

switch문을 탈출하여 ❾번으로 이동한다.

case 10~6에 해당되지 않는 경우, 즉 jum이 59 이하인 경우 찾아오는 곳이다.

printf(“학점은 F입니다.\n”);
} ❽
} ❾

“학점은 F입니다.”를 출력한다.

학점은 B입니다.

결과

원본 추출 이미지(검수용·회차 숫자 원문 포함)

구조화된 본문이 원본과 맞게 들어갔는지 확인하기 위한 이미지입니다. 이미지 안에는 원본 회차 숫자와 다음 절 일부가 포함될 수 있습니다.