C语言中if 和switch 区别
发布网友
发布时间:2022-04-26 15:51
我来回答
共7个回答
热心网友
时间:2022-04-23 20:56
switch语句,可读性更好,整体流程看起来清晰明确。
if语句适应性更强,可以处理更多的情况。
所有的switch语句都可以写成if的形式,比如
switch(a)
{
case b:
break;
case c:
break;
default:
break;
}
可以写作
if(a==b)//case b
{
}
else if(a==c) // case c
{
}
else //default.
{
}
但是switch 语句,仅能够处理整型数值,即switch()括号中的判断的值,必须是整型的,而且每个case后面跟的值,也必须是整型的。
另外,对于大规模的连续数值,比如if(a>=1 && a<=100) 这样的语句,要用switch则需要连续写100个case,这种情况下,switch语句也是不适用的。
总体来说,对于散列的整型数据,用switch语句更清晰明确,而对于其它情况,if语句则更好。
热心网友
时间:2022-04-23 22:14
if 直接是选择的意思
如果(),执行()
否则,()
永远是否则后面没有条件,而且if 和 else 成对出现
switch 可以是多项选择且直接跳转
switch a : A
b : B
c : C
等等
这两个差很多~
你可以再仔细看看书
能用到SWITCH 语句的话,用IF 就很繁琐
但是简单的选择用IF 比较好了
热心网友
时间:2022-04-23 23:48
if和switch都是多分支语句。基本上的通用的,看条件的多少来判断选用哪一种。
热心网友
时间:2022-04-24 01:40
未必
switch里面,必须是单个变量,而不能是表达式
准确来说,if的应用比switch广泛,可以用switch的,都可以用if,但反之,不行
热心网友
时间:2022-04-24 03:48
switch与if有一点明显的区别就是
if(这里是条件判断语句,包括==,>=,<=,<,>..)
switch(xx)
{
case YY: //这里就必须满足 "=="条件 才可以 即xx==YY才执行接下来的语句,case表达式后面必须接常量
break;
}
你可以看情况选择是否选择if还是switch
热心网友
时间:2022-04-24 06:12
if...else..成对的处理双分支结构的问题很方便,switch处理多分支,互相转化没问题的。。。
热心网友
时间:2022-04-24 08:54
可以完全等效的用2种语法改写,只是不同的情况下,用不同的语法更简洁易读而已