C语言else if条件判断

C语言else if条件判断教程

C 语言 中,关键字 if 是用于测试某个条件语句是否满足一定的条件,如果满足特定的条件,则会执行 if 后缩进的代码块,否则就忽略该代码块继续执行后续的代码。

else if 关键字 用于在 if 语句条件不满足的情况下,继续执行 else if 里面的逻辑判断,如果满足条件则执行 else if 缩进里面的逻辑。

else if 语句只能写在 if 语句的同级代码的后面,且 else if 语句可以写任意多个。

C语言else if语句详解

语法

if (condition) { // do something } else if (condition1) { // do something1 } else if (condition2) { // do something2 }

参数

参数 描述
if if 条件判断使用的关键字
condition 条件判断语句,必须返回真或者假
else if else if 条件判断使用的关键字
condition1 条件判断语句,必须返回真或者假,如果 condition 不满足,才会判断 condition1
condition2 条件判断语句,必须返回真或者假,如果 condition 和 condition1 都不满足,才会判断 condition2

说明

C 语言中的 else if 语句后面的条件判断表达式只有在 if 条件不满足的情况下,才会测试 else if 的条件。

这里,如果 if 的条件 condition 为假,此时会继续测试 else if 的条件判断 condition1,如果此时 condition1 为真,那么下面的 condition2 就不会再继续判断。

否则,继续判断 condition2 的条件,如果满足,则执行,否则,什么都不执行。

案例

if语句条件为真

如果 if 语句条件为真,则不会执行 else if 相对应的代码

#include <stdio.h> int main() { printf("嗨客网(www.haicoder.net)\n"); int a = 10, b = 5; if (a > 8) { printf("%s\n", "a > 8"); } else if (a > b) { printf("%s\n", "a > b"); } printf("%s\n", "Over"); return 0; }

程序运行后,控制台输出如下:

03_C语言else if.png

首先,我们定义了两个 变量 a 和 b,并分别赋值为 10 和 5。接着,我们使用 if 语句判断 a > 8 的条件,如果条件满足,则执行缩进里面的输出语句。

同时,我们还使用 else if 语句,判断 a > b 的条件时否满足,如果 if 语句不满足,else if 语句满足,则才会执行 else if 语句里面的逻辑。

最后,我们的程序输出了 "a > 8""Over" ,因为在第一个判断时 a > 8 的条件是成立的,所以会执行 if 缩进里面的输出语句,此时,虽然 else if 语句里面的逻辑也是成立的,但因为 if 语句已经成立了,if 语句与 else if 语句是互斥的执行,所以 else if 里面的语句未能执行。最后一个输出语句不管条件满足不满足则都会执行。

if语句条件为假

如果 if 语句条件为假,else if 为真,此时会执行 else if 相对应的代码

#include <stdio.h> int main() { printf("嗨客网(www.haicoder.net)\n"); int a = 10, b = 5; if (a > 20) { printf("%s\n", "a > 20"); } else if (a > b) { printf("%s\n", "a > b"); } printf("%s\n", "Over"); return 0; }

程序运行后,控制台输出如下:

04_C语言else if.png

首先,我们定义了两个变量 a 和 b,并分别赋值为 10 和 5。接着,我们使用 if 语句判断 a > 20 的条件,如果条件满足,则执行缩进里面的输出语句。

同时,我们还使用 else if 语句,判断 a > b 的条件时否满足,如果 if 语句不满足,else if 语句满足,则才会执行 else if 语句里面的逻辑。

最后,我们的程序输出了 "a > b""Over" ,因为在第一个判断时 a > 20 的条件是不成立的,所以不会执行 if 大括号里面的输出语句,此时,else if 语句里面的逻辑是成立的,而且前面的 if 语句不成立了,所以 else if 里面的语句能成功执行。最后一个输出语句不管条件满足不满足则都会执行。

多个 else if 语句

多个 else if 语句,会被依次判断,直到满足的第一个执行

#include <stdio.h> int main() { printf("嗨客网(www.haicoder.net)\n"); int a = 10, b = 5; if (a > 20) { printf("%s\n", "a > 20"); } else if (a > 15) { printf("%s\n", "a > 15"); } else if (a > 10) { printf("%s\n", "a > 10"); } else if (a > b) { printf("%s\n", "a > b"); } printf("%s\n", "Over"); return 0; }

程序运行后,控制台输出如下:

05_C语言else if.png

首先,我们定义了两个变量 a 和 b,并分别赋值为 10 和 5。接着,我们使用 if 语句判断 a > 20 的条件,如果条件满足,则执行缩进里面的输出语句。

同时,我们还使用 else if 语句,判断 a > 15 的条件时否满足,判断 a > 10 的条件是否满足,判断 a > b 的条件是否满足,如果满足任意一个,则会执行相对应的代码。

最后,我们的程序输出了 "a > b""Over" ,因为在第一个判断时 a > 20 的条件是不成立的,所以不会执行 if 缩进里面的输出语句,此时,最后一个 else if 语句里面的逻辑是成立的,而前面所有的 else if 语句都不成立,所以最后一个 else if 里面的语句被执行。最后一个输出语句不管条件满足不满足则都会执行。

C语言else if条件判断总结

else if 关键字用于在 if 语句条件不满足的情况下,继续执行 else if 里面的逻辑判断,如果满足条件则执行 else if 缩进里面的逻辑。

else if 语句只能写在 if 语句的同级代码的后面,且 else if 语句可以写任意多个。C 语言 else if 语句语法:

if (condition) { // do something } else if (condition1) { // do something1 } else if (condition2) { // do something2 }