![零基础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=1739194825-xWgy8IWG6chAA5CKhBueUROY5KlSlRmd-0-7050e1e85a66757bf96dff0c9f4864aa)
if...else语句和switch语句都可以检验条件的不同情况,并且根据不同的情况执行不同的语句,二者的流程图分别如图5.9和图5.10所示。
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt006_35.jpg?sign=1739194825-fnqccKGwWVXa6buUQds8p7ve3mJgzBCW-0-2ed491d8ffe58be137dc5b698de6954e)
图5.9 if...else语句的流程图
![img](https://epubservercos.yuewen.com/9B6764/19471983208811106/epubprivate/OEBPS/Images/txt006_36.jpg?sign=1739194825-cuOjeHexVYQO8sORIBImoEnjue0cW7Z2-0-10d903dbc72956d78985614ccce9e4db)
图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语句。