C의 switch 문 변수의 값을 테스트하고 여러 사례와 비교합니다. 대소문자 일치가 발견되면 해당 특정 사례와 관련된 명령문 블록이 실행됩니다.
스위치 블록의 각 케이스에는 식별자라고 하는 다른 이름/번호가 있습니다. 사용자가 제공한 값은 일치하는 항목을 찾을 때까지 switch 블록 내부의 모든 케이스와 비교됩니다.
대소문자가 일치하지 않으면 기본 문이 실행되고 제어가 스위치 블록을 벗어납니다.
이 튜토리얼에서는 배우게 될 것입니다-
C에서 Switch 문이란 무엇입니까?
대소문자 전환 구문
Switch 명령문 순서도
C의 스위치 케이스 예
C의 중첩 스위치
스위치 케이스가 필요한 이유는 무엇입니까?
switch 문 규칙
대소문자 전환
'C' 프로그램에서 switch-case가 구현되는 일반적인 구문은 다음과 같습니다.
switch( expression )
{
case value-1:
Block-1;
Break;
case value-2:
Block-2;
Break;
case value-n:
Block-n;
Break;
default:
Block-1;
Break;
}
Statement-x;
표현식은 정수 표현식 또는 문자 표현식일 수 있습니다.
값-1, 2, n은 각 케이스를 개별적으로 식별하는 데 사용되는 케이스 레이블입니다. 프로그램을 실행하는 동안 문제를 일으킬 수 있으므로 케이스 레이블이 동일하지 않아야 함을 기억하십시오. '1'과 동일한 레이블을 가진 두 개의 케이스가 있다고 가정합니다. 그런 다음 프로그램을 실행하는 동안 프로그램에서 두 번째 케이스를 실행하기를 원하더라도 첫 번째로 나타나는 케이스가 실행됩니다. 이것은 프로그램에 문제를 일으키고 원하는 출력을 제공하지 않습니다.
대소문자 레이블은 항상 콜론( :)으로 끝납니다. 이러한 각 사례는 블록과 연결됩니다.
블록은 특정 사례에 대해 그룹화된 여러 명령문에 불과합니다.
스위치가 실행될 때마다 test-expression의 값은 스위치 내부에 정의된 모든 경우와 비교됩니다. 테스트 표현식에 값 4가 포함되어 있다고 가정합니다. 이 값은 프로그램에서 레이블 4가 발견될 때까지 모든 케이스와 비교됩니다. 사례가 발견되는 즉시 해당 사례와 관련된 명령문 블록이 실행되고 제어가 스위치에서 벗어납니다.
각 경우의 break 키워드는 특정 경우의 끝을 나타냅니다. 각 경우에 break를 넣지 않으면 특정 경우가 실행되더라도 C의 스위치는 끝에 도달할 때까지 모든 경우를 계속 실행합니다. 이런 일이 일어나서는 안 됩니다. 따라서 우리는 항상 각 경우에 break 키워드를 넣어야 합니다. Break가 실행되면 케이스가 종료되고 컨트롤이 스위치에서 빠져 나옵니다.
기본 케이스는 선택 사항입니다. test-expression의 값이 스위치 내부의 케이스와 일치하지 않을 때마다 기본값이 실행됩니다. 그렇지 않으면 스위치에 기본값을 쓸 필요가 없습니다.