软件黑洞3997476
2016-09-27 16:26
我想知道这个switch和前面的那个if-else有什么区别
switch语句在实际工程中不常用,稍微了解就行了。
它主要作用在系统菜单,键位设置这些方面,平时用的很少。
要说区别也有区别:switch语句 () 括号里只能放int 、char 变量 所以用法常常局限于常量
而if-else语句 () 表达式千变万化,可以是常量,关系式,逻辑表达式,或者是他们的组合。所以用起来非常的灵活。
if和switch的主要区别如下:
1)if的括号内的表达式可以分别是布尔类型的合法表达式、可以是所有大于0的正整数为true,反之为小于等于0的正整数为false、可以是常量、枚举;而switch括号内也符合前面if提到的外,就是当圆括号内为正整数只能是0或1,其它的正整数属于 default范围。
2)尽管if括号内也支持常量、枚举但也是有前提的那就是常量或枚举必须要显式给出相应的数值。而switch则不必;
3)switch适合处理判断分支较多的情况下(代码可读性好),而if适合处理判断分支较少的情况下(反之代码可读性差,容易出现漏判或重复判断)。
C语言入门
926210 学习 · 20797 问题
相似问题