2、当表达式的值与某一个case后面的常量表达式的值相等时,就实行此case后面的语句,否则,就实行default后面的语句。
功能:switch语句是多分支选择语句.用来实现多分支选择构造.if语句只有两个分支可供选择,而实际问题中常常要用到多分支的选择.例如,学天生就分类(90为"A"等,80-89分为'B'等,70-90分为'C'等......).当然这些都可以用嵌套的if语句来处理,但如果分支较多,则嵌套的if语句层数多,程序冗余长而且可读性降落.C措辞供应switch语句直接外理多分支选择,它相称于PASCAL措辞中的CASE语句。
形式:switch(表达式)

例如,哀求按照考试成绩的等级打印出百分制分数段,可以用switch语句实现:
解释:
(1) switch后面括弧内的"表达式",ANSI标准许可它为任何类型.
(2) 当表达式的值与某一个case后面的常量表达式的值相等时,就实行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的匹配的,就实行default后面的语句。
(3) 每一个case的常量表达式的值必须互不相同,否则就会涌现相互抵牾的征象(对表达式的同一个值,有两种或多种实行方案)。
(4) 各个case各default的涌现次序不影响实行结果。例如,可以先涌现"default: ...",再涌现"case 'D': ...",然后是"case 'A': ...".
(5) 实行完一个case后面的语句后,流程掌握转移到下一个case连续实行."case常量表达式"只是起语句标号浸染,并不是在该处进行条件判断.在实行swith语句时,根据switch后面表达式的值找到匹配的入口标号,就从此标号开始实行下去,不再进行判断.例如,上面的例子中,若grade的值即是'A',则将连续输出:
因此,该当在实行一个case分支后,使流程跳出switch构造,即终止switch语句的实行.
可以用一个break语句来达到此目的.将上面的switch构造改写如下:
末了一个分支(default)可以不加break语句.如果grade的值为'B',则只输出"70-84".
在case后面中虽然包含一个以上实行语句,但可以不必用花括弧括起来,会自动顺序实行本case后面所有的实行语句.当然加上花括弧也可以.
(6) 多个case可以共用一组实行语句,例如:
grade的值为'A','B'或'C'时都实行同一组语句。
二. switch语句利用技巧
1) 只管即便减少case语句数量
C措辞C89标准指出,一个switch语句至少应支持257个case语句;而在C99标准等分值个数哀求提升至1023个。在实际编程开拓运用中,为了提高程序可读性与实行效率,应只管即便减少case语句的数量。只管即便将长的switch语句转换为嵌套的switch语句,即可以将高频实行的语句放在一个case语句中,作为嵌套switch语句的最外层;把实行频率较低的case语句放在另一个switch语句中,放置于嵌套switch语句的内层。
2) case语句结尾勿忘加break语句
在switch语句中,每个case语句的结尾不要忘却添加break语句,否则将导致多个分支重叠,除非故意而为之。
3) 把稳case语句的排序
常日按照字母或数字顺序来排序;若switch语句存在多个情形正常和非常的语句,应只管即便将情形正常的语句排在前面;其余也可以根据实行频率来排序,如果能预测出每条case语句的大概实行频率,可以将频率最高的语句排在前面。
以上便是c措辞中switch的用法是什么的详细内容,如果你想更好的提升你的编程能力,好好学习C/C++编程知识的话!那么你很幸运~
点击下方“理解更多”加入C措辞/C++企鹅圈,这里还有一些你可能不知道的趣事分享哟。