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:在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以C语言来说,switch(开关语句)常和case break default一起使用。在C#中,switch语句的控制表达式只能是某个整形(int,char,long等)或string。其他任何类型(包括float和double类型)只能用if语句。
if语句:是指编程语言(包括c语言,C#,VB,java,汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。if语句是指编程语言(包括c语言,C#,VB,java,汇编语言等)中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
switch语句只能根据一个变量的值进行转移,但if语句没有这样的限制。当然,判断一个条件比判断一堆条件速度要快的多。
个人觉得生成的汇编的代码,switch生成的是一系列的条件判断和转移指令,但if语句没有这样做
个人觉得生成的汇编的代码,switch生成的是一系列的条件判断和转移指令,但if语句没有这样做
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询