C 语言中的 Do While 循环会至少执行一次代码块中的语句,即使条件不成立。它在循环的末尾测试条件。
这个场景解释了我们可以在 C 语言编程中使用 Do While 循环的情况。在我们之前的文章中讨论的 While 循环是在编译器进入代码块之前测试条件。只有当条件结果为真时,循环内的代码才会执行。否则,它一次也不会运行。在某些情况下,需要先执行一些操作(执行一些语句),然后再检查条件。
C 语言 Do While 循环语法
该编程语言中 Do While 循环的语法如下所示
do
{
statement 1;
statement 2;
………….
statement n;
}
While (condition);
首先,它会执行循环内的语句,在到达末尾后,编译器会检查 while 条件。如果条件返回真,它会重复这个过程;如果条件不成立,Do While 循环就会终止。
注意:在 Do While 循环的 While 条件之后要加上一个分号。
Do While 流程图
该 C 语言编程中 Do While 循环的流程图顺序如下所示。
- 变量初始化,然后进入迭代。
- 在 编程 中执行/运行一组语句。
- 接下来,在循环内部使用 自增和自减运算符 来增加或减少值。
- 然后,它检查条件。如果条件输出为真,Do While 循环内的代码会再次执行。这个过程将持续到条件不成立为止。
- 如果条件为假,编译器将退出循环。

C 语言编程中的 Do While 循环示例
这个程序帮助你理解 Do While 循环。
#include <stdio.h>
int main()
{
int number, total=0;
printf("\n Please Enter any integer below 10 \n");
scanf("%d", &number);
do
{
total = total + number;
printf(" Number = %d\n", number);
printf(" Total Value is: %d\n", total);
number++;
}while (number< 10);
printf(" Total Value from outside is: %d \n", total);
return 0;
}

在这个程序中,用户将输入任何小于 10 的值,total 变量将被初始化为 0。
- 用户输入的值将赋给 number 变量,然后这个 number 会被加到 total 上。
- 在下一行中,我们使用了 ++ 运算符来增加 number 的值。
- 在这一行之后,Number 变量中的值会与 while 条件进行测试。如果条件结果为真,它会重复这个过程。否则,它将退出循环。
- 在下一行,我们使用了另一个 printf 语句来表明它来自 while 循环外部。
让我们输入一个大于 10 的值,看看会发生什么。
Please Enter any integer below 10
11
Number = 11
Total Value is: 11
Total Value from outside is: 11
如果你观察上面的截图,我们输入了值 11,它仍然显示 total 为 11,因为在执行完那段代码后,它检查了 while 条件。条件不成立,所以它退出了。
C 语言编程中 While 循环和 Do While 循环有什么区别?
虽然 Do While 和 While 循环看起来相似,但它们的执行方式不同。
- 对于 While 循环,条件在开始时进行测试,只有当条件为真时,循环中的语句才会执行。这意味着 While 循环 仅 在条件为真时执行代码块。
- 对于 Do While 循环,条件在末尾进行测试。所以 Do While 循环至少会执行一次代码块中的语句,即使条件不成立。
我想当你看到示例时会更好地理解它,所以让我们用 C 语言中的 While 和 Do While 循环来编写同一个程序。
While 循环示例
在这个程序中,我们声明一个整数,然后检查 0 是否大于 10。如果条件为真,它将打印“X is Greater Than 10”这条语句。在 While 循环外部还有一条 printf 语句,这条语句将在 while 循环之后执行。
#include <stdio.h>
int main()
{
int x=0;
while(x > 10)
{
printf("\n X is Greater Than 10\n");
}
printf("\nStatement Outside of it\n");
return 0;
}

Do While 循环示例
我们将使用 do while 编写相同的示例。请记住,虽然条件不成立,但 do while 循环内的语句还是会执行 一次 ,因为条件是在执行语句之后测试的。
#include <stdio.h>
int main()
{
int x=0;
do
{
printf("\n X is Greater Than 10 \n");
}while(x > 10);
printf("\n Statement Outside of it \n");
return 0;
}
