switch语句优点(switch语句总结)
简述c语言中switch语录的特点
switch语句属于选择语句,其表达形式就像一个选择结构,大体的格式如下:
switch(表达式){//short、int、char
case 取值1:
执行语句1;
break;
case 取值2:
执行语句2;
break;
... ...
default:
默认执行语句;
break;
}
语法结构解读:
1、其中的“表达式”的结果以及case后的“取值”只能是3种类型:short、int和char;
2、两种结束switch语句的情况
1)遇到break,直接跳出选择;
2)执行到switch语句结束;
3、default语句不论放在哪个地方,它都是在没有匹配的情况下才会去执行,也就是说case无论在什么情况下都会比default先执行;
4、程序会按照顺序执行case的匹配,如果匹配的case语句或者default语句后没有对应的break来终止,那么程序还会继续向下执行匹配,执行匹配到的表达式,直到遇到brak或switch语句结束。
5、如果所有的case都没有匹配,则执行default里面默认的表达式
Switch语句比起ifelse语句有哪些优势?
在大多数情况下,switch的性能不会比ifelse低。
在某些特定情况下,编译器能对switch进行优化。比如说:
1.不按顺序比较,而是构造一个二分查找树(binarydecisiontree),这样子比较的平均次数就会下降。
2.可以做个跳转表(jumptable)这样子就不许要任何比较了。
switch语句的优点是什么
选择语句:
通常搭配是switch和case
有点:少量选择比较快捷
缺点:大量的选择语句时候比较繁琐!OK
Switch 语句比if语句有什么好处
这样说吧switch语句是为了简化if的流程分支,简化一部分代码。但是既然是简化部分,功能就会稍微有点欠缺。举个例子:
int i=9;
if(8==i)
cout"zhao"endl;
else if(7==i)
cout"qian"endl;
else if(4==i)
cout"sun"endl;
else if(1==i)
cout"li"endl;
else if(0==i)
cout"zhou"endl;
else if(19==i)
cout"wu"endl;
对于:
int i=9;
switch(i)
{
case 8:
cout"zhao"endl;
break;
case 7:
cout"qian"endl;
break;
case: 4
cout"sun"endl;
break;
case 1:
cout"li"endl;
break;
case 0:
cout"zhou"endl;
break;
case 19:
cout"wu"endl;
break;
}
switch中的i的定义相对来说比较有限,i的类型只能是基本类型:int char等
但是if就没有那么多限制。
权衡利弊,往往需要自己斟酌使用。利弊相依。
呵呵