C언어에서 선택문은 표현식의 값에 따라 수행할 코드의 위치를 선택하는 구문이예요.
switch (선택 표현식)
{
case 상수: 수행 구문; break;
...
default: 수행 구문; breadk;
}
선택 표현식의 값에 일치하는 case 위치의 구문을 수행하며 선택 표현식의 결과는 정수여야 하죠.
그리고 일치하는 case가 없을 때는 default 위치의 구문을 수행애요.
그리고 break 문을 만나면 switch 블록을 빠져 나가죠.
조건이 여러 개일 때 조건문을 사용하는 것은 복잡하며 switch 문을 사용하여 단순하게 프로그램을 작성할 수 있어요.
◈ 성적을 입력받아 학점을 출력하는 예 (if문 사용)
#include <stdio.h>
int main()
{
int score=-1;
int level = 0;
printf("점수를 입력하세요.\n");
scanf_s("%d",&score);
if( (score<0) || (score>100) ) //입력한 수가 0보다 작건나 100보다 크면
{
printf("잘못 입력하였습니다.\n");
return 0; //main 함수 종료 (프로그램 종료)
}
level = score/10;
if( (level == 10) || (level == 9))
printf("A\n");
else if(level == 8)
printf("B\n");
else if(level == 7)
printf("C\n");
else if(level == 6)
printf("D\n");
else
printf("F\n");
return 0;
}
◈ 성적을 입력받아 학점을 출력하는 예 (switch문 사용)
#include <stdio.h>
int main()
{
int score=-1;
int level = 0;
printf("점수를 입력하세요.\n");
scanf_s("%d",&score);
if( (score<0) || (score>100) ) //입력한 수가 0보다 작건나 100보다 크면
{
printf("잘못 입력하였습니다.\n");
return 0; //main 함수 종료 (프로그램 종료)
}
level = score/10;
switch(level)
{
case 10:
case 9: printf("A\n"); break;
case 8: printf("B\n"); break;
case 7: printf("C\n"); break;
case 6: printf("D\n"); break;
default: printf("F\n"); break;
}
return 0;
}
◈ 기본 연습
하나의 문자를 입력받아 ‘i’ 혹은 ‘I’일 때는 추가, ‘d’ 혹은 ‘D’일 때는 삭제 , ‘s’ 혹은 ‘S’일 때는 검색, ‘l’, ‘L’일 때는 전체 출력이라고 화면에 출력하는 프로그램을 작성하시오.
[정답] 디딤돌 C언어 40. 선택문(switch case)
'언어 자료구조 알고리즘 > 디딤돌 C언어' 카테고리의 다른 글
45. 배열과 포인터 개요 (0) | 2016.01.01 |
---|---|
44. 정리하기 (0) | 2016.01.01 |
43. 매크로 구문 (0) | 2016.01.01 |
42. 제어문 연습 - 별출력 (0) | 2016.01.01 |
41. 반복문 (while, do while, for) (0) | 2016.01.01 |
39. 조건문 (if, else) (0) | 2016.01.01 |
38. 정리하기 (0) | 2016.01.01 |
37. 기타 연산자 (0) | 2016.01.01 |
36. 증감 연산자 (0) | 2016.01.01 |
35. 대입 연산자 (0) | 2016.01.01 |