C语言第5章_循环.ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言第5章_循环

注意: C语言中的for语句比其他语言(如 BASIC,PASCAL)中的FOR语句功能强得多。 可以把循环体和一些与循环控制无关的操作 也作为表达式1或表达式3出现,这样程序可 以短小简洁。但过分地利用这一特点会使 for语句显得杂乱,可读性降低,最好不要 把与循环控制无关的内容放到for语句中。 5.8 提高部分 5.8.2 for语句的各种形式 * * * continue语句和break语 句的区别: break语句则是结束整个 循环过程,不再判断执行循 环的条件是否成立。 while(表达式1) { … if(表达式2) break; … } 5.5 提前结束循环 5.5.2 用continue语句提前结束本次循环 输入一个班全体学生的成绩,把不及格的学生 成绩输出,并求及格学生的平均成绩。 例题 5.7 解题思路 在进行循环中,检查学生的成绩,把其中不及 格的成绩输出,然后跳过后面总成绩的累加和求平 均成绩的语句。用continu语句即可处理此问题。 5.5 提前结束循环 #include stdio.h void main() { float score,sum=0,average; int i,n=0; for(i=1; i6; i++) /* 假设有5个学生 */ { printf(please enter score:); scanf(%f,score); /* 输入学生成绩 */ if(score60) /* 如不及格 */ {/* 输出不及格的成绩 */ printf(Fail:%7.2f\n,score); continu;} /* 跳过下面的语句,结束本次循环 */ sum=sum+score; n=n+1; /* n是用来统计及格学生人数 */ } average=sum/n; /* 及格学生平均分数 */ );/* 输出及格学生人数和平均分数 */ printf(\nn=%d,average=%7.2f\n,n,average } 运行结果: please enter score:89↙ please enter score:56↙ Fail:56 please enter score:76↙ please enter score:58↙ Fail:58 please enter score:98↙ n=3 average=87.67 5.5 提前结束循环 编写程序 说明: 为减少输入量,本程序只按5个学生处理。在 输入不及格学生成绩后,输出该成绩,然后跳过循 环体中未执行的语句,即不参加累计总分sum,也 不累计合格学生数n。但是,继续执行后面的几次 循环。 5.5 提前结束循环 5.6 几种循环的比较 (1)三种循环都可以用来处理同一问题,一般情 况下它们可以互相代替。 (2)在while循环和do-while循环中,只在while 后面的括号内指定循环条件,因此为了使循环 能正常结束,应在循环体中包含使循环趋于结 束的语句(如i++,或i=i+1等)。 5.6 几种循环的比较 for循环可以在表达式3中包含使循环趋于结 束的操作,甚至可以将循环体中的操作全部 放到表达式3中。因此for语句的功能更强, 凡用while循环能完成的,用for循环都能实 现。 (3)用while和do-while循环时,循环变量初 始化的操作应在while和do-while语句之前完 成。而for语句可以在表达式1中实现循环变 量的初始化。 5.6 几种循环的比较 (4) while循环、do…while循环和for循 环,都可以用break语句跳出循环,用 continue语句结束本次循环 。 有一对兔子,出生后第3个月起每个月都生一对兔 子。小兔子长到第3个月后每个月又生一对兔子。假 设所有兔子都不死,问40个月的兔子总数为多少? 例题 5.8 解题思路 5.7 程序举例 第几个月 小兔子对数 中兔子对数 老兔子对数 兔子总数 1 1 0 0 1 2 0 1 0 1 3 1 0 1 2 4 1 1 1 3 5 2 1 2 5 6 3 2 3 8 7 5 3 5 13 ┆ ┆ ┆ ┆ ┆ 可以看到每个月的兔子总数依次为 1,1,2,3,5,8,13… 这就是有名的费波那西(Fibonacci)数列。 5.7 程序举例 兔子繁殖問題 前50項 性質 编写程序 5.7 程序举例 #include stdio.h void main() {

文档评论(0)

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

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

1亿VIP精品文档

相关文档