循环工作时如何做到这一点?



所以我在课堂上对循环感到非常困惑,但我们必须在我们的一个家庭作业中使用它。 在摆弄和调整了我从教科书中编译的程序后,我设法以我想要的方式执行了一个 do while 循环,但我真的不明白它是如何工作的。 有人可以向我解释一下,以便我可以从头开始自己完成吗? 谢谢

do
{
cout << "enter number of items : ";
cin >> itemsnum;
if (itemsnum < 1 || itemsnum > 5)
{
cout << "nyou must order at least one item and not more than five itemsnplease reenter the amount of items ordered : ";
cout << endl;
}
else
break;
} 
while (1);

因此,在代码的这一部分中,用户必须输入至少一个项目数,并且不超过 5 个。 如果输入的数据不符合条件,程序将循环并提示用户再次输入金额。我理解"做"部分,但我不理解那里的"同时(1)"。还有一件事,在"其他"之下是休息。这部分是什么意思?谢谢

这是构建循环控制结构的一种相当懒惰的方式。

do {   } while(1);

表面上是一个无限循环。为了退出原本无限的循环,break用于退出循环。

就个人而言,我甚至不喜欢程序中无限循环的出现。他们确实习惯于由于错误的重构而随着时间的推移变得无限。我更喜欢这样的东西

do {
// use continue to go round again, or break to exit immediately
} while (0); // if control reaches here, the loop finishes.

这三件事只是编写无限循环的不同方式:

do { } while (1)
while (1) { }
for (;;) { }

循环由break(或returnabort()exit()std::terminate()throw等)语句终止。

大多数人不会使用do/while进行无限循环。 其他方式较少打字,并指出它在顶部是一个无限循环的事实。

您还可以在C++中使用true而不是1。 在布尔(真/假)上下文中,它们是等效的。

在 C 和 C++ 0 中被认为是假的,任何其他数值都是真的,尤其是 1。这与 CPU 如何执行比较的基本机制有关。

所以 while(1) 与 while(true) 相同。 所以你的do{X}while(1)意味着做X,直到1是假的,或者换句话说,永远做X。

break表示退出此循环。

相关内容

最新更新