여행을 개발하다

제어문2. Switch 본문

BackEnd/C++

제어문2. Switch

yhtragramming 2019. 5. 8. 13:03

안녕하세요!

 

오늘은 두 번째 제어문인

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' 중에 없는 코드를 입력할 경우에는, 코드 에러라는 메시지를 출력합니다.

 

빌드 후 실행해 보니 각 값에 맞는 수행 문장들이 출력되는 것을 확인할 수 있습니다.

p 입력시
t 입력시
c 입력시
d 입력시

그런데 각 case 실행문 뒤에 break문을 쓰지 않았다면 어떤 결과가 나올까요?

코드를 잘못 입력했을 때는 정상적으로 '코드에러'를 표시합니다.

그런데 상품 코드를 정확히 입력하였을 때는....

p 입력시
t 입력시

 

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
Comments