第5章循环结构程序设计精选文档.ppt
《第5章循环结构程序设计精选文档.ppt》由会员分享,可在线阅读,更多相关《第5章循环结构程序设计精选文档.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第5 5章章 循环结构程序设循环结构程序设计计本讲稿第一页,共二十六页北京邮电大学出版社北京邮电大学出版社5.1 while语句语句1.While语句的一般形式:while(表达式)语句;2.while语句的执行过程:说明:1表达式部分可以是任意类型的表达式。2语句部分为循环体,表示在循环条件成立时要反复执行的部分操作,可称为循环体语句。3设计循环结构的程序时要注意让循环体执行若干次数后能够结束循环,避免出现死循环。本讲稿第二页,共二十六页北京邮电大学出版社北京邮电大学出版社例例5.1 5.1 分析以下程序,写出程序的执行结果。分析以下程序,写出程序的执行结果。#includemain()i
2、nt i,s;s=0;i=1;while(i=3)s=s+i;i+;printf(s=%d,i=%dn,s,i);分析循环执行的过程:循环语句while执行前 s=0,i=1循环条件成立第一次执行循环体后 s=1,i=2循环条件仍成立第二次执行循环体后 s=3,i=3循环条件仍成立第三次执行循环体后 s=6,i=4循环条件不成立循环语句结束,执行下一条语句,输出结果:s=6,i=4与循环控制有关的三个要素与循环控制有关的三个要素:变量赋初值;判断循环条件;对变量取值的修正。本讲稿第三页,共二十六页北京邮电大学出版社北京邮电大学出版社例例5.2 5.2 输输入入全全班班5050个个学学生生某某门
3、门课课程程的的成成绩绩,求求他他们们的的平均分。平均分。#includemain()int x,n=1;float sum=0,average;while(n=50)scanf(%d,&x);sum=sum+x;n+;average=sum/50;printf(averag=%5.2fn,average);这是一个比较典型的迭代算法。所谓迭代就是不断用变量的新值来取代变量的旧值,或由变量的旧值不断递推出变量的新值的过程。迭代算法的关键因素:迭代算法的关键因素:1.初值初值 2.迭代方式迭代方式 3.迭代条件迭代条件本讲稿第四页,共二十六页北京邮电大学出版社北京邮电大学出版社例例5.3 5.3
4、任意输入十个整数,找出其中的最大值。任意输入十个整数,找出其中的最大值。在十个数中找最大值,可以使用“打擂台”的方式,即先将输入的第一个数作擂主,其它的数作为挑战者,擂主与挑战者之间要进行9次的较量,每次较量后的胜者将成为新擂主#includeinclude main()main()int x,max,i;int x,max,i;scanf(scanf(“%d%d”,&max);/*,&max);/*将输入的第一个数作擂主将输入的第一个数作擂主*/*/i=0;i=0;while(i9)/*while(i9)/*进行进行9 9次比较次比较*/*/scanf(%d,&x);scanf(%d,&x)
5、;if(maxx)if(maxx)max=x;/*max=x;/*挑战者胜,成为新擂主挑战者胜,成为新擂主*/*/i+;i+;printf(max=%dn,max);printf(max=%dn,max);本讲稿第五页,共二十六页北京邮电大学出版社北京邮电大学出版社例例5.4 5.4 输入两个任意的正整数,求它们的最大公约数。输入两个任意的正整数,求它们的最大公约数。#includeincludemain()main()int m,n,r,t;int m,n,r,t;scanf(%d%d,&m,&n);scanf(%d%d,&m,&n);if(mn)if(mn)t=m;m=n;n=t;t=m;
6、m=n;n=t;r=m%n;r=m%n;while(r!=0)while(r!=0)m=n;m=n;n=r;n=r;r=m%n;r=m%n;printf(%dn,n);printf(%dn,n);求最大公约数可以使用“辗转相除”的方法,例如:被除数m 除数n 余数r82 24 1024 10 410 4 24 2 0这仍是一个迭代算法,请找出其中的三个要素:1.初值2.迭代公式3.迭代条件本讲稿第六页,共二十六页北京邮电大学出版社北京邮电大学出版社5.2 do-while 语句语句1 1dodowhilewhile语句的一般形式:语句的一般形式:do语句;while(表达式);2.dowhil
7、e语句的执行过程:例例5.5 5.5 分析以下程序,写出程序的执行结果。分析以下程序,写出程序的执行结果。#includeincludemain()main()int i,s;int i,s;s=0;s=0;i=1;i=1;do do s=s+i;s=s+i;i+;i+;while(i=3)while(i=3)printf(s=%d,i=%dn,s,i);printf(s=%d,i=%dn,s,i);本讲稿第七页,共二十六页北京邮电大学出版社北京邮电大学出版社例例5.65.6设有一个分数数列设有一个分数数列2/1,3/2,5/3,8/5,13/8,21/13,2/1,3/2,5/3,8/5,1
8、3/8,21/13,编程求编程求出这个数列的前出这个数列的前2020项之和。项之和。#includeinclude main()main()int a=1,b=2,i=1;int a=1,b=2,i=1;float sum=0;float sum=0;do do sum=(float)b/a;sum=(float)b/a;b=a+b;b=a+b;a=b-a;a=b-a;i+;i+;while(i=20);while(i=20);printf(sum=%fn,sum);printf(sum=%fn,sum);分析这个分数数列可以发现,后一项的分母等于前一项的分子,后一项的分子等于前一项的分子加分
9、母。设当前项的分子为b,分母为a,各项的和为sum,i为循环计数。可找出迭代的三个要素:初值:i=1,a=1,b=2,sum=0;迭代条件:i=20迭代公式:sum=sum+b/a,b=a+b,a=b-a,i+;本讲稿第八页,共二十六页北京邮电大学出版社北京邮电大学出版社例例5.7 输入全班学生某门课程的成绩,求他们的平均分,学生人输入全班学生某门课程的成绩,求他们的平均分,学生人数不确定,当输入负数时表示输入过程的结束。数不确定,当输入负数时表示输入过程的结束。#includeincludemain()main()int x,n=0;int x,n=0;float sum=0,average
10、;float sum=0,average;scanf(%d,&x);scanf(%d,&x);do do sum=sum+(float)x;sum=sum+(float)x;n+;n+;scanf(%d,&x);scanf(%d,&x);while(x=0);while(x=0);average=sum/n;average=sum/n;printf(averag=%5.2fn,average);printf(averag=%5.2fn,average);本讲稿第九页,共二十六页北京邮电大学出版社北京邮电大学出版社5.3 for语句语句1.for语句的一般形式为:for(表达式1;表达式2;表达
11、式3)语句;2.for语句的执行过程:说明:说明:三个表达式一般起以下作用:表达式1,用于对循环变量赋初值;表达式2,用于表示循环的条件;表达式3,用于对循环变量进行修正本讲稿第十页,共二十六页北京邮电大学出版社北京邮电大学出版社例例5.8 5.8 分分析析以以下下程程序序,写写出出程程序序的执行结果。的执行结果。#includemain()int i,s;s=0;for(i=1;i=3;i+)s=s+i;printf(s=%d,i=%dn,s,i);执行结果为:s=6,i=4例例5.9 5.9 求求n!n!。#includemain()long p=1;int n,i,scanf(%d,&n
12、);for(i=1;i=n;i+)p=p*i;printf(%ldn,p);本讲稿第十一页,共二十六页北京邮电大学出版社北京邮电大学出版社例例5.10 输出输出Fibonacci数列数列1,1,2,3,5,8,13的前的前20项,要求每输出项,要求每输出5项后换行。项后换行。分析数列可以发现以下规律,即前两项为1,从第三项开始,每一项都为前两项之和。设变量f表示要求的当前项,变量f1和f2依次表示当前项的前两项。可以找出这个迭代问题的三个要素:初值:i=3,f1=1,f2=1;迭代条件:i=20迭代公式:f=f1+f2,f1=f2,f2=f,i+;#includeincludemain()ma
13、in()int f1,f2,f,i;int f1,f2,f,i;f1=f2=1;f1=f2=1;printf(%10d%10d,f1,f2);printf(%10d%10d,f1,f2);for(i=3;i=20;i+)for(i=3;i1000)if(p1000)break;break;printf(%dn,n);printf(%dn,n);本讲稿第十四页,共二十六页北京邮电大学出版社北京邮电大学出版社例例5.13 判断一个任意输入的正整数判断一个任意输入的正整数m是否为素数。是否为素数。#include stdio.h#include stdio.h#include#include mai
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第5章 循环结构程序设计精选文档 循环 结构 程序设计 精选 文档
限制150内