原文: https://beginnersbook.com/2014/01/c-dowhile-loop/

在上一个教程中,我们在 C 中学习while循环do while循环类似于while循环,但有一个例外,它在检查条件之前执行do体内的语句。另一方面,在while循环中,首先检查条件,然后执行while循环中的语句。所以你可以说如果条件最初是假的那么do while会运行一次,但是while循环根本不会运行。

C - do..while循环

do-while循环的语法:

  1. do
  2. {
  3. //Statements
  4. }while(condition test);

do..while循环的流程图

C 编程的`do-while`循环 - 图1

do..while循环的示例

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int j=0;
  5. do
  6. {
  7. printf("Value of variable j is: %d\n", j);
  8. j++;
  9. }while (j<=3);
  10. return 0;
  11. }

输出:

  1. Value of variable j is: 0
  2. Value of variable j is: 1
  3. Value of variable j is: 2
  4. Value of variable j is: 3

C 中的while vs do..while循环

使用while循环:

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int i=0;
  5. while(i==1)
  6. {
  7. printf("while vs do-while");
  8. }
  9. printf("Out of loop");
  10. }

输出:

  1. Out of loop

使用do-while循环的相同示例:

  1. #include <stdio.h>
  2. int main()
  3. {
  4. int i=0;
  5. do
  6. {
  7. printf("while vs do-while\n");
  8. }while(i==1);
  9. printf("Out of loop");
  10. }

输出:

  1. while vs do-while
  2. Out of loop

说明:正如我在本指南开头所提到的,do-while至少运行一次,即使条件为false,因为条件被求值,执行循环体之后也是如此。