switch 문

if 문은 조건에 따라 두 가지중에 하나를 선택할 수 있는 분기문인 반면, switch 문은 값에 따라 여러가지중에 하나를 선택할 수 있는 다중 선택문이다.

형식 ---

switch (변수) {
  case 무시기:
  case 무시기:
  case 무시기:
  default:
}
사용된 case 에 맞는 값이 없을 경우 default 부분을 수행하게 되며 반드시 있어야 하는것은 아니다.

(보기) 키보드로 정수하나를 입력 받은 후 , 해당 정수값이 1 이면 one , 2 이면 two , 3 이면 three , 그 외 다른 수이면 error 를 출력하는 프로그램을 작성하면


   scanf("%d",&su);
   if (su==1) printf("one\n");
     else if (su==2) printf("two\n");
       else if (su==3) printf("three\n");
          else printf("error\n");


이를 switch 문으로 바꾸면
   switch (su){
      case 1: printf("one\n");break;
      case 2: printf("two\n");break;
      case 3: printf("three\n");break;
      default: printf("error\n");break;
   }

switch 문에서 break 문을 만나면 해당 switch 문을 벗어나게 된다.

(보기) 다음 프로그래밍을 그대로 입력 후 , 입력을 1 혹은 2 혹은 3 혹은 4 를 입력해 보면 , break 문의 용도를 알게 될 것이다.


   scanf("%d",&su);

   switch (su){
      case 1: printf("one\n");
      case 2: printf("two\n");break; 
      case 3: printf("three\n");
      default: printf("error\n");break;
   }
(유제1) 두 정수 와 문자하나(*,/,%,+,- 중 하나)를 입력으로 받아 연산하는 프로그램을 작성
예를 들어 3 5 * 를 입력으로 받았으면 3*5 즉 15 를 출력하고 , 6 4 % 는 6%4 즉 2 를 출력

(유제2) 다음과 같은 조건을 만족하는 프로그램 작성

90 에서 100 사이이면 A
80 에서 89 사이이면 B
70 에서 79 사이이면 C
60 에서 69 사이이면 D
그 외               F
* case 뒤에는 조건식을 사용할 수 없습니다.
case n > 90: (x)

[질/답]
[홈으로]  [뒤 로]
[푼 후(0)]