>백엔드 개발 >C#.Net 튜토리얼 >switch 문에서 Case 뒤의 레이블은 무엇입니까?

switch 문에서 Case 뒤의 레이블은 무엇입니까?

青灯夜游
青灯夜游원래의
2020-07-29 14:13:097779검색

switch 문에서 Case 뒤의 레이블은 상수 표현식만 사용할 수 있습니다. 특정 스위치 문에서 각 케이스 상수는 고유한 값을 가져야 하며 반복될 수 없습니다. 그러나 스위치 문에는 여러 케이스 레이블이 포함될 수 있습니다.

switch 문에서 Case 뒤의 레이블은 무엇입니까?

스위치 문은 다양한 조건에 따라 다양한 작업을 수행하는 데 사용됩니다.

문법 형식:

switch (变量表达式)
{
case 常量1:
   语句;break;
case 常量2:
   语句;break;
case 常量3:
   语句;break;
...
case 常量n:
   语句;break;
default:
   语句;break;
}

스위치 문은 실행 후 프로그램 항목과 동일한 케이스 값을 찾고, 기본 항목이 없으면 기본 항목을 찾습니다. 그런 다음 전체 스위치 문을 종료합니다.

case 뒤의 상수는 상수 표현식을 나타냅니다. 특정 스위치 문 내에서 각 케이스 상수는 고유한 값을 가져야 하며 반복될 수 없습니다. 그러나 스위치 문에는 여러 케이스 레이블이 포함될 수 있습니다.

default 태그는 선택 사항이며 스위치 문 본문 어디에나 배치할 수 있습니다. 기본 레이블이 없고 스위치 문 제어 표현식의 평가와 일치하는 케이스 상수가 없으면 스위치 문 본문의 어떤 문도 실행되지 않습니다. 이 경우 프로그램 흐름은 switch 문 본문 다음의 문 실행으로 전환됩니다.

switch 문의 본문은 일반적으로 케이스 레이블에서 시작하는 문의 블록입니다. 첫 번째 케이스 레이블 앞에 명령문이 있으면 해당 명령문은 실행되지 않습니다.

C 언어 태그는 프로그램 흐름이 이동할 수 있는 대상을 식별하는 데에만 사용됩니다. 태그 자체는 프로그램에 아무런 영향을 미치지 않습니다. 따라서 스위치에서 첫 번째 정규 케이스 레이블로 점프한 후 프로그램은 다른 레이블의 영향을 받지 않고 순차적으로 계속 실행됩니다.

이 정규화된 케이스 레이블 다음에 다른 케이스 레이블의 문을 무시해야 하는 경우 마지막 실행된 문 뒤에 break 문을 추가하여 프로그램 흐름이 스위치 문 본문 뒤로 직접 점프하도록 해야 합니다.

switch 문 내에서 변수를 선언해야 하는 경우 이러한 변수는 다음과 같이 중첩된 내부 문 블록에서 선언되어야 합니다.

switch ( x )
{
   case C1: { int temp = 10;    // 声明temp,仅为该case使用
              /* ... */
            }
            break;
   case C2:
            /* ... */
}

switch 표현식에서는 정수 승격이 적용됩니다. 케이스 상수는 스위치 표현식 평가 결과와 일치하는 유형으로 변환됩니다.

switch/case 문 효과를 얻기 위해 else if 문을 사용할 수도 있습니다. 그러나 정수 표현식의 값을 기준으로 프로그램 흐름을 판단하는 경우에는 코드 가독성을 향상시킬 수 있는 스위치/케이스 문을 사용해야 합니다.

추천: "c 언어 튜토리얼"

위 내용은 switch 문에서 Case 뒤의 레이블은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.