여행을 개발하다
제어문2. Switch 본문
안녕하세요!
오늘은 두 번째 제어문인
swtich에 대해 포스팅을 진행하겠습니다.
if ~ else문과 동일한 기능을 수행하는 swith문.
하지만 선택적인 명령을 보다 효율적으로 수행하는데는 최적이라고 하는데요.
지금부터 switch 문에 대해 알아보도록 하겠습니다.
1. 형식
switch(수식)
{
case 값1 : 문장1; 문장2; 문장3;.......; break;
case 값2 : 문장1; 문장2; 문장3;.......; break;
case 값3 : 문장1; 문장2; 문장3;.......; break;
case 값4 : 문장1; 문장2; 문장3;.......; break;
case 값5 : 문장1; 문장2; 문장3;.......; break;
case 값6 : 문장1; 문장2; 문장3;.......; break;
case 값7 : 문장1; 문장2; 문장3;.......; break;
default : 문장1; 문장2; 문장3;
}
- 하나의 조건에 의해 여러 가지 문장 중 한 가지를 선택 실행할 수 있는 명령문.
- swtich문에서는 (수식)의 결과 값과 case 다음에 나오는 값이 일치할 경우, 그 행으로 뛰어 넘어 문장을 수행하게 된다.
- if ~ else 문과 동일한 기능을 하지만, 선택적인 수행 명령을 진행할 때 보다 유용하다.
- 각 case 다음에 나오는 값들은 항상 정수 상수여야 한다.
- 명령문 다음에는 break 문이 와야 한다. break문이 없으면 그 다음 문장들을 계속해서 수행한다.
- default 다음에 나오는 문장은 case의 값들과 일치하는 값이 하나도 없을 경우에 수행한다.
- default는 다음에 나오는 문장은 별도의 break 명령을 쓰지 않아도 자동으로 swtich문이 종료된다.
2. 사용 예제
예제를 통해 살펴보겠습니다.
* 문자형 변수 a를 선언합니다.
* 상품 코드 'p, t, c, d' 중에 하나를 입력하라는 메시지를 사용자에게 출력합니다.
* 사용자가 입력한 코드를 문자형 변수 a에 저장합니다.
* switch 수식에 a값을 집어넣고, case 값에 따라 컴퓨터가 문장을 수행하도록 실행합니다.
* 'p, t, c, d' 중에 없는 코드를 입력할 경우에는, 코드 에러라는 메시지를 출력합니다.
빌드 후 실행해 보니 각 값에 맞는 수행 문장들이 출력되는 것을 확인할 수 있습니다.
그런데 각 case 실행문 뒤에 break문을 쓰지 않았다면 어떤 결과가 나올까요?
코드를 잘못 입력했을 때는 정상적으로 '코드에러'를 표시합니다.
그런데 상품 코드를 정확히 입력하였을 때는....
case의 조건식을 만족할 경우, 그 보다 아래에 있는 조건식도 모두 수행하고 있었습니다.
따라서 주어진 조건을 충족하는 값만을 출력하기 위해서는, break 문을 반드시 사용해야 하겠습니다.
지금까지 두 번째 제어문인 swtich에 대해 포스팅하였습니다.
다음에 포스팅 할 제어문은 'for'입니다.
감사합니다 : )
'BackEnd > C++' 카테고리의 다른 글
제어문4. 다중 for문 (0) | 2019.05.08 |
---|---|
제어문3. for (0) | 2019.05.08 |
제어문1. If (0) | 2019.05.08 |
연산자(Operater) (0) | 2019.05.08 |
표준 입출력 함수(printf) (0) | 2019.05.08 |