
实际问题中常常用到多分支的选择,可以利用if语句的嵌套来处理,但如果分支较多,则嵌套的if语句层数多。因此C语言提供switch语句来处理多分支选择。

switch (表达式)
{ case 常量1 : 语句1;
case 常量2 : 语句2;
case 常量3 : 语句3;
……
case 常量n : 语句n;
default : 语句n+1 ;
}

先计算表达式之值,如果与某个case语句中的常量的值匹配(即相同),则执行其后的语句,然后顺序执行下一个case后的语句,不管表达式的值是否与之匹配;若所有的case语句中的常量的值都 不能与之匹配,则执行default后的语句n+1。
switch 语句流程图(无break;语句)

switch 语句(有break;语句)
witch 语句的格式:
switch (表达式)
{ case 常量1 : 语句1; break;
case 常量2 : 语句2; break;
case 常量3 : 语句3; break;
……
case 常量n : 语句n; break;
default : 语句n+1 ;
}

先计算表达式之值,如果与某个case语句中的常量的值匹配(即相同),则执行其后的语句和break语句,然后跳出switch选择结构;若所有的case语句中的常量的值都 不能与之匹配,则执行default后的语句n+1,然后跳出switch选择结构。
switch 语句流程图(有break;语句)

