반응형
조건문 switch문
switch문은 if문과 같이 조건 제어문에 속합니다. 하지만 switch문은 if문처럼 조건식이 <, <=,>,>=와 같은 이상, 이하, 초과, 미만 같은 부등식이 사용될 수 없습니다. if문은 조건식이 true일 경우에 블록이 실행된다고 하면 switch문은 비교할 변수가 어떤 값을 가지냐에 따라 실행문을 선택됩니다. 오직 ==만 비교할 수 있는것인셈입니다. 그러므로 모든 switch문은 if문으로 바꿀 수 있지만 if문에서 부등식이 사용된 경우에는 switch문으로 치환하실 수 없습니다.
하지만 switch문을 사용함으로써 if문보다는 좀 더 코드의 가독성이 좋게끔 작성하실 수 있고 if문보다 미세하게 switch문이 빠르기에 switch문으로 작성할 수 있는 코드가 있다고하면 if문보다 switch문으로 코딩하는 습관을 가지는 것도 좋을 듯하네요.
switch문 문법
Copy
//문법
switch(변수){
case 값1 :
실행문;
break;
case 값2 :
실행문;
break;
default :
실행문;
}
//사용법
char input= 'A';
switch(input){
case 'A' :
printf("input의 값은 A입니다.");
break;
case 'B' :
printf("input의 값은 B입니다.");
break;
default :
printf("input의 값은 A과B가 아닌 다른 문자입니다.");
}
switch문은 괄호 안의 변수의 값과 동일한 값을 갖는 case로 가서 실행문을 실행시킵니다. case를 여러 개 사용하여 if문의 else if와 같은 효과를 줄 수 있습니다. 만약 괄호 안의 변수의 값과 동일한 값의 case가 존재하지 않다면 default로 가서 실행문을 실행시킵니다. default는 생략이 가능합니다.
switch문 예제
Copy
#include
int main(){
int score = 80;
switch(score/10){
case 9 :
printf("A등급입니다.");
break;
case 8 :
printf("B등급입니다.");
break;
case 7 :
printf("C등급입니다.");
break;
case 6 :
printf("D등급입니다.");
break;
default :
printf("F등급입니다.");
}
}
반응형