在实际中经常需要处理多分支问题,如统计学生成绩分布等,虽然可以用else-if和嵌套if语句来实现多分支程序设计,但是当分支较多时,程序变得冗长且可读性低。在C语言中提供了直接处理多分支的方法:switch-case语句。
switch(表达式)
{
case常量表达式1:语句1;
case常量表达式2:语句2;
…
case常量表达式n:语句n;
default :语句n+1;
}
二、执行过程
执行1.计算表达式的值
2.若与常量表达式n值一致,则从该语句开始执行;直到遇到break语句或switch语句的}
3、若与任何常量表达式值均不一致时,则执行default语句或后续语句
其中: 表达式可以是整型、字符型、枚举型
常量表达式必须与表达式类型一致(整型与字符型通用)
常量表达式中的数据仅起语句标号作用,不作求值判断
常量表达式的值必须是唯一的,没有先后顺序
多个case语句可以共用一组执行语句