문타쿠, 공부하다.
[C언어 코딩 도장] Unit 26. switch 분기문으로 다양한 조건 처리하기 본문
switch 분기문은 형식이 균일하며 처리해야 할 조건이 많을 때 사용한다.
26.1 사용자가 입력한 값에 따라 문자열 출력하기
#include <stdio.h>
int main(void)
{
int num1;
scanf_s("%d", &num1);
switch (num1)
{
case 1:
printf("1입니다.\n");
break;
case 2:
printf("2입니다.\n");
break;
default:
printf("default\n");
break;
}
return 0;
}
- 조건식이 바뀌지 않고 값만 바뀔 때는 switch, 값과 조건식이 모두 바뀔 때는 else if가 적합하다.
26.2 case에서 break를 사용하지 않을 때의 동작 알아보기
#include <stdio.h>
int main(void)
{
int num1;
scanf_s("%d", &num1);
switch (num1)
{
case 1:
printf("1입니다.\n");
case 2:
printf("2입니다.\n");
default:
printf("default\n");
}
return 0;
}
- case를 break로 중단하지 않으면 그다음에 있는 case, default가 계속 실행되니 주의 => fall through
26.3 case에서 break 생략 응용하기
#include <stdio.h>
int main(void)
{
int num1;
scanf_s("%d", &num1);
switch (num1)
{
case 1:
case 2:
printf("1 또는 2입니다.\n");
break;
case 3:
case 4:
printf("3또는 4입니다.\n");
break;
default:
printf("default\n");
}
return 0;
}
- case에서 break를 생략하면 여러 가지 값으로 같은 코드를 실행할 수 있다.
26.4 case 안에서 변수 선언하기
#include <stdio.h>
int main(void)
{
int num1;
scanf_s("%d", &num1);
switch (num1)
{
case 1:
{
int num2 = num1;
printf("%d입니다.\n", num2);
break;
}
case 2:
printf("2입니다.\n");
break;
default:
printf("default\n");
}
return 0;
}
- case 부분 중괄호로 묶어주기
26.5 switch에서 판별할 수 있는 자료형 알아보기
#include <stdio.h>
int main(void)
{
char c1;
scanf_s("%c", &c1);
switch (c1)
{
case 'a':
printf("a입니다.\n");
break;
case 'b':
printf("b입니다.\n");
break;
default:
printf("default\n");
break;
}
return 0;
}
- switch에서 판별할 변수는 정수 자료형만 사용할 수 있고, 실수 자료형은 사용할 수 없다.
'C언어 > C언어 코딩 도장' 카테고리의 다른 글
[C언어 코딩 도장] Unit 27. for 반복문으로 Hello, world! 100번 출력하기 (0) | 2023.08.29 |
---|---|
[C언어 코딩 도장] Unit 26. 연습문제 및 심사문제 (0) | 2023.08.29 |
[C언어 코딩 도장] P.265 핵심정리 - Q&A: 비트 XOR (0) | 2023.08.28 |
[C언어 코딩 도장] Unit 25. 연습문제 및 심사문제 (0) | 2023.08.28 |
[C언어 코딩 도장] Unit 25. 연산자 우선순위 알아보기 (0) | 2023.08.28 |