C 知识量:16 - 74 - 317
if语句被称为分支语句或选择语句,因为它相当于一个交叉点,程序要在两条分支中选择一条执行。if语句的通用形式如下:
if (expression) statement
如果对expression求值为真(非0),则执行statement,否则跳过statement。statement可以是一条简单语句或复合语句。
if语句的结构和while语句很相似,它们的主要区别是:如果满足条件可执行的话,if语句只能测试和执行一次,而while语句可以测试和执行多次。
示例:
#include <stdio.h> int main(void) { int x = 1; if (x > 0) { printf("x is bigger than 0."); } system("pause"); return 0; }
注意:即使if语句由复合语句构成,整个if语句仍被视为一条语句。
if else语句可以在两条语句之间作选择,通常用于不是这样就是那样的情况。其通用形式为:
if (expression) statement1 else statement2
如果expression为真(非0),则执行statement1;如果expression为假或0,则执行else后面的statement2。其中,statement1和statement2可以是简单语句或复合语句。
示例:
#include <stdio.h> int main(void) { int x = -1; if (x > 0) { printf("x is bigger than 0."); } else { printf("x is smaller than 0."); } system("pause"); return 0; }
运行结果为:
x is smaller than 0.
对于多种选择可能的情况可以使用多个else if语句,例如:
#include <stdio.h> int main(void) { int x = 9; if (x < 0) { printf("x<0"); } else if (x > 10) { printf("x>10"); } else { printf("x is between 0 and 10."); } system("pause"); return 0; }
运行结果为:
x is between 0 and 10.
以上代码中,使用了if、else if和else语句,增加了可选择的路径。
当程序中存在许多if和else时,else与if的配对是非常关键的,决定了程序选择执行哪个分支。具体配对规则是:如果没有花括号,else总是与离它最近的if匹配,除非最近的if被花括号括起来。例如:
#include <stdio.h> int main(void) { int x = 11; if (x > 0) { printf("x>0"); if (x < 10) { printf("x is between 0 and 10"); } } else { printf("x<=0"); } system("pause"); return 0; }
以上代码运行后,只会显示x>0。最后1个else与第1个if匹配,中间的if被花括号括起来了,成为了第1个if语句的一部分。
上一个示例就是一个嵌套if语句的例子。有时,选择一个特定选项后又引出其他选择,这种情况就可以使用多层嵌套的if语句。示例:
#include <stdio.h> int main(void) { int x = 0; if (x >= 0) { if (x > 0) { printf("x>0"); } else { printf("x=0"); } } else { printf("x<0"); } system("pause"); return 0; }
运行结果为:
x=0
可以向if语句中嵌套无数个if语句,但是这会显著增加程序的复杂性,因此不推荐嵌套太多。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6