原文: https://www.programiz.com/c-programming/c-do-while-loops

在本教程中,您将在示例的帮助下学习在 C 编程中创建whiledo...while循环。

在编程中,循环用于重复代码块,直到满足指定条件为止。

C 编程具有三种类型的循环。

  1. for循环
  2. while循环
  3. do...while循环

在上一个教程中,我们了解了for循环。 在本教程中,我们将学习whiledo..while循环。


while循环

while循环的语法为:

  1. while (testExpression)
  2. {
  3. // statements inside the body of the loop
  4. }

while循环如何工作?

  • while循环求值括号()内的测试表达式。
  • 如果测试表达式为true,则执行while循环体内的语句。 然后,再次求值测试表达式。
  • 该过程一直进行到测试表达式被求值为false为止。
  • 如果测试表达式为假,则循环终止(结束)。

要了解有关测试表达式的更多信息(将测试表达式求值为真和假时),请查看关系逻辑运算符


While循环流程图

C `while`和`do...while`循环 - 图1


示例 1:while循环

  1. // Print numbers from 1 to 5
  2. #include <stdio.h>
  3. int main()
  4. {
  5. int i = 1;
  6. while (i <= 5)
  7. {
  8. printf("%d\n", i);
  9. ++i;
  10. }
  11. return 0;
  12. }

输出

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5

在这里,我们已经将i初始化为 1。

  1. i为 1 时,测试表达式i <= 5true。 因此,执行while循环的主体。 在屏幕上打印 1,并且i的值增加到 2。
  2. 现在,i为 2,则测试表达式i <= 5再次为真。 再次执行while循环的主体。 在屏幕上打印 2,i的值增加到 3。
  3. 该过程一直进行到i变为 6 为止。当i为 6 时,测试表达式i <= 5为假,循环终止。

do...while循环

do..while循环类似于while循环,但有一个重要区别。do...while循环的主体至少执行一次。 只有这样,才对测试表达式求值。

do...while循环的语法为:

  1. do
  2. {
  3. // statements inside the body of the loop
  4. }
  5. while (testExpression);

do...while循环如何工作?

  • do...while循环的主体执行一次。 只有这样,才对测试表达式求值。
  • 如果测试表达式为true,则再次执行循环主体并求值测试表达式。
  • 这个过程一直进行到测试表达式变为假。
  • 如果测试表达式为假,则循环结束。

do...while循环流程图

C `while`和`do...while`循环 - 图2


示例 2:do...while循环

  1. // Program to add numbers until the user enters zero
  2. #include <stdio.h>
  3. int main()
  4. {
  5. double number, sum = 0;
  6. // the body of the loop is executed at least once
  7. do
  8. {
  9. printf("Enter a number: ");
  10. scanf("%lf", &number);
  11. sum += number;
  12. }
  13. while(number != 0.0);
  14. printf("Sum = %.2lf",sum);
  15. return 0;
  16. }

输出

  1. Enter a number: 1.5
  2. Enter a number: 2.4
  3. Enter a number: -3.4
  4. Enter a number: 4.2
  5. Enter a number: 0
  6. Sum = 4.70