본문 바로가기
Language/C언어

C004_switch문 설명

by OdOp 관리자 2023. 9. 6.
SMALL

switch

switch(변수)
{
case 숫자1:
    코드1;
    break;
case 숫자2:
    코드2;
    break;
default:
    코드3;
    break;
}

이때 사용되는 변수는 무조건 정수형 혹은 문자형이어야만 합니다.

case에 각각의 원하는 경우를 적습니다. 

default 같은 경우에는 모든 경우에 해당되지 않으면 실행이 됩니다. 

무조건 case와 default문 끝에는 break를 실행해야 합니다. 그렇지 않으면 원하지 않는 부분까지 실행할 수 있기 때문에 주의하셔야 할 것 같습니다. 

 

num1로 switch문 만들기

#define _CRT_SECURE_NO_WARNING
#include <stdio.h>

int main()
{
    int num1;

    scanf("%d", &num1);
    switch (num1)
    {
    case 1:
        printf("1입니다. \n");
        break;  //break가 없다면 아래의 case문도 실행함
    case 2:
        printf("2입니다. \n");
        break;
    default:
        printf("default\n");
        break;
    }
    return 0;
}

num1의 값에 따라서 다른 출력값이 나오도록 만든 기본적인 switch문입니다. 

 

num2로 switch문 만들기

#define _CRT_SECURE_NO_WARNING
#include <stdio.h>

int main()
{
    int num2;

    scanf("%d", &num2);
    switch (num2)
    {
    case 1:
    case 2:
        printf("1 또는 2입니다. \n");
        break;
    case 3:
    case 4:
        printf("3 또는 4입니다. \n");
        break;
    default:
        printf("default\n");
        break;
    }
    return 0;
}

num2에 따라 다르게 출력되는 switch문입니다.

1과 2일 때 같은 값을 출력하고 3과 4일 때 같은 값을 출력하고 싶다면 위와 같이 case문을 연속적으로 바로 작성해 주시면 됩니다. 

 

c1으로 switch문 만들기

#define _CRT_SECURE_NO_WARNING
#include <stdio.h>

int main()
{
    char c1;

    scanf("%c", &c1);
    switch (c1)  //문자는 가능하나 문자열, 실수 자료형은 불가능하다.
    {
    case 'a':
        printf("a입니다. \n");
        break;
    case 'b':
        printf("b입니다. \n");
        break;
    default:
        printf("default\n");
        break;
    }
    return 0;
}

이번에는 char형으로 선언한 c1에 따라 다르게 출력되는 switch문입니다.

위에서 말했다시피 switch문에 사용되는 변수는 문자형과 정수형외에는 사용하시면 안 됩니다. 

LIST

'Language > C언어' 카테고리의 다른 글

C006_while문에 대하여  (0) 2023.09.08
C005_for문에 대하여  (0) 2023.09.07
C003_bool자료형  (0) 2023.09.05
C002_자료형 확장과 자료형 축소  (0) 2023.09.04
C001_literal(리터럴)과 const(상수)에 대하여  (0) 2023.09.03