- 1、本文档共60页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
52循环结构程序设计.ppt
第5章 循环程序设计 例如: 【例5.1】编写程序,求100个自然数的和 即: s=1+2+3+ … +100 5.2 while循环语句 计算sum=1+2+3+……+100 5.2 while循环语句 计算sum=1+2+3+……+100 注意(续): 为了保证循环正常运行,应该特别注意: 循环控制条件的描述 控制条件的初始状态(初始值) 循环体内部对控制条件的影响 5.2 while循环语句 while语句的执行过程 5.2 do-while语句 语句一般格式 do 语句 while (表达式); 功能: 先执行内嵌语句(循环体),之后计算表达式的值,不为0(逻辑真)时,再执行循环体并判断条件,直到表达式的值为 0 结束循环,转去执行while下面的语句。 do-while循环的算法 main( ) { int i=1,sum=0; do { sum=sum+i; i++; } while (i=100); printf(%d\n,sum); } 说明: while和do-while都能实现循环控制,while结构程序通常都可以转换成do-while结构 5.3 for语句 5.3 for语句 省略for语句的表达式 ⑴ 表达式1、2、3全省略,即: for ( ; ; ) 就等同于:while (1),会无限循环(死循环) 例如: ⑴ i=1; for ( ; i=100; i++) sum+=i; ⑵ for (i=1; ; i++) { … if(i100)… …} ⑶ for (i=1; i=100; ) {…i++; … } ⑷ i=1; for ( ; ; ) { … if(i100) … i++; … } 说明: 所有用 while 语句实现的循环都可以用for 语句实现。 几种循环语句的比较 while和do-while语句的表达式只有一个,for语句有三个。 while 和for先判断循环条件后执行循环体,do-while语句先执行循环体后判断循环条件。 5.4 循环的嵌套 循环的嵌套 注意: while、do-while、for循环语句可以并列,也可以相互嵌套,但要层次清楚,不能出现交叉。 多重循环程序执行时,外层循环每执行一次,内层循环都需要循环执行多次。 例如: 循环的嵌套 5.5 循环结构中的跳转语句 有如下三种语句实现跳转: continue语句 break语句 goto语句 在循环语句的循环体中使用,可以进行循环的流程控制 continue语句及应用 功能: 跳过循环体中尚未执行的语句,立即开始执行下一次循环。 循环中break的应用 功能: 终止本层循环,转到本层循环的后续语句执行。 goto语句 有兴趣的同学自学 不提倡使用goto语句 第5章 循环程序设计 5.1 概述 5.2 while和do while循环 5.3 for循环 5.4 循环的嵌套 5.5 循环的控制 5.6 应用举例 5.7 程序调试 for语句的简单应用 求n! ,即计算p=1×2×3×…×n的值。 程序: main( ) { int i, n; long p; p=1; printf(Enter n:); scanf(%d,n); for (i=1; i=n; i++) p = p * i; printf(p = %ld \n,p); } 程序举例--1 水仙花数程序实例(解法1) 水仙花数解法2----框图 水仙花数解法2----程序 九·九表----1 九·九表框图和程序----1 九·九表----2 九·九表框图和程序----2 百钱买百鸡 百钱买百鸡----1 百钱买百鸡----2 应用举例 【例5.7】把100~200之间能被7整除的数,以十个数为一行的形式输出,最后输出一共有多少个这样的数。 算法和程序 main( ) { int n,j=0; for(n=100;n=200;n++) { if (n%7!=0) continue; printf(%6d,n); j++; if (j%10==0) printf(\n); } printf( \n j=%d\n,j); } 5.3 for语句 【例5.10】编程序,输出以下图形。 算法和程序: main( ) { int
文档评论(0)