循环结构是程序中一种很重要的结构其特点是.ppt

循环结构是程序中一种很重要的结构其特点是.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例6.1:人口增长问题 按年2%的增长速度,现有15亿人,则10年后将有多少人? for语句 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... 该数列的规律为 a1=1 a2=1 an=an-1+an-2 这里求前20项 程序代码: #include stdio.h main( ) {?long a1,a2,an; ??int i; ??a1=a2=1; ??for(i=3;i=20;i++) ? {?an=a1+a2; printf(“a%d=%-8ld”,i,an); ? If(i%d==0) printf(“\n”); ? ? a1=a2; ? ? a2=an; ? } ?} 课堂练习: 请同学们用while语句完成上述问题 循环的嵌套 一个循环体内又包含另一个完整的循环结构,称为循环的嵌套。内嵌的循环中还可以嵌套循环,这就是多层循环。 例6.3:搬砖问题 36块砖,36人搬;男搬4,女搬3,两个小孩抬一砖。要求一次搬完,问男、女、小孩各多少? 三种循环的比较 课后练习 1、百马百担 有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担。问有大、中、小马各多少? 2、猴子吃桃问题 猴子第一天摘下若干桃子,当即吃掉一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃掉前一天剩下的一半零一个。到第10天早上再想吃时,就只剩一个桃子了。问第一天共摘了多少个桃子? * * 循环结构是程序中一种很重要的结构。其特点是, 在给定条件成立时,反复执行某程序段,直到条件不成立为止。 给定的条件称为循环条件,反复执行的程序段称为循环体。 C语言提供了三种循环语句,可以组成各种不同形式的循环结构,它们是: while语句 do-while语句 for语句 循环结构 while和do-while 语句 while (条件) 循环体; do 循环体; while (条件); 1、若循环体为多条语句,应用{ }括起来构成复合语句。 2、循环体中应有使循环结束的语句,否则会出现死循环。 说 明 当(条件)成立时 循环体 当(条件)成立时 循环体 条件为真(非0即真)时,执行循环体;然后再判断条件,为真时再执行循环体,直到条件为假时结束循环语句,执行后续语句。 先执行循环体,再判断条件。为真则执行循环体,然后再判断条件,为真时再执行循环体,直到条件为假时结束循环,执行后续语句。 先判断后执行 先执行后判断 条件 循环体 N Y 条件 循环体 N Y 算法分析: 设现有人口为m=15亿,则: 1年后人口:m(1+2%)?m 2年后人口:m(1+2%)?m 3年后人口:m(1+2%)?m …… 10年后人口: m(1+2%)?m 因此: 初值:m=15 迭代公式:m=m(1+2%) 终止条件:10年 main( ) { float m=15; int n=1; while (n=10) { m=m*(1+0.02); n=n+1; } printf(“%f\n”,m); } 迭代法 迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程 for (初始表达式; 条件表达式; 修正表达式) 循环体; ① ③ ② ⑤ ④ Y N 初始表达式; while (条件表达式) { 循环体; 修正表达式; } 条件表达式 修正表达式 N Y 初始表达式 循环体 执行过程 1、省略初始表达式时,分号不能省。 2、省略修正表达式时,循环体内应有改变条件表达式的值的语句。 说明: 例6.2古典问题(斐波那契数列): i=20 a1=1;a2=1; i=3 an=a1+a2 输出an i=i+1;a1=a2;a2=an; Y end begin N 设男、女、小孩各为x、y、z人,则: 4x+3y+z/2=36 x+y+z=36 可得: 0≤x9 0≤y12 2≤z36 算 法 分 析 穷 举 法 在某一范围内逐个验证是否满足要求的方法称为穷举法 main( ) { int x=0,y,z

文档评论(0)

676200 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档