第二部分3章基本控制语句和函数.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文档。上传文档
查看更多
【建议3-2-1】在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。 示例 (a) 低效率:长循环在最外层 示例 (b) 高效率:长循环在最内层 for (row=0; row100; row++) { for ( col=0; col5; col++ ) { sum = sum + a[row][col]; } } for (col=0; col5; col++ ) { for (row=0; row100; row++) { sum = sum + a[row][col]; } } 示例 (a) 示例 (b) 【建议3-2-2】如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面。 如果N非常大,最好采用示例 (d)的写法,可以提高效率。如果N非常小,两者效率差别并不明显,采用示例 (c)的写法比较好,因为程序更加简洁。 表 (c) 效率低但程序简洁 表 (d) 效率高但程序不简洁 for (i=0; iN; i++) { if (condition) DoSomething(); else DoOtherthing(); } if (condition) { for (i=0; iN; i++) DoSomething(); } else { for (i=0; iN; i++) DoOtherthing(); } for 语句的循环控制变量 【规则3-2-1】不可在for 循环体内修改循环变量,防止for 循环失去控制。 【建议3-2 -3】建议for语句的循环控制变量的取值采用“半开半闭区间”写法。 示例 (e) 循环变量属于半开半闭区间 示例 (f) 循环变量属于闭区间 for (int x=0; xN; x++) { … } for (int x=0; x=N-1; x++) { … } 示例 (e) 示例 (f) 作业 2.11 将100元钱兑换成10元,5元,1元,编程求所有的兑换法,要求每种兑法中都有这三种面值。 条件语句 循环语句 第3章 基本控制语句和函数 完整的if语句有如下的一般形式: if ( 表达式) 语句1; else 语句2; if (xy) coutxendl; else coutyendl; 首先计算表达式的值,如果表达式的值为真,则执行语句1;否则就执行语句2。流程如右图所示。通常,将前者叫做if分支,将后者叫做else分支。 实现了从x和y中选择较大的一个输出。 注意: 尽管完整的if语句中存在两个语句段,且有两个表示语句结束的分号,但整个语句在语法上只是一条语句。 if分支后边的分号是不可缺少的(除非这里是一条复合语句)。 3.1 if语句 【例3-1】将百分制的成绩按等级分输出。 分析:等级分为四等:A、B、C、D,分别对应的分数段为90~100、80~89、60~79、0~59,转换时需要进行多次判断,要用多重选择结构,这里我们选用嵌套的if语句。 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 void main() { int n; coutEnter the score:; cinn; if (n=60) if (n=90) coutThe degree is Aendl; else if (n=80) coutThe degree is Bendl; else coutThe degree is Cendl; else coutThe degree is Dendl; } 运行结果 Enter the score:86↙ The degree is A Enter the score:74↙ The degree is C Enter the score:48↙ The degree is D 由于if语句存在两种形式,当发生嵌套时就面临理解的问题,在程序中就出现下列嵌套形式: if(表达式1) if(表达式2) 语句1; else 语句2; else解释为属于第1个if与属于第2个if会有完全不同的结果。e

文档评论(0)

精品报告 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档