집 >백엔드 개발 >C#.Net 튜토리얼 >C 언어의 스위치 케이스 사용법에 대한 자세한 설명
C 언어 스위치 케이스 사용 세부 정보
스위치는 " switch" "는 "select" 문이기도 하지만 사용법이 매우 간단하다는 것을 의미합니다. switch는 다중 분기 선택 문입니다. 간단히 말해서 여러 분기는 여러 if입니다.
추천 학습: c 언어 동영상 튜토리얼
기능적으로 말하자면, switch 문과 if 문은 서로를 완전히 대체할 수 있습니다. 그러나 프로그래밍 관점에서 보면 각각 고유한 특성이 있기 때문에 아직까지 하나가 다른 하나를 완전히 대체할 수 있다고 말할 수는 없습니다.
중첩된 if가 상대적으로 적다면(3개 이내) if를 사용하여 프로그램을 작성하는 것이 더 간단합니다. 그러나 선택된 분기가 많으면 중첩된 if 문 수준이 많아져 프로그램 시간이 길어지고 가독성이 떨어집니다. 따라서 C 언어에서는 여러 분기 선택을 처리하는 스위치 문을 제공합니다. 그래서 if와 switch는 분업이 명확하다고 할 수 있습니다. 많은 대규모 프로젝트에서는 다중 분기 선택 상황이 자주 발생하므로 스위치 문은 여전히 자주 사용됩니다.
스위치의 일반적인 형태는 다음과 같습니다:
switch (表达式) { case 常量表达式1: 语句1 case 常量表达式2: 语句2 ┇ case 常量表达式n: 语句n default: 语句n+1 }
설명:
1) 스위치 뒤의 괄호 안의 "식"은 정수여야 합니다. 유형. 즉, int 유형 변수, char 유형 변수 또는 직접 정수 또는 문자 상수, 음수일 수도 있습니다. 단, 실수가 아니어야 합니다. Float형 변수, Double형 변수, 소수점 상수는 모두 구문 오류입니다.
2) 스위치 아래의 대소문자와 기본값은 중괄호 {}로 묶어야 합니다.
3) 스위치 뒤의 괄호 안의 "수식" 값이 케이스 뒤의 "상수 표현식"의 값과 같을 경우, 케이스 뒤의 문이 실행됩니다. Case 다음에 오는 명령문을 실행한 후 흐름 제어는 다음 Case로 전환되어 실행을 계속합니다. 이 Case 문만 실행하고 다른 Case 문은 실행하지 않으려면 이 Case 문 뒤에 break를 추가하여 switch 문에서 빠져나와야 합니다.
다시 한번 말씀드리지만, 스위치는 "루프" 문이 아니라 "선택" 문입니다. 많은 초보자들은 break를 볼 때 루프 문이라고 생각합니다. 왜냐하면 break는 일반적으로 "루프"에서 뛰쳐나오는 느낌을 주기 때문입니다. 그러나 break에는 스위치에서 뛰쳐나오는 또 다른 용도가 있습니다.
4) 모든 경우에 상수 표현식의 값이 스위치 뒤의 괄호 안의 "표현식" 값과 같지 않으면 기본값 이후의 문이 실행됩니다. "기본값"을 의미합니다. default가 마지막 문이라면 그 뒤에 break를 추가할 필요가 없습니다. 왜냐하면 그것이 마지막 문이기 때문에 switch는 실행 후 자연스럽게 종료되기 때문입니다.
5) 각 사례 뒤에 있는 "상수 표현"의 값은 서로 달라야 하며, 그렇지 않으면 서로 충돌이 발생하고 이렇게 작성하면 문법 오류가 발생합니다.
6) "대소문자 상수 표현"은 문장 라벨 역할만 하며 판단에는 사용되지 않습니다. switch 문을 실행할 때 스위치 뒤에 있는 표현식의 값을 기반으로 일치하는 항목 레이블을 찾고 추가 판단 없이 이 레이블부터 실행이 계속됩니다.
7) 각 케이스의 발생 순서와 기본값은 실행 결과에 영향을 미치지 않습니다. 하지만 읽는 관점에서는 알파벳순이나 숫자순으로 쓰는 것이 가장 좋습니다.
8) 물론 if…else처럼 끝에 else 문 없이도 기본 문 없이 수행할 수 있습니다. 하지만 추가하는 것이 가장 좋습니다. 나중에는 아무것도 쓸 수 없습니다. 이렇게 하면 다른 사람이 기본 처리를 수행하는 것을 잊었다고 잘못 생각하는 것을 방지하고 전환이 끝났음을 다른 사람에게 상기시킬 수 있습니다.
다만 주의할 점은 default 이후에는 아무 것도 쓸 수 없지만, 다음 콜론과 세미콜론을 생략하면 안 된다는 점입니다. 많은 초보자들이 여기서 세미콜론이나 콜론을 잊어버리는 등 쉽게 실수를 할 수 있으므로 조심하세요!
당신을 위한 프로그램을 작성하고 이 프로그램을 살펴보겠습니다.
# include <stdio.h> int main(void) { int val; //variable的缩写, “变量”的意思 printf("请输入您想去的楼层:"); scanf("%d", &val); switch (val) { case 1: printf("1层开!\n"); break; case 2: printf("2层开!\n"); break; case 3: printf("3层开!\n"); break; default: printf("该层不存在, 请重新输入\n"); } return 0; }
이 프로그램의 마지막 "이 레이어는 존재하지 않습니다. 다시 입력해주세요"는 현재 작동하지 않습니다. 이는 루프 문을 학습할 때 루프를 사용하여 구현해야 합니다.
위 내용은 C 언어의 스위치 케이스 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!