C/C++中do…while循环与while循环的比较
我们将了解C或C++中do-while循环和while循环的基本区别。
C语言编程中的while循环会重复执行目标语句,直到给定条件为真为止。语法如下所示。
while(condition) {
statement(s);
}这里,statement(s)可以是单个语句或语句块。条件可以是任何表达式,任何非零值都表示真。循环在条件为真的情况下迭代。
当条件变为假时,程序控制将传递到循环后紧跟的语句。
示例
#include <stdio.h>
int main () {
int a = 10; // Local variable declaration:
do { // do loop execution
printf("value of a: %d\n", a);
a = a + 1;
} while( a < 20 );
return 0;
}输出
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19
现在让我们看看do-while循环。
与for循环和while循环不同,for循环和while循环在循环顶部测试循环条件,而do...while循环在循环底部检查其条件。
do...while循环类似于while循环,不同之处在于do...while循环保证至少执行一次。
do {
statement(s);
}
while( condition );请注意,条件表达式出现在循环的末尾,因此循环中的语句(s)会在测试条件之前执行一次。
如果条件为真,则控制流跳转回do,并且循环中的语句(s)再次执行。此过程重复,直到给定条件变为假。
示例
#include <stdio.h>
int main () {
/* local variable definition */
int a = 10;
/* while loop execution */
while( a < 20 ) {
printf("value of a: %d\n", a);
a++;
}
return 0;
}输出
value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 15 value of a: 16 value of a: 17 value of a: 18 value of a: 19
因此,差异总结在下表中:
| while循环 | do-while循环 |
|---|---|
| 这是入口控制循环。它在进入循环之前检查条件 | 这是出口控制循环。在退出循环时检查条件 |
| while循环可能运行零次或多次 | do-while循环可能运行一次以上,但至少运行一次。 |
| 测试条件的变量必须在进入循环之前初始化 | 循环条件的变量也可以在循环中初始化。 |
while(condition){
//statement
} | do{
//statement
}while(condition); |
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP