⽤switch排两个数⼤⼩C语⾔,关于C语⾔Switch语句,先学这
些技巧够不够?
⼀.C语⾔中switch的⽤法
1、switch后⾯括弧内的【表达式】,ANSI标准允许它为任何类型;
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可以共⽤⼀组执⾏语句,例如:
switch的用法c语言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++编程知识吧~
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论