第5章循环结构程序设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第5章循环结构程序设计课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 结构 程序设计 课件
- 资源描述:
-
1、第5章循环结构程序设计5.1 程序中需要用循环结构程序中需要用循环结构现实生活中许多问题是需要重复处理现实生活中许多问题是需要重复处理u计算一个班计算一个班5050学生每人的平均成绩学生每人的平均成绩u工厂各车间的生产日报表工厂各车间的生产日报表u全国各省市的人口统计分析全国各省市的人口统计分析u各大学招生情况统计各大学招生情况统计u全校教职工工资报表全校教职工工资报表P1155.2 用用while语句和语句和dowhile语句实现循环语句实现循环5.2.1 5.2.1 用用whilewhile语句实现循环语句实现循环5.2.2 5.2.2 用用dodowhilewhile语句实现循环语句实现
2、循环P1155.2.1 用用while语句实现循环语句实现循环P115例例5.1求求1+2+3+100,即即解题思路:解题思路:u这是这是累加问题累加问题,需要先后将,需要先后将100100个数相加个数相加u要要重复重复100100次加法运算次加法运算,可用循环实现可用循环实现u后一个数是前一个数加后一个数是前一个数加1 1而得而得u加完上一个数加完上一个数i i后,使后,使i i加加1 1可得到下一个数可得到下一个数1001nn5.2.1 用用while语句实现循环语句实现循环P115sum=sum+ii=i+1非非0 0(真)(真)i 1000 0(假)(假)i=1#include voi
3、d main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(%dn,sum);复合语句复合语句能否改为能否改为i100?i100?while语句的一般形式如下语句的一般形式如下:while(表达式表达式)语句语句循环体循环体 while语句的一般形式如下语句的一般形式如下:while(表达式表达式)语句语句“真真”时时执行循环体语句执行循环体语句“假假”时不执行时不执行循环条件表达式循环条件表达式whilewhile循环的特点是:循环的特点是:先判断条件表达式先判断条件表达式后执行循环体语句后执行循环体语句语句语句非非0(0(真真)表达式表达
4、式0(0(假假)5.2.2 用用dowhile语句实现循环语句实现循环P117do-while语句的特点:先无条件地执语句的特点:先无条件地执行循环体,然后判断循环条件是否成立行循环体,然后判断循环条件是否成立一般形式为一般形式为:do 循环体循环体语句语句 while(表达式表达式);表达式表达式非非0(0(真真)0(0(假假)循环体语句循环体语句当表达式的值为真当表达式的值为真循环体语句循环体语句5.2.2 用用dowhile语句实现循环语句实现循环P117 例例5.2 用用dowhile循环循环求求:1+2+3+100,即即1001nn5.2.2 用用dowhile语句实现循环语句实现循
5、环P117解题思路解题思路:i 100非非0(0(真真)0(0(假假)sum=sum+ii=i+1sum=0i=1 sum=0;i=1;do sum=sum+i;i+;while(i=100);i 100sum=sum+ii=i+1sum=0,i=1#include void main()int i,sum=0;i=1;do sum=sum+i;i+;while(i=100);printf(“%dn”,sum);5050例例5.3 5.3 募集慈善基金募集慈善基金1000010000元,有若干人元,有若干人捐款,每输入一个人的捐款数后,计算机捐款,每输入一个人的捐款数后,计算机就输出当时的捐款
6、总和。当某一次输入捐就输出当时的捐款总和。当某一次输入捐款数后,总和达到或超过款数后,总和达到或超过1000010000元时,即元时,即宣告结束,输出最后的累加值。宣告结束,输出最后的累加值。解题思路:解题思路:u设计一个循环结构,在其中输入捐款数,设计一个循环结构,在其中输入捐款数,求出累加值,然后检查此时的累加值是否求出累加值,然后检查此时的累加值是否达到或超过预定值,如果达到了,就结束达到或超过预定值,如果达到了,就结束循环操作循环操作#include void main()float amount,sum=0;do scanf(%f,&amount);sum=sum+amount;wh
7、ile(sum10000);printf(sum=%9.2fn,sum);循环循环执行的条件执行的条件1000 1850 1500 2600 2500 1200 sum=10650.005.3 用用for语句实现循环语句实现循环P1195.3.1 for语句的一般形式和执行过程语句的一般形式和执行过程5.3.2 for循环程序举例循环程序举例forfor语句不仅可以用于循环次数已经确语句不仅可以用于循环次数已经确定的情况,还可以用于循环次数不确定定的情况,还可以用于循环次数不确定而只给出循环结束条件的情况而只给出循环结束条件的情况forfor语句完全可以代替语句完全可以代替whilewhile
8、语句语句5.3.1 for语句的一般形式和语句的一般形式和执行过程执行过程P120for语句的一般形式为语句的一般形式为 for(表达式表达式1;表达式表达式2;表达式表达式3)语句语句设置初始条件,只执行一次。设置初始条件,只执行一次。可以为零个、一个或多个变可以为零个、一个或多个变量设置初值量设置初值执行执行5.3.1 for语句的一般形式和语句的一般形式和执行过程执行过程P120for语句的一般形式为语句的一般形式为 for(表达式表达式1;表达式表达式2;表达式表达式3)语句语句循环条件表达式,用来判定是否继续循循环条件表达式,用来判定是否继续循环。在每次执行循环体前先执行此表达环。在
9、每次执行循环体前先执行此表达式,决定是否继续执行循环式,决定是否继续执行循环5.3.1 for语句的一般形式和语句的一般形式和执行过程执行过程P120for语句的一般形式为语句的一般形式为 for(表达式表达式1;表达式表达式2;表达式表达式3)语句语句作为循环的调整器,例如作为循环的调整器,例如使循环变量增值,它是在使循环变量增值,它是在执行完循环体后才进行的执行完循环体后才进行的forfor语句的执行过程语句的执行过程:(1)(1)先求解表达式先求解表达式1 1(2)(2)求解表达式求解表达式2 2,若,若其其值为真,执行循环体,值为真,执行循环体,然后执行下面第然后执行下面第(3)(3)
10、步。若为假,则结束循环,步。若为假,则结束循环,转到第转到第(5)(5)步步(3)(3)求解表达式求解表达式3 3(4)(4)转回上面步骤转回上面步骤(2)(2)继续执行继续执行(5)(5)循环结束,执行循环结束,执行forfor语句下面的一个语句语句下面的一个语句表达式表达式2非非0(0(真真)0(0(假假)求解表达式求解表达式3 3求解表达式求解表达式1语句语句for(i=1;i=100;i+)sum=sum+i;等价于等价于i=1;while(i=100)sum=sum+i;i+;用用forfor语句语句更更简单、方便简单、方便5.3.2 for循环程序举例循环程序举例例例5.4 在象棋
11、的棋盘第在象棋的棋盘第1 1个格子中放个格子中放1 1粒粒麦子,第麦子,第2 2个格子中放个格子中放2 2粒麦子,第粒麦子,第3 3个个格子中放格子中放4 4粒麦子,以后按此比例每一粒麦子,以后按此比例每一格加一倍,一直放到第格加一倍,一直放到第6464格格(象棋的棋象棋的棋盘是盘是8 88=648=64格格),共放多少?共放多少?P120麦子总粒数麦子总粒数=1+2+22+23+2631m3=1.42108粒粒#include void main()double p=1,t=1,v;int i;for(i=1;i64;i+)p=p*2;t=t+p;v=t/1.42e8;printf(“tot
12、al=%en”,t);printf(“volume=%en”,v);p p是当前一个格子中麦子粒数是当前一个格子中麦子粒数t t是当前麦子总粒数是当前麦子总粒数v v是总体积是总体积total=1.844674e+019volnme=1.299066e+011#include void main()double p=1,t=1,v;int i;for(i=1;i64;i+)p=p*2;t=t+p;v=t/1.42e8;printf(“total=%en”,t);printf(“volume=%en”,v);改为改为i=1;i=64;i+i=1;i=64;i+会怎样?会怎样?#include v
13、oid main()double p=1,t=1,v;int i;for(i=1;i64;i+)p=p*2;t=t+p;v=t/1.42e8;printf(“total=%en”,t);printf(“volume=%en”,v);改为改为i=0;i64;i+i=0;i64;i+会怎样?会怎样?例例5.5 人口增长预测。据人口增长预测。据20052005年末统计,年末统计,我国人口为我国人口为130756130756万人,如果人口的年增万人,如果人口的年增长率为长率为1%1%,请计算到哪一年中国总人口超,请计算到哪一年中国总人口超过过1515亿。亿。解题思路:解题思路:u假设原来人口为假设原来
14、人口为p p0 0 ,则一年后的人口,则一年后的人口为为:p=pp=p0 0*(1+r)(1+r),r r是年增长率是年增长率u每算出一年的人口后就检查是否每算出一年的人口后就检查是否达到或超过达到或超过1515亿亿。如果未达到或超过,再计算下一年的人口,如果未达到或超过,再计算下一年的人口,直到某一年的人口达到或超过直到某一年的人口达到或超过1515亿为止亿为止#include void main()double p=1.30756e9,r=0.01;int y;for(y=2006;p1.5e9;y+)p=p*(1+r);printf(year=%d,p=%en,y-1,p);原来的值原来
15、的值1 1年后的值年后的值year=2019,p=1.503007e+009注意不是注意不是y y20192019年达到年达到15.03007亿人口亿人口#include void main()double p=1.30756e9,r=0.01;int y;for(y=2006;p1.5e9;y+)p=p*(1+r);printf(year=%d,p=%en,y-1,p);计算计算10001000年后的人口年后的人口y=3006y=3006,p=2.767941e+01330063006年达到年达到276794276794亿人口亿人口#include void main()double p=1
16、.30756e9,r=0.01;int y;for(y=2006;p1.5e9;y+)p=p*(1+r);printf(year=%d,p=%en,y-1,p);迭代公式迭代公式5.4 循环的嵌套循环的嵌套P124一个循环体内又包含另一个完整的循环一个循环体内又包含另一个完整的循环结构,称为结构,称为循环的嵌套循环的嵌套内嵌的循环中还可以嵌套循环,这就是内嵌的循环中还可以嵌套循环,这就是多层循环多层循环3 3种循环种循环(while(while循环、循环、dodowhilewhile循环和循环和forfor循环循环)可以互相嵌套可以互相嵌套5.5 提前结束循环提前结束循环5.5.1 5.5.1
17、 用用breakbreak语句提前退出循环语句提前退出循环5.5.2 5.5.2 用用continuecontinue语句提前结束本次循环语句提前结束本次循环P1245.5.1 用用break语句提前退出循环语句提前退出循环在执行循环语句时,在正常情况下只要在执行循环语句时,在正常情况下只要满足给定的循环条件,就应当一次一次满足给定的循环条件,就应当一次一次地执行循环体,直到不满足给定的循环地执行循环体,直到不满足给定的循环条件为止。但是有些情况下,需要提前条件为止。但是有些情况下,需要提前结束循环。结束循环。P124 例例5.6 5.6 统计各班级学生的平均成绩。已统计各班级学生的平均成绩。
展开阅读全文