流程控制
循环语句while、do…while
前言
在编程中,循环用于重复执行一段代码,直到满足指定的条件为止。C 语言中有三种类型的循环:
- for 循环
- while 循环
- do…while 循环
在之前的教程中,我们学习了 for
循环。本教程将讲解 while
和 do...while
循环。
作用
while
循环:用于在满足特定条件下重复执行代码块,直到条件变为假。do...while
循环:与while
循环类似,但至少会执行一次循环体代码,然后再检查条件。
使用场景
while
循环:通常用于循环次数不确定的情况下,重复执行某段代码,如根据用户输入或动态条件进行迭代。do...while
循环:适合在至少需要执行一次操作的情况下,如用户输入验证,或在满足某些条件之前收集数据。
示例
示例 1: while
循环打印数字
// 打印 1 到 5 的数字
#include <stdio.h>
int main() {
int i = 1;
while (i <= 5) {
printf("%d\n", i);
++i; // 自增 i
}
return 0;
}
输出:
1
2
3
4
5
在这个例子中,变量 i
被初始化为 1。当 i <= 5
时,循环体中的代码会被执行,i
自增 1,直到 i
变为 6,条件为假,循环结束。
示例 2: do...while
循环求和
// 让用户输入数字,直到输入为 0 时结束,并计算总和
#include <stdio.h>
int main() {
double number, sum = 0;
// 至少执行一次循环
do {
printf("输入一个数字: ");
scanf("%lf", &number);
sum += number; // 累加输入的数字
}
while(number != 0.0); // 当输入为 0 时,循环结束
printf("总和 = %.2lf", sum);
return 0;
}
输出:
输入一个数字: 1.5
输入一个数字: 2.4
输入一个数字: -3.4
输入一个数字: 4.2
输入一个数字: 0
总和 = 4.70
在这个例子中,使用 do...while
循环,用户至少需要输入一次数字。循环体会不断执行,直到用户输入 0
。在每次迭代中,输入的数字会被累加到 sum
变量中,当输入 0
时,循环结束,并打印出总和。
结语 (Conclusion)
while
和 do...while
循环为 C 语言提供了灵活的控制流方式,适用于不同的场景。while
循环在条件满足前重复执行,而 do...while
循环保证至少执行一次操作。通过掌握这两种循环结构,可以轻松应对各种循环需求,并编写更高效、可读性强的代码。