《C++入门经典(第5版•修订版)》——6.2 while循环

    xiaoxiao2024-03-12  127

    本节书摘来自异步社区出版社《C++入门经典(第5版•修订版)》一书中的第6章,第6.2节,作者:【美】Jesse Liberty , Rogers Cadenhead,更多章节内容可以访问云栖社区“异步社区”公众号查看。

    6.2 while循环

    C++入门经典(第5版•修订版)while循环导致程序重复执行一组语句,直到开始条件为false。在关键字while后面,将一个表达式放在括号内,如果该表达式为true,就执行循环块内的语句。这些语句将重复执行,直到表达式为false。

    下面的while循环显示数字0~99:关键字while后跟一个放在括号内的表达式。这条语句没有以分号结尾,而循环内的语句是一个放在{和}之间的语句块。

    该循环包含条件表达式x < 100。只要x小于100,就执行循环体:显示x的值,并将其加1。

    x为100后,该循环将结束。

    如果没有使用递增运算符的语句x++,x的值将始终为0,而循环将永远不会结束,这称为无限循环。

    在程序清单6.1中,程序Thirteens使用一个while循环显示可被13整除且小于500的所有数字。

    程序清单6.1 Thirteens.cpp的完整源代码

    程序Thirteens演示了while循环的基本原理:检查指定的条件,只要该条件为true,就不断执行循环体。第7行检查条件“变量counter是否小于500”,如果该条件为true,就执行循环体。

    在第9行,将变量counter递增;在第10行,使用一条if语句检查counter的当前值能否被13整除,如果能,就显示它。

    当counter不再小于500时,第7行的条件将为false,这导致while循环结束,而程序将跳过第8~14行,进入第16行继续执行。

    6.2.1 退出循环

    break语句导致循环立即终止,而不等待条件为false。程序清单6.2所示的程序Fourteens 演示了该语句,这个程序显示前20个可被14整除的数。

    程序清单6.2 Fourteens.cpp的完整源代码这个程序与程序Thirteens类似,它将变量counter从0开始递增,如果它的值能被14整除(第11行),就显示它。

    第8行的while条件使用了一个不同寻常的表达式:

    由于只要条件为true,while循环就将不断执行,这个循环被设计成无限循环。

    第18行的break语句用于终止循环。使用变量multiples跟踪显示了多少个可被14整除的数,如果该变量大于19,就终止循环。

    警告:如果退出条件得不到满足,诸如while(true)等无限循环可能导致程序永远执行下去。对于自身不能结束的程序,可按Ctrl+C组合键终止执行。使用while(true)时要特别小心,并仔细测试代码。6.2.2 跳到下一次循环另一种改变循环行为的方式是使用continue语句。在循环中遇到continue语句时,将跳过余下的语句,开始下一次循环迭代。

    程序清单6.3所示的程序Fifteens显示前20个可被15整除的数,它在while循环内部使用了一条continue语句。

    程序清单6.3 Fifteens.cpp的完整源代码

    程序Fifteens使用一个while循环将变量counter递增,这与本章前面的两个程序类似。第8行的while语句导致循环不断执行,直到显示了20个可被15整除的数。

    第10行将变量counter递增。

    第11行使用一条if语句检查变量counter能否被15整除。如果不能,就执行第13行,这导致跳过循环的其他部分,跳转到第8行继续执行。

    如果变量counter能被15整除,就不执行continue语句,而执行循环中的第15~16行,即显示counter的值,并将变量multiples递增。

    正如这些循环表明的,对于同一个任务,C++经常提供了多种完成任务的方式。您可根据喜好选择使用的方式,只要编写的程序能够满足需要。

    相关资源:jd_seckill京东抢茅台插件最新版【京东飞天茅台1499抢购】Python脚本的完整安装 使用教程
    最新回复(0)