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) 두 정수 와 문자하나(*,/,%,+,- 중 하나)를 입력으로 받아 연산하는 프로그램을 작성
(유제2) 다음과 같은 조건을 만족하는 프로그램 작성
90 에서 100 사이이면 A 80 에서 89 사이이면 B 70 에서 79 사이이면 C 60 에서 69 사이이면 D 그 외 F* case 뒤에는 조건식을 사용할 수 없습니다.
case n > 90: (x)