循环 for/while/do-while
三种循环的语法与选择、无限循环、嵌套循环
循环 for/while/do-while
重复执行是程序的核心能力。C 提供三种循环,掌握它们的区别和选择标准。
学完本章你将: 掌握 for/while/do-while、循环控制变量、嵌套循环。
for 循环 —— 知道次数时用
c
// 基本形式
for (初始化; 条件; 更新) {
循环体;
}
// ⭐ 注:C89 标准中变量声明必须在代码块开头;
// C99/C11 支持在 for 内声明(大多数现代编译器都支持)
// 如果你的编译环境报错,把 int i 移到函数开头即可。
for (int i = 0; i < 5; i++) {
printf("i = %d\n", i);
}
// 输出: 0, 1, 2, 3, 4
for 执行顺序
1. 初始化 (只执行一次)
2. 检查条件 → 为假则跳出
3. 执行循环体
4. 更新
5. 回到第 2 步
while 循环 —— 不知道次数时用
c
int count = 0;
while (count < 5) {
printf("count = %d\n", count);
count++;
}
// 经典:读取到文件末尾
char line[256];
while (fgets(line, sizeof(line), stdin)) {
printf("你输入了:%s", line);
}
do-while —— 至少执行一次
c
int input;
do {
printf("请输入 1-10:");
scanf("%d", &input);
} while (input < 1 || input > 10);
// 先执行一次,再检查条件
for 中的逗号运算符
c
// 同时更新两个变量
for (int i = 0, j = 10; i < j; i++, j--) {
printf("i=%d, j=%d\n", i, j);
}
// i=0,j=10 i=1,j=9 ... i=4,j=6