C 语言循环完全指南:for、while、do-while 语法与实战案例
什么是 C 语言循环?
循环 重复执行一组语句,直到指定条件变为假。C 语言循环由 循环体 和 控制语句 组成,控制语句决定循环体执行次数。掌握循环是编写高效、可读 C 程序的关键。
本教程涵盖:
- 循环的定义与目的
- 循环分类:入口控制 vs 出口控制
- while 循环基础
- do-while 循环基础
- for 循环基础
break与continue用法- 如何根据场景选择合适循环
C 语言循环分类
按控制条件位置分类:
- 入口控制循环 – 循环体执行前先判断条件(如
while、for) - 出口控制循环 – 循环体执行后再判断条件(如
do-while)
无限循环 发生在终止条件永不满足时,常见原因:缺少终止检查或条件恒真。
while 循环
while 是最简单的入口控制循环。语法:
while (condition) { statements; }
先判断条件,为真则执行循环体,执行完毕重新判断,直到条件为假。
示例 – 打印 1 到 10:
#include <stdio.h>
int main() {
int num = 1;
while (num <= 10) {
printf("%d\n", num);
num++;
}
return 0;
}
输出:
1 2 3 4 5 6 7 8 9 10
do-while 循环
do-while 保证循环体至少执行一次,属于出口控制循环。语法:
do { statements; } while (condition);
示例 – 打印 2 的乘法表(1-10):
#include <stdio.h>
int main() {
int num = 1;
do {
printf("%d\n", 2 * num);
num++;
} while (num <= 10);
return 0;
}
输出:
2 4 6 8 10 12 14 16 18 20
for 循环
for 循环适合已知起始、终止、步长的迭代。语法:
for (initialization; condition; increment) { statements; }
- 初始化仅执行一次
- 每次迭代前判断条件
- 增量更新循环变量
示例 – 打印 1 到 10:
#include <stdio.h>
int main() {
for (int number = 1; number <= 10; number++) {
printf("%d\n", number);
}
return 0;
}
输出:
1 2 3 4 5 6 7 8 9 10
复杂 for 循环可包含多个表达式,甚至留空:
for (int i = 0, j = num; i < j; i++, j--) { /* statements */ }
嵌套循环常用于多维数组。示例 – 乘法表:
#include <stdio.h>
int main() {
int i, j;
int table = 2;
int max = 5;
for (i = 1; i <= table; i++) {
for (j = 0; j <= max; j++) {
printf("%d x %d = %d\n", i, j, i * j);
}
printf("\n");
}
return 0;
}
输出:
1 x 0 = 0 1 x 1 = 1 1 x 2 = 2 1 x 3 = 3 1 x 4 = 4 1 x 5 = 5 2 x 0 = 0 2 x 1 = 2 2 x 2 = 4 2 x 3 = 6 2 x 4 = 8 2 x 5 = 10
break 语句
break 立即退出最近的循环或 switch。示例 – while 循环中值达 3 时终止:
#include <stdio.h>
int main() {
int num = 5;
while (num > 0) {
if (num == 3) break;
printf("%d\n", num);
num--;
}
return 0;
}
输出:
5 4
continue 语句
continue 跳过本次迭代剩余部分,直接进入下一轮。示例 – 跳过打印 5:
#include <stdio.h>
int main() {
int nb = 7;
while (nb > 0) {
nb--;
if (nb == 5) continue;
printf("%d\n", nb);
}
return 0;
}
输出:
6 4 3 2 1
如何选择合适的循环
根据条件判断时机决定:
- 需先判断 – 用
while或for - 需后判断 – 用
do-while
总结
- 循环重复执行代码块直到条件为假
- C 语言三大循环:
while、do-while、for - 入口控制循环每次迭代前判断;出口控制循环迭代后判断
- 用
break提前终止,continue跳过本次迭代 - 根据算法控制流需求选择最贴切的循环类型
C语言
- Fluke 772/773钳形表:自动化回路故障排查的现代利器
- 精通SINUMERIK 840D CNC编程中的WHILE循环
- 掌握 C# while 与 do-while 循环:语法、示例与最佳实践
- 掌握 C# for 循环:语法、执行流程与实战示例
- C# foreach 循环:轻松遍历数组与集合
- 掌握 C++ for 循环:语法、流程图、范围循环与实战模式
- C++ while 与 do-while 循环:重复控制流完全掌握
- C 语言 for 循环完全指南:语法、机制与实战示例
- while 与 do-while 循环深度对比:原理、语法与实战案例全解析
- Python 循环完全指南:for、while、break、continue、enumerate 详解
- Java 判断阿姆斯特朗数(自幂数):for 循环与 while 循环实现
- Java 回文数判断:while 循环与 for 循环两种算法实现