C 语言 if 怎么用核心就是依靠条件判断让程序实现选择性执行,if 语句会先计算括号里面条件表达式的结果,结果非零判定为真,就执行后面大括号内部的代码,结果为零判定为假,就跳过这段代码继续往下运行,它是 C 语言分支控制最基础的语句,单独使用 if 的时候没有备选分支,只负责处理条件成立的场景,条件不成立就什么都不做,日常做数值比较状态校验范围筛选都可以使用 if 实现,理解 if 的执行逻辑之后,还可以继续搭配 else else if 扩展成双分支或者多分支结构,也可以多层嵌套,实现复杂业务判断逻辑。if 语句本质改变程序默认从上到下顺序执行的模式,根据变量运行时的值动态决定要不要执行指定代码,条件表达式支持关系运算符逻辑运算符,也可以直接写变量函数返回值,只要最终能得到真假结果都可以放进 if 括号当中。
基础语法格式
if (条件表达式)
{
条件成立需要执行的代码
}
要点说明
大括号可以省略,省略之后 if 只能控制紧跟的第一条语句,多行代码不会被 if 管控,正式编码推荐统一写大括号,避免后续新增代码出现逻辑 bug
条件表达式外层必须写圆括号,这是 C 语言语法强制要求,不能省略
条件判断为真的判定标准是非零,负数也属于真,只有数值 0 代表假,这点和很多初学者直觉不一样
完整使用步骤
第一步 准备需要判断的数据,一般是变量,比如整型浮点型字符变量
第二步 编写条件表达式,使用大于小于等于不等于逻辑与逻辑或这类运算符组合判断条件
第三步 把表达式放入 if 后面圆括号,大括号内部填写条件成立之后要执行的代码
第四步 编译运行程序,改变变量的值,观察代码是否进入 if 代码块
第五步 如果需要增加条件不成立的处理逻辑,再追加 else 或者 else if 扩展结构
常见写法分类
单独 if 只处理条件成立场景,条件不成立直接跳过
if else 二选一,条件成立走 if,不成立走 else
if else if else 多分支链式判断,按顺序匹配,命中一条之后剩余分支全部跳过
if 嵌套 在 if 代码块内部再写新的 if 语句,实现多层条件组合判断
对比表格
写法类型 执行特点 适用场景
单独 if 满足条件才执行,不满足无操作 只需要处理成立情况
if else 二选一互斥执行 两种结果必须都处理
if else if else 依次匹配多条件 区间分级判断
嵌套 if 外层条件满足之后才判断内层条件 需要组合多重限制条件
高频易错点
把双等号写成单等号,单等号是赋值操作,表达式结果是赋值后的数值,经常造成条件恒真
浮点数直接使用等于判断,浮点精度误差会让判断结果不符合预期
多层嵌套缩进混乱,误以为缩进决定归属,实际 C 语言只依靠大括号和就近规则
if 后面多写分号,分号代表空语句,大括号代码变成无条件执行,if 实际没有控制任何代码
【常见问题】
问题 1 C 语言 if 怎么用的时候负数算不算条件为真
回答 1 C 语言 if 怎么用的真假判定规则里,只要表达式结果不是 0 都判定为真,负数属于非零值,所以负数作为 if 条件会判定成立,会执行 if 内部代码。
问题 2 C 语言 if 怎么用的时候能不能省略大括号
回答 2 C 语言 if 怎么用的语法允许省略大括号,但是省略之后 if 只能控制紧随其后的第一条语句,多行代码不受 if 控制,复杂逻辑不建议省略大括号。
问题 3 C 语言 if 怎么用的时候可以在 if 里面再写 if 吗
回答 3 C 语言 if 怎么用支持 if 嵌套,可以在 if 代码块内部再书写新的 if 语句,外层 if 条件成立之后,才会继续执行内层 if 的条件判断。
【免责申明】
本文内容仅用于 C 语言基础知识学习参考,代码示例仅做原理演示,实际项目开发请结合业务做好边界校验,因编码错误造成程序异常运行,相关风险由使用者自行承担。


