C语言提供了switch语句可更加方便、直接地处理多路分支。
switch语句的基本形式:


1)计算表达式的值;
2)找到与表达式的值相同的case常量表达式,执行该case后面的语句序列,之后依次向下顺序执行语句块。如果没有与switch表达式相匹配的case常量,流程转去执行default标号后面的语句。
注:
(1) 括号内的“表达式”,其值的类型应为整数类型int(包括字符型char)。
(2) 花括号内是一个复合语句,内包含多个以关键字case开头的语句行和最多一个以default开头的行。case后面跟一个常量(或常量表达式),它们和default都是起标号作用,用来标志一个位置。
(3) 可以没有default标号,此时如果没有与switch表达式相匹配的case常量,则不执行任何语句。
(4) 各个case标号出现次序不影响执行结果。
(5) 每一个case常量必须互不相同;否则就会出现互相矛盾的现象。
(6) case标号只起标记的作用。在执行switch语句时,根据switch表达式的值找到匹配的入口标号,在执行完一个case标号后面的语句后,就从此标号开始执行下去,不再进行判断。因此,一般情况下,在执行一个case子句后,应当用break语句使流程跳出switch结构。最后一个case子句(今为default子句)中可不加break语句。
(7) 在case子句中虽然包含了一个以上执行语句,但可以不必用花括号括起来,会自动顺序执行本case标号后面所有的语句。
(8) 多个case标号可以共用一组执行语句。
设计多路开关模式的switch语句,其形式如下:


1)计算表达式的值;
2)找到与表达式的值相同的case常量表达式,执行该case后面的语句序列,之后转去执行switch的后续语句。如果几个常量都不等于switch中表达式的值,则执行default后的语句。

