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

    循环结构程序设计(精品).ppt

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

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

    循环结构程序设计(精品).ppt

    C语言程序设计教程29-Jan-231第五章第五章 循环结构程序设计循环结构程序设计 5.1 循环语句概述循环语句概述 5.2 while语句语句 5.3 do-while语句语句 5.4 for 语句语句 5.5 break、continue和和goto语句语句 5.6 循环的嵌套循环的嵌套 5.7 复合结构程序举例复合结构程序举例1 1C语言程序设计教程29-Jan-232 C语言有语言有while、do-while、和、和for语句三种循环结构语句。语句三种循环结构语句。前两个称为条件循环,即根据条件前两个称为条件循环,即根据条件来决定是否继续循环;来决定是否继续循环;forfor语句最为灵活,不仅可用于循环语句最为灵活,不仅可用于循环次数已经确定的情况,也可用于循环次次数已经确定的情况,也可用于循环次数虽不确定、但给出了循环继续条件的数虽不确定、但给出了循环继续条件的情况。情况。5.1 循环语句概述循环语句概述2 2C语言程序设计教程29-Jan-2335.2 5.2 whilewhile语句语句 while 语句是通过判断循环控制条件是否满足来决定是否继续循环的语句。一、一、while语句的一般形式语句的一般形式while (表达式)循环体语句组 表达式为循环控制条件,当表达式的值为非零(满足循环条件),就执行循环体语句,当表达式的值为零,就退出循环。3 3C语言程序设计教程29-Jan-234二、二、while语句的执行过程语句的执行过程表达式循环体语句组真假 注意:如果表达式的值一开始就为0,则语句一次也会被不执行。1、求解表达式。如果其值为真(非0),转第2步;否则转第3步。2、执行循环体语句组,然后转1。3、执行while语句的下一条。4 4C语言程序设计教程29-Jan-235mainmain()()int int n,i,u1,u2,un;n,i,u1,u2,un;printf printf(“(“nplease nplease input a data to input a data to n(n3):”);n(n3):”);scanf scanf(“%d”,&(“%d”,&n);u1=u2=1;un=u1+u2;i=3;n);u1=u2=1;un=u1+u2;i=3;while while (in(i3):”);n(n3):”);scanf scanf(“%d”,&(“%d”,&n);un=u2=1;i=3;n);un=u2=1;i=3;do do u1=u2;u2=un;un=u1+u2;u1=u2;u2=un;un=u1+u2;i+;i+;while(i=n);while(i=n);printf(“No.%d is%dn”,n,un);printf(“No.%d is%dn”,n,un);例例5.25.2:求菲波那奇数列:数列:求菲波那奇数列:数列1 1、1 1、2 2、3 3、5 5,是著名,是著名的菲波那奇数列,其递推通项公式为:的菲波那奇数列,其递推通项公式为:U U1 1 U U2 2 1 1(n n1,21,2)U Un n=U=Un-1n-1+U+Un-2n-2(n3)(n3)为求出第为求出第N N项的值,请编写程序。项的值,请编写程序。8 8C语言程序设计教程29-Jan-239注意:注意:循环控制循环控制变量变量值值在循环体内在循环体内 必须有所改变。必须有所改变。例如例如:i=1;while(i=100)putchar(*);i+;这个循环永远不会结束,因为循环控制变量i没有在循环体内被改变,i+;不属于循环语句。i+i+应该在循环体内改变应该在循环体内改变:i=1;i=1;while(i=100)while(i=100)putchar(*);putchar(*);i+;i+;9 9C语言程序设计教程29-Jan-2310 5.4 for语句 for(表达式1;表达式2;表达式3)循环体语句组 这是这是C语言最有特点的循环语句。使用语言最有特点的循环语句。使用最为灵活方便。最为灵活方便。一、一般形式:一、一般形式:1010C语言程序设计教程29-Jan-2311 1、求解表达式1。2、求解表达式2。如果其值为真 (非0),执行第3步;否则,转 至第4步。3、执行循环体语句组,并求解表 达式3,然后转向2。4 4、执行、执行forfor语句的下一条语句。语句的下一条语句。二、执行流程二、执行流程1111C语言程序设计教程29-Jan-2312例例5.3:求求n!main()long sum=1;int n;int i=1;printf(please input n:);scanf(%d,&n);for(i=1;i=n;i+)sum*=i;printf(n%d!=%ldn,n,sum);i=1,sum=1i=nsum=sum*ii+1212C语言程序设计教程29-Jan-2313三、关于三、关于for语句的说明语句的说明 1、for语句中的表达式1和表达式3可以是逗号表达式,特别是有两个循环变量参与对循环的控制时。表达式1和表达式3为逗号表达式,将使程序显得非常清晰。问题问题:求求 1/100+2/99+50/51 float s=0.0;for(i=1,j=100;i=j;i+,j-)s=s+i/j;2、for语句中的表达式2可以是逻辑表达式1313C语言程序设计教程29-Jan-23145.5 break、continue、goto语句语句 这这一一类类语语句句的的功功能能是是改改变变程程序序的的结结构构,使使程序从其所在的位置转向另一处。程序从其所在的位置转向另一处。1414C语言程序设计教程29-Jan-2315 它的作用是把流程转向所在结构之后。它的作用是把流程转向所在结构之后。在在switch分支结构中,使用分支结构中,使用break语句可以使流程跳出语句可以使流程跳出switch分支结构。分支结构。同样的同样的,在循环结构中,使用在循环结构中,使用break语句使流程跳出当前的循环层语句使流程跳出当前的循环层,转向执行该转向执行该循环结构后面的语句。循环结构后面的语句。一、一、break语句与语句与Continue语句语句 为了使循环控制更加灵活,语言提供了break语句和continue语句。1一般格式:break;continue;2功能(1)break:强行结束其所在的那一层循环。(2)continue:强行结束本次循环。对于for循环,跳过循环体其余语句,转向循环变量增量表达式的计算;对于while和do-while循环,跳过循环体其余语句,但转向循环继续条件的判定。3break和continue语句对循环控制的影响如下所示。1515C语言程序设计教程29-Jan-2316 1616C语言程序设计教程29-Jan-2317例例5.4:显示输入的字符显示输入的字符,如果按的如果按的是是Esc键键,则退出循环;则退出循环;如如果按的是果按的是Enter键键,则不做任何处理,继续输入下一个字符。则不做任何处理,继续输入下一个字符。#include“conio.h”main()char ch;for(;)ch=getch();/*字符输入函数字符输入函数*/if (ch=27)/*Esc键的键的ACSII码为码为27*/break;/*退出循环退出循环*/if(ch=13)continue;/*按的是按的是Enter:键,跳过字符输出语句键,跳过字符输出语句*/putch(ch);/*显示输入的字符显示输入的字符*/1717C语言程序设计教程29-Jan-2318二、二、goto语句语句goto被称为无条件转移语句被称为无条件转移语句。由两部分组成由两部分组成goto 标号标号;和和 标号标号:语句语句 它最大的好处就是可以一下子跳出多重循环,而break却不能做到这点,break只能退出它所在的那一层循环。4说明 (1)break能用于循环语句和switch语句中,continue只能用于循环语句中。(2 2)循环嵌套时,)循环嵌套时,breakbreak和和continuecontinue只影响包含它们的最只影响包含它们的最内层循环,与外层循环无关。内层循环,与外层循环无关。1818C语言程序设计教程29-Jan-2319 循环语句的循环体内,又包含另一个完整的循环结构,称为循环的嵌套。嵌套在循环体内的循环称语句称为内循环,外面的循环语句称为外循环。如果内循环体中又有嵌套的循环语句,称为多层循环。While、do-while、for三种循环都可以互相嵌套 5.6 循环的嵌套1919C语言程序设计教程29-Jan-2320main()int i,j,k;for(i=1;i4)break;for(j=1;j3)goto end;for(k=1;k2)break;end:printf(ni=%d,j=%d,k=%d,i,j,k);i=1,j=4,k=3输出结果是:main()int i,j,k;for(i=0;i2;i+)for(j=0;j2;j+)printf(%d%dn,i,j);例例5.5:分析以下程序的执行结果:分析以下程序的执行结果:输出结果是:00000101101011112020C语言程序设计教程29-Jan-2321 C语言允许循环语句与分支结构语句联用,即循环体内可包含一个完整的分支结构,也可以在分支结构下包含一个完整的循环体。这样的程序结构被称为复合程序结构,复合程序结构同样必须做到嵌套层次清楚。(即搞清楚分支结构的范围以及循环体的范围)5.7 复合结构程序举例复合结构程序举例2121C语言程序设计教程29-Jan-2322例5.6:输出10100之间的全部素数。所谓素数n是指除1和n之外,不能被2(n-1)之间的任何整数整除。算法设计要点:算法设计要点:(1)显然,只要设计出判断某数n是否是素数的算法,外面再套一个for循环即可。(2)判断某数n是否是素数的算法:根据素数的定义,用2sqrt(n)之间的每一个数去整除n,如果都不能被整除,则表示该数是一个素数。判断一个数是否能被另一个数整除,可通过判断它们整除的余数是否为0来实现。2222C语言程序设计教程29-Jan-2323参考源程序如下:main()main()int i=11,j,counter=0;int i=11,j,counter=0;for(;i=100;i+=2)for(;i=100;i+=2)for(j=2;j=sqrt(i);j+)for(j=2;j if(j sqrtsqrt(i)(i)printf(%6d,i);printf(%6d,i);counter+;counter+;2323C语言程序设计教程29-Jan-2324例5.7:猜数游戏。由计算机“想”一个100以内的数请你猜,如果你猜对了,则结束游戏,否则计算机给出提示,告诉你所猜的数是太大还是太小,直到你猜中为止。计算机记录你猜的次数,以此可以反映出你猜的水平。#include#include main()int magic;int guess;int counter=0;randomize();magic=random(100);2424C语言程序设计教程29-Jan-2325do printf(nguess the magic number:);scanf(%d,&guess);counter+;if(guessmagic)printf(*Wrong*too bign);else if(guessmagic)printf(*Wrong*too smalln);while(guess!=magic);printf(*Right*n);printf(guess counter is%dn,counter);getch();2525

    注意事项

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

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




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

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

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

    收起
    展开