if else 在c语言中0为假,⾮0表⽰真,也就是表达式的结果如果是0,则语句不执⾏,表达式的结果如果是不是0,则语句执⾏。
下面展示一些 内联代码片
。
一、认识if 和 else 基本操作
int main()
{
int age = 0;
scanf("%d", &age);
if (age >= 18) //判断:如果的意思为真就执行if大括号里面,if后面只能有一条判断语句语句
{
printf("已经成年");
}
else //判断:为假后的运行,else后面不能跟判断语句
{
printf("未成年");
}
return 0;
}
二、使用if else 进行多重判断
在if else 中 else 可以与另一个if 语句连用,构成多重判断
如下代码: 判断输出的是正数,还是负数
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if(num == 0)
printf("输⼊的数字是0\n");//默认if else 后面只能跟一条语句 如果需要多条语句需要加入大括号
else if(num > 0) //这⾥的if 相当于嵌套在els语句中,形成了嵌套结构
printf("输⼊的数字是正数\n");
else
printf("输⼊的数字是负数\n");
return 0;
}
三、悬空 else 问题
int main()
{
int a = 0; // if else 中 else会和最近的if 匹配 所以最后这段代码什么都不输出
int b = 2;
if (a == 1) //a=0,所以这句if 为假,他并没有配套的else语句所以什么都不输出
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
四、有无大括号的差别
if else 有大括号的情况:代码会比较整洁,更加容易让自己看懂。
#include <stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age < 18)
{
printf("少年\n");
printf("还很年轻\n");
}
else
{
if (age <= 44)
{
printf("青年\n");
printf("还很强壮\n");
}
else
{
if (age <= 59)
{
printf("中老年\n");
printf("上了年纪\n");
}
else
{
if (age <= 90) {
printf("老年\n");
printf("年纪较大\n");
}
else {
printf("老寿星\n");
printf("寿比南山\n");
}
}
}
}
return 0;
}
无大括号:容易让自己混淆if else的匹配
int main()
{
int num = 0;
scanf("%d", &num);
if (num == 0)
printf("输⼊的数字是0\n");
else if (num > 0)
printf("输⼊的数字是正数\n");
else
printf("输⼊的数字是负数\n");
return 0;
}