11. 조건문 switch

2014. 2. 3. 19:50 - 루하스

조건문 switch


switch란?

case문에 적혀진 값과 같을때 그 위치 부터 코드를 실행한다.


switch(value)

{

case 1:

1

case 2:

2

case 3:

3

default:

4

}

value값이 1이면 1->2->3->4순서로 실행된다.

value값이 2이면 2->3->4순서로 실행된다.

value값이 3이면 3->4순서로 실행된다.

모두 아닐경우 4가 실행된다.(if문의 else와 비슷하다고 보면된다.)



case문 마지막에 break를 넣으면 다음 순서의 코드를 실행하지 않고 switch문을 빠져나온다.

switch(value)

{

case 1:

1

break;

case 2:

2

break;

case 3:

3

break;

default:

4

break;

}

value값이 1이면 1이 실행된다.

value값이 2이면 2가 실행된다.

value값이 3이면 3이 실행된다.

모두 아닐경우 4가 실행된다.


if(A>B)

{

1

}

else if(A<B) 

{

2

}

else

{

4

}

A>B일경우 1이 실행, A<B일 경우 2가 실행, A=B일 경우 4가 실행된다.

else는 위의 모든 조건이 거짓일때 실행된다.



#include <stdio.h>


int main()

{

int num1, num2;

int select;

int result;

printf("1. 더하기\n");

printf("2. 빼기\n");

printf("3. 곱하기\n");

printf("4. 나누기\n");

printf("입력 : ");

scanf("%d", &select);


printf("두 수를 입력하시오\n");

printf("입력 : ");

scanf("%d %d", &num1, &num2);


switch(select)

{

case 1:

result = num1 + num2;

break;

case 2:

result = num1 - num2;

break;

case 3:

result = num1 * num2;

break;

case 4:

result = num1 / num2;

break;

default:

printf("메뉴를 잘못 입력하셨습니다.");

}


printf("\n\n");

printf("결과 = %d\n", result);

return 0;

}






① int num1, num2, select, result;

☞ 변수 num1, num2는 숫자 저장을, select는 계산메뉴 선택을, result는 계산결과 값을 저장하기위해 선언했다.


② switch(select)

☞ 변수 select값으로 switch문을 실행시킨다.


③ case 3:

☞ 변수 select의 값이 3일때 실행한다.


 break;

☞ break를 넣지 않으면 select의 값이 3이든 2이든 나눗셈을 하게되며 메뉴를 잘못 입력하셨습니다 라는 출력문이 나온다.


 default:

☞ 위의 case들이 모두 불일치 할때 실행되며 메뉴를 잘못 입력하셨습니다 라는 출력문이 나온다.




#include <stdio.h>


int main()

{

int num;

int result;


printf("값을 입력해주십시오.\n");

printf("입력 : ");

scanf("%d", &num);


result = num % 2;


switch(result)

{

case 0:

printf("짝수 입니다.\n");

break;

case 1:

printf("홀수 입니다.\n");

break;

}


return 0;

}










#include <stdio.h>


int main()

{

int num;


printf("값을 입력해주십시오(0~9).\n");

printf("입력 : ");

scanf("%d", &num);


switch(num)

{

case 0:

case 1:

case 2:

case 3:

case 4:

printf("0~4를 입력하셨습니다.\n");

break;

case 5:

case 6:

case 7:

case 8:

case 9:

printf("5~9를 입력하셨습니다.\n");

break;

default:

printf("범위를 초과하였습니다.\n");

}


return 0;

}

※break를 안쓰면 이렇게 응용이 가능하다.(이 예제는 비효율적이다.)








연습문제

1) 0~99를 입력했을때 십의 자리가 무엇인지 알아내는 프로그램을 작성하시오.

'프로그래밍 > C언어' 카테고리의 다른 글

13. 반복문 do~while  (0) 2014.02.04
12. 반복문 while  (0) 2014.02.03
10. 조건문 If - else if  (0) 2014.02.02
9. 변수(2)  (0) 2014.02.02
8. 입력함수 scanf();  (0) 2014.02.02

다른 카테고리의 글 목록

프로그래밍/C언어 카테고리의 포스트를 톺아봅니다