首页 理论教育 C语言程序设计中的循环嵌套及执行流程

C语言程序设计中的循环嵌套及执行流程

时间:2023-10-20 理论教育 版权反馈
【摘要】:在一个循环结构中,又包含另一个完整的循环结构称为循环嵌套。内嵌循环的循环体中还可以出现新的循环,这就构成了嵌套循环。循环嵌套的执行:外层循环体每执行一次,内层循环都要整体循环一次。循环嵌套的执行流程如图6.4 所示三种循环语句for、while、do-while 可以互相嵌套自由组合。但要注意的是,各循环必须完整,相互之间绝不允许交叉。例如,下面这种形式是不允许的:图6.4循环嵌套的执行流程求1!

C语言程序设计中的循环嵌套及执行流程

在一个循环结构中,又包含另一个完整的循环结构称为循环嵌套。内嵌循环的循环体中还可以出现新的循环,这就构成了嵌套循环。

C语言提供的for语句、while语句和do-while语句,不但可以嵌套循环语句自身,而且还可以相互嵌套,所以在C语言中,循环的嵌套有多种形式。

循环嵌套的执行:外层循环体每执行一次,内层循环都要整体循环一次(从初值开始,一直执行到不满足循环条件为止)。循环嵌套的执行流程如图6.4 所示(以两个while语句的嵌套为例)

三种循环语句for、while、do-while 可以互相嵌套自由组合。但要注意的是,各循环必须完整,相互之间绝不允许交叉。例如,下面这种形式是不允许的:

图6.4 循环嵌套的执行流程

【例6.7】求1!+2!+3!+4!+5!+ 6!。

分析:

本题要求6 个数相加,6 个数相加是一个典型的累加问题,可用如下程序段实现:

但这6 个数不是一个简单的值,而是一个数的阶乘,所以s=s+i;语句中的i 应改为i!,i!又是一个典型的累乘。可用以下程序段来实现:

显然(1)的循环体每执行一次,即每加一个数,都会对应一个数的阶乘,(2)必须完整(从循环初值一直执行到终值)地执行一次。因此本题要用循环的嵌套来实现,而且累加是外循环、累乘是内循环,内外层循环联系通过外层循环的循环变量i 来实现。

程序代码:

运行结果:

程序讲解:(www.xing528.com)

本例程序中,外层循环体每执行一次,即每加一个数,会对应一个数的阶乘,且累加是外循环、累乘是内循环,内外层循环联系通过外层循环的循环变量i 来实现。

【例6.8】编写程序,以下三角的方式打印出九九乘法表。

分析:

乘法表的特点是:

(1)共有9 行;

(2)每行的式子数很有规律,即属于第几行,就有几个式子;

(3)对于每一个式子,既与所在行数有关,又与所在行的具体位置有关。

我们先看输出其中一行的情况:

假设要输出的行为第i 行,对于该行的i 个式子,可用以下程序段输出:

如果给上述程序段加一个外循环,使i 从1 到9 发生变化,那么,每执行一次内循环,乘法表中的一行也就被输出了。

程序代码:

运行结果:

程序讲解:

在本例程序中,采用嵌套循环。外层循环控制输出行数,内层循环输出表中的一行,最后"printf("\n");"换行控制,使下一次的式子输出在新行上。

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

我要反馈