第5 循环结构程序设计《c语言程序设计第三版》电子教案.pptVIP

第5 循环结构程序设计《c语言程序设计第三版》电子教案.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5 循环结构程序设计《c语言程序设计第三版》电子教案

【例5-10】计算100以内的所有素数之和。 【分析】 从定义来判断,除了1和本身之外,没有其他因子,所以程序的任务是依次判断1到100之间所有的数是否为素数,如果是,将其累加。最后输出累加的和。 需要嵌套的循环,外循环控制产生1到100的数的循环,循环变量的值也正是内循环需要判断的对象;内循环首先判断当前的循环变量的值是否为素数,是则累加。循环结束后输出累加的和。 【例5-10】计算100以内的所有素数之和。 #include stdio.h void main() { int i,j,s=0; for(i=2;i=100;i++) /* 设置循环产生2~100之间的数 */ { for(j=2;j=i-1;j++) /* 用2 ~ i-1的数去除i */ if(i%j==0) break; /* 有能整除i的j,说明i不是素数,退出 */ if(ji-1) /* i是素数,因为2 ~ i-1没有i的因子 */ s=s+i; } printf(%d\n,s); } 以上程序中j=i-1也可以改成j=i/2或j=sqrt(i)。 7 2 ~ 6 7%2 == 0 ?否 7%3 == 0 ?否 7%4 == 0 ?否 7%5 == 0 ?否 7%6 == 0 ?否 7是素数 25 2 ~ 24 25%2==0?否 25%3==0?否 25%4==0?否 25%5==0?是 25不是素数 i j=2 ~ i-1 i%j==0 判断方法与实现 【例5-11】计算Fibonacci数列前20项的和。 Fibonacci数列的特点是:前两个数为1和1,从第3个数开始,每个数都是前面两个数的和,即: F1=1,F2=1 (n=1或2) Fn=Fn-1+Fn-2 (n=3) 很显然,Fibonacci数列依次为:1,1,2,3,5,8,13,21,34… 【例5-11】计算Fibonacci数列前20项的和。 #include stdio.h void main() { int f1,f2,f; int i; long s; f1=f2=1; s=f1+f2; for(i=1;i=18;i++) { f=f1+f2; /*得到一个新数*/ s=s+f; f1=f2; /*重置两个数*/ f2=f; } printf(%ld\n,s); } 循环结构是面向过程编程中三种结构中最重要的一种结构,学好它是学好这门课程的关键。本章介绍的内容主要包括: 三种循环结构while、do-while和for循环(goto也可以构成循环,通常不用) break语句、continue语句和goto语句 while循环和do-while循环的条件判断一个在前,一个在后,为导致循环体执行的次数不同,需要密切注意。 for循环为标准的功能很强的循环,通常用于可控制的循环,对于程序的维护和阅读都是最佳选择。 break语句和continue语句可以改变循环运行的方向,主要用于特殊情况的处理,但不能控制if和goto构成的循环。 循环结构的实质是重复执行一系列语句,这种重复性是在循环条件的有效控制之下完成的。程序的关键在于如何控制循环的条件,在恰当的时机由“真”变“假”而退出循环。 求1-2+3-4+5-6+7+…+99-100。 输出所有的三位水仙花数。所谓水仙花数是指所有位的数字的立方之和等于该数,例如: 153=13+53+33 编写程序输出下面的图形。 1 23 456 7890 掌握循环结构的基本特点 掌握3种循环语句:for语句、while语句和do-while语句 学会利用for语句、while语句和do-while语句设计简单的循环程序 了解goto语句构成的循环 5.1 循环的基本概念 【问题】如何计算1+2+3+4+…+100 s = s + i; /* 投入i 枚硬币到s中*/ i = i + 1; /* 计算下次投币数 */ 5.1.1 方法的探索 s=0; /* 盒子开始为空*/ i=1; /* 第1次投币*/ while(i=100) /* 100次投币*/ { s=s+i; /* 投入i 枚硬币到s中*/ i=i+1; /* 计算下次投币数 */ } 5.1.2 循环结构语句 for 循环 while 循环 do-while 循环 5.2 while循环 while循环通过while语句实现。while循环又称为“当型”循环。 一般格式为: while (表达式) 语句 其中,括号后面的语句可以是一条语句,也可以是复合语句。它们都称为循环体。 while语句的执行过程为:

文档评论(0)

peili2018 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档