一、If-else语句的认知
前面我们看到的代码都是顺序执行的,也就是先执行第一条语句,然后是第二条、第三条……一直到最后一条语句,这称为顺序结构。但是对于很多情况,顺序结构的代码是远远不够的,比如一个程序限制了只能成年人使用,儿童因为年龄不够,没有权限使用。这时候程序就需要做出判断,看用户是否是成年人,并给出提示。
在C语言中,使用if和else关键字对条件进行判断。
二、If-else语句的执行流程
if(判断条件)
{
语句块1
}
else
{
语句块2
}
if意为“如果”,else意为“否则”,即如果满足判断条件这执行语句块1,如果不满足判断条件这执行语句块2,所谓语句块(Statement Block),就是由{ }包围的一个或多个语句的集合。如果语句块中只有一个语句,也可以省略{ }。
例如:
#include <stdio.h>
int main(void)
{
int age;
printf("请输入你的年龄:");
scanf("%d", &age);
if(age >= 18)
{
printf("恭喜,你已经成年,可以使用该软件!");
}
else
{
printf("你还未成年,不宜使用该软件!");
}
return 0;
}
结果:
请输入你的年龄:23
恭喜,你已经成年,可以使用该软件!
请输入你的年龄:16
抱歉,你还未成年,不宜使用该软件!
三、只使用if语句
如果我们只需要满足一个条件就执行下一语句,不满足不需要执行任何操作的话,那么我们就可以使用单独使用if语句。
if(判断条件)
{
语句块
}
如条件满足判断条件则,执行语句块,如果不满足则直接跳过。
四、多个if-else语句
有些时候需要判定的情况更多,比如判断是否满18岁,不满足是否满16岁。这种情况下我们就可以用到多个if-else语句嵌套。
if(判断条件1)
{
语句块1
}
else if(判断条件2)
{
语句块2
}
else if(判断条件3)
{
语句块3
}
else if(判断条件m)
{
语句块m
}
else
{
语句块n
}
从上到下依次检测判断条件,当某个判断条件成立时,则执行其对应的语句块,然后跳到整个 if else 语句之外继续执行其他代码。如果所有判断条件都不成立,则执行语句块n,然后继续执行后续代码。
在使用 if 语句时还应注意以下两点:
在 if 语句中,判断条件必须用括号括起来。
语句块由{ }包围,但要注意的是在}之后不需要再加分号;(当然加上也没错, 基本是不会加)。
五、if语句的嵌套
有些时候仅判断一次是不够的,比如判断玩家是否18岁,判断玩家是否为男性,这时候就需要用到多个if-else语句嵌套了。
if(判断条件1)
{
if(判断条件2)
{
语句块1
}
else
{
语句块2
}
}
else
{
语句块3
}
满足判断条件1并且同时满足判断条件2则执行语句块1,满足判断条件1不满足判断条件2则执行语句块2,不满足判断条件1则执行语句块3。
六、多个if
if(判断条件1)
{
语句块1
}
if(判断条件2)
{
语句块2
}
if(判断条件3)
{
语句块3
}
多个if时,只要if条件为真,则会执行{}代码块。
也就是说 满足条件1执行语句1,满足条件2执行语句2,满足条件3执行条件3。