프로그래밍/C 기초
[C언어 강좌] #12 - switch문
도끼_Dokki
2016. 12. 18. 09:00
안녕하세요. switch문을 배워볼건데요.
switch문을 보기전에 if - else문을 잠깐 다시 봅시다.
#include <stdio.h>
int main(void) {
int num = 20;
if(num == 10) {
printf("10입니다.");
} else if(num == 20) {
printf("20입니다.");
} else if(num == 30) {
printf("30입니다.");
} else {
printf("원하는 값이 아닙니다..");
}
}
출력결과 : 20입니다.
if 와 else를 이용해서 값을 비교해보면서 같은값일경우 출력시키도록 했습니다.
하지만 이걸 switch문으로 작성할수도 있습니다.
#include <stdio.h>
int main(void) {
int num = 20;
switch(num) {
case 10:
printf("10입니다.");
break;
case 20:
printf("20입니다.");
break;
case 30:
printf("30입니다.");
break;
default:
printf("원하는 값이 아닙니다..");
}
}
출력결과 : 20입니다.
아까의 if - else문보다 훨신 가독성이 좋아졌습니다.
그리고 같은기능을 합니다.
switch(A)를 넣고 case B를 넣을경우 A가 B와 같은값일때 B의 코드로 이동합니다. 그리고 쭉 진행합니다.
코드를 보면 break;가 있습니다. for문과 while문에서 break를 사용하면 바로 부서버리고 탈출했었죠?
switch에서도 마찬가지입니다. 만약 저 break가 없으면 값이 10일때 "10입니다. 20입니다. 30입니다. 원하는값이 아닙니다"가 모두 출력됩니다. 해당하는 코드에서부터 아래로 모두 실행시켜버리기때문에 break;로 원하는부분에서 끊어주면 됩니다.
break;를 없앤 이 경우 값이 20이기때문에 case 20:부터 아래로 모두 실행됐습니다.