【C语言】-条件语句-switch语句

switch语句:

用于直接处理不同情况下的多路问题。

switch语句又可称为开关语句,其执行流程和多分支if语句类似。

switch (表达式)
{
  case 常量表达式1:语句组1;break;      // 如果有break,执行完case后的语句后,就停止;
  case 常量表达式2:语句组2;break;      // 如果没有break,则继续执行下一个case语句,直到遇到break。
  ...
  case 常量表达式n:语句组n;break;
  default:语句组;break;              //  这一句可要可不要  
}

当switch后面的“表达式”的值与某个case后的“常量表达式”的值相同时,就执行该case后面的语句(组)。当遇到break语句时,跳出switch语句,转向执行switch结构后面的语句。如果没有任何一个case后面的“常量表达式”的值与“表达式”的值匹配,则执行default后面的语句(组)。然后再执行switch结构后面的语句。

注意:

  • switch后面的“表达式”可以是int、char和枚举型中的一种。
  • 每个case后面只能有一个常量,且“常量表达式”的值必须各不相同,否则会出现相互矛盾的现象(即对表达式的同一值,有两种或两种以上的执行方案)。
  • case后面的常量表达式仅起语句标号作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断。所以必须加上break语句,以便结束switch语句。
  • 各case及default子句的先后次序,不影响程序执行结果。
  • 多个case子句可共用同一语句(组)。
posted @ 2015-11-21 20:11  真真的真一  阅读(947)  评论(0编辑  收藏  举报