if(表达式)
{语句组1}
[else
{语句组2} ]
(1)if语句中的“表达式”必须用“(”和“)”括起来.
(2)else子句(可选)是if语句的一部分,必须与if配对使用,不能单独使用.
(3)当if和else下面的语句组,仅由一条语句构成时,也可不使用复合语句形式(即去掉花括号).
2.if语句的执行过程
(1)缺省else子句时
当“表达式”的值不等于0(即判定为“逻辑真”)时,则执行语句组1,否则直接转向执行下一条.
(2)指定else子句时
当“表达式”的值不等于0(即判定为“逻辑真”)时,则执行语句组1,然后转向下一条语句;否则,执行语句组2.如图4-1(b)所示.
3.if语句的嵌套与嵌套匹配原则
if语句允许嵌套.所谓if语句的嵌套是指,在“语句组1”或(和)“语句组2”中,又包含有if语句的情况.
if语句嵌套时,else子句与if的匹配原则:与在它上面、距它最近、且尚未匹配的if配对.
为明确匹配关系,避免匹配错误,强烈建议:将内嵌的if语句,一律用花括号括起来.
c语言提供了三种形式的if语句用法:
1、if(表达式)语句。
例如:if(x>y)printf("%d",x)。
此时,如果表达式为真,则执行printf语句。
2、if(表达式)语句1 else 语句2。
例如:
if(x>y)printf("%d",x)。
else printf("%d",y)。
此时,如果x>y成立为真,则执行语句printf("%d",x),然后直接跳过else,同时也跳过语句printf("%d",y),去执行之后的语句。
如果x>y不成立为假,则不执行语句printf("%d",x),执行语句printf("%d",x)。
3、if(表达式1)语句1。
else if(表达式2)语句2。
else if(表达式3)语句3。
else if(表达式m)语句m。
else 语句 n。
此时,哪个表达式为真,则运行哪个if后面的语句。如表达式3成立为真,执行语句3。
在每个语句中,可以有多个语句,但需要加上大括号。
例:if(x>y){printf("%d",x)break}。
if语句的语法:
if(booleanExpression)。
statement-1。
else。
statement-2。
如果booleanExpression(布尔表达式)求值为true,就运行statement-1否则运行statement-2。else关键字和后续的statement-2是可选的。
如果没有else子句,而且booleanExpression求值为false,那么什么也不会发生,程序继续执行if语句之后的代码。注意,布尔表达式必须放在圆括号中,否则无法编译。