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

    循环结构程序设计素材.pptx

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

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

    循环结构程序设计素材.pptx

    本章内容4.1 for语句4.2 while语句4.3 do-while语句4.4 break语句和continue语句4.5 循环语句的嵌套4.6 C语言程序的调试方法4.7 案例分析与实现第1页/共44页【学习目标】掌握三种循环控制语句:for语句、while语句和do-while语句掌握break语句和continue语句能够熟练应用for语句、while语句和do-while语句进行程序设计第2页/共44页4.1 for4.1 for语句语句 一般格式为:for(循环变量赋初值;条件表达式;循环变量增值)循环体【格式说明】(1)for语句的三个表达式之间必须以分号分隔,如果省略条件表达式,则默认条件为真。(2)循环体是一条简单语句或复合语句。第3页/共44页(3)循环变量赋初值部分和循环变量增值部分可以放在for语句的括号之外,但分号不能省略,上述for语句等价于:循环变量赋初值for(;条件表达式;)循环体循环变量增值第4页/共44页【例4-14-1】编写程序求1+2+3+1001+2+3+100的和。#include void main()int sum=0,i;for(i=1;i=100;i+)sum=sum+i;printf(sum=%dn,sum);问题:1)如果求从1到100之间的所有奇数之和,上面的程序应如何修改?2)for循环执行完后,i的值为多少?第5页/共44页【例4-2】编程输出1200之间所有用3除余2、且用5除余3的数,并统计这样的数有多少个。编程思路:可以采用穷举法来编程实现。#include void main()int i,k=0;/k用来计数for(i=1;i=200;i+)if(i%3=2)&(i%5=3)printf(%4d,i);k+;printf(n数的个数为:%dn,k);第6页/共44页【例4-3】鸡兔同笼问题。已知笼中鸡和兔共100只,共有274只脚,求鸡和兔各有多少只?编程思路:可以采用穷举法来编程实现。#include void main()int a,b;/a和b分别表示鸡和兔的数量for(a=1;a100;a+)b=100-a;if(a*2+b*4=274)printf(鸡有:%d只,兔有:%d只n,a,b);第7页/共44页#include#include void main()double sum=0,pi,c;/c为当前项int n;/n为循环控制变量for(n=1;n=100;n+)c=pow(-1,n+1)/(2*n-1);/计算当前项sum=sum+c;/求和pi=4*sum;printf(pi=%lfn,pi);第8页/共44页程序改进该程序100次调用数学函数pow(),会带来一定的开销,影响程序的执行速度,能否采用其他方式来控制每一项的符号位呢?方法如下:(1)定义一个表示符号位的变量s,语句为:double s=1;。(2)由于符号位正负交替,因此,每执行一次就将符号位取反,这样可将语句c=pow(-1,n+1)/(2*n-1);改为:c=s/(2*n-1);s=-s;。第9页/共44页【例4-5】输出所有水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。例:15313+53+33#include void main()int m,bai,shi,ge;/bai、shi、ge分别对应百、十和个位for(m=100;m=999;m+)bai=m/100;shi=(m%100)/10;ge=m%10;if(m=bai*bai*bai+shi*shi*shi+ge*ge*ge)printf(%d,m);如何统计这样的数有多少个?如何统计这样的数有多少个?第10页/共44页【例4-6】有一数列2、3、5、8、,从第3项开始,每一项为其前两项之和,输出这个数列的前20项,且每行显示5个数。#include void main()int i,a1=2,a2=3,a3;printf(%6d%6d,a1,a2);for(i=3;i=20;i+)a3=a1+a2;printf(%6d,a3);a1=a2;a2=a3;if(i%5=0)printf(n);编程思路:这是一个典型的递推问题。第11页/共44页4.2 while语句while语句又叫“当”语句,其一般格式为:while(条件表达式)循环体 第12页/共44页【例4-74-7】编写程序求1+2+3+1001+2+3+100的和。#include void main()int sum=0,i=1;while(i=100)sum=sum+i;i=i+1;printf(sum=%dn,sum);【程序说明】(1)一定要在while循环之前给变量sum和i赋初值,否则,变量的值为一个随机数,会导致程序的执行结果不正确。(2)由于循环体由两条语句构成,因此,必须用 将他们括起来。第13页/共44页【例4-84-8】小红今年1212岁,她父亲比她大3030岁,编程计算:多少年后她父亲的年龄是她的年龄的2 2倍,此时她的年龄是多少?#include void main()int x=12,y=42,m;while(2*x!=y)x+;y+;m=x-12;printf(经过的年数:%d,小红的年龄:%d,小红父亲的年龄:%d n,m,x,y);第14页/共44页#include#include void main()double sum=0,pi,c=1,s=1;/c为当前项,s为符号位int n=1;while(fabs(c)=1e-6)sum=sum+c;s=-s;n+;c=s/(2*n-1);pi=4*sum;printf(pi=%lfn,pi);第15页/共44页用while语句编写的程序一般也可以采用for语句来实现,那么什么情况下更适合采用for语句?什么情况下更适合采用while语句呢?答案是:for语句最适合编写循环次数事先已经知道的循环。对于循环次数事先不能确定的情况,采用while语句实现起来会更方便。第16页/共44页4.3 do-while4.3 do-while语句语句 do-while语句又叫“直到型”循环语句,其一般格式为:do 循环体while(条件表达式);第17页/共44页【例4-104-10】编写程序求1+2+3+1001+2+3+100的和。#include void main()int sum=0,i=1;dosum=sum+i;i=i+1;while(i=100);printf(sum=%dn,sum);第18页/共44页while语句和do-while语句的区别(1)do-while语句是先执行,再判断;而while语句是先判断,再执行。(2)do-while语句中循环体至少执行一次;而while语句中,如果第一次判断时条件就不成立,则循环体一次也不会执行。对于先执行,再判断的应用场合,采用do-while语句实现起来更方便。第19页/共44页【例4-114-11】编写一个口令输入程序,让用户输入口令,直至输对为止。假设口令为100100。要求分别采用do whiledo while和whilewhile两种循环语句来实现。#include void main()int pwd;printf(请输入口令:);scanf(%d,&pwd);while(pwd!=100)printf(请输入口令:);scanf(%d,&pwd);printf(口令正确!);#include void main()int pwd;doprintf(请输入口令:);scanf(%d,&pwd);while(pwd!=100);printf(口令正确!);第20页/共44页4.4 break4.4 break语句和语句和continuecontinue语句语句 前面介绍的例子都是执行到循环条件不成立时才正常退出循环,但在实际应用中有时需要提前结束循环,这时就可以用break语句或continue语句。4.5.1 break语句第21页/共44页【例4-12】从键盘输入一个正整数,判断该数是否为素数。#includevoid main()int i,m;scanf(%d,&m);for(i=2;im-1)printf(%d是素数n,m);elseprintf(%d不是素数n,m);素数定义:除了1和自身外不能被其它自然数整除的数。问题:数学上已经证明:只要m不被2 之间的数整除,它就是素数。根据这一原理,上述程序应如何改进?第22页/共44页【例4-13】从键盘输入两个正整数m和n,求他们的最大公约数。根据最大公约数的定义,最大公约数应该在1m(或n)之间,因为是求最大的公约数,所以从大往小求。#includevoid main()int i,m,n;scanf(%d%d,&m,&n);for(i=m;i=1;i-)if(m%i=0&n%i=0)break;printf(最大公约数:%dn,i);第23页/共44页4.5.2 continue语句不终止整个循环操作,而只是提前结束本次循环,接着执行下次循环。第24页/共44页【例4-14】输出100以内不能被3整除的自然数。#includevoid main()int i;for(i=1;i=100;i+)if(i%3=0)continue;printf(%d,i);第25页/共44页4.5 4.5 循环语句的嵌套循环语句的嵌套如果一个循环语句的循环体中又包含有另一个完整的循环语句就叫做嵌套循环。第26页/共44页【例4-15】输出100到200之间的所有素数。#includevoid main()int i,m;for(m=100;m=200;m+)for(i=2;im-1)printf(%5d,m);第27页/共44页【例4-16】数学史上有一个著名的百钱买百鸡问题。已知公鸡一只5元,母鸡一只3元,小鸡3只1元,用100元钱买100只鸡,问公鸡、母鸡和小鸡各买多少?#include void main()int a,b,c;/a、b、c分别表示公鸡、母鸡和小鸡的数量for(a=0;a=19;a+)for(b=0;b=33;b+)c=100-a-b;if(5*a+3*b+c/3=100&c%3=0)printf(公鸡:%d,母鸡:%d,小鸡:%dn,a,b,c);第28页/共44页【例4-17】采用对个位、十位、百位进行穷举的方法输出所有水仙花数。#include void main(void)int i,j,k;for(i=1;i10;i+)for(j=0;j10;j+)for(k=0;k10;k+)if(i*100+j*10+k)=(i*i*i)+(j*j*j)+(k*k*k)printf(%d%d%d,i,j,k);第29页/共44页【例4-18】从键盘输入一个数n,求1!+2!+n!。#include void main()int i,j,n;long p,sum=0;/p保存阶乘,sum保存累加和scanf(%d,&n);/输入nfor(i=1;i=n;i+)/各阶乘累加p=1;for(j=1;j=i;j+)/求i!p=p*j;sum=sum+p;printf(计算结果为:%dn,sum);第30页/共44页4.6 C语言程序的调试方法程序错误总体上有两类:语法错误和逻辑错误。对于语法错误,编译时会产生错误提示信息,可以根据错误提示信息加以修改。如果程序编译、连接都没有错误,但运行结果与预期结果不一致,则需要通过调试来找出程序中存在的逻辑错误,并加以排除。调试是一个程序员必须掌握的基本技巧,对于编写大型程序非常重要。第31页/共44页调试可以借助“调试工具条(Debug)”来进行,“调试工具条”中的主要命令如图4-7所示。如果VC 6.0工具栏上没有显示“调试工具条”命令按钮,则可在菜单栏空白处右击,选中“调试(Debug)”。C语言的调试手段主要有:单步执行、运行到光标处和设置断点,这三种调试手段在实践中常常结合使用。第32页/共44页1.单步执行(Step Over)单击“单步执行(Step Over)”按钮一次,程序执行一步 第33页/共44页查看程序中变量的值程序执行的每一步都可以通过以下几种方式来查看程序中变量的值,检查程序的执行情况。把光标移动到某个变量上,停留一会就可以看到该变量的值。在窗口的左下方,会自动显示变量的值。在窗口右下方的观察窗口中输入变量名,会显示该变量的值。第34页/共44页2.运行到光标处(Run to Cursor)先在源程序中定位好光标的位置,再单击工具栏上的Run to Cursor按钮,程序将直接运行到光标所在的行,然后暂停,接下来可以通过单步执行等方式继续调试。第35页/共44页3.插入断点(Insert Breakpoint)如果想要程序每次执行到某一行时都自动暂停,以便判断程序是否有错,则可以将该行设置为“断点”。第36页/共44页设置断点的方法是:先把光标移动到需要设置断点的程序行,然后单击工具栏上的Insert Breakpoint按钮。设置断点后,单击工具栏上的Go按钮,运行至断点。第37页/共44页表4-1常用的调试命令及其含义命令名称命令名称命令含义命令含义Step OverStep Over单单步步执执行行。如如果果当当前前语语句句中中有有函函数数调调用用,则则不进入被调用函数,直接将当前语句执行完。不进入被调用函数,直接将当前语句执行完。Stop DebuggingStop Debugging停止调试。停止调试。Run to CursorRun to Cursor运运行行到到光光标标处处,需需要要先先在在源源程程序序中中定定位位好好光光标的位置。标的位置。Insert/Remove Insert/Remove BreakpointBreakpoint插入或删除断点。插入或删除断点。GoGo运运行行程程序序至至断断点点,需需要要先先设设置置好好断断点点。如如果果没有遇到断点,则运行程序至结束。没有遇到断点,则运行程序至结束。Step IntoStep Into单单步步执执行行。如如果果当当前前语语句句中中有有函函数数调调用用,则则单步进入被调用函数。单步进入被调用函数。Step OutStep Out跳出当前函数,返回到函数的调用处。跳出当前函数,返回到函数的调用处。第38页/共44页4.7案例分析与实现【例4-19】第3章例3-15介绍了“学生信息管理系统”中菜单选择和系统功能调用的实现,但该程序还需在以下两个方面进行改进:(1)当用户输入的菜单号不正确时,能够重新输入,直到输入正确的菜单号为止;(2)当用户执行完一次系统功能调用后,不应退出系统,而是可以继续操作,直至选择12号菜单时才退出系统。第39页/共44页本章小结本章主要介绍了循环语句的语法格式和设计实例,主要内容总结如下:(1)循环程序设计通常包括三部分:循环变量赋初值、循环控制条件和循环体。(2)循环语句有三种:for语句、while语句和do-while语句。他们的应用场合如下:循环次数事先明确的,一般使用for语句;循环次数不明确的,一般使用while语句或do-while语句。第40页/共44页(3)break语句用来提前结束整个循环,跳出循环体;而continue语句用来提前结束本次循环,进入下一次循环。(4)三种循环语句可以互相嵌套,构成多重循环。第41页/共44页人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。第42页/共44页第43页/共44页感谢您的欣赏第44页/共44页

    注意事项

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

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




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

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

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

    收起
    展开