本节书摘来自异步社区出版社《c++入门经典(第5版•修订版)》一书中的第6章,第6.3节,作者:【美】jesse liberty , rogers cadenhead,更多章节内容可以访问云栖社区“异步社区”公众号查看。
c++入门经典(第5版•修订版)
while循环执行循环语句前检查条件表达式,如果条件不可能为true,循环语句就不会执行。
使用do-while语句将在循环末尾检查条件。
请看下面的循环:
仅当x < 50时这个循环的条件才为true。由于x初始值为60,因此这种条件不可能满足。
虽然如此,循环体还是执行了一次,并显示x的值60。这是因为do-while循环第一次不考虑条件,到循环语句执行完后才考虑。
do-while循环的循环体至少会执行一次。
在程序清单6.4中,程序badger使用这种循环将一个单词显示用户指定的次数。
程序清单6.4 badger.cpp的完整源代码
运行时,该程序提出问题“how many badgers?”,并按用户指定的次数显示单词badger。
在第7行,提示用户输入要显示的次数,这个值存储在int变量badger中。在do-while循环中,检查条件前就进入了循环体,这确保循环体至少执行一次。第11行显示单词“badger”,第12行将计数器减1,而第13行检查条件。如果条件为true,就跳转到循环体开头(第11行)继续执行,否则跳转到第15行继续执行。
在do-while循环中,continue和break的工作原理与在while循环中完全相同,while循环和do-while循环的唯一差别在于何时检查条件。