if语句:也可称条件语句,是根据所给定条件的值是真还是假决定执行不同的分支。
if语句有单分支、双分支、多分支以及if语句的嵌套等多种形式。
单分支if语句:
if (条件表达式)
{
语句组1;
}
例1:
if (a)
{
...
}
当条件表达式的值为“真”时,执行语句组;当值为“假”时,跳过语句,直接执行if语句后面的其他语句。
注意:
(1)if后面的“表达式”,除了可以是关系表达式或逻辑表达式外,也可以是其他类型的数据,如普通的整型、实型、字符型的常量或变量,但这些数据都看作逻辑值。如例1中,如果a不为0,执行语句。否则执行if语句后面的语句。
(2)if语句中的“表达式”必须用“(”和“)”括起来。
(3)当if下面的语句组只有一条语句时,可以不适用复合语句的形式,即花括号去掉,但多条语句必须使用复合语句形式。
双分支if语句:
if (条件表达式)
{
语句组1;
}
else
{
语句组2;
}
双分支if语句的执行过程
当条件表达式的值为“真”时,执行语句组1;当条件表达式的值为“假”时,执行语句组2;两组语句只能执行其中一个,执行完毕后,执行if语句后面的语句。
注意:
在双分支if结构中,else子句是if语句的一部分,必须与if配对使用,不能单独使用。
多分支选择结构:
一般用于某一事件可能出现的多种情况的处理。通常表现为“如果满足某种条件,就进行某种处理,否则判断是否满足另一种条件,执行另一种处理等”。
if (表达式1)
{
语句组1;
}
else if (表达式2)
{
语句组2;
}
else if (表达式3)
{
语句组3;
}
...
else
{
语句组n;
}
多分支if语句的执行过程:
if语句的嵌套:
如果在if语句中又包含一个或多个if语句,则称为if语句的嵌套。
格式1:
if (表达式1)
{
if (表达式2)
{
语句组1;
}
else
{
语句组2;
}
}
else
{
语句组3;
}
格式2:
if (表达式1)
{
语句组1;
}
else
{
if (表达式2)
{
语句组2;
}
else
{
语句组3;
}
}
注意:
- C语言规定,在if语句的嵌套结构中,else子句总是和在它上面、据它最近、且尚未匹配的if配对。
- 内嵌的if语句,一律用花括号括起来。
- 书写时,可以采用缩进形式以清楚地表达层次关系。
- if语句中嵌套层数不宜太多(2~3层)。