欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    《循环结构程序设计》PPT课件.ppt

    • 资源ID:5508021       资源大小:236.99KB        全文页数:39页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《循环结构程序设计》PPT课件.ppt

    第五章 循环结构程序设计,主讲:田志刚联系电话,5.1循环的概念,计算机解题过程中,经常遇到要编制循环结构,即大量问题均 离不开循环结构,(有人说:没有循环结构等于没有计算机)如求:1+2+3+.+100 求:sinx=x-x3/3!+x5/5!-x7/7!+几乎所有数学函数均需展开成多项式,求其近似值,均离不开循环结构.,循环结构,5.2循环结构的实现,5.2.1 while 语句构成当型循环 格式:while(表达式)语句 例 求1+2+3+-+100的值(教材例子5.1)#include void main()int i=1,sum=0;/*准备部分*/while(i=100)/*控制部分*/sum=sum+i;/*工作部分*/i=i+1;/*修改部分*/printf(sum=%d n,sum);printf(i=%d n,i);/退出循环时候i的数值,5.2.1 do.while 语句构成直到型循环 格式:do 语句 while(表达式)例 求1+2+3+-+100的值(教材例子5.1)#include void main()int i=1,sum=0;/*准备部分*/do sum=sum+i;/*工作部分*/i=i+1;/*修改部分*/while(i=100);/*控制部分*/printf(sum=%d n,sum);printf(i=%d n,i);/退出循环时候i的数值,while 与 do while区别,void main()void main()int sum=0,i;int sum=0,i;scanf(%d,而右边程序执行一次,循环语句注意事项,循环体如果包括一个以上的语句需要加循环体中应该有可以使循环趋于结束的语句注意初始条件的值循环可以提前预知循环次数(例5.1、5.2),有时也无法判断循环次数(例5.4、5.5),需要选取好控制部分。,例:用 0.1mm 厚纸对折,问对折多少次后,其厚度超过地球直径(12742公里),#include void main()int n=1;float ans;/*n 对折次数,ans ans=1e-7;存放对折后的厚度*/while(ans=12742)n=n+1;ans=ans*2;printf(n=%d,ans=%f n,n,ans);运行结果:n=37,ans=13743.895347,例:计算T=1+1/2+1/3+1/n(教材5.6),#include void main()float t=0,a;int i=1,n;scanf(%d,逗号运算符及其表达式,逗号运算符:,逗号表达式格式:,计算逗号表达式值是按自左至右的顺序,先计算的值,再计算的值,.而逗号表达式值是最后一个的值.示例:a=1,b=2,c=3,d=a+b 表达式值为3,关于逗号表达式的说明,1.其优先级最低,结合性是自左至右2.注意逗号表达式构成的语句和非逗号表达式构成的语句区别。a=1;b=2;和a=1,b=2;3.,#include void main()int a,b,c,d;a=(c=100,d=200,c+d);/注意有无括号的区别 b=(c=d=0,c+50);/注意有无括号的区别 printf(%d,%d,%d,%dn,a,b,c,d);运行结果:300,50,0,0,for语句构成循环,格式:for(;)语句表达式1称为初值表达式表达式2称为控制表达式表达式3称为步增表达式-均是C的任何一种表达式,利用for语句改写例5.1(1),#include void main()int I,sum=0;for(i=1;i=100;i+)sum+=i;printf(sum=%dn,sum);运行结果:sum=5050,利用for语句改写例5.1(2),#include void main()int i,sum;for(i=1,sum=0;i=100;i+)sum+=i;printf(sum=%dn,sum);,利用for语句改写例5.1(3),#include void main()int i,sum;for(i=1,sum=0;i=100;sum+=i,i+);printf(sum=%dn,sum);,关于for语句说明,1.for语句使用灵活是功能最为强大的循环语句。它可以构成当型或直到型循环。2.for语句中任何一个表达式均可省略。3.例如上例省略表达式1i=1,sum=0;for(;i=100;sum+=i,i+);4.例如上例省略表达式3 for(i=1,sum=0;i=100;)sum+=i,i+;,关于for语句说明,4.省略表达式2 for(i=1;i+)等价于 for(i=1;1;i+)构成一个判断条件永远为真的循环,这样的循环是不会结束的,称为死循环,为了防止死循环的发生,要采用别的方式退出循环。5.for的后面循环体语句可有可无,可以是一个语句;可以是 多个语句,但要用 括起来。6.for中表达式都可以省略,但括号以及分号不可以省略。,5.3循环的嵌套,在一个循环结构中的循环体中又出现了另外一个循环结构,称之为循环的嵌套。while()/外循环.for(;)/内循环,内、外层循环可由任何循环语句构成,for(;)dowhile()for(;)while()循环只可以嵌套不可以交叉。,例:打印输出九九乘法表(教材例5.8),#include void main()int i,j;for(i=1;i=9;i+)for(j=1;j=9;j+)printf(%d*%d=%d,i,j,i*j);printf(n);,例求1!+3!+5!+7!教材例5.9,#include void main()int jc,k,m;float sum=0.0;for(m=1;m=7;m=m+2)jc=1;for(k=1;k=m;k+)jc=jc*k;sum=sum+jc;printf(sum=%fn,sum);,例求1!+3!+5!+7!(改写),#include void main()int jc,k,m;float sum=0.0;jc=1;for(m=1;m=7;m=m+2)sum=sum+jc;jc=jc*(m+1)*(m+2);printf(sum=%fn,sum);,5.4break和continue,break-退出switch语句或循环(提供一种非正常出口)continue-提早结束本次循环,而不是终止循环.while(表达式1)if(表达式2)continue;if(表达式3)break;,break和continue示例,#include void main()int k,sum=0;for(k=1;k200)break;printf(sum=%d,sum);,break和continue示例,void main()int i;for(i=1;i6;i+)if(i%21)printf(#);continue;printf(*);,循环综合示例(求解两个数字的最大公约数和最小公倍数),#include void main()int a,b,c,m,n;scanf(%d%d,求:A,B,使 AB-BA=45 成立,#include void main()int a,b,k,ans=45;for(a=1;a10;a+)for(b=0;b10;b+)k=(10*a+b)-(b*10+a);if(k=ans)printf(a=%d,b=%d n,a,b);,例:判断数字是否为素数,判断数字m为质数方法:m 除以 2m-1(按定义),之间每个整数都除不尽m 除以 2 m/2,之间每个整数都除不尽m 除以 2 m的平方根,之间每个整数都除不尽,#include#inclue void main()int i,j,m,c=0;for(i=3;i=m+1)printf(%d,i);c=c+1;printf(n c=%d n,c);,例:输出斐波那契数列前40项F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2),#include void main()long int f1=1,f2=1,f3;int i=3;printf(%10ldn,f1);printf(%10ldn,f2);while(i=40)f3=f1+f2;printf(%10ld n,f3);i+;f1=f2;f2=f3;,例:输出斐波那契数列前40项F(1)=1,F(2)=1,F(n)=F(n-1)+F(n-2),#include void main()long int f1=1,f2=1;int i=1;while(i=20)printf(%10ld%10ld n,f1,f2);f1=f1+f2;f2=f1+f2;i=i+1;,例.教材习题5.7,#include void main()int i,j,k,n;for(n=100;n1000;n+)i=n/100;j=n/10-i*10;k=n%10;if(i*100+j*10+k=i*i*i+j*j*j+k*k*k)printf(%d,n);printf(n);,求定积分 不是用解析法求准确值,而是用近似法(等效矩形法、等效梯形法、辛普生公式(Sipson),#include#include void main()int i,n;double a,b,h,s=0,f,x;scanf(%lf,%lf,%d,等效梯形法:,#include#include void main()int i,n;double a,b,h,s,f;scanf(%lf,%lf,%d,方程求根:当无法用解析法,只可用近似法,求根的近似值f(x)=x3-x-1 在区间(1,1.5)内有实根 精确到 10-5,#include#include void main()double a=1,b=1.5,x0,y,y0;while(abs(a-b)1e-5)x0=(a+b)/2;y=a*a*a-a-1;y0=x0*x0*x0-x0-1;if(y*y0 0)a=x0;else b=x0;printf(x=%lf n a);,牛顿迭代法 x(n+1)=x(n)f(xn)/f(xn),#include#include void main()double x0,y0,x1,y1;x1=1.5;do x0=x1;y0=x0*x0*x0-x0-1;y1=3*x0*x0-1;x1=x0-y0/y1;while(fabs(x1-x0)1e-5);printf(x=%f n,x0);,作业,课后习题第8题课后习题第9题,

    注意事项

    本文(《循环结构程序设计》PPT课件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开