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

17 Mar 2025 | 4 分钟阅读

在本文中,我们将学习 C 语言中 while 循环和 do-while 循环结构的比较。首先,我们将理解 C 语言中 while 循环和 do-while 循环的概念。之后,我们将学习 C 编程中 while 循环和 do-while 循环的比较。

while loop vs do-while loop in C

While 循环语句

While 循环语句C 语言中最简单且使用最广泛的循环结构之一。

在此语句中,while 是一个保留字或关键字,条件可以是任何常量、变量、表达式,而语句可以是单个语句或一组语句。在 while 循环中,我们需要执行三个步骤

  • 初始化
  • 测试条件
  • 增量和减量

初始化值:在 while 循环中,第一步是初始化,用于设置循环计数器的初始值。循环计数器可以是 while 循环中的增量计数器或减量计数器。

示例:i = 1;

测试条件:在初始化步骤之后,while 循环的下一步是检查测试条件,看循环是否执行。如果 while 循环中的条件为真,则执行循环体;否则,不执行循环。

示例:while (i<=10)

增量和减量:在 while 循环中检查测试条件后,使用增量和减量来增加和减少循环计数器的值。

示例:i = i + 1;

While 循环的语法

在 while 循环语句中,使用 while 关键字,后跟任何需要测试的良好条件,该条件 enclosed 在括号中,并且可能包含任何逻辑运算符。条件后是一对花括号,指定了在条件为真时要执行的语句集。

示例

While 循环语句的流程图

while loop vs do-while loop in C

do-while 循环语句

在 C 语言中,do-while 循环语句在 C 语言中也与 while 循环类似。在此,首先执行循环体,然后检查条件。在 do-while 循环中,我们需要执行三个步骤

  • 初始化
  • 测试条件
  • 增量和减量

初始化值:在 do-while 循环中,第一步是初始化,用于设置循环计数器的初始值。循环计数器可以是增量计数器或减量计数器。

示例:i = 1;

测试条件:在初始化步骤之后,do-while 循环的下一步是检查测试条件,看循环是否执行。

示例:while (i<=10);

增量和减量:在 do-while 循环中检查测试条件后,下一步是增量和减量循环计数器的值。

示例:i = i + 1;

do-while 循环的语法

在这里,do-while 循环语句使用两个关键字:do 和 while。如果在 do-while 循环中条件为真,则语句再次执行;如果条件返回 false,则停止执行,并将控制权传递给下一条语句。

示例

do-while 循环语句的流程图

while loop vs do-while loop in C

C 语言 while 循环 vs. do-while 循环

让我们看看 C 语言中 while 循环和 do-while 循环之间的一些比较

序号while 循环do-while 循环
1.While 循环是一种入口控制循环,因为首先检查条件,然后执行循环体。do-while 循环是一种出口控制循环,因为在这种情况下,首先执行循环体,然后检查条件是真的还是假的。
2.while 循环的语句可能根本不执行。do-while 循环的语句至少必须执行一次。
3.当条件变为 false 时,while 循环终止。只要条件为真,编译器就会在 do-while 循环中继续执行循环。
4.在 while 循环中,必须先初始化测试条件变量才能在循环中检查测试条件。在 do-while 循环中,测试条件的变量也在循环中初始化。
5.在 while 循环中,条件末尾没有分号。
语法
while (condition)
在此,条件末尾有一个分号。
语法
while (condition);
6.While 循环不用于创建菜单驱动程序。它主要用于创建菜单驱动程序,因为无论条件是真还是假,循环至少执行一次。
7.在 while 循环中,执行次数取决于 while 块中定义的条件。在 do-while 循环中,无论提到的条件如何,最少执行 1 次。
8.While 循环的语法
while (condition)
{
Block of statements;
}
Statement-x;
do-while 循环的语法
do
{
statements;
}
while (condition);
Statement-x;
9.While 循环程序
Program of while loop:

#include 
#include 
Void main()
{
int i;
clrscr();
i = 1;
while(i<=10)
{
printf("hello");
i = i + 1;
}
getch();
}
do-while 循环程序
#include 
#include 
Void main()
{
int i;
clrscr();
i = 1;
do
{
printf("hello");
i = i + 1;
}
while(i<=10);
getch();
}
10.While 循环的流程图
while loop vs do-while loop in C
do-while 循环的流程图
while loop vs do-while loop in C