写代码就像教人做事,有时候得根据具体情况做不同动作。比如你去便利店买饮料,带的钱够就直接付钱,不够就得放下。C语言里的条件判断,就是让程序也能“看情况做事”。
if 语句:最基础的判断
最常用的条件判断是 if 语句。它像一句口头禅:“如果……就……”。比如判断一个数是不是正数:
#include <stdio.h>
int main() {
int num = -5;
if (num > 0) {
printf("这是一个正数\n");
}
return 0;
}
这段代码里,只有 num 大于 0 的时候,才会执行打印。否则就跳过,啥也不干。
if-else:二选一的情况
生活中很多事不是“做”就是“不做”。比如过马路,红灯停,绿灯行。C语言用 if-else 来处理这种二选一:
if (light == 'R') {
printf("停下\n");
} else {
printf("通行\n");
}
这里的 light 是当前信号灯状态。如果是 'R'(红灯),就停下;否则就通行。逻辑清晰,一目了然。
多个条件?用 else-if
现实往往更复杂。比如快递柜取件,可能有三种状态:已到达、派送中、未发货。这时候可以用 else-if 连起来判断:
if (status == 1) {
printf("包裹已在柜中\n");
} else if (status == 2) {
printf("正在派送\n");
} else if (status == 3) {
printf("尚未发货\n");
} else {
printf("状态未知\n");
}
程序会从上往下一个个检查,一旦满足某个条件,就执行对应操作,然后跳出整个结构。
嵌套判断:层层筛选
有些场景需要多层判断。比如登录系统,先看用户名对不对,再看密码是否正确:
if (username == correct_user) {
if (password == correct_pass) {
printf("登录成功\n");
} else {
printf("密码错误\n");
}
} else {
printf("用户名不存在\n");
}
这种嵌套写法虽然有效,但别嵌太多层,不然读起来像迷宫。两到三层还能接受,再多就得考虑拆解逻辑了。
三元运算符:简洁的判断
如果只是简单赋值,可以用三元运算符 ? : 。它是一行搞定的小技巧:
int max = (a > b) ? a : b;
这行代码的意思是:如果 a 大于 b,max 就等于 a,否则等于 b。写起来比 if-else 短多了,适合简单场景。
条件判断是编程的基石。掌握好 if、else、else-if 和三元运算符,就能让程序灵活应对各种情况,不再是只会直来直去的机器人。