C 语言中的 Do While 循环

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 循环的流程图顺序如下所示。

  1. 变量初始化,然后进入迭代。
  2. 在 编程 中执行/运行一组语句。
  3. 接下来,在循环内部使用 自增和自减运算符 来增加或减少值。
  4. 然后,它检查条件。如果条件输出为真,Do While 循环内的代码会再次执行。这个过程将持续到条件不成立为止。
  5. 如果条件为假,编译器将退出循环。
Do While Loop Flow Chart

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;
}
Do While Loop in C programming Language Output

在这个程序中,用户将输入任何小于 10 的值,total 变量将被初始化为 0。

  1. 用户输入的值将赋给 number 变量,然后这个 number 会被加到 total 上。
  2. 在下一行中,我们使用了 ++ 运算符来增加 number 的值。
  3. 在这一行之后,Number 变量中的值会与 while 条件进行测试。如果条件结果为真,它会重复这个过程。否则,它将退出循环。
  4. 在下一行,我们使用了另一个 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;
}
Do While Loop Output 4