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 循环允许在循环体开始之前和之后初始化计数器变量。
什么是循环?
循环执行一系列语句许多次,直到指定的条件变为假。一个循环包含两个部分:循环体和控制语句。控制语句是某些条件的组合,这些条件指示循环体执行,直到指定条件变为假。循环的目的是重复相同的代码多次。
什么是 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 循环工作原理如下
流程图说明
步骤 1) 开始 while 循环
步骤 2) 测试表达式或条件被评估
步骤 3) 接下来,如果测试表达式为真,程序将执行 do-while 循环的循环体
步骤 4) 如果测试表达式为假,则执行 while 循环外的程序
Do-While 循环如何工作?
Do-while 循环工作原理如下
流程图说明
步骤 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 循环通常在菜单驱动的编程语言中使用,其中最终条件基于最终用户。