C语言中switch和if的适用方面有什么区别
展开全部
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语句则更好。
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语句则更好。
展开全部
switch语句只能根据一个变量的值进行转移,但if语句没有这样的限制。当然,判断一个条件比判断一堆条件速度要快的多。 个人觉得生成的汇编的代码,switch生成的是一系列的条件判断和转移指令,但if语句没有这样做
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看情况。 if判断条件,处理逻辑表达式。 switch 通常处理算术表达式,或字符,当它等于什么什么,转向做什么。switch相当开关 如果“比较整数”,i1 是否大于 i2, 当然用if 如果决定转向,例如 i=1 画直线,i=2 画曲线,i=3 画圆,i=4 画虚线直线, i=5 画虚线曲线, i=6 画长方形 i=其他值 返回重选 这当然用switch,switch 执行快 from:http://wenwen.soso.com/z/q80249792.htm?ch=w.xg.llyjj
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if 用于单一的是非条件判断 if else 用于两种情况的条件判断 switch: case 用于多种情况的条件判断,这些情况是并列关系。 多个if连用 用于连环条件判断,这些条件是串联关系。前一个if的成立,是后一个if进行判断的必须条件。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
if()可以判断一个范围, switch可以判断更确切, 当然if也可单个来控制, if要比switch强..也更常用.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询