第5章循环结构程序设计.ppt
《第5章循环结构程序设计.ppt》由会员分享,可在线阅读,更多相关《第5章循环结构程序设计.ppt(31页珍藏版)》请在课桌文档上搜索。
1、第5章 循环结构程序设计,5.1 循环结构的控制语句5.2 循环的嵌套5.3 break语句和continue语句5.4 应用举例,5.1循环结构的控制语句,5.1.1 while循环语句1.什么是while循环while即当的时候,也就是当满足条件时就循环执行指定的代码。2while 语句的形式:while(表达式)循环体;计算机首先判断表达式中的值,若值非0,则执行循环体中的语句,一旦语句执行完毕,表达式中的值将会被重新计算,如果还是为非0,语句将会再次执行,这样一直重复下去,直至表达式中的值为0为止。其具体执行流程如图5-1所示。,表达式,非0,0,语句,3说明1)while循环的特点是
2、:先判断表达式,后执行语句。2)表达式同if语句后的表达式一样,可以是任何类型的表达式。3)while循环常用于循环次数不固定,根据是否满足某个条件决定循环与否的情况。4循环体中的语句多于一句时,用一对 括起。,【例5-1】用while循环语句求100以内所有奇数的累计和。分析:此题可以用“1+3+99”来求解,但显然很繁琐。现在换个思路来考虑:首先设置一个累计器sum,其初值为0,反复利用sum=sum+i来计算(i依次取1、3、99),编程只要采取以下3个步骤即可:(1)将i的初值置为1;(2)每执行1次“sum=sum+i”后,i增2;(3)当i增到大于99时,停止计算。此时sum的值就
3、是100以内所有奇数的累计和。,#include main()int i=1,sum=0;while(i=99)sum=sum+i;i=i+2;printf(sum=%dn,sum);运行结果:sum=2500,不能少,复合语句,5.1.2 dowhile循环语句1.什么是dowhile循环do-while语句常称为“直到型”循环语句,其特点是先执行一次循环体的操作,然后再判断条件是否满足。2dowhile 语句的形式:do 循环体;while(表达式);计算机首先执行循环体中的语句,然后判断表达式中的值,若值非0,则语句将会再次执行,这样一直重复下去,直至表达式中的值为0为止。其具体执行流程
4、如图5-2所示。,表达式,非0,0,循环体语句,3说明1)while循环结构是先判断后执行;dowhile循环结构是先执行后判断。当初始情况不满足循环条件时,while循环一次都不会执行,而dowhile循环不管任何情况都至少执行一次。因而,当第一次条件为真时,while、dowhile等价;第一次条件为假时,二者不同。2)dowhile循环结构表达式后面有分号,while循环结构表达式后面没有分号,编程时一定要注意。,【例5-2】用dowhile循环语句编程求123.10的累乘积。分析:首先设置一个累乘器m,其初值为1,反复利用m=mi来计算(i依次取1、2、10),编程只要采取以下3个步骤
5、即可:(1)将i的初值置为1;(2)每执行1次“m=mi”后,i增1;(3)当i增到大于10时,停止计算。此时m的值就是123.10的累乘积。,源程序:#includemain()int i=1;long m=1;do m=m*i;i+;while(i=10);printf(%ldn,m);,运行结果:3628800,必须赋值为1,后面的分号不可少,5.1.3 for循环语句1.什么是for循环for循环也是C语言中一种处理循环的编程结构,for语句使用最为灵活,它完全可以取代 while 语句,应用在循环次数已知的场合尤为方便。,2for语句的形式:for(表达式1;表达式2;表达式3)循环
6、体;具体来说,for语句的执行过程如下:(1)先求解表达式1;(2)求解表达式2,若为0(假),则结束循环,并转到(5);(3)若表达式2为非0(真),则执行循环体,然后求解循环表达式3;(4)转回(2);(5)执行for语句下面的一个语句。其具体执行流程如图5-3所示:,3说明1)for语句最简单的应用形式也是最容易理解的形式如下:for(循环变量赋初值;循环条件;循环变量增量)循环体;2)三个表达式都允许省略,但要注意省略表达式后,分号间隔符不能省略。例如:for(;)表示不设初值,不判断条件(始终认为表达式2为真),循环变量不变化,无终止执行循环体的语句。3)while、dowhile和
7、for语句可以用来处理同一问题,一般情况下它们可以互相代替。,【例5-3】用for语句求1-3+5-7+-99。分析:原题就是计算1+(-3)+5+(-7)+(-99)的累计和,还是一个连加问题。加数符号的交叉变化,可在程序中增加一个符号控制变量j,j的初值设置为1,并在每次循环中对j都乘以负1,用j改变相加项的正、负。,源程序:#include main()int i,j,sum=0;j=1;for(i=1;i=99;i+=2)sum=sum+i*j;j=j*-1;printf(1-3+5-7+-99=%dn,sum);,运行结果:1-3+5-7+-99=-50由此例可见,在循环次数已知的场
8、合下,for语句将循环体所用的控制都放在循环顶部统一表示,显得更简洁和直观。,j的初值设置为1,在每次循环中对j都乘以负1,5.2 循环的嵌套,1.什么是循环的嵌套一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多重循环。上述三种循环(while循环,do-while循环和for循环)语句之间可以相互嵌套使用。,2循环嵌套的形式:例如,下面几种都是合法的嵌套形式:,(1)while()while(),(2)while()do while();,(3)do while()while();,(4)for()for(),3说明在循环嵌套时,外循环必须完全包含
9、内循环,即不允许循环的交叉嵌套。【例5-4】百钱买百鸡,公鸡5元一只,母鸡3元一只,小鸡1元三只;一百元钱买一百只鸡,且公鸡、母鸡、小鸡都要有,编程求解所有购鸡方案。分析:设公鸡、母鸡、小鸡各为i、j、k,列出方程为:i+j+k=100 3i+2j+1/3*k=100三个未知数,两个方程,此题有若干个组解。计算机求解此类问题,采用试凑法(也称枚举法)来实现,即将可能出现的各种情况一一罗列测试,判断是否是问题真正的解。此题可以采用二重循环,列举出该问题所有可能的解进行筛选。,源程序:#include void main()int i,j,k,n=0;for(i=1;i=20;i+)for(j=1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构 程序设计

链接地址:https://www.desk33.com/p-747615.html