상세 컨텐츠

본문 제목

[TIL] 4 - 1. 제어문의 이해 - switch ~ case문의 이해

언어/C

by 민:하 2022. 3. 16. 01:04

본문

 

1. switch ~ case문의 일반형식

switch (조건수식)
{
    case 상수1 : 문장1; break;
    case 상수2 : 문장2; break;
    		   :
    case 상수n : 문장n; break;
    default    : 문장;
}

1. 조건수식 : 반드시 정수식 (정수변수, 문자변수 포함)이 와야 한다.

     ex) switch ( 9 / 3.0 ) { ... } (X)

2. 상수1 ~ 상수n : 반드시 정수형 상수 또는 문자형 상수가 나와야 한다.

     ex) 1.5 (X) / num (X) / "abc" (X) / 'A' (O)

3. break : switch ~ case의 블록 { }을 빠져 나온다. 생략 가능하다.

4. default : 주어진 경우(case) 이외 모든 경우의 처리를 맡는다. 생략 가능하다.

 

예시 1)

#include <stdio.h>

int main(void) {
    int code, amount, fee;
    scanf("%d", &code);
    scanf("%d", &amount);
    
    switch(code) {
        case 1 : fee = amount * 10000; break;
        case 2 : fee = amount * 700; break;
        case 3 : fee = amount * 500; break;
        default : fee = -1;
    }
    printf("수도요금은 %d입니다.\n", fee);
}

 

예시 2)

#include <stdio.h>

int main(void) {
    int score;
    char remark;
    printf("점수를 입력하세요 : ");
    scanf("%d", &score);
    switch(score / 10) {
        case 10 :
        case 9 : remark = 'A'; break;
        case 7 : remark = 'B'; break;
        case 6 : remark = 'C'; break;
        default : remark = 'F';
    }
    printf("점수는 %d 학점은 %c 입니다.\n", score, remark);
    return 0;
}

관련글 더보기

댓글 영역