스위치 문을 사용하면 변수가 값 목록과 같은지 테스트할 수 있습니다. 각 값을 케이스라고 하며 스위치 켜진 변수는 각 케이스 전환에 대해 확인됩니다. .
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