为什么switch比if语句运行快 if/elseswitch语句的缺点是什么?为何不提倡使用这两种语句?

[更新]
·
·
分类:互联网
3618 阅读

为什么switch比if语句运行快

if/elseswitch语句的缺点是什么?为何不提倡使用这两种语句?

if/elseswitch语句的缺点是什么?为何不提倡使用这两种语句?

1 两者本质的区别是 if-else语句更适合于对区间(范围)的判断,而switch语句更适合于对离散值的判断2 示例 判断65分到85分之间的学生有哪些适合用if-else语句,因为[65,85]是区间 而判断一个学生的班级是一班、二班还是三班适合用switch语句,因为一班、二班、三班是离散值3 扩展 所有的switch语句都可以用if-else语句来替换(因为if-else语句只需对每个离散值分别做判断即可),而并不是所有的if-else语句都可以用switch语句来替换(因为区间里值的个数是无限的并且switch所接受的值只能是整型或枚举型,所以不能用case来一一列举)。

C 中的switch是什么意思?

1、SWITCH语句的字面意思是开关,是用来进行多重选择。具体的用法首先打开C-Free5.0软件,然后新建一个名为switch.c文件,然后在引入头文件和main主函数:
2、首先定义一个整型数值,然后从外面写入这个值,这里用到的scanf函数就是从外面读入一个值给a,然后运行一下,输入一个数验证:
3、接着用switch先判断获得是什么值,按照获得的值来执行相应的步骤,注意这里输入的值必须是定义的值,否则switch语句的条件不会被触发;最后的default则是用来判断不满足以上条件用的,不满足的时候这里打印出另一句话告诉用户输入非法了:
4、最后编译调试下程序,看看对不对, 当输入1-5任意一个值的时候,屏幕上会打印出相应的语句。以上就是c语言中switch语句的用法:

switch语句必须要有default吗?

最好带上,这个default可以当做意外(错误)处理,但是语法上没有规定必须要带这个,试一试就知道了。
1、不是必须的。 switch case 语句是一个条件选择语句,找到相同的case值做为入口,执行后面的程序;若所有的case都不满足,则找default入口;若未找到则退出整个switch语句。 所以default只是一个备用的入口,有没有都无所谓。
2、switch语句,其一般形式为:switch(表达式){case常量表达式语句case常量表达式,语句case常量表达式n:语句n;default:语句n 1;}其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。
3、但是为了进行错误检查或逻辑检查,还是应该在switch语句中加入default分支。
4、不是必须,default只是用来匹配case规定匹配不存在时做的事情,就像if else 的else一样,如果匹配不存在时不想做其他事情就用不到。