欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    循环结构程序设计精品文稿.ppt

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

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

    循环结构程序设计精品文稿.ppt

    循环结构程序设计第1页,本讲稿共39页5.1循环的概念 计算机解题过程中,经常遇到要编制循环结构,即大量问题均 离不开循环结构,(有人说:没有循环结构等于没有计算机)如求:1+2+3+.+100 求:sinx=x-x3/3!+x5/5!-x7/7!+几乎所有数学函数均需展开成多项式,求其近似值,均离不开循环结构.第2页,本讲稿共39页循环结构准备部分工作部分控制部分出循环结束修改部分未结束左边是先执行后判断右边是先判断后执行准备部分控制部分工作部分修改部分出循环未结束结束第3页,本讲稿共39页组成组成作用作用准备部分完成赋初值,(如累加变量清零,累乘变量置1等),设置循环次数工作部分 反复多次被执行的操作修改部分保证循环做有规律的变化控制部分可按已设置的循环次数或控制循环条件结束循环第4页,本讲稿共39页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页,本讲稿共39页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的数值第6页,本讲稿共39页while 与 do while区别void main()void main()int sum=0,i;int sum=0,i;scanf(%d,&i);scanf(%d,&i);while(i=10)do sum+=i;sum+=i;i+;i+;while(i10,左边程序循环一次都不执行;而右边程序执行一次第7页,本讲稿共39页循环语句注意事项n循环体如果包括一个以上的语句需要加n循环体中应该有可以使循环趋于结束的语句n注意初始条件的值n循环可以提前预知循环次数(例5.1、5.2),有时也无法判断循环次数(例5.4、5.5),需要选取好控制部分。第8页,本讲稿共39页例:用 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第9页,本讲稿共39页例:计算T=1+1/2+1/3+1/n(教材5.6)#include void main()float t=0,a;int i=1,n;scanf(%d,&n);while(i =n)a=1.0/I;t=t+a;i+;printf(t=%f n,t);第10页,本讲稿共39页 逗号运算符及其表达式逗号运算符:,逗号表达式格式:,计算逗号表达式值是按自左至右的顺序,先计算的值,再计算的值,.而逗号表达式值是最后一个的值.示例:a=1,b=2,c=3,d=a+b 表达式值为3第11页,本讲稿共39页关于逗号表达式的说明1.其优先级最低,结合性是自左至右2.注意逗号表达式构成的语句和非逗号表达式构成的语句区别。a=1;b=2;和a=1,b=2;3.第12页,本讲稿共39页#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第13页,本讲稿共39页for语句构成循环格式:for (;)语句表达式1称为初值表达式表达式2称为控制表达式表达式3称为步增表达式-均是C的任何一种表达式 求表达式1 表达式表达式2值非值非0?语句求表达式3Yfor 语句的下一语句N第14页,本讲稿共39页利用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第15页,本讲稿共39页利用for语句改写例5.1(2)#include void main()int i,sum;for(i=1,sum=0;i=100;i+)sum+=i;printf(sum=%dn,sum);第16页,本讲稿共39页利用for语句改写例5.1(3)#include void main()int i,sum;for(i=1,sum=0;i=100;sum+=i,i+);printf(sum=%dn,sum);第17页,本讲稿共39页关于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+;第18页,本讲稿共39页关于for语句说明4.省略表达式2 for(i=1;i+)等价于 for(i=1;1;i+)构成一个判断条件永远为真的循环,这样的循环是不会结束的,称为死循环,为了防止死循环的发生,要采用别的方式退出循环。5.for的后面循环体语句可有可无,可以是一个语句;可以是 多个语句,但要用 括起来。6.for中表达式都可以省略,但括号以及分号不可以省略。第19页,本讲稿共39页5.3循环的嵌套在一个循环结构中的循环体中又出现了另外一个循环结构,称之为循环的嵌套。while()/外循环.for (;)/内循环第20页,本讲稿共39页内、外层循环可由任何循环语句构成for(;)dowhile()for(;)while()循环只可以嵌套不可以交叉。不允许:第21页,本讲稿共39页例:打印输出九九乘法表(教材例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);第22页,本讲稿共39页例求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);第23页,本讲稿共39页例求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);第24页,本讲稿共39页5.4break和continuenbreak-退出switch语句或循环(提供一种非正常出口)ncontinue-提早结束本次循环,而不是终止循环.while(表达式1)if(表达式2)continue;if(表达式3)break;出循环 break continue N 表达式1非0?Y第25页,本讲稿共39页break和continue示例#include void main()int k,sum=0;for(k=1;k200)break;printf(sum=%d,sum);第26页,本讲稿共39页break和continue示例void main()int i;for(i=1;i6;i+)if(i%21)printf(#);continue;printf(*);第27页,本讲稿共39页循环综合示例(求解两个数字的最大公约数和最小公倍数)#include void main()int a,b,c,m,n;scanf(%d%d,&m,&n);a=m;b=n;while(a%b!=0)if(ba)c=a;a=b;b=c else a=a-b;printf(最大公约数是%d最小公倍数是%dn,b,m*n/b);第28页,本讲稿共39页 求: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);第29页,本讲稿共39页例:判断数字是否为素数n判断数字m为质数方法:nm 除以 2m-1 (按定义),之间每个整数都除不尽nm 除以 2 m/2,之间每个整数都除不尽nm 除以 2 m的平方根,之间每个整数都除不尽 第30页,本讲稿共39页#include#inclue void main()int i,j,m,c=0;for(i=3;i100;i+)m=sqrt(i);for(j=2;j=m+1)printf(%d ,i);c=c+1;printf(n c=%d n,c);第31页,本讲稿共39页例:输出斐波那契数列前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;第32页,本讲稿共39页例:输出斐波那契数列前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;第33页,本讲稿共39页例.教材习题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);第34页,本讲稿共39页求定积分求定积分 不是用解析法求准确值,而是用近似法(等效矩形法、等效梯形法、辛普生公式(Sipson)#include#include void main()int i,n;double a,b,h,s=0,f,x;scanf(%lf,%lf,%d,&a,&b,&n);h=(b-a)/n;x=a;f=sin(a);for(i=1;in;i+)s=s+f*h;x=x+h;f=sin(x);printf(s=%f n,s);宽为h;高为sin(x)a b第35页,本讲稿共39页等效梯形法:#include#include void main()int i,n;double a,b,h,s,f;scanf(%lf,%lf,%d,&a,&b,&n);h=(b-a)/n;s=sin(a);for(i=1;i=n;i+)f=sin(a+i*h);s=s+2*f;s=(s-sin(b)*h/2;printf(s=%f n,s);宽为h;上底:sin(a+i*h)下底:sin(a+(i+1)*h)a b第36页,本讲稿共39页方程求根方程求根:当无法用解析法当无法用解析法,只可用近似法只可用近似法,求根的近似值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);a (a+b)/2 b第37页,本讲稿共39页牛顿迭代法 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);x1 x0y0第38页,本讲稿共39页作业 课后习题第8题课后习题第9题第39页,本讲稿共39页

    注意事项

    本文(循环结构程序设计精品文稿.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开