C 语言中 while 和 do-while 循环的区别

C 语言中 while 和 do-while 循环的关键区别

  • while 循环先检查条件,然后执行语句;而 do-while 循环至少执行一次语句,然后检查条件。
  • while 循环是入口控制循环,而 do-while 是出口控制循环。
  • 在 while 循环中,我们不需要在 while 条件的末尾添加分号,但在 do-while 循环的 while 条件末尾需要添加分号。
  • 如果条件为假,while 循环语句最多执行零次,而 do-while 语句至少执行一次。
  • while 循环允许在循环体开始之前初始化计数器变量,而 do while 循环允许在循环体开始之前和之后初始化计数器变量。

Difference Between while and do-while loop

什么是循环?

循环执行一系列语句许多次,直到指定的条件变为假。一个循环包含两个部分:循环体和控制语句。控制语句是某些条件的组合,这些条件指示循环体执行,直到指定条件变为假。循环的目的是重复相同的代码多次。

什么是 While 循环?

While 循环是最直接的循环结构。它是一种入口控制循环。在 while 循环中,在处理循环体之前会评估一个条件。如果条件为真,那么并且只有在这种情况下,循环体才会被执行。

在循环体执行后,控制会再次回到开头,并检查条件。如果条件为真,则执行相同的过程,直到条件变为假。一旦条件变为假,控制就会跳出循环。

在 while 循环中,如果条件不为真,则循环体将不会执行,甚至一次也不会执行。

什么是 Do-While 循环?

Do-while 循环与 while 循环相似,但条件总是在循环体执行后进行评估。它也被称为出口控制循环。

在 do-while 循环中,循环体至少执行一次。在执行完循环体后,它会检查条件。如果条件为真,它将再次执行循环体。否则,控制将转移出循环。

C 语言中 While 循环的语法

这是 C 编程中 While 循环的语法

while (condition) {
statements;
}

在 while 循环中,我们需要编写一个需要评估的条件。大括号内的语句表示要执行的代码。

C 语言中 Do While 循环的语法

这是C 编程中 Do while 循环的语法

do {
statements
} while (expression);

在 do-while 循环中,我们首先需要编写大括号内的语句,这表示要执行的代码。在此之后,我们需要提及Java、C 或 C++ 程序中需要评估的表达式。

While 循环如何工作?

While 循环工作原理如下

While Loop Work

流程图说明

步骤 1) 开始 while 循环

步骤 2) 测试表达式或条件被评估

步骤 3) 接下来,如果测试表达式为真,程序将执行 do-while 循环的循环体

步骤 4) 如果测试表达式为假,则执行 while 循环外的程序

Do-While 循环如何工作?

Do-while 循环工作原理如下

Do-While Loop Work

流程图说明

步骤 1) 开始 do-while 循环

步骤 2) 执行 do-while 循环的循环体

步骤 3) 测试表达式或条件被评估

步骤 4) 如果测试表达式为真,编译器将执行 do-while 循环的循环体

步骤 5) 接下来,如果测试表达式为假,编译器将执行循环体之后的语句

步骤 6) 执行循环体之后的语句

While vs Do-While 循环:它们之间的区别

这是 While 和 Do While 循环之间的一个重要区别

While Do While
它先检查条件,然后执行语句 此循环将至少执行一次语句,然后检查条件。
While 循环允许在循环体开始之前初始化计数器变量。 Do while 循环允许在循环体开始之前和之后初始化计数器变量。
它是一个入口控制循环。 它是一个出口控制循环。
我们不需要在 while 条件的末尾添加分号。 我们需要在 while 条件的末尾添加分号。
对于单个语句,我们确实需要添加括号。 括号是必需的。
在此循环中,条件在循环开始时提及。 循环条件在块执行后指定。
如果条件为假,语句最多可以执行零次。 语句至少执行一次。
通常 while 循环的写法如下

while (condition) {
Statements; // loop body
}
通常 do while 循环的写法如下

do{
Statements; //loop body
} while (condition);

C 语言中 While 循环示例

以下程序通过示例说明了 C 编程中的 while 循环

#include<stdio.h>
#include<conio.h>
int main()
{
int num=1;	//initializing the variable with value 1
while(num<=4)	//while loop with condition
{
printf("%d\n",num);
num++;		//incrementing operation
}
return 0;
}

输出

1
2
3
4

上面的程序说明了 while 循环的用法。在上面的代码中,我们使用 while 循环打印了从 1 到 4 的数字系列。

我们将一个名为 num 的变量初始化为 1。我们将打印从 1 到 4。因此,该变量在初始化时被设置为 1。如果我们要从 0 开始打印,则在初始化时将其值设置为 0。

接下来,在 while 循环中,我们提供了一个条件 (num<=4),这意味着循环将执行循环体,直到 num 的值变为 4。之后,循环将终止,控制将跳出循环。

在循环体中,我们有一个打印函数来打印我们的数字,还有一个增量运算符用于在每次循环执行时增加值。

num 的初始值为 1,执行后将变为 2,下次执行时将变为 3。此过程将继续,直到值变为 4,然后它将在控制台上打印系列并终止循环。

C 语言中 Do While 循环示例

以下程序是一个 Do-while 循环示例,用于在 C 中打印数字 2 的乘法表

#include<stdio.h>
#include<conio.h>
int main()
{
int num=1;	//initializing the variable with value 1
do	//do-while loop
{
printf("%d\n",2*num);
num++;		//incrementing operation
} while(num<=4);
return 0;
}

输出

2
4
6
8

在上面的示例中,我们使用 do-while 循环打印了数字 2 的乘法表。首先,我们将一个变量“num”初始化为 1。然后我们编写了一个 do-while 循环。

在循环中,我们有一个打印函数,它将打印该系列,方法是将 num 的值乘以 2。每次增量后,num 的值将增加 1,并显示在屏幕上。

最初,num 的值为 1。在循环体中,打印函数将这样执行:2*num,其中 num=1,则 2*1=2。

因此,将打印值 2。这将一直进行,直到 num 的值变为 10。接下来,循环将终止,并执行循环之后的语句。在这种情况下,它将返回 0。

我们应该选择哪一个?

当检查条件时,如果第一次迭代是强制性的,我们需要使用 while 循环。如果迭代次数未知或不确定,也可以使用它。

Do while 循环主要用于需要至少执行一次循环的情况。do-while 循环通常在菜单驱动的编程语言中使用,其中最终条件基于最终用户。