在编程中,循环用于重复代码块,直到满足指定条件为止。
C编程具有三种类型的循环。
- for循环
- while循环
- 做… while循环
在上一教程中,我们了解了for
循环。在本教程中,我们将学习while
和do..while
循环。
while循环
while
循环的语法为:
while (testExpression)
{
// statements inside the body of the loop
}
while循环如何工作?
-
while
循环在括号()
评估测试表达式。 - 如果测试表达式为true,则执行
while
循环体内的语句。然后,再次评估测试表达式。 - 该过程一直进行到测试表达式被评估为false为止。
- 如果测试表达式为假,则循环终止(结束)。
要了解有关测试表达式的更多信息(当测试表达式被评估为真和假时),请查看关系运算符和逻辑运算符。
While循环流程图
示例1:while循环
// Print numbers from 1 to 5
#include
int main()
{
int i = 1;
while (i <= 5)
{
printf("%d\n", i);
++i;
}
return 0;
}
输出
1
2
3
4
5
在这里,我们将i初始化为1。
- 当i为1时,测试表达式
i <= 5
为真。因此,执行while
循环的主体。这将在屏幕上打印1,并且i的值增加到2。 - 现在, 我是2,测试表达式
i <= 5
再次成立。while
循环的主体将再次执行。在屏幕上打印2,i
的值增加到3。 - 该过程一直进行到i变为6为止。当i为6时,测试表达式
i <= 5
将为false,并且循环终止。
做… while循环
do..while
循环与while
循环相似, while
有一个重要区别。 do...while
循环的主体至少执行一次。只有这样,才对测试表达式求值。
do...while
循环的语法为:
do
{
// statements inside the body of the loop
}
while (testExpression);
… while循环如何工作?
- do … while循环的主体执行一次。只有这样,才对测试表达式求值。
- 如果测试表达式为true,则再次执行循环主体并评估测试表达式。
- 这个过程一直进行到测试表达式变为假。
- 如果测试表达式为假,则循环结束。
do … while循环流程图
示例2:do … while循环
// Program to add numbers until the user enters zero
#include
int main()
{
double number, sum = 0;
// the body of the loop is executed at least once
do
{
printf("Enter a number: ");
scanf("%lf", &number);
sum += number;
}
while(number != 0.0);
printf("Sum = %.2lf",sum);
return 0;
}
输出
Enter a number: 1.5
Enter a number: 2.4
Enter a number: -3.4
Enter a number: 4.2
Enter a number: 0
Sum = 4.70