首页 理论教育 C51单片机高效入门:循环嵌套与完全数求解

C51单片机高效入门:循环嵌套与完全数求解

时间:2023-11-17 理论教育 版权反馈
【摘要】:一个循环体内又完整地包含了另一个循环,称为循环嵌套,前面介绍的3种循环都可以互相嵌套,这就是多重循环。但要注意循环层次要清楚,不能交叉。求2~10000以内的完全数。

C51单片机高效入门:循环嵌套与完全数求解

一个循环体内又完整地包含了另一个循环,称为循环嵌套,前面介绍的3种循环都可以互相嵌套,这就是多重循环。但要注意循环层次要清楚,不能交叉。

【例4-16】求2~10000以内的完全数。

完全数:一个数如果恰好等于它的因子(除开自身)和,该数称为完全数。例如,6的因子为1、2、3,而且1+2+3,因此6是“完全数。

程序如下:

程序包含了一个两重循环j。其中外层循环变量为i,控制数据的取值范围、求出因子和,如i等于因子和s,则输出这个数。内层循环变量为j,内层循环的循环体只有一条语句用于求对应每一个i所有的因子和(s)(当i能被j整除时,j就是i的一个因子)。

几种循环的比较:

前面介绍的各种循环语句,虽然格式不同,但它们有着共同的特点,都实用于循环结构的程序设计。在程序设计的过程中,都具有以下三条内容:

(1)循环体的设计。(www.xing528.com)

(2)循环条件的设计。

(3)循环入口的初始化工作。

从前面所举的几个例子中可以看出,循环体语句的正确执行,依赖于循环的条件,循环的条件依赖循环入口时的初始化工作,一环紧扣一环。

循环体中安排哪些语句,要从分析具体问题入手,前后呼应,合乎逻辑。并且能确保循环能够终止。而且结论正确。

While,do-while语句的使用,它的循环条件的改变,要靠程序员在循环体中去有意安排某些语句。而for语句却不必。使用for语句时,若在循环体中想去改变循环控制变量,以期改变循环条件,无异于画蛇添足。

While循环,do-while循环适用于未知循环的次数的场合,而for循环适用于已知循环次数的场合。使用哪一种循环又依具体的情况而定。

凡是能用for循环的场合,都能用While,do-while循环实现,反之则未必。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈