Z
ZHANK
编程在线教程C 语言教程循环 for/while/do-while
控制流程

循环 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