while
和 do while
都是循环结构中的两种常见类型。
while
循环结构先检查循环条件是否为真,如果为真,则执行循环体中的语句。如果循环条件为假,则跳过循环体中的语句,并继续执行后续代码。换句话说,while
循环结构可能不会执行循环体中的语句。
例如,下面的代码使用 while
循环来计算数字 1 到 10 的总和
int i = 1;
int sum = 0;
while (i <= 10) {
sum += i;
i++;
}
cout << "Sum of numbers 1 to 10 is " << sum << endl;
do while
循环结构也执行循环体中的语句,但它首先执行循环体中的语句,然后再检查循环条件是否为真。如果循环条件为真,则继续执行循环体中的语句。如果循环条件为假,则退出循环,继续执行后续代码。换句话说,do while
循环结构保证循环体中的语句至少会被执行一次。
例如,下面的代码使用 do while
循环来要求用户输入密码,直到密码输入正确为止:
string password;
do {
cout << "Enter password: ";
cin >> password;
} while (password != "1234");
cout << "Access granted." << endl;
因此,while
和 do while
的区别在于循环条件的检查时间点。while
循环结构先检查循环条件是否为真,而 do while
循环结构先执行循环体中的语句。