C语言的if else语句用于根据条件是否成立执行不同的代码块,是程序实现分支逻辑的核心语法,几乎所有需要逻辑判断的C程序都会用到该结构。

if else基本语法
if else的基础结构分为单分支、双分支两种形式,单分支只有if部分,条件成立时执行对应代码,不成立则跳过;双分支包含if和else,条件成立执行if块代码,不成立执行else块代码。
单分支if语法
#include <stdio.h>
int main() {
int score = 85;
// 如果分数大于等于60,输出及格提示
if (score >= 60) {
printf("成绩及格n");
}
return 0;
}
双分支if else语法
#include <stdio.h>
int main() {
int score = 55;
// 分数大于等于60输出及格,否则输出不及格
if (score >= 60) {
printf("成绩及格n");
} else {
printf("成绩不及格n");
}
return 0;
}
多条件判断:else if用法
当需要判断多个互斥条件时,可以使用else if结构,程序会从上到下依次判断条件,第一个成立的条件对应的代码块会被执行,后续条件不再判断。
#include <stdio.h>
int main() {
int score = 78;
if (score >= 90) {
printf("成绩等级:An");
} else if (score >= 80) {
printf("成绩等级:Bn");
} else if (score >= 60) {
printf("成绩等级:Cn");
} else {
printf("成绩等级:Dn");
}
return 0;
}
if else嵌套用法
if else语句可以嵌套使用,也就是在if或者else的代码块内部再写if else结构,用于处理更复杂的多层逻辑判断场景。
#include <stdio.h>
int main() {
int age = 20;
int has_ticket = 1; // 1表示有票,0表示无票
if (age >= 18) {
// 成年的情况下再判断是否持有门票
if (has_ticket == 1) {
printf("可以进入场馆n");
} else {
printf("没有门票,无法进入n");
}
} else {
printf("未成年,无法进入n");
}
return 0;
}
使用注意事项
- 条件表达式需要用小括号包裹,条件后的代码块如果只有一条语句,可以省略大括号,但建议始终加上大括号,避免逻辑错误。
- 条件判断中,赋值运算符
=和相等判断运算符==容易混淆,赋值表达式的结果为真,可能导致逻辑异常。 - else总是和最近的未匹配的if配对,嵌套使用时要注意大括号的划分,避免配对错误。
- 条件表达式的结果为非0值时视为真,0视为假,比如
if(5)的条件会成立。