if 语句是通过判断给定的条件是否为真,来决定是否执行指定的代码,if 语句常用的形
式有 3 种。
- if 语句的第一种形式
if(表达式) 语句
或
if(表达式)
{
语句块
}
(1) 表达式一般是比较表达式、或逻辑表达式。
(2) 语句可以是单行语句,也可以是复合语句(语句块)。
如果表达式运算结果为真(非 0 为真),则执行 if 后面的语句,如果为假(0 为假)直接跳过
该语句(语句块)。
if 语句应用
#include<stdio.h>
int main()
{
int age=8;
if(age>18)
{
printf("年龄大于 18\n");
}
printf("执行结束\n");
getchar();
return 0;
}
然后把 age 改成 28,再执行看运行结果。
什么地方写分号,什么地方不写:独立的代码结构后面写分号。
当 if 语句后面指定的语句只有一行时,花括号{ }可以省略不写,例如:
#include<stdio.h>
int main()
{
int age=8;
if(age>18)
printf("年龄大于 18\n");
printf("执行结束\n");
getchar();
return 0;
}
不过为了使程序更加清晰、避免出错,建议读者无论 if 语句后面指定的语句有多少行,
都加上花括号{ }。
- if 语句的第二种形式
if(表达式)
{
语句 1
}//这里不要写分号,因为不是一个独立的代码结构
else
{
语句 2
}
该语句的执行过程为:如果表达式结果为真(非 0),执行 if 后面{ }中的语句 1。如果为假
(0),则执行 else 后面{ }中的语句 2。也就是说 if 与 else 后面的语句只能有一个被执行。
#include<stdio.h>
int main()
{
int age=10;
if(age>18)
{
printf("成年人\n");
}
else
{
printf("未成年人");
}
getchar();
return 0;
}
- if 语句的第三种形式
if(表达式 1)
{
语句 1;
}
else if(表达式 2)
{
语句 2;
}
……
else if(表达式 m)
{
语句 m;
}
else
{
语句 n;
}
这种形式的 if 语句也被称为 if…else if…esle 语句,该语句的执行过程为:依次判断表达
式的值,当其中一个表达式结果为真(非 0),执行其后面对应的语句,然后直接跳出整个 if
语句。如果所有的表达式都是假,则执行 else 后面的语句,然后跳出整个 if 语句。
#include<stdio.h>
int main(void)
{
int age=16;
if(age<0)
{
printf("年龄不正确\n");
}
else if(age<6)
{
printf("%s\n","小婴儿");
}
else if(age<18)
{
printf("%s\n","小鲜肉");
}
else if(age<50)
{
printf("%s\n","大叔");
}
else
{
printf("%s\n","老爷爷");
}
getchar();
return 0;
}
else 也可以省略,那么就是如果上面的每个 if 都不匹配,就什么都不做。
思考,下面程序的执行结果是什么?
int age=20;
if(age>5)
{
printf("a\n");
}
else if(age>10)
{
printf("b\n");
}