while的语法是 while(条件判断){执行函数}
do while的语法是 do{执行函数}while(条件判断)
假如 用do while的时候
int i = -1;
do { cout << i << endl; } while (i >= 0);
显示结果是-1。
用while的时候
int i = -1;
while (i >= 0){ cout << i << endl; };
是没有显示结果的。
即,do{} while()的时候,是会先执行一遍命令,如果条件满足了,会继续执行;如果条件不满足,那么暂停。用while(){}的时候,先看条件满不满足,如果不满足,就不会执行。
假如我们给玩家一个提示信息,玩家只有输入yes 之后,才能跳过
#include <iostream>
using namespace std;
int main(void)
{
int i;
cout << "请问1+1等于几?" << endl;
do {
cout << "请输入正确答案: ";
cin >> i;
} while (i != 2);
cout << "输入正确,欢迎来到无限恐怖的世界" << endl;
system("pause");
return 0;
}
在这段命令里,如果你输入的不正确(数值的不等于判断是!=),他就会不停的让你输入正确的答案,即执行while范围内的,如果你输入的是正确答案,那么就跳过执行下面。
do while适合在要求必须是某一种回答(或满足条件)的情况下,使用。因为如果不满足会不断执行。
如果换成while,则程序写成:
#include <iostream>
using namespace std;
int main(void)
{
int i;
cout << "请问1+1等于几?" << endl;
cout << "请输入正确答案: ";
cin >> i;
while (i != 2) {
cout << "请输入正确答案: ";
cin >> i;
};
cout << "输入正确,欢迎来到无限恐怖的世界" << endl;
system("pause");
return 0;
}
对比而言,则在wihle前,打了一遍wihle范围内的语句。
即,do while可以少打一遍wihle范围内的语句