零基础C语言学习笔记
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

5.6 if...else语句和switch语句的区别

img

if...else语句和switch语句都可以检验条件的不同情况,并且根据不同的情况执行不同的语句,二者的流程图分别如图5.9和图5.10所示。

img

图5.9 if...else语句的流程图

img

图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语句。