if语句就是根据给定的条件成立与否选择要执行的语句。
if语句的省略格式:
if(表达式) 语句;
其执行的过程为,先计算“表达式”的值,如果表达式为真(非0),则执行其后的if子句,若值为假,不执行该子句,直接执行if语句后面后续语句。例如,
if(x>y) x=x-3;
y=y*3;
若x>y,则先执行x=x-3,再执行,y=y3,否则直接执行,y=y3,
if —else 的一般格式,
if(表达式) 语句1;
else 语句2;
if —else的执行过程与if省略格式相同,这里就不细讲了。
if —else if —else语句格式
if(表达式1)
语句1;
eise if(表达式2)
语句2;
eise if(表达式3)
语句3;
.....
eise if(表达式n-1)
语句n-1;
eise 语句n;
其执行过程为,首先执行表达式1,若表达式1为真,则执行语句1,并结束整个if语句的执行;否则求解表达式2,若表达式2为真(在表达式1为假的情况下),则执行语句2,并结束整个if语句的执行…若前n-1个表达式均为假,则执行语句n
注意,if后面的表达式通常是逻辑表达式或关系表达式,也可以是其他表达式,如赋值表达式等,甚至可以是一个变量。
if(x=5) 语句;
if(x=y) 语句;
if(y) 语句;
都是合法的,只要表达式为真就执行语句,上面两个表达式永远为真,因此,总会执行其后的语句,
*else 子句不能作为语句单独使用,它必须是if语句的一部分,与if语句配对使用,else总是和它前面最近的,尚未配对的if配对。if和else的配对关系与他们的对齐方式(缩进格式)无关,缩进只是为了便于阅读 *
在if语句的三种格式中,所有的语句应为单条语句,如果当满足条件是要执行一组(多条)语句,则必须把这一组语句用“{}”括起来,使其成为一个复合语句,但,在“}”
后面不能再加分号,
例如,
if(a>b)
{a++;
b++;
}
else
{a=2;
b=45;
}
if语句的嵌套
若有n种情况,则需要n-1个if语句嵌套。
常见的嵌套有以下四种,
⑴
if (表达式1) //若满足表达式1,则执行下面的if,否则结束整个if语句
if(表达式2) 语句1;
else 语句2;//切记,else总是和它前面最近的,尚未配对的if配对。
return 0;
⑵
if (表达式1)
if(表达式2) 语句1;
else 语句2;
else 语句3;//这个else与第一个if配对
⑶
if (表达式1)
if(表达式2) 语句1;
else 语句2;
else if (表达式3) 语句3;//这个else与第一个if配对
else 语句4;
⑷
if (表达式1) 语句1;
else if(表达式2) 语句2;
else 语句3;//切记,else总是和它前面最近的,尚未配对的if配对
注,如果非要某个else和if结合,可以加花括号来明确配对关系,
例如:
if (表达式1)
{
if (表达式2) 语句1;
}
else 语句2;//这个else与第一个if配对
参考文献:《C/C++程序设计 第二版 》 主编:宋晓宇