C 语言条件语句精通:if、else、嵌套与多重分支
C 语言条件语句精通:if、else、嵌套与多重分支
本指南通过清晰示例与最佳实践,系统讲解 C 语言 if、else、if-else 梯级、嵌套条件语句的核心用法。
视频:C 语言 if-else 语句
观看下方简明教程见概念实战演示。
C 语言 if 语句
if 语句语法:
if (test expression) {
// 条件为真时执行的代码
}
if 语句工作原理
括号内测试表达式求值。非零(真)执行大括号内代码;零(假)跳过。
- 真:执行语句块。
- 假:跳过语句块。

详见 Wikipedia 关系运算符 或 GeeksforGeeks 关于真假值判定。
示例 1:简单 if 语句
// 输入负数时显示该数
#include <stdio.h>
int main() {
int number;
printf("Enter an integer: ");
scanf("%d", &number);
// number < 0 为真时执行
if (number < 0) {
printf("You entered %d.\n", number);
}
printf("The if statement is easy.");
return 0;
}
输出 1
Enter an integer: -2 You entered -2. The if statement is easy.
输入 -2,表达式 number < 0 为真,打印消息。
输出 2
Enter an integer: 5 The if statement is easy.
输入 5,表达式为假,跳过块内 printf。
C 语言 if…else 语句
加 else 块指定假分支代码。语法:
if (test expression) {
// 真分支
} else {
// 假分支
}
if…else 工作原理
• 测试为真:执行 if 块,跳过 else。
• 测试为假:执行 else 块,跳过 if。

示例 2:判断奇偶
// 判断整数奇偶
#include <stdio.h>
int main() {
int number;
printf("Enter an integer: ");
scanf("%d", &number);
// 余数为 0 为真
if (number % 2 == 0) {
printf("%d is an even integer.", number);
} else {
printf("%d is an odd integer.", number);
}
return 0;
}
输出
Enter an integer: 7 7 is an odd integer.
取模运算符判断奇偶,else 处理奇数情况。
C 语言 if…else if…else 梯级
顺序评估多个条件时,if…else if…else 梯级最适合。
梯级语法
if (condition1) {
// 语句
} else if (condition2) {
// 语句
} else if (condition3) {
// 语句
} else {
// 语句
}
示例 3:比较两整数
// 比较两整数大小
#include <stdio.h>
int main() {
int number1, number2;
printf("Enter two integers: ");
scanf("%d %d", &number1, &number2);
if (number1 == number2) {
printf("Result: %d = %d", number1, number2);
} else if (number1 > number2) {
printf("Result: %d > %d", number1, number2);
} else {
printf("Result: %d < %d", number1, number2);
}
return 0;
}
输出
Enter two integers: 12 23 Result: 12 < 23
嵌套 if…else
将 if…else 嵌入另一个,实现细粒度分支,避免冗长梯级。
示例 4:嵌套比较
#include <stdio.h>
int main() {
int number1, number2;
printf("Enter two integers: ");
scanf("%d %d", &number1, &number2);
if (number1 >= number2) {
if (number1 == number2) {
printf("Result: %d = %d", number1, number2);
} else {
printf("Result: %d > %d", number1, number2);
}
} else {
printf("Result: %d < %d", number1, number2);
}
return 0;
}
若 if…else 块仅含单语句,大括号 {} 可省略,但建议保留以提升可读性、减少错误。
if (a > b) printf("Hello");
printf("Hi");
C语言
- 掌握 C# 条件逻辑:if、if-else、if-else if 与嵌套 if 语句完全指南
- 掌握 C# switch 语句:语法、示例与最佳实践
- C# break 语句:用法、时机与实战示例
- 掌握 C# continue 语句:高效跳过循环迭代的实战指南
- 掌握 C++ 条件语句:if、if-else、嵌套 if 与多重分支全解析
- 掌握 C++ break 语句:跳出循环与 switch 的核心控制流
- 掌握 C++ continue 语句:跳过当前迭代的循环控制艺术
- 掌握 C++ switch-case 语句:语法、流程与计算器实战案例
- C 语言 switch 语句完全指南:语法、流程与计算器实例
- C 语言 goto 语句详解:语法、实战用法与最佳实践
- C 语言基础语法精通:Token、分号、注释与标识符规范
- 精通Python Pass语句:实战指南