第四章_循环结构程序设计.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文档。上传文档
查看更多
第四章_循环结构程序设计

第四章 循环结构程序设计 学习目标 掌握while语句的语法规则、执行过程和使用方法; 掌握do~while语句的语法规则、执行过程和使用方法; 掌握for语句的语法规则、执行过程和使用方法; 理解循环结构的嵌套; 掌握循环的中途退出的表示方法; 掌握循环结构程序设计方法及典型算法。 本章要点 三种循环语句的基本形式 循环语句的使用规则 循环程序设计常用的算法 4.1 循环结构概述 循环结构是结构化程序设计中一种很重要的结构,它和顺序结构、选择结构共同作为各种复杂程序的基本结构。其特点是:在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。C语言提供了多种循环语句,可以组成各种不同形式的循环结构。 4.1 循环结构概述 【例4-1】从键盘上随机的输入10个数,输出其中最大数。 4.1 循环结构概述 用循环程序实现: 4.1 while循环语句 【例4-2】 求前n个数的平方和: 。 题目分析: (1)可以用while循环来实现,首先设置一个累计器sum,其初值为0,利用sum = sum+ i*i 来计算,i依次取1、2、……、n,将i的初值置为1,n由程序输入。 (2)每执行1次“sum = sum+ i*i; ”后,i的值增加1;当i的值增到n时,停止计算。 (3)此时,sum的值就是前n个数的平方和。 4.1 while循环语句 /* 用while循环计算前n个数的平方和 */ #include stdio.h void main() { int i=1, sum=0, n; printf(输入一个整数n:); scanf(%d, n); while(i=n) { sum=sum+i*i; i++; } printf(i=%d, n=%d, sum=%d\n, i, n, sum); } 4.1 while循环语句 程序说明: (1)我们可以看到,while语句的循环是通过变量i的值控制的,当in时循环停止。 (2)i的初值为1,这一点很重要它保证循环正常开始。 (3)在循环体内,每次循环都执行i++;语句,所以保证每循环一次i的值增加为1,当i的值大于n时循环结束。这一点也很重要,我们看到如果没有该语句,i的值不会发生变化,循环将无限的执行下去,这种情况称为死循环,结构化程序设计中是不允许发生的。 i的值可以从1到n,也可以从n到1,该例可以写成如下程序: 4.1 while循环语句 #include stdio.h void main() { int sum=0, n; printf(输入一个整数n:); scanf(%d, n); while(n0) { sum = sum + n*n; n--; } printf(n=%d, sum=%d\n, n, sum); } 4.1 while循环语句 while语句的使用规则: (1)while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。 (2)循环体如果由多条语句构成,则必须用{}括起来,组成复合语句。 (3)注意循环条件的定义,以避免死循环。 4.2.2 猴子吃桃子问题 【例4-3】猴子吃桃子问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少个桃子。 程序分析: (1)这是一个递推问题,猴子第一天摘下桃子个数是一个未知数,但我们知道第10天剩下的桃子数,每天吃掉桃子的方法相同,即每天都吃掉前一天剩下的桃子的一半零一个。 (2)设x1表示前一天的桃子数,x2表示后一天的桃子数,则x1 = (x2 + 1)*2,我们知道第10天只剩一个桃子设x2=1,由此我们得到第9天的桃子数x1=(1+1)*2=4。我们再由第9天的桃子数,推出第8天的桃子数,即x2=x1,继续求x1。 (3)该过程重复9次,即从第10天开始往前递推了9天,即求得了第一天猴子摘下的桃子数。 4.2.2 猴子吃桃子问题 /* 计算猴子第一天摘的桃子的个数 */ #include stdio.h void main() { /* x1表示前一天的桃子数,x2表示后一天的桃子数 */ int day,x1,x2; day = 9; x2 = 1; while(day 0)

文档评论(0)

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

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

1亿VIP精品文档

相关文档