第6章循环结构设计.ppt

上传人:豆**** 文档编号:60273224 上传时间:2022-11-15 格式:PPT 页数:24 大小:244KB
返回 下载 相关 举报
第6章循环结构设计.ppt_第1页
第1页 / 共24页
第6章循环结构设计.ppt_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《第6章循环结构设计.ppt》由会员分享,可在线阅读,更多相关《第6章循环结构设计.ppt(24页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、第6章循环结构设计 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望本章主要内容本章主要内容l lC C语言中的三种循环语句:语言中的三种循环语句:whilewhilewhilewhile语句(当型)语句(当型)语句(当型)语句(当型)dowhiledowhiledowhiledowhile语句(直到型)语句(直到型)语句(直到型)语句(直到型)forforforfor语句(当型)语句(当型)语句(当型)语句(当型)l l循环体中的辅助控制语句:循环体中的辅助控制语

2、句:breakbreakbreakbreak语句语句语句语句continue continue continue continue 语句语句语句语句goto goto goto goto 语句语句语句语句本章是本章是全书的重全书的重点和难点和难点!点!2while while 语句语句“当型当型”循环结构循环结构一般形式:一般形式:一般形式:一般形式:while(while(while(while(表达式表达式表达式表达式)语句语句语句语句说明:说明:说明:说明:“表达式表达式表达式表达式”为循环条件;为循环条件;为循环条件;为循环条件;“语句语句语句语句”为循环体。为循环体。为循环体。为循环

3、体。特点:特点:特点:特点:先判断表达式,后执行先判断表达式,后执行先判断表达式,后执行先判断表达式,后执行语句语句语句语句图6_13【例【例6.1】求】求 。图6_24main()main()int i=1,sum=0;int i=1,sum=0;while(i=100)while(i=100)sum=sum+i;sum=sum+i;i+;i+;printf(%d n,sum);printf(%d n,sum);编程求解:1+2+3+100?图6_2“i1”可可否换成:否换成:“i0”5注意:注意:JJwhilewhile语句中的语句中的语句中的语句中的“表达式表达式表达式表达式”(即判断条

4、件)可以(即判断条件)可以(即判断条件)可以(即判断条件)可以是任意的表达式,但一般为关系表达式或逻辑表是任意的表达式,但一般为关系表达式或逻辑表是任意的表达式,但一般为关系表达式或逻辑表是任意的表达式,但一般为关系表达式或逻辑表达式。达式。达式。达式。JJ循环体如果包含一个以上的语句,应该用花括弧循环体如果包含一个以上的语句,应该用花括弧循环体如果包含一个以上的语句,应该用花括弧循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。括起来,以复合语句形式出现。括起来,以复合语句形式出现。括起来,以复合语句形式出现。JJ在循环体中应有使循环趋向于结束的语句,以免在循环体中应有使

5、循环趋向于结束的语句,以免在循环体中应有使循环趋向于结束的语句,以免在循环体中应有使循环趋向于结束的语句,以免形成死循环。形成死循环。形成死循环。形成死循环。JJ允许循环体以空语句形式出现。允许循环体以空语句形式出现。允许循环体以空语句形式出现。允许循环体以空语句形式出现。6【例【例6.26.2】求】求2 2n n。main()int i=1,n;long int p=1;scanf(%d,&n);while(i=n)p*=2;i+;printf(%dn,p);图6_37dodowhile while 语句语句“直到型直到型”循环结构循环结构=一般形式:一般形式:do 语句语句while(表达

6、式);表达式);=特点:特点:先执行一次指定的先执行一次指定的循环内嵌语句,然后判循环内嵌语句,然后判断条件表达式。断条件表达式。图图6_48【例【例6.3】#include main()char c;do c=getchar();if(c=A&c=Z)c+=32;putchar(c);while(c!=n);将键盘输入将键盘输入字符中所有字符中所有大写字母转大写字母转换为小写字换为小写字母,其他字母,其他字符不变。符不变。9for for 语句语句“当型当型”循环结构循环结构l一般形式:for(for(表达式表达式表达式表达式1;1;表达式表达式表达式表达式2;2;表达式表达式表达式表达式3

7、)3)语句语句语句语句l说明:表达式1:循环变量赋初始值表达式2:循环条件表达式3:循环变量增值语句:循环体图6_510【例【例6.4】求】求 。(改【例。(改【例6.1】)】)main()int i,sum=0;for(i=1;i=100;i+)sum=sum+i;printf(%d n,sum);11三种循环的比较:三种循环的比较:l l三种循环都可以用来处理同一问题,一般情况下三种循环都可以用来处理同一问题,一般情况下三种循环都可以用来处理同一问题,一般情况下三种循环都可以用来处理同一问题,一般情况下它们可以互相代替。它们可以互相代替。它们可以互相代替。它们可以互相代替。l l用用用用w

8、hilewhilewhilewhile和和和和do whiledo whiledo whiledo while循环时,循环变量初始化循环时,循环变量初始化循环时,循环变量初始化循环时,循环变量初始化的操作在的操作在的操作在的操作在while while while while 和和和和do whiledo whiledo whiledo while语句前完成;语句前完成;语句前完成;语句前完成;forforforfor语句可以在表达式语句可以在表达式语句可以在表达式语句可以在表达式1 1 1 1中完成。中完成。中完成。中完成。12三种循环的比较三种循环的比较(续续):l lwhilewhile

9、whilewhile和和和和do whiledo whiledo whiledo while循环只在循环只在循环只在循环只在whilewhilewhilewhile后面指定循环后面指定循环后面指定循环后面指定循环条件,且在循环体中应包含使循环趋于结束的语条件,且在循环体中应包含使循环趋于结束的语条件,且在循环体中应包含使循环趋于结束的语条件,且在循环体中应包含使循环趋于结束的语句;句;句;句;forforforfor循环可以在表达式循环可以在表达式循环可以在表达式循环可以在表达式3 3 3 3中包含使循环趋于结中包含使循环趋于结中包含使循环趋于结中包含使循环趋于结束的操作,甚至可以将循环体中的

10、操作全部放到束的操作,甚至可以将循环体中的操作全部放到束的操作,甚至可以将循环体中的操作全部放到束的操作,甚至可以将循环体中的操作全部放到表达式表达式表达式表达式3 3 3 3中,功能更强。中,功能更强。中,功能更强。中,功能更强。l lwhile while while while 和和和和forforforfor循环是先判断表达式,后执行语句;循环是先判断表达式,后执行语句;循环是先判断表达式,后执行语句;循环是先判断表达式,后执行语句;do whiledo whiledo whiledo while循环是先执行语句后判断表达式。循环是先执行语句后判断表达式。循环是先执行语句后判断表达式。

11、循环是先执行语句后判断表达式。13循环的嵌套循环的嵌套l定义:定义:一个循环体中又包含一个完整的循一个循环体中又包含一个完整的循环结构,称为循环的嵌套。环结构,称为循环的嵌套。l说明:说明:while while 循环、循环、do whiledo while循环和循环和 forfor循环都可以进行嵌套,而且可以相循环都可以进行嵌套,而且可以相互嵌套。互嵌套。14几种合法的嵌套结构:几种合法的嵌套结构:while()while()do do while();while();for(;)for(;)while()do while();for(;)while()do for(;)while();15

12、使用循环嵌套时注意:使用循环嵌套时注意:要保证嵌套的每一层循环在逻辑上都是完整的,避免嵌套交叉使用。要保证循环到最后有一个跳出循环的条件,否则会产生死循环(嵌套循环中检查死循环错误,相对来说比较困难)。在编程时,注意循环嵌套的书写最好用阶梯缩进阶梯缩进的形式,可使程序层次分明。16main()int i,j;printf(n );for(i=1;i=9;i+)printf(%4d,i);printf(n-);for(i=1;i=9;i+)printf(n%4d,i);for(j=1;j=i;j+)printf(%4d,i*j);【例【例6.56.5】输出九九表。】输出九九表。1 2 3 4 5

13、 6 7 8 9-1 1 2 2 4 3 3 6 9 4 4 8 12 16 5 5 10 15 20 25 6 6 12 18 24 30 36 7 7 14 21 28 35 42 49 8 8 16 24 32 40 48 56 64 9 9 18 27 36 45 54 63 72 8117break break 语句语句无条件转移语句无条件转移语句vv一般形式:breakbreak;vv功能:v用在switch语句中使流程跳出switch结构,继续执行switch语句后面的语句。v用在循环体内,迫使所在循环立即终止(跳出当前循环体),继续执行循环体后面的第一条语句。vv说明:brea

14、kbreak语句不能用于循环语句和语句不能用于循环语句和switchswitch语句之外的任何其他语句中。语句之外的任何其他语句中。18【例【例6.6】把数】把数316分为两个数之和,其中分为两个数之和,其中一个为一个为13的倍数,一个为的倍数,一个为11的倍数。的倍数。main()int i=0;for(;i+)if(!(316-i*13)%11)break;printf(13*%d+11*%d=316n,i,(316-13*i)/11);19continuecontinue语句语句无条件转移语句无条件转移语句无条件转移语句无条件转移语句一般形式:continuecontinue;功能:结束

15、本次循环(跳过循环体中尚未执行的语句),接着进行是否执行下一次循环的判定。continuecontinue和和breakbreak的区别:的区别:continuecontinue只结束本次循环,而非终止整个只结束本次循环,而非终止整个循环。循环。breakbreak则是结束所在循环,不再进行条件则是结束所在循环,不再进行条件判断。判断。20【例【例6.7】输出】输出100200之间所有不能被之间所有不能被3整除的数。整除的数。main()int n,count=0;for(n=100;n=200;n+)if(n%3=0)continue;printf(%4d,n);count+;if(coun

16、t%10=0)printf(n);换成什么,可换成什么,可不改变结果?不改变结果?21goto goto 语句语句l一般形式:一般形式:goto goto 语句标号;语句标号;l说明:说明:gotogoto为无条件转向语句。为无条件转向语句。语句标号必须是合法的标识符。不能用整数作标号。语句标号必须是合法的标识符。不能用整数作标号。l用途:用途:与与ifif语句一起构成循环结构;语句一起构成循环结构;从多层循环体的内层循环跳到外层循环。从多层循环体的内层循环跳到外层循环。结构化程序设计结构化程序设计方法主张限制使用方法主张限制使用gotogoto语句,因为滥用语句,因为滥用gotogoto语句

17、将使程序流语句将使程序流程无规律、可读性差程无规律、可读性差只有不得已只有不得已只有不得已只有不得已(如能大大提高效率如能大大提高效率如能大大提高效率如能大大提高效率)时才能使用时才能使用时才能使用时才能使用gotogotogotogoto!22【例【例6.86.8】用】用ifif和和gotogoto语句构成循环,求语句构成循环,求 。main()int i=1,sum=0;loop:if(i=100)sum=sum+i;i+;goto loop;printf(Sum=%d,sum);23homeworkl阅读并上机运行本章的程序例题,要求理解.l习题15,填在书上;l习题614,存在软磁盘上。24

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com