C언어에는 if문과 비슷한 문법이 있습니다. 그것은 switch ~ case문법입니다. if문은 조건식이 이상, 미만, 초과, 같음 등등 여러 가지 조건을 쓸 수 있지만 switch문은 ==(같음) 밖에 사용하지 못합니다. 그래서 switch문은 if문으로 치환할 수 있지만 if문은 switch문으로 치환하지 못합니다. 그렇다면 전부 if문을 쓰면 되지 왜 switch문 같은 게 있을까요? 첫 번째는 가독성입니다. 밑에 보면 알겠지만 switch문은 if문에 비해 가독성이 좋은 편입니다. 가독성이 좋다는 것은 좋은 코드라는 것이죠. 두 번째 이유는 속도입니다. if문에 비해 switch문은 속도가 조금 더 빠릅니다. 그렇다면 switch문을 사용할 수 있을 때에는 if문으로도 사용 가능하더라도 switch문을 사용하는 게 당연히 좋겠죠??
switch문의 사용 방법
switch문을 사용할 때에는 지켜야 할 것이 있습니다. 첫번째는 조건식에는 정수식만 사용 가능합니다. 변수를 사용하던 정수형 상수를 사용하던 상관은 없지만 결과 값은 항상 정수여야 합니다. 조건식뿐만 아니라 case에 사용하는 상수식 또한 정수만 사용 가능합니다. 두 번째는 case 안에 break를 포함해야 합니다. 포함하지 않으면 실행하는 case 밑에 case들까지 전부 차례대로 실행이 됩니다. 하지만 필요에 따라 생략하는 경우도 있으니 상황에 따라 알맞게 사용하길 바랍니다
#include <stdio.h>
int main(void){
int rank, money;
rank = 2;
money = 0;
switch(rank){
case 1:
money = 10000000;
break;
case 2:
money = 5000000;
break;
case 3:
money = 100000;
break;
default:
break;
}
}
만약 rank의 값이 case에 포함되지 않는다면 default로 가게 되서 바로 break로 빠져나오게 됩니다.
'C' 카테고리의 다른 글
C언어 함수(function) (0) | 2022.02.02 |
---|---|
C언어 반복문 (for, while, do while) (0) | 2022.01.31 |
C언어 if문 (0) | 2021.12.26 |
C언어 연산자(관계연산자 / 논리연산자) (0) | 2021.12.21 |
C언어 연산자(산술 연산자/ 대입 연산자/ 증감 연산자) (0) | 2021.12.15 |
댓글