스위치 문을 사용하면 변수가 값 목록과 같은지 테스트할 수 있습니다. 각 값을 케이스라고 하며 스위치 켜진 변수는 각 케이스 전환에 대해 확인됩니다. .
C 프로그래밍 언어의 switch 문의 구문은 다음과 같습니다. -
switch(expression) { case constant-expression : statement(s); break; /* optional */ case constant-expression : statement(s); break; /* optional */ /* you can have any number of case statements */ default : /* Optional */ statement(s); }
다음 규칙이 switch 문에 적용됩니다. -
-
표현 스위치 에서 사용 문은 정수 또는 열거 유형을 가져야 하거나 클래스가 정수 또는 열거 유형에 대한 단일 변환 함수를 갖는 클래스 유형이어야 합니다.
-
스위치 내에서 원하는 수의 case 문을 가질 수 있습니다. 각 케이스 뒤에는 비교할 값과 콜론이 옵니다.
-
상수 표현식 케이스는 스위치의 변수와 동일한 데이터 유형이어야 하며 상수 또는 리터럴이어야 합니다.
-
켜진 변수가 대소문자와 같을 때 해당 대소문자 뒤에 오는 명령문은 중단 이 나올 때까지 실행됩니다. 성명에 도달했습니다.
-
중단 명령문에 도달하면 스위치가 종료되고 제어 흐름은 스위치 명령문 다음의 다음 라인으로 이동합니다.
-
모든 케이스에 중단이 포함될 필요는 없습니다. . 중단이 없는 경우 가 나타나면 중단에 도달할 때까지 제어의 흐름이 후속 사례로 넘어갑니다.
-
switch 문에는 선택적 기본값 이 있을 수 있습니다. 스위치의 끝에 나타나야 합니다. 어떤 케이스도 true가 아닐 때 작업을 수행하는 데 기본 케이스를 사용할 수 있습니다. 중단 없음 기본 경우에 필요합니다.
예시 코드
#include <stdio.h> int main () { /* local variable definition */ char grade = 'B'; switch(grade) { case 'A' : printf("Excellent!\n" ); break; case 'B' : case 'C' : printf("Well done\n" ); break; case 'D' : printf("You passed\n" ); break; case 'F' : printf("Better try again\n" ); break; default : printf("Invalid grade\n" ); } printf("Your grade is %c\n", grade ); return 0; }
출력
Well done Your grade is B