第五章 循环结构.pptVIP

  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章 循环结构 本章学习目标 在程序设计中对a于那些需要重复执行的操作应该采用循环结构完成。利用循环结构处理各类重复操作既简单又方便,循环结构又称重复结构。在C语言中有三种可以构成循环的循环语句,本章将一一进行介绍。通过本章的学习,读者应该掌握以下内容: while语句和用while语句构成的循环结构 do-while语句和用do-while语句构成的循环结构 for 语句和用for语句构成的循环结构 循环结构的嵌套 break和continue语句在循环体中的作用 5.1 while语句和用while语句构成的循环结构 5.1.1 相关知识 循环是一种对同一程序段有规律的重复,被重复执行的部分叫循环体。循环的执行要满足一定的条件(循环条件),循环的终止要达到一定的条件(终止条件)。在程序设计中要注意循环不能永远运行,必须能退出循环。循环结构的特点是:循环体执行与否及其执行次数必须视其类型与条件而定,且必须能在适当的时机退出循环。 C语言提供了while 、do-while、for三种语句实现循环,其中while循环是当型循环,先判断循环条件,再根据条件决定是否执行循环体,执行循环体的最少次数为0。 5.1.2 程序范例 1.范例一 程序5-1:求1+2+3+…+100的值。 这是一个求100个数的累加和问题。加数从1变化到100,可以看到加数是有规律变化的,后一个加数比前一个加数增1,第一个加数为1,最后一个加数为100;因此可以在循环体中使用一个整型变量i,每循环一次使i增1,一直循环到i的值超过100,用这个办法就解决了所需的加数问题;但是要特别注意的是变量i需要有一个正确的初值,这里初值应当设为0。 下一个要解决的是求累加和。设用一个变量sum存放这100个数的和值,可以先求0+1 的和并将其放在sum 中,然后把sum中的数加上2再存放在sum中,依次类推,这和人们的心算过程没有什么区别,sum代表着人们脑中累加的那个和数,不同的是心算过程由人们自己控制。在这里,sum累加的过程要放在循环中,由计算机判断所加的数是否已经超过100,加数则放在变量i中,并在循环过程中每一次增1。 以下就是求累加和的典型算法。 main( ) { int i,sum ; i=1; sum=0; /*sum的初值为0*/ while(i=100) /*当i小于或等于100时执行循环体*/    {sum=sum+i; i++;} /*在循环体中累加一次,i增1*/ printf(sum=%d\n,sum); } 程序运行后的输出结果: sum =5050 注意: (1)如果在第一次进入循环时,while后圆括号内表达式的值为0,循环一次也不执行。在本程序中,如果i的初值大于100,将使表达式i=100的值为0,循环体也不执行。 (2)在循环体中一定要有使循环趋向结束的操作,以上循环体内的语句i++使i不断增1,当i100时,循环结束。如果没有i++这条语句,则i的值始终不变,循环将无限进行。 (3)在循环体中,语句的先后位置必须符合逻辑,否则将会影响运算结果,例如,若将上例中的while循环体改写成: while (i=100) { i++ ; /*先计算i++,后计算sum的值*/ sum=sum+i; } 运行后,将输出: sum=5150 运行的过程中,少加了第一项的值1,而多加了最后一项的值101。 2.范例二 程序5-2:用π/4=1-1/3+1/5-1/7+1/9 -…公式求π的近似值,直到最后一项的绝对值小于10-4为止。 本题的基本算法也是求累加和,但比例5-1稍为复杂。与例5-1比较,不同的是: (1)用分母来控制循环次数,若用n存放分母的值,则每累加一次n应当增2,每次累加的数不是整数,而是一个实数,因此n应当定义成float类型。 (2)可以看成隔一项的加数是负数,若用t来表示相加的每一项,因此,每加一项之后,t的符号应当改变,这可用交替乘1和-1来实现。 3)从以上求π的公式来看,不能决定n的最终值应该是多少;但可以用最后一项t(1/n)的绝对值小于10-4来作为循环的结束条件。 程序如下: #include math.h /*调用fabs函数时要求包含 math.h文件*/ main( ) { int s; float n, t, pi; t=1.0;

文档评论(0)

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

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

1亿VIP精品文档

相关文档