c언어 제어문 - 2. 선택문 switch ~ case문 break 사용
- programming/C Programming
- 2020. 6. 1. 20:53
이전에는 제어문 중에서도 선택문 if문에 대해서 공부했습니다. 이번에는 선택문 switch ~ case문의 사용법에 대해서 공부해보겠습니다.
선택문 switch ~ case문
switch ~ case문은 if ~ else문과 마찬가지로 조건에 따라서 조건에 해당하는 곳의 문장을 실행시키는 문장입니다.
switch ~ case문의 규칙
1. 조건은 정수식만 사용합니다.
2. 기본적으로 case는 break를 포함합니다.
3. 여러개의 case문을 만들 수 있지만 반드시 콜론(:)을 붙여줘야 합니다.
4. switch문에서는 비교 연산이 올 수 없습니다.
만약 등급별로 1등급은 300만원, 2등급은 200만원, 3등급은 100만원 그 외 장학금이 없는 차등지급 시스템을 프로그래밍 한다고 해봅시다. 코드에서 rank의 값은 2로 초기화 했습니다. switch문의 조건의 rank의 값은 2가되고 따라서 동일한 숫자가 있는 case 2의 실행문을 실행시키고 break;를 사용해 switch 문을 빠져나오게 됩니다.
break;
현재 진행중인 블록을 빠져나오는 데 사용되고 switch ~ case문을 사용할때 해당 실행문을 끝냈다면 switch문을 빠져나오는데 사용됩니다.
rank 값이 1 이면 case 1을 실행하고 rank의 값이 2면 case 2를 실행합니다. 각각의 case 영역마다 break가 있는데 해당 블레이크는 모두 switch 문을 빠져나가는데 사용됩니다.
버스를 탄다고 생각해봅시다. 차고지 -> 놀이터 -> pc방 -> 노래방 -> 학교 -> 차고지로 가는 버스 노선도가 있습니다. 저는 노래방에 가고싶어 버스를 탈려고 차고지에 와서 버스를 탑승합니다. 버스가 처음 차고지를 지나 놀이터(case)와 pc방(case) 정류장에 도착하더라도 내 목적지는 노래방이기 때문에 차는 멈추지 않고 계속 출발합니다. 다음 목적지인 노래방에 도착해서 하차벨을 누르고 버스는 목적지인 노래방(case)에 멈추게 되고 본인은 목적지인 노래방에서 노래를 부릅니다(실행) 나는 목적지까지 버스를 잘 타고 왔으니 이제 버스가 필요없게되어 버스를 보내버립니다(break)
#include <stdio.h>
int main(void) {
int rank = 2; // 순위
switch (rank) {
case 1:
printf("1등급의 장학금은 300만원 입니다.");
break;
case 2:
printf("2등급의 장학금은 200만원 입니다.");
break;
case 3:
printf("3등급의 장학금은 100만원 입니다.");
break;
default :
printf("3등급 이하는 장학금이 없습니다.");
break;
}
return 0;
}
switch ~ case문을 가지고 if ~ else와 동일하게 작동되는 소스를 만들어보거나 if ~ else의 소스코드를 switch ~ case문으로 바꿔서 만들어 보는 것이 switch ~ case문과 if ~ else문을 이해하는데 큰 도움이 될 수 있습니다.
'programming > C Programming' 카테고리의 다른 글
c언어 구구단 출력하기 (13) | 2020.06.02 |
---|---|
c언어 제어문 - 반복문 for문, while문, do ~ while문 (2) | 2020.06.02 |
c언어 제어문 - 1. 선택문 if, if ~ esle, if ~ else if ~ else 까지 (4) | 2020.06.01 |
c언어 scanf로 데이터 입력받기! (4) | 2020.05.31 |
c언어 다양한 연산자(대입, 산술, 증감, 관계, 논리 연산자) (6) | 2020.05.29 |