if...else和elseif在结构上的区别:
if (条件句)+ 执行语句1
else + 执行语句2
如果条件句成立,则执行语句1。如果不成立,则执行语句2;
if (条件句1)+ 执行语句1
elseif (条件句2)+ 执行语句2
......
elseif(条件句n-1)+ 执行语句n-1
else + 执行语句n
end
如果条件句1成立,则执行语句1,如果条件句1不成立,然后条件句2成立,则执行语句2,如果所有条件都不成立,则执行执行语句n。
这两个语句是可以互换的,一般看哪种方便就用哪种,例如
if(a<b) a=1+1
if(a<c) b=1+1 else c=1+1
else c=1+1
相当于
if(a<b) a= 1+1
elseif(a<c) b=1+1
else c=1+1
扩展资料:
switch-case和if-elseif都具有提供多路分支的能力,很多情况下都可以替换着使用。
但其实他们的实现机制是不一样的
对于有多个判断条件的if语句,程序在执行时从第一个条件开始进行判断,如果测试条件为真,则执行相应的语句;如果不为真,则继续判断下一个条件。最快的情况下,需要到最后一个分之才能执行完成。对于分之较多的情况,效率尤其低下。
但是,switch语句得益于跳转表(jump table)的实现,可以根据测试条件直接跳转到相应的分支语句上去,不需要逐个对条件进行判断,在case数目很多的情况下也不会降低执行效率。
C语言中if,elseif和else的主要区别是用法的区别。
if语句用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。如果后面没有连接else则判断为假时不执行任何操作。
else if是镶嵌在if语句里的,如果一个程序需要2个或以上的if语句时,则使用else if语句,表示条件判断为假时,再次进行条件判断。
else必须使用在if语句里,如果没有if,就不能使用else。
扩展资料
if语句和else if语句的结构
1、if
if(express)语句1
else 语句2
当express为真时,执行语句1,假时执行语句2,只能是一个语句,那么如果要使用多个语句,必须使用{}表示语句块
2、else if
if(express1)语句1
else if(express2) 语句2
else 语句3
因为一个if结构可以称为一个复合语句,所以,在这个嵌套if中,第二个if为一个语句,前者是第二个if为第一个if的else分支的语句,而后者为平行的两个if分支复合语句。
参考资料来源:
本回答被网友采纳