while 和 do-while 之间的区别:用例子解释
什么是循环?
循环多次执行语句序列,直到所述条件变为假。循环由两部分组成,循环体和控制语句。控制语句是一些条件的组合,这些条件指示循环体执行,直到指定的条件变为假。循环的目的是多次重复相同的代码。
什么是While循环?
While 循环是最直接的循环结构。这是一个入口控制循环。在 while 循环中,在处理循环体之前评估条件。如果一个条件为真,那么并且只有这样循环的主体才会被执行。
循环体执行完后,控制又回到开头,检查条件。如果为真,则执行相同的过程,直到条件变为假。一旦条件变为假,控制就退出循环。
在while循环中,如果条件不成立,则循环体不会被执行,一次也不会。
什么是 Do-While 循环?
Do-while 循环类似于 while 循环,只是条件总是在循环体之后执行。也称为退出控制循环。
在 do-while 循环中,循环体总是至少执行一次。在执行主体后,它会检查条件。如果条件为真,那么它将再次执行循环体。否则,控制权被转移出循环。
主要区别:
- while循环首先检查条件,然后执行语句,而do while循环将至少执行一次语句,然后检查条件。
- while 循环是入口控制循环,而 do while 是出口控制循环。
- 在 while 循环中,我们不需要在 while 条件的末尾添加分号,但我们需要在 do while 循环中的 while 条件末尾添加分号。
- 如果条件为假,while 循环语句将执行零次,而 do while 语句至少执行一次。
- while 循环允许在开始循环体之前初始化计数器变量,而 do while 循环允许在开始循环体之前和之后初始化计数器变量。
While 循环的语法
这是While循环的语法:
while (condition) { statements; }
在 while 循环中,我们必须编写一个需要评估的条件。花括号内的语句表示要执行的代码。
语法 Do While 循环
下面是 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 步) 执行循环体之后的语句
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。之后,循环将被终止,控制将落在循环。
在循环体中,我们有一个 print 函数来打印我们的数字和一个增量运算符来增加每次执行循环的值。
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 的乘法表。首先,我们用值 1 初始化了一个变量“num”。然后我们编写了一个 do-while 循环。
在一个循环中,我们有一个打印函数,它将通过将 num 的值乘以 2 来打印系列。每次递增后,num 的值将增加 1,并将其打印在屏幕上。
最初,num的值为1。在循环体中,打印函数会这样执行:2*num where num=1,然后2*1=2。
因此将打印值 2。这将一直持续到 num 的值变为 10。接下来,循环将终止,并执行循环之后的语句。在这种情况下,它将返回 0。
While 与 Do While
这是 While 和 Do While 循环之间的一个重要区别:
while (condition) { Statements; // loop body }一般做while循环写成:
do{ Statements; //loop body } while (condition);
我们应该选择哪一个?
在检查条件时,如果第一次迭代是强制性的,我们需要使用 while 循环。如果迭代次数未知或不确定,也可以使用它。
执行while循环主要需要在我们必须执行循环最少一次的情况下。 do-while 循环通常在菜单驱动的编程语言中需要,其中最终条件基于最终用户。
C语言