더북(TheBook)

4.4.3 실습: 청소년 나이 구분하기

4.2.2 if-else if-else 문에서 작성한 청소년의 나이를 구분하는 예제를 기억하죠? 이 예제를 가져와서 switch 문으로 바꿔 보겠습니다.

4.2.2 if_elseif_else.c

int main(void) {
    int age = 9;
    if (age >= 8 && age <= 13) {
        printf("초등학생입니다.\n");
    } else if (age >= 14 && age <= 16) {
        printf("중학생입니다.\n");
    } else if (age >= 17 && age <= 19) {
        printf("고등학생입니다.\n");
    } else {
        printf("청소년이 아닙니다.\n");
    }
    return 0;
}

조건을 보면 초등학생은 8~13세, 중학생은 14~16세, 고등학생은 17~19세이고, 나머지 경우에는 ‘청소년이 아닙니다.’를 출력합니다. 여기서 switch 문과 if-else if-else 문의 다른 점을 알 수 있습니다. switch 문은 if-else if-else 문과 달리 case 문의 조건으로 하나의 값만 작성할 수 있습니다. 값에 범위가 들어갈 수 없습니다. 그래서 다음과 같이 조건을 하나씩 풀어 써 줘야 합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.