关于循环的一个有趣的事情是,如果循环条件最初是错误的,而循环将不会执行在所有。有时,我们知道我们需要一个循环来执行至少一次,如在显示菜单时。为了促进这一点,C++提供了do-while循环:
做
声明;
同时(条件);
在一个做循环语句的语句中,循环总是至少执行一次。语句已被执行后,循环检查条件。如果条件是真的,中央处理器跳回到上面的做的循环,并再次执行。
如果选择变量在做块内部声明,则在执行块终止时将被销毁,而在执行条件执行之前发生了。但我们需要在有条件的条件下使用变量,因此,选择变量必须在“做块”之外声明。
一般来说,使用一个做而循环,而不是一个循环,当你故意要循环执行至少一次,因为它使这个假设明确-然而,这并不是一个大的交易无论哪种方式。
做
声明;
同时(条件);
在一个做循环语句的语句中,循环总是至少执行一次。语句已被执行后,循环检查条件。如果条件是真的,中央处理器跳回到上面的做的循环,并再次执行。
这里有一个例子,使用一个做的循环,以显示一个菜单给用户,等待用户作出一个有效的选择:
#include <iostream>
int main()
{
// selection must be declared outside do/while loop
int selection;
do
{
std::cout << "Please make a selection: \n";
std::cout << "1) Addition\n";
std::cout << "2) Subtraction\n";
std::cout << "3) Multiplication\n";
std::cout << "4) Division\n";
std::cin >> selection;
}
while (selection != 1 && selection != 2 &&
selection != 3 && selection != 4);
// do something with selection here
// such as a switch statement
std::cout << "You selected option #" << selection << "\n";
return 0;
}
上面的例子中的一个有趣的事情是,选择变量必须在做块以外的声明。你认为那是什么?
如果选择变量在做块内部声明,则在执行块终止时将被销毁,而在执行条件执行之前发生了。但我们需要在有条件的条件下使用变量,因此,选择变量必须在“做块”之外声明。
一般来说,使用一个做而循环,而不是一个循环,当你故意要循环执行至少一次,因为它使这个假设明确-然而,这并不是一个大的交易无论哪种方式。