[C언어/C++] 조건문 Switch문

if문과 같이 조건문에 속하는 switch문은 if 문의 조건식이 특정값과 일치하는 ==의 경우 같은 기능을 하는 switch문으로 표현할 수 있다.

하지만 if 구문의 조건식이 비교연산자로 이뤄져있는 경우는 switch 문으로 표현할 수 없다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if(경품번호 ==1){
 
아이폰 당첨;
 
}
 
else if(경품번호==2){
 
컴퓨터 당첨;
 
}
 
else if(경품번호==3){
 
ps4 당첨;
 
}
 
else{
 
꽝;
 
}
cs

경품 추첨기를 예시로 if 문을 사용하여 표현한다면 위와 같이 표현할 수 있고

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
switch(경품번호){
 
case1;
 
    아이폰 당첨;
 
    break;
 
case2:
 
    컴퓨터 당첨;
 
    break;
 
case3;
 
    ps4 당첨;
 
    break;
 
default;
 
꽝;
 
}
cs

이를 switch 문으로 표현한다면 위와 같다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
switch(변수 또는 값){
 
case 값1;
 
    실행구문1;
 
    break;
 
case 값2:
 
    실행구문2;
 
    break;
 
 …
 
default;
 
    모든 조건이 일치하지 않을 때 실행되는 구문;
 
}
cs

즉 switch 문은 위와 같은 형태로 사용하는 것이다.

참고로 반복되는 형태의 메뉴를 만들거나 할 때 switch 문으로 해당 메뉴를 표현할 수 있다면 if 문으로 작성하는 것 보다 더 간단하게 작성할 수 있다.

관련글

제목 작성자 작성일