什么是真实生活应用程序,以及#while while循环'

时间:2017-08-24 11:50:07

标签: c++ loops

我理解while循环是如何工作的,它首先运行代码然后检查条件。

&while; while while循环'是什么?还有现实生活中的例子吗?

谢谢

3 个答案:

答案 0 :(得分:2)

你几乎在第一行回答了你自己的问题。但是,使用像Python这样没有do-while循环的语言来查看备选方案是有益的。主要区别在于while循环在执行正文之前检查其条件,而do-while循环在正文之后检查条件。 Python的一般语法不允许第二种,因为没有办法(我真的可以想到)将一行代码附加到缩进块的 end

一个典型示例是验证输入值,您要在其中读取第一个值,根据某些条件对其进行验证,然后在验证失败时继续请求新值。在伪Python中,它可能看起来像

do:
    x = input("Enter yes or no")
    while x not in ("yes", "no")

但是,Python 没有具有任何此类构造,因此您要么重复输入并使用while循环:

x = input("Yes or no")
while x not in ("yes", "no"):
    x = input("Yes or no")

或者你写一个带有显式if语句的“无限”循环来突破:

while True:
    x = input("Yes or no")
    if x in ("yes", "no"):
        break

答案 1 :(得分:1)

真实世界的例子,

去洗手间:

DO { Check_Door_Lock(); } WHILE (WAIT_WHILE_DOOR_IS_LOCKED());

循环完成后,WAIT_WHILE_DOOR_IS_LOCKED()返回一个false值,因此它不再被锁定,因此,整个循环结束。

答案 2 :(得分:1)

基本上while和do-while之间的唯一区别是while循环在进入循环之前检查循环测试条件,do-while循环在循环执行后检查循环测试条件,两者都有效地具有相同的结果,除了do-while保证至少执行一次循环。

如果您希望代码将某种菜单输出到屏幕以便保证菜单显示一次,那么Do-while循环有时很有用。

示例:

int data;

do
{
   cout << "Enter 0 to quit: ";
   cin >> data;
   cout << endl << endl;
} while (data != 0);

你也可以使用while循环完成同样的事情。唯一的区别是您必须将变量初始化为一个不会阻止输入while循环的值。

int data = 1;

while (data != 0)
{
   cout << "Enter 0 to quit: ";
   cin >> data;
   cout << endl << endl;
}