C语言中,switch语句是一种多分支选择语句,在实际应用中,要在多种情况中选择一种情况,执行某一部分语句。
其使用一般形式如下: switch(表达式) {
case 常量表达式1: 语句块1; break;
case 常量表达式2: 语句块2; break; ……
case 常量表达式m: 语句块m; break; default: 语句块n; break; }
使用说明如下:
1) 程序执行时,首先计算表达式的值,与case后面的常量表达式值比较,若相等就执行对应部分的语句块,执行完后利用break语句跳出switch分支语句。若表达式的值与所有的case后的常量表达
式均不匹配,则执行default项对应的语句n,执行后跳出switch分支语句。
2) case后面的常量表达式只能是整型、字符型或枚举型常量的一种;各case语句表达式的值各不相同,只起到一个标号作用,用于引导程序找到对应入口。
3) 这里的语句块可以是一条语句,或其它复合语句。语句块可以不用花括号“{}”。
4) 各个case语句并不是程序执行的终点,通常需要执行break语句来跳出switch分支语句;若某case语句的语句块被执行后,若其后没有break语句,则顺序执行其它case语句,直到遇到break语句或后面所有case语句全部执行完,再跳出switch分支语句。
5) 多个case可以共用一组执行语句块。
6) 各个case和default出现的先后次序,并不影响执行结果。 7) default语句不是必须的,但建议加上作为默认情况处理项。 8) switch语句仅做相等性检测,不能像if语句那样做关系表达式或逻辑表达式计算,进行逻辑真假判断。
2、 switch语句使用技巧 1) 尽量减少case语句数量
C语言C标准指出,一个switch语句至少应支持257个case语句;而在C99标准中分支个数要求提升至1023个。在实际编程开发应用中,为了提高程序可读性与执行效率,应尽量减少case语句的数量。尽量将长的switch语句转换为嵌套的switch语句,即可以将高
频执行的语句放在一个case语句中,作为嵌套switch语句的最外层;把执行频率较低的case语句放在另一个switch语句中,放置于嵌套switch语句的内层。
2) case语句结尾勿忘加break语句
在switch语句中,每个case语句的结尾不要忘记添加break语句,否则将导致多个分支重叠,除非有意而为之。
3) 注意case语句的排序
通常按照字母或数字顺序来排序;若switch语句存在多个情况正常和异常的语句,应尽量将情况正常的语句排在前面;另外也可以根据执行频率来排序,如果能预测出每条case语句的大概执行频率,可以将频率最高的语句排在前面。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务