C语言中if 和switch 区别

还有能用if的语句都能用switch么?... 还有 能用if的语句都能用switch么? 展开
 我来答
风若远去何人留
2018-01-04 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450108
专业C/C++软件开发

向TA提问 私信TA
展开全部
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语句则更好。
Camelia03
推荐于2016-03-24
知道答主
回答量:21
采纳率:0%
帮助的人:13.3万
展开全部
if 直接是选择的意思
如果(),执行()
否则,()
永远是否则后面没有条件,而且if 和 else 成对出现
switch 可以是多项选择且直接跳转
switch a : A
b : B
c : C
等等
这两个差很多~
你可以再仔细看看书
能用到SWITCH 语句的话,用IF 就很繁琐
但是简单的选择用IF 比较好了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
予恋寻十1K
2010-07-30 · TA获得超过941个赞
知道小有建树答主
回答量:977
采纳率:50%
帮助的人:846万
展开全部
if和switch都是多分支语句。基本上的通用的,看条件的多少来判断选用哪一种。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lbjfeng
2010-07-30 · TA获得超过184个赞
知道答主
回答量:107
采纳率:0%
帮助的人:42.8万
展开全部
未必
switch里面,必须是单个变量,而不能是表达式

准确来说,if的应用比switch广泛,可以用switch的,都可以用if,但反之,不行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
公羊乃2P
2010-07-30 · TA获得超过297个赞
知道小有建树答主
回答量:230
采纳率:0%
帮助的人:248万
展开全部
switch与if有一点明显的区别就是

if(这里是条件判断语句,包括==,>=,<=,<,>..)

switch(xx)
{
case YY: //这里就必须满足 "=="条件 才可以 即xx==YY才执行接下来的语句,case表达式后面必须接常量
break;
}

你可以看情况选择是否选择if还是switch
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式