![零基础C语言学习笔记](https://wfqqreader-1252317822.image.myqcloud.com/cover/191/36710191/b_36710191.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
5.6 if...else语句和switch语句的区别
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt006_34.jpg?sign=1738819353-EAnclxj44Q5ivHfWgl73rfcMq1veGbkh-0-de3f1757029e4c786b663092769a9a76)
if...else语句和switch语句都可以检验条件的不同情况,并且根据不同的情况执行不同的语句,二者的流程图分别如图5.9和图5.10所示。
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt006_35.jpg?sign=1738819353-WOH8zYJnOSsvBXx1XC3H9ULEi1sPjZ7O-0-b9c84102c405983f2f52021e6d93659b)
图5.9 if...else语句的流程图
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt006_36.jpg?sign=1738819353-ApYytCvSbSf7Lhf8KudS5SqQ98CkZVde-0-f5247789b9c0f9ca4967b9f1e62a961f)
图5.10 switch语句的流程图
下面通过比较if...else语句和switch语句的语法和效率讲解二者的区别。
1.语法的比较
if语句是配合else语句使用的,而switch语句是配合case语句使用的;if语句先对条件进行判断,而switch语句后对条件进行判断。
2.效率的比较
使用if...else语句可以判断表达式,但是不容易进行后续的添加扩展操作。
switch语句对每条case语句的检验速度都是相同的。
当判定的情况占少数时,if...else语句比switch语句的检验速度快、效率高。也就是说,如果分支不多于4个,则使用if...else语句,否则使用switch语句。