📜  嵌套开关盒

📅  最后修改于: 2021-05-25 22:43:05             🧑  作者: Mango

切换案例语句

这些替代了将变量与多个整数值进行比较的long if语句

  • switch语句是多路分支语句。它提供了一种简单的方法,可以根据表达式的值将执行分派到代码的不同部分。
  • Switch是一个控制语句,它允许一个值更改执行控制。

使用Switch Case时要记住的要点

  • switch语句中使用的表达式必须具有整数或字符类型,或者是类类型,其中该类具有到整数或字符类型的单个转换函数。
  • 开关内可以有任意数量的case语句。每个案例后面都跟一个要与之进行比较的值,然后是一个冒号。
  • 当打开的变量等于大小写时,该大小写之后的语句将一直执行,直到到达break语句为止。
  • 到达break语句后,开关终止,控制流跳至switch语句后的下一行。
  • 并非每个案例都需要休息一下。如果没有中断出现,控制流将进入后续的情况,直到达到中断为止,即,一旦编译器发现比较结果为真,所有case语句将被执行。
  • switch语句可以具有可选的默认情况,该情况必须出现在switch的末尾。当所有情况都不为真时,可以使用默认情况下的任务执行任务。在默认情况下,无需中断。

句法:

switch (n)
{
    case 1: // code to be executed if n = 1;
  break;
    case 2: // code to be executed if n = 2;
  break;
    default: // code to be executed if 
      // n doesn't match any cases
}

嵌套开关语句:

嵌套Switch语句引用另一个Switch语句内的Switch语句。

句法:

switch(n)
{
  // code to be executed if n = 1;
  case 1: 
    
  // Nested switch
  switch(num) 
  {
    // code to be executed if num = 10
    case 10: 
      statement 1;
      break;
      
    // code to be executed if num = 20
    case 20: 
      statement 2;
      break;
      
    // code to be executed if num = 30
    case 30: 
      statement 3;
      break;
      
      // code to be executed if num 
      // doesn't match any cases
      default: 
  }
  
  
  break;
    
  // code to be executed if n = 2;
  case 2:
    statement 2;
    break;
  
  // code to be executed if n = 3;
  case 3: 
    statement 3;
    break;
  
   // code to be executed if n doesn't match any cases
   default: 
}

例子:

// Following is a simple program to demonstrate
// syntax of Nested Switch Statements.
#include 
  
int main()
{
    int x = 1, y = 2;
  
    // Outer Switch
    switch (x) {
  
    // If x == 1
    case 1:
  
        // Nested Switch
  
        switch (y) {
  
        // If y == 2
        case 2:
            printf( "Choice is 2");
            break;
  
        // If y == 3
        case 3:
            printf( "Choice is 3");
            break;
        }
        break;
  
    // If x == 4
    case 4:
        printf( "Choice is 4");
        break;
  
    // If x == 5
    case 5:
        printf( "Choice is 5");
        break;
  
    default:
        printf( "Choice is other than 1, 2 3, 4, or 5");
        break;
    }
    return 0;
}
输出:
Choice is 2
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。