C程序循环课件.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文档。上传文档
查看更多
C程序循环课件

左边的写法比右边的多执行了N-1次逻辑判断,并且前者的逻辑判断打断了循环的“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。如果N非常大,最好采用右边的写法,可以提高效率。如果N非常小,两者效率差别并不大,采用左边的写法比较好,因为程序更加简洁。 例:某个班有10个学生。已知他们参加某次考试的成绩(0到100之间的整数),求全班学生在这次考试中的总成绩。 main() { int counter,score,total=0; printf(Enter score:); for(counter=1;counter=10;counter++) { scanf(%d,score); total+=score; } printf(Class average is %d\n,total/10); getch(); } 例:某个班有若干个学生。已知他们参加某次考试的成绩(0到100之间的整数),求全班学生在这次考试中的总成绩。 main() { int counter=1, score, total=0; printf(Enter score,-1 to end:); scanf(%d,score); while(score!=-1) { total+=score; counter++; printf(“Enter score,-1 to end:”); scanf(“%d”,score); } printf(Class average is %d,total/(counter-1)); getch(); } 前面讨论了两种循环: 1)计数器控制的循环 2)标志控制的循环 因为我们事先能够准确地知道计数器的循环会执行多少次,所以把计数器控制的循环有时称为“定数循环”;因为我们事先不知道标志控制的循环会执行多少次,所以把标记控制的循环有时称为“不定数循环”。 在计数器控制的循环中,控制变量用来计算循环的次数。控制变量的值在每次执行完一组循环指令后递增(或递减)。当控制变量的值表明达到了预定的循环次数时,循环终止并继续执行循环结构后的语句。 在如下情况下可用标记值控制循环过程: 1)事先不知道准确的循环次数 2)循环体中包含每次循环都要获取数据的语句 标记值表示获取数据的结束。标记值是在所有合法数据项都提供给程序后键入的值。标记值必须不同于正常的数据项。 例:协助破案。假设已经查清,有A、B、C、D、E五个嫌疑人可能参与制造了一起抢劫银行案,但是不知道其中哪几个人是真正的案犯。不过,有确凿证据表明: ①如果A参与了作案,则B和C一定会参与。 ②B和C两人中只有一人参与了作案。 ③C和D要么都参与了作案,要么都没有参与。 ④D和E两人中至少有一人参与作案。 ⑤如果E作案,则A和D一定参与作案。 main() { int a,b,c,d,e; int count=0; for(a=0;a2;a++) { for(b=0;b2;b++) { for(c=0;c2;c++) { for(d=0;d2;d++) { for(e=0;e2;e++) { count=0; count+=(a==0||(a==1b==1c==1)); count+=((b+c)==1); count+=(c==d); count+=((d+e)=1); count+=(e==0||(e==1a==1d==1)); if(count==5) goto finish; } } } } } finish: printf(Suspect a is %s.\n,(a==1)?a criminal:not a criminal); printf(Suspect b is %s.\n,(b==1)?a criminal:not a criminal); printf(Suspect c is %s.\n,(c==1)?a criminal:not a criminal); printf(Suspect d is %s.\n,

文档评论(0)

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

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

1亿VIP精品文档

相关文档