logo

C의 스위치 문

Switch Case 문은 주어진 표현식을 평가하고 평가된 값(특정 조건과 일치)을 기반으로 연관된 문을 실행합니다. 기본적으로 다양한 조건(케이스)에 따라 다양한 작업을 수행하는 데 사용됩니다.

  • Switch Case 문은 선택 제어 메커니즘을 따르며 값으로 실행 제어를 변경할 수 있습니다.
  • 그들은 긴 대체품입니다 if 문 변수를 여러 정수 값과 비교합니다.
  • switch 문은 다중 방향 분기 문입니다. 표현식의 값을 기반으로 코드의 다른 부분에 실행을 전달하는 쉬운 방법을 제공합니다.

C에서는 여러 조건 중 하나의 조건을 실행하는 데 스위치 케이스 문을 사용합니다. if-else-if 사다리와 유사합니다.



배열 슬라이싱 자바

switch 문은 조건 기반 케이스와 기본 케이스로 구성됩니다.

C의 switch 문의 구문

  switch(expression)     {     case   value1  :   statement_1;   break;     case   value2  :   statement_2;   break;   . . .   case   value_n  :   statement_n;   break;     default:   default_statement; }>

C에서 스위치 케이스 문을 사용하는 방법은 무엇입니까?

프로그램에서 스위치 케이스를 사용하기 전에 스위치 문의 몇 가지 규칙을 알아야 합니다.

Switch Case 문의 규칙

다음은 switch 문을 사용할 때 따라야 할 몇 가지 규칙입니다.



  1. switch 문에서는 케이스 값 의 것이어야합니다 그리고 정수 유형.
  2. 하나 또는 N개의 사례가 있을 수 있습니다.
  3. 케이스의 값은 다음과 같아야 합니다. 고유한 .
  4. Case의 각 문에는 break 문이 있을 수 있습니다. 선택사항입니다.
  5. 기본 명령문도 선택 사항입니다.

// C program to Demonstrate returning of day based numeric // value #include  int main() {  // switch variable  int var = 1;  // switch statement  switch (var) {  case 1:  printf('Case 1 is Matched.');  break;  case 2:  printf('Case 2 is Matched.');  break;  case 3:  printf('Case 3 is Matched.');  break;  default:  printf('Default case is Matched.');  break;  }  return 0; }>

산출
Case 1 is Matched.>

스위치 문은 어떻게 작동합니까?

C에서 스위치 문의 작동 방식은 다음과 같습니다.

  1. 1 단계: 스위치 변수가 평가됩니다.
  2. 2 단계: 평가된 값은 현재의 모든 사례와 일치됩니다.
  3. 3A단계: 일치하는 케이스 값이 발견되면 연관된 코드가 실행됩니다.
  4. 3B단계: 일치하는 코드가 없으면 기본 케이스가 실행됩니다.
  5. 4A단계: 케이스에 break 키워드가 있으면 프로그램 제어가 스위치 문에서 중단됩니다.
  6. 4B단계: break 키워드가 없으면 일치하는 사례 뒤의 모든 사례가 실행됩니다.
  7. 5단계: switch 문 뒤의 문이 실행됩니다.

또한 순서도를 사용하여 C에서 스위치 문의 작동을 이해할 수 있습니다.

Switch 문의 흐름도

c의 스위치 케이스

C의 스위치 문의 흐름도



스위치 케이스 파손

이 키워드는 스위치 블록 내에서 실행을 중지하는 데 사용됩니다. 스위치 블록을 종료하고 빠져나오는 데 도움이 됩니다. break 문에 도달하면 스위치가 종료되고 제어 흐름은 스위치 문 다음 줄로 이동합니다.

그만큼 break 문은 선택 사항입니다. . 생략하면 다음 케이스로 실행이 계속됩니다. 제어 흐름은 중단에 도달할 때까지 후속 사례로 이어집니다.

파손되지 않은 스위치 케이스의 예

// C Program to demonstrate the behaviour of switch case // without break #include  int main() {  int var = 2;  // switch case without break  switch (var) {  case 1:  printf('Case 1 is executed.
');  case 2:  printf('Case 2 is executed.
');  case 3:  printf('Case 3 is executed.');  case 4:  printf('Case 4 is executed.');  }  return 0; }>

산출
Case 2 is executed. Case 3 is executed.Case 4 is executed.>

스위치 케이스의 기본값

기본 키워드는 세트를 지정하는 데 사용됩니다. 대소문자가 일치하지 않는 경우 실행할 명령문 .

그것은 선택 과목 스위치 케이스에서 default 키워드를 사용합니다. Switch Case문에 default문이 없어도 문제없이 실행됩니다.

Switch Case 문에 대한 중요한 사항

1. 스위치 표현식은 다음과 같아야 합니다. 상수 값

switch 문에 제공된 표현식이 상수 값을 생성하지 않으면 유효하지 않습니다. 스위치 케이스에 대한 유효한 표현은 다음과 같습니다.

윈도우7은 언제 나왔나요?
// Constant expressions allowed switch(1+2+23) switch(1*2+3%4) // Variable expression are allowed provided // they are assigned with fixed values switch(a*b+c*d) switch(a+b+c)>

2. 표현식 값은 int 또는 char 유형이어야 합니다.

switch 문은 정수 또는 문자 값만 평가할 수 있습니다. 따라서 스위치 표현식은 int 또는 char 유형의 값만 반환해야 합니다.

3. 케이스 값은 고유해야 합니다.

C 스위치 문에서는 중복된 Case 값이 허용되지 않습니다.

3. 스위치 문의 중첩

스위치 문의 중첩이 허용됩니다. , 이는 다른 스위치 내에 스위치 문을 가질 수 있음을 의미합니다. 그러나 중첩된 스위치 문은 프로그램을 더 복잡하고 읽기 어렵게 만들기 때문에 피해야 합니다.

4. 기본 블록은 어디에나 배치할 수 있습니다.

배치에 관계없이 기본 케이스는 다른 케이스 조건이 충족되지 않는 경우에만 실행됩니다. 따라서 시작, 중간 또는 끝 부분에 배치해도 핵심 논리는 변경되지 않습니다.

C의 switch 문의 예

예제 1: C 스위치 케이스를 사용하여 요일을 인쇄하는 프로그램.

// C program to print the day using switch #include  // Driver Code int main() {  int day = 2;  printf('The day with number %d is ', day);  switch (day) {  case 1:  printf('Monday');  break;  case 2:  printf('Tuesday');  break;  case 3:  printf('Wednesday');  break;  case 4:  printf('Thursday');  break;  case 5:  printf('Friday');  break;  case 6:  printf('Saturday');  break;  case 7:  printf('Sunday');  break;  default:  printf('Invalid Input');  break;  }  return 0; }>

산출
The day with number 2 is Tuesday>

예 2: C에서 스위치 케이스를 사용하는 간단한 계산기

// C Program to create a simple calculator using switch // statement #include  #include  // driver code int main() {  // switch variable  char choice;  // operands  int x, y;  while (1) {  printf('Enter the Operator (+,-,*,/)
Enter x to '  'exit
');  scanf(' %c', &choice);  // for exit  if (choice == 'x') {  exit(0);  }  printf('Enter the two numbers: ');  scanf('%d %d', &x, &y);  // switch case with operation for each operator  switch (choice) {  case '+':  printf('%d + %d = %d
', x, y, x + y);  break;  case '-':  printf('%d - %d = %d
', x, y, x - y);  break;  case '*':  printf('%d * %d = %d
', x, y, x * y);  break;  case '/':  printf('%d / %d = %d
', x, y, x / y);  break;  default:  printf('Invalid Operator Input
');  }  }  return 0; }>


산출

Enter the operator (+, -, *, /) Enter x to exit + Enter the two numbers: 100 + 200 100 + 200 = 300>

C 스위치 설명의 장점

  1. if else if보다 읽기 쉽습니다.
  2. 다양한 조건에 대한 디버깅 및 유지 관리가 더 쉽습니다.
  3. 실행 속도가 빨라집니다.

C 스위치 문의 단점

  1. Switch Case는 int 또는 char 유형만 평가할 수 있습니다.
  2. 논리식은 지원되지 않습니다.
  3. 모든 경우에 중단을 추가해야 한다는 점을 명심해야 합니다.

결론

이번 글에서는 C 프로그래밍의 스위치 문과 이를 사용하는 방법에 대해 논의했습니다. 이는 자체 장점과 단점이 있는 if-else-if 사다리와 같은 조건문입니다. 평가할 조건의 수가 많을 때 주로 선호됩니다.

C 스위치 설명에 대한 FAQ

1. C에서 스위치 케이스는 무엇입니까?

Switch Case 문은 스위치 변수를 정의한 다음 스위치 변수의 값에 따라 다른 코드를 실행할 수 있는 흐름 제어 문입니다. if else if 사다리의 대안입니다.

2. C의 스위치 문의 경우는 무엇입니까?

case 키워드는 스위치 문에서 다양한 사례와 관련 코드를 정의하는 데 사용됩니다.

3. 스위치 케이스의 파손은 어떤 역할을 합니까?

break 키워드는 일치하는 사례를 실행한 후 스위치 블록을 종료하는 데 사용됩니다.

4. C에서 스위치와 사다리의 차이점은 무엇입니까?

다음은 주요 내용이다 C 스위치와 C의 차이점 if else if ladder :

스위치

Java에서 json에 대한 객체

만약 그렇지 않다면

스위치 변수의 값에 따라 다양한 케이스를 실행합니다.지정된 조건에 따라 다양한 블록을 실행합니다.
int 또는 char 유형 표현식만 평가할 수 있습니다.모든 유형의 표현식을 평가할 수 있습니다.
많은 수의 조건을 더 빠르고 쉽게 읽을 수 있습니다.조건이 많으면 지저분해질 수 있습니다.

읽어야 할 내용:

  • C의 스위치 케이스에 대한 흥미로운 사실
  • if 또는 Switch를 사용하지 않고 개별 숫자를 단어로 인쇄