C 조건문 switch

minho-log·2026년 1월 22일

C

목록 보기
17/33

<공부 주제>

C 조건문 switch

<공부한 내용 정리>

C 언어의 switch 문은 하나의 값에 따라 여러 경우 중 하나를 선택할 때 사용한다.
if ~ else if 문을 대신할 수 있으며, 조건이 명확한 값 비교일 때 가독성이 좋다.

🔹 switch 문의 기본 구조

switch (값)
{
    case 값1:
        실행문;
        break;
    case 값2:
        실행문;
        break;
    default:
        실행문;
}
  • switch 뒤에는 비교할 값
  • case 뒤에는 비교 대상 값
  • 일치하는 case부터 실행

🔹 switch 동작 방식
1. switch의 값과 case 값을 비교
2. 일치하는 case를 찾으면 실행
3. break를 만나면 switch 종료

🔹 기본 사용 예제

int num = 2;

switch (num)
{
    case 1:
        printf("1번\n");
        break;
    case 2:
        printf("2번\n");
        break;
    case 3:
        printf("3번\n");
        break;
    default:
        printf("해당 없음\n");
}

🔹 break의 중요성
break가 없으면 아래 case까지 계속 실행(fall-through) 된다.

switch (num)
{
    case 1:
        printf("1\n");
    case 2:
        printf("2\n");
}

num이 1이면 1과 2가 모두 출력됨

🔹 default 문

default:
    printf("일치하는 case 없음\n");
  • 어떤 case에도 해당하지 않을 때 실행
  • 선택 사항이지만 작성 권장

🔹 switch 사용 시 조건
switch 값은 정수형(char 포함) 만 가능
실수형 X
범위 조건 X

switch (score)   // O
switch (ch)      // O
switch (3.14)    // X

🔹 switch가 적합한 경우

  • 메뉴 선택
  • 숫자 코드 처리
  • 문자 입력 분기

<예제 / 실습 코드>

#include <stdio.h>

int main(void)
{
    char grade = 'B';

    switch (grade)
    {
        case 'A':
            printf("우수\n");
            break;
        case 'B':
            printf("보통\n");
            break;
        case 'C':
            printf("노력 필요\n");
            break;
        default:
            printf("재평가\n");
    }

    return 0;
}

<헷갈렸던 점>

  • break를 빼먹었을 때 발생하는 실행 흐름
  • switch에서 범위 비교가 안 되는 점
  • 실수형은 사용할 수 없다는 점

<오늘의 정리>

  • switch는 값 비교 전용 조건문이다
  • case마다 break를 써야 한다
  • 실수형과 범위 조건에는 적합하지 않다
  • 메뉴 처리에 유용하다
profile
개발 공부를 하며 직접 부딪히고 공부한 것을 기록합니다.

0개의 댓글