c 语言里的 if else 语句是最基础的分支选择语句,作用是根据条件表达式的真假,选择执行对应的代码块,条件成立也就是表达式结果非零,就执行 if 后面代码,条件不成立也就是结果为 0,就执行 else 后面代码,属于期末考试读程序题和编程题必考内容。if else 支持单分支 if,双分支 if else,还有多分支 if else if 链式结构,同时可以嵌套使用,考试高频考点就是 else 就近匹配规则,else 永远和它上面最近的、还没有配对的 if 进行配对,很多同学就是在这里踩坑,写代码的时候大括号一定要规范,不加花括号的时候,if else 默认只控制紧跟的第一条语句,理解这个执行逻辑之后,就可以实现判断成绩等级 判断正负 奇偶判断这类经典编程题。
三种基础写法
第一种 单分支 if
只有 if,没有 else,条件成立执行代码,条件不成立就跳过,继续执行后面程序
语法
if (条件表达式)
{
语句;
}
第二种 双分支 if else
条件成立执行 if 内部语句,条件不成立执行 else 内部语句,二选一执行
语法
if (条件表达式)
{
语句 1;
}
else
{
语句 2;
}
第三种 多分支 if else if 链式
依次判断多个条件,只要有一个条件满足,执行对应代码之后,整个分支结构直接结束,后面所有判断不再执行
语法
if (条件 1)
{
语句 1;
}
else if (条件 2)
{
语句 2;
}
else
{
所有条件都不满足执行这里;
}
核心规则要点
1 括号里面条件表达式,只要值不等于 0 就代表真,等于 0 代表假,可以写关系表达式 逻辑表达式,也可以直接写数字变量
2 如果不加大括号,if else 只管辖紧跟它的第一条语句,多条语句必须加大括号组成复合语句
3 else 不能单独写,必须和 if 配对
4 else 就近匹配原则,else 匹配最近未配对 if,这个是读代码题重点考点
5 条件判断相等的时候,一定要写双等号 ==,不要写成赋值号 =,这是最常见低级错误
代码示例
双分支 判断奇偶
include
int main ()
{
int n;
scanf ("% d",&n);
if (n % 2 == 0)
{
printf ("偶数");
}
else
{
printf ("奇数");
}
return 0;
}
多分支 成绩等级判断
include
int main ()
{
int score;
scanf ("% d",&score);
if (score >= 90)
{
printf ("优秀");
}
else if (score >= 80)
{
printf ("良好");
}
else if (score >= 60)
{
printf ("及格");
}
else
{
printf ("不及格");
}
return 0;
}
嵌套 if else
if 内部还可以继续写 if else,也就是嵌套分支,适合多层判断,但是嵌套层数太多代码可读性会变差,考试经常出嵌套 if else 的读程序题,重点还是判断 else 到底配对哪一个 if。
对比表格
| 结构 | 执行特点 | 适用场景 |
|---|---|---|
| 单分支 if | 满足才执行,不满足直接跳过 | 只需要一种情况处理 |
| if else | 二选一,两种情况必执行其中一组 | 奇偶 判断正负 |
| if else if | 多条件依次判断,命中即停止 | 成绩等级 分段判断 |
常见易错点汇总
| 错误类型 | 错误描述 | 修正方式 |
|---|---|---|
| == 写成 = | 把判断相等写成赋值,条件永远为真 | 判断相等必须使用双等号 |
| 忘记大括号 | 多条语句只执行第一条 | 多条语句一定要加 {} |
| else 单独使用 | 单独写 else 没有配套 if | else 必须依附 if |
| 忽略就近匹配 | 误以为 else 和最外层 if 配对 | 牢记 else 就近匹配规则 |
【常见问题】
问题 1 c 语言里的 if else 语句里面 else 可以单独写吗
回答 1 c 语言里的 if else 语句的 else 不能单独存在,必须和 if 配对使用,单独写 else 会编译报错,这是 c 语言里的 if else 语句基础规则。
问题 2 c 语言里的 if else 语句不加大括号会怎么样
回答 1 c 语言里的 if else 语句如果不加大括号,默认只控制紧跟的第一条语句,多条代码不会全部执行,这是 c 语言里的 if else 语句读程序题高频陷阱。
问题 3 c 语言里的 if else 语句 else 是和哪个 if 配对
回答 1 c 语言里的 if else 语句遵循 else 就近匹配,else 匹配距离它最近还没有配对的 if,嵌套结构里面这个考点经常出题,是 c 语言里的 if else 语句核心考点。
问题 4 c 语言里的 if else 语句条件里面可以写逻辑与逻辑或吗
回答 1 c 语言里的 if else 语句条件表达式可以使用 && 逻辑与,|| 逻辑或,组合多个判断条件,是 c 语言里的 if else 语句非常常用写法。
【免责申明】
本文内容仅作为 c 语言里的 if else 语句学习参考,代码示例适配主流 gcc 环境,考试答题以本校教材表述为准,学习使用产生的相关问题由使用者自行承担。


