C-决策语句Switch Case

时间:2020-02-23 14:32:01  来源:igfitidea点击:

在本教程中,我们将学习C编程语言中的Switch Case决策语句。

Switch case语句与if else语句有些相似。

switch-case语句的语法。

switch (expression) {
  case value1:
    //block 1 code...
    break;

  case value2:
    //block 2 code...
    break;

  default:
    //default block code...
}

因此,在上述switch-case语句的语法中,我们有一个表达式,该表达式与大小写值" value1"," value2"等匹配。

如果说,表达式匹配大小写" value2",则执行块2代码,其他代码被忽略。

break关键字使我们离开switch。
建议在case块中使用break语句,以便跳出switch-case语句。

如果没有大小写匹配的表达式,则执行"默认"块代码。

注意! default块是可选的,可以跳过。
而且我们不必在默认块中添加break关键字。

要记住的要点

  • "表达式"是整数或者字符
  • value1,value2,...是整数常量,称为大小写标签
  • block1,block2,...包含零个或者多个语句
  • " default"是可选情况。
    如果没有大小写标签与表达式匹配,则执行默认语句
  • break语句表示特定情况的结束,并导致从switch-block退出

在下面的示例中,我们将从用户处获取一个整数值作为输入,然后将该值与案例匹配以打印合适的结果。

#include <stdio.h>
int main(void)
{
  //declare variable
  int x;
  
  //take user input
  printf("Enter an integer number: ");
  scanf("%d", &x);
  
  //check condition
  switch (x) {
    case 1:
      printf("Entered number: 1\n");
      break;
    
    case 2:
      printf("Entered number: 2\n");
      break;
    
    case 3:
      printf("Entered number: 3\n");
      break;
    
    default:
      printf("Entered number is something else.\n");
  }
  
  printf("End of code\n");
  
  return 0;
}
Enter an integer number: 1
Entered number: 1
End of code

在上面的输出中,我们输入1作为输入,因此,在switch-case语句中,x(表达式)的值与case 1匹配。
因此,执行case 1块。
由于使用break关键字,我们跳出了开关。

输入的数字是别的。

Enter an integer number: 10
Entered number is something else.
End of code

在上面的输出中,我们输入10作为输入值,没有大小写匹配。
因此,我们执行默认的块代码。