Coding/C

[C언어] switch 분기문 - 코딩도장

GunP4ng 2023. 12. 13. 23:32

[코딩도장] Unit 26


1. switch 사용하기

1. switch 분기문

switch (num1)			//num1 : 값을 판단할 변수
{
case 1:
	값이 1일 때 실행할 코드
  	break;
case 2:
	값이 2일 때 실행할 코드
	break;
default:
	아무 case도 해당되지 않을 때 실행할 코드
	break;
}

 

switch 분기문은 항상 case와 같이 사용한다

변수의 값이 case와 일치하면 코드를 실행한다

아무 case 도 해당되지 않으면 default 의 코드를 실행한다 (default 는 생략 가능)

 

※ case 에 조건식이나 변수는 들어갈 수 없다

 

case 다음에는 반드시 값(리터럴)이 와야 하며 변수나 조건식은 올 수 없다

코드의 마지막에는 항상 break 을 넣어준다

break 으로 중단하지 않을 시 뒤에 있는 case 가 모두 실행되게 된다

 

case 를 { } 중괄호로 묶어준다면 case 안에서 변수를 사용할 수 있다

switch (num1)			//num1 : 값을 판단할 변수
{
case 1:
	값이 1일 때 실행할 코드
  	break;
case 2:
{
	int num2 = 2;
	값이 2일 때 실행할 코드
	break;
}
default:
	아무 case도 해당되지 않을 때 실행할 코드
	break;
}

중괄호 안에 선언된 변수 num2 는 case 2: 안에서만 사용 가능하다

 

switch 에서 판별할 변수는 정수만 가능하다

실수(float, double)는 사용할 수 없다

문자 자료형(char)도 정수 자료형이기 때문에 switch 에서 사용가능하다


2. 심사문제

26.8 음료수 자판기 만들기

표준 입력으로 문자 'f', 'c', 'p' 중 하나가 입력됩니다. 입력된 문자가 'f'라면 "환타", 'c'라면 "콜라", 'p'라면 "포카리스웨트"를 출력하고, 아무 문자에도 해당되지 않으면 "판매하지 않는 메뉴"를 출력하는 프로그램을 만드세요.

정답에는 밑줄 친 부분에 들어갈 코드만 작성해야 합니다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    char memu;

    scanf("%c", &memu);

    switch (memu)
    {
         ______________________
         ______________________
         ______________________
         ______________________
         ______________________
         ______________________
         ______________________
         ______________________
         ______________________
         ______________________
         ______________________
         ______________________
    }

    return 0;
}

 

정답

case 'f' :
    printf("환타\n");
    break;

case 'c' :
    printf("콜라\n");
    break;

case 'p' :
    printf("포카리스웨트\n");
    break;

default :
    printf("판매하지 않는 메뉴");