do while循环是出口条件循环。这意味着这种循环将首先执行循环体,然后再判定测试表达式,决定是否应继续执行循环。如果条件为false,则循环终止;否则,进入新一轮的执行和测试。这样的循环通常至少执行一次,因为其程序必须经过循环体后才能达到测试条件。下面是其句法:
do
body
while(测试表达式)
下图总结了do while循环的程序流程。
通常,入口条件循环比出口条件好,因为入口条件循环在循环开始之前对条件进行检查。
有时,do while测试更合理。例如,请求用户输入时,程序必须先获得输入,然后对它进行测试。
程序清单5.15演示了如何在这种情况下使用do while。
//5.15
#if 1
#include<iostream>
using namespace std;
int main()
{
cout << "Enter numbers in the range 1-10 to find ";
cout << "my favorite number\n";
int n;
do
{
cin >> n;
} while (n != 7);
cout << "Yes, 7 is my favorite.\n";
system("pause");
return 0;
}
#endif