第5章 循环结构设计(三).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文档。上传文档
查看更多
第5章 循环结构设计(三).ppt

第5章 循环结构设计(三) break 语句---无条件转移语句 一般形式: break; 功能: 用在switch语句中使流程跳出switch结构,继续执行switch语句后面的语句。 用在循环体内,迫使所在循环立即终止(跳出当前循环体),继续执行循环体后面的第一条语句。 说明:break语句不能用于循环语句和switch语句之外的任何其他语句中。 【例5.9】用break语句提前退出循环 计算r=1到r=10时的圆面积,直到面积area大于100为止。 【例5.10】把数316分为两个数之和,其中一个为13的倍数,一个为11的倍数。 main() { int i=0; for(;;i++) if(!((316-i*13)%11))break; printf(13*%d+11*%d=316\n,i,(316-13*i)/11); } 课堂练习 输出1000以内的Fibonacci数列,用break语句实现 continue语句---无条件转移语句 一般形式: continue; 功能: 结束本次循环(跳过循环体中尚未执行的语句),接着进行是否执行下一次循环的判定。 continue和break的区别: continue只结束本次循环,而非终止整个循环。 break则是结束所在循环,不再进行条件判断。 continue语句和break语句的区别 continue语句和break语句的区别(续) 【例5.11】输出100~200之间所有不能被3整除的数。 main() { int n,count=0; for(n=100;n=200;n++) { if(n%3==0)continue; printf(%4d,n); count++; if(count%10==0)printf(\n); } } 课堂练习 求随机输入的10个数当中的正数之和,用continue语句实现。 【例5.12】判断m是否为素数。 【例5.13】 求100~200间的全部素数。 【例5.14】译密码。 为使电文保密,往往按一定规律将其转换成密码,收报人再按约定的规律将其译回原文。 goto 语句 一般形式:goto 语句标号; 说明: goto为无条件转向语句。 语句标号必须是合法的标识符。不能用整数作标号。 用途: 与if语句一起构成循环结构; 从多层循环体的内层循环跳到外层循环。 【例5.15】用if和goto语句构成循环,求 。 main() { int i=1,sum=0; loop: if(i=100) { sum=sum+i; i++; goto loop; } printf(Sum=%d,sum); } 课堂练习 用循环语句实现密文的解码 作业 上交作业内容: 第5章书后习题∪电子课件程序题 上交作业形式: 纸质手写 上交作业时间: 本周六(11月14日)上机检查后上交 * * 例: float pi=3.14159; for(r=1;r=10;r++) { area=pi*r*r; if(area100) break; printf(″r=%f,area=%f\n″, r,area); } continue语句只结束本次循环,而不是终止整个循环的执行。 while(表达式1) { 语句1; if(表达式2) continue; 语句2; } while循环的下一语句; 语句1 语句2 break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。 while(表达式1) { 语句1; if(表达式2) break; 语句2; } while循环的下一语句; 语句1 语句2 不用continue语句, 怎么实现? 说明:当n能被3整除时,执行continue语句,结束本次循环(即跳过printf函数语句),只有n不能被3整除时才执行printf函数。 改为 if(n%3!=0) printf(“%d”,n); 算法思想: 让m被i(2-sqrt(m)之间的整数)去除,如果m能被i整除,则提前结束循环,此时i必然小于或等于k=sqrt(m);如果m不能被2~k之间的任一整数整除,则在完成最后一次循环后,i还要加1,因此i=k+1,然后才终止循环。在循环之后判别i的值是否大于或等于k+1,若是,则表明未曾被2~k之间任一整数整除过,因此输出“是素

文档评论(0)

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

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

1亿VIP精品文档

相关文档