C语言程序设计基础课件第5讲循环结构.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言程序设计基础课件第5讲循环结构.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 基础 课件 循环 结构
- 资源描述:
-
1、循环结构循环结构 在人们所需处理的运算任务中在人们所需处理的运算任务中,常常需要用到循环结构常常需要用到循环结构,所谓所谓循环是指对同一个程序段重复执行若干次。被重复执行的部分循环是指对同一个程序段重复执行若干次。被重复执行的部分(由若干语句组成)称为由若干语句组成)称为循环体循环体。循环结构又称重复结构。循环结构又称重复结构。1 while 循环语句循环语句 2 dowhile 循环语句循环语句 3 for 循环语句循环语句 4 循环嵌套及注意的问题循环嵌套及注意的问题 循环结构循环结构 问题问题输出整数输出整数1-10输出整数输出整数1-100输出整数输出整数1-nprintf(“%d”,
2、1);printf(“%d”,2);printf(“%d”,n);i=1;printf(“%d”,i);i+;printf(“%d”,i);i+;printf(“%d”,i);i+;i=1;while(i=10)printf(“%d”,i);i+;循环结构循环结构 语法:语法:while(表达式表达式)循环体循环体说明说明(1)(1)whilewhile是关键字。是关键字。(2)(2)循环体是多条语句循环体是多条语句,用用。非非0 while(表达式表达式)循环体循环体0循环结构循环结构 非非0 while(表达式表达式)循环体循环体0i=1;while(i=10);printf(“%d”,i
3、);i+;循环条件循环条件改变循环条件改变循环条件思考:如果没有思考:如果没有i+,程序如何执行?程序如何执行?循环结构循环结构 10 求求sum=i i=1sum=0sumsum+1sum sum+2sum sum+3 .sum sum+10sum=sum+?1找循环不变式找循环不变式2考虑问号考虑问号 3循环条件循环条件int sum=0,i=1;while(i=10)sum=sum+i;i+;循环结构循环结构 例例1 main()int i=0;while(i=10)printf(“*”);i+;例例2main()int i=1,sum=0;while(i=100)sum=sum+i;i
4、+;printf(“sum=%d”,sum);循环结构循环结构 例例3 3一个班有学生一个班有学生5050人,统计该班学生语文成绩中高于人,统计该班学生语文成绩中高于8080分的人数分的人数。把统计结果在屏幕上输出。把统计结果在屏幕上输出。int m=1,n=0;float x;while(m=80)n+;/*累加大于累加大于80 分的人数分的人数*/m+;printf(“大于大于80分的学生人数为分的学生人数为%d个个n“,n);分析:成绩要通过键盘输入,设为分析:成绩要通过键盘输入,设为x,x,高于高于8080分的人数为分的人数为n,n,总人数为总人数为m m。从键盘输入从键盘输入5 5个
5、学生的语文、数学、英语个学生的语文、数学、英语3 3门成绩门成绩,输出输出每个学生的总分与平均成绩。每个学生的总分与平均成绩。循环结构循环结构 从键盘输入从键盘输入5 5个学生的语文、数学、英语个学生的语文、数学、英语3 3门成绩门成绩,输出输出每个学生的总分与平均成绩每个学生的总分与平均成绩。int j=1;float a,b,c,sum,aver;while(j=5)printf(“输入第输入第%d 个学生三门成绩个学生三门成绩n”,j);scanf(“%f%f%f“,&a,&b,&c);sum=a+b+c;aver=sum/3;printf(“第第%d个学生总分个学生总分=%f,平均平均
6、=%f”,j,sum,aver);j+;循环结构循环结构 1如何确定循环条件?如何确定循环条件?题目中有明确的提示!从键盘输入题目中有明确的提示!从键盘输入5个个学生的学生的2 如何确定循环体?如何确定循环体?重复执行的语句!重复执行的语句!从键盘输入从键盘输入5个学生的语文、数学、英语个学生的语文、数学、英语3门成绩门成绩,输出输出每个学生的总分与平均成绩。每个学生的总分与平均成绩。等价于:等价于:(1)输入)输入1个学生的语文、数学、英语个学生的语文、数学、英语3门成绩;门成绩;(2)计算总分与平均分)计算总分与平均分 (3)输出总分与平均成绩。)输出总分与平均成绩。循环结构循环结构#in
7、clude main()int n,i=1,sum=1;printf(“please input nn”)scanf(“%d”,&n)while(i=n)sum=sum*i;i+;printf(“sum=%d”,sum);例例4 以下程序从键盘输入以下程序从键盘输入5,结果是多少?结果是多少?循环结构循环结构 注意注意:先执行循环体,再判断循环条件,先执行循环体,再判断循环条件,循环至少执行一次。循环至少执行一次。while()()后的后的分号不能省略。分号不能省略。非非0 while(表达式表达式)循环体循环体0i=1;while(i=10)printf(“%d”,i);i+;dowhile
8、(i=10);循环结构循环结构 例例1:main()int i=1;do printf(“*”);i+;while(i=10);例例2:main()int i=1,s=0;do s=s+i;i+=2;while(i=100);printf(“s=%d”,s);循环结构循环结构 统计某班级中计算机课程中成绩高于统计某班级中计算机课程中成绩高于95分的学生人数。分的学生人数。假定(假定(10人)人)1 1 算法分析算法分析 将该班每人计算机课程成绩输入计算机,每输入一个成绩,将该班每人计算机课程成绩输入计算机,每输入一个成绩,就与就与95进行比较,如果大于进行比较,如果大于95,计数器加,计数器加
9、1,直到输完,直到输完10个人成个人成绩为止。最后显示出统计的人数。绩为止。最后显示出统计的人数。2 2 数据结构数据结构 用用fs存放输入的数据,用变量存放输入的数据,用变量j记录输入数据的个数,数据输记录输入数据的个数,数据输完成时完成时j=10,用变用变i统计高于统计高于95分学生的人数。当成绩输完后,分学生的人数。当成绩输完后,输出输出i 累加后的结果。累加后的结果。循环结构循环结构 int i=0,j=1;float fs;while(j95)i+;j+;printf(“95分人为分人为%d“,i);循环结构循环结构 int i=0,j=1;float fs;do printf(“输
10、入第输入第%d 个数个数”,j)scanf(%f,&fs);if(fs 95)i+;j+;while(j=10);printf(“95分人为分人为%d“,i);循环结构循环结构 while和和do-whilewhile(表达式表达式)循环体循环体do 循环体循环体while(表达式表达式);非非0 while(表达式表达式)循环体循环体0非非0 while(表达式表达式)循环体循环体0先判断先判断后循环后循环先循环先循环后判断后判断循环结构循环结构 一般情况一般情况两者差不多两者差不多-进入循环结构执行若干次后结束循环进入循环结构执行若干次后结束循环;极端情况极端情况(1)死循环死循环(2)无
11、法进入循环无法进入循环i=100,while(i10)循环结构循环结构 语法:语法:for(for(表达式表达式1;1;表达式表达式2;2;表达式表达式3)3)循环体循环体 执行过程执行过程:1 先运算表达式先运算表达式12 再运算表达式再运算表达式2,真真执行循环体执行循环体 3 再运算表达式再运算表达式3,判断循环条件,判断循环条件 表达式表达式1循环体循环体表达式表达式3表达式表达式2TF若表达式若表达式2为假为假不执行循环体不执行循环体循环结构循环结构 while和和for表达式表达式1循环体循环体表达式表达式3表达式表达式2TFfor(表达式表达式1;表达式表达式2;表达式表达式3)
12、循环体循环体 while(表达式表达式)循环体循环体非非0 while(表达式表达式)循环体循环体0如何用如何用while写写for结构结构?while(?)?表达式;表达式;while(表达式表达式)循环体;循环体;表达式表达式3;结论:结论:for语句书写结构更清晰语句书写结构更清晰循环结构循环结构 1 1循环结构循环结构 for(表达式表达式1;表达式表达式2;表达式表达式3)循循 环环 体体 控制循环是否结束改变循环条件改变循环条件 1、表达式、表达式1可以是逗号表达式,可省略可以是逗号表达式,可省略,但其后的分号不能省;但其后的分号不能省;2、表达式、表达式2也可省略,此时循环为无穷
13、循环;也可省略,此时循环为无穷循环;3、表达式、表达式3也可省略。也可省略。sum=0;for(i=1;i=10;i+)sum=sum+i;int sum=0,i=1;while(i=10)sum=sum+i;i+;sum=0;for(i=1;i=10;i+)sum=sum+i;i+;结果是什么?循环结构循环结构 统计某班级中计算机课程中考试成绩高于统计某班级中计算机课程中考试成绩高于8080分的人数分的人数(10(10人),用人),用for for 循环循环语句写该程序语句写该程序。int fs,j,i=0;for(j=1;j80)i+;printf(“i=%dn“,i);循环结构循环结构
14、例例2:说明以下循环语句的循环次数。:说明以下循环语句的循环次数。(1)for(i=0;i=0;i-);答:答:(3)(3)i=1;while(in)+i;答:答:(4)(4)i=4;do i-;while(i0);答:答:(5)(5)m=5;while(mj;i+,j-);答:答:n-1次n+1次n-1次1次0次0次循环结构循环结构 求数列求数列 s=1+2+3.n程序段:程序段:s=0;for(i=1;1=n;i+)s=s+i;算法算法:循环的条件循环的条件:i=n重复做的重复做的:s=s+t;t+(加法运算加法运算)循环的控制循环的控制:i+等价等价t+循环结构循环结构 求数列求数列 s
展开阅读全文