C++ do/while 循环
do/while 循环
do/while 循环是 while 循环的一种变体。
这种循环会在检查条件是否为真之前先执行一次代码块,然后只要条件为真,就会重复循环。
语法
do {
// 需要执行的代码块
}
while (condition);
注意:while 条件后面的分号 ; 是必需的!
Do/While 示例
下面的例子使用了 do/while 循环。即使条件为假,循环也至少会执行一次,因为在测试条件之前已经执行了代码块:
实例
int i = 0;
do {
cout << i << "\n";
i++;
}
while (i < 5);
注意:不要忘记增加条件中使用的变量 (i++),否则循环将永远不会结束!
条件从一开始就为假
在上面的例子中,条件 i < 5 一开始为真,所以循环执行了多次。但如果条件从一开始就为假呢?
在下面的例子中,变量 i 从 10 开始,因此条件 i < 5 立即为假——但 do/while 循环仍然运行一次:
实例
int i = 10;
do {
cout << "i is " << i << "\n";
i++;
} while (i < 5);
总结
即使条件已经为假,do/while 循环也总是至少运行一次。这与常规的 while 循环不同,后者如果条件一开始为假,则会完全跳过循环。
这种行为使得 do/while 在您想确保某件事至少发生一次时非常有用,例如显示一条消息或询问用户输入。
实际示例:用户输入
此例不断要求用户输入一个正数。当用户输入 0 或负数时,循环停止:
实例
int number;
do {
cout << "请输入一个正数:";
cin >> number;
} while (number > 0);