《C语言第五章》PPT课件.ppt

上传人:s9****2 文档编号:570964617 上传时间:2024-08-07 格式:PPT 页数:24 大小:378.60KB
返回 下载 相关 举报
《C语言第五章》PPT课件.ppt_第1页
第1页 / 共24页
《C语言第五章》PPT课件.ppt_第2页
第2页 / 共24页
《C语言第五章》PPT课件.ppt_第3页
第3页 / 共24页
《C语言第五章》PPT课件.ppt_第4页
第4页 / 共24页
《C语言第五章》PPT课件.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《《C语言第五章》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《C语言第五章》PPT课件.ppt(24页珍藏版)》请在金锄头文库上搜索。

1、1第6章 循环结构设计2本章主要内容本章主要内容l lC C语言中的三种循环语句:语言中的三种循环语句:whilewhilewhilewhile语句(当型)语句(当型)语句(当型)语句(当型)dodododowhilewhilewhilewhile语句(直到型)语句(直到型)语句(直到型)语句(直到型)forforforfor语句(当型)语句(当型)语句(当型)语句(当型)l l循环体中的辅助控制语句:循环体中的辅助控制语句:breakbreakbreakbreak语句语句语句语句continue continue continue continue 语句语句语句语句goto goto got

2、o goto 语句语句语句语句本章是本章是全书的重全书的重点和难点和难点!点!3while while 语句语句“当型当型”循环结构循环结构一般形式:一般形式:一般形式:一般形式:while (while (while (while (表达式表达式表达式表达式) ) ) )语句语句语句语句说明:说明:说明:说明:“ “表达式表达式表达式表达式” ”为循环条件;为循环条件;为循环条件;为循环条件;“ “语句语句语句语句” ”为循环体。为循环体。为循环体。为循环体。特点:特点:特点:特点:先判断表达式,后执行先判断表达式,后执行先判断表达式,后执行先判断表达式,后执行语句语句语句语句图6_1【例【

3、例6.1】求】求 。图6_25main()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”6注意:注意:JJwhilewhile语句中的语句中的语句中的语句中的“ “表达式表达式表达式表达式” ”(即判断条件)可以(即判断条件)可以(即判断条件)可以(即判断条件)可以是任意的表达式,但一般为关系表达式或逻辑表是任意的表达式

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

5、环。形成死循环。形成死循环。形成死循环。JJ允许循环体以空语句形式出现。允许循环体以空语句形式出现。允许循环体以空语句形式出现。允许循环体以空语句形式出现。7【例【例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_38dodowhile while 语句语句“直到型直到型”循环结构循环结构=一般形式:一般形式:do 语句语句while (表达式);表达式);=特点:特点:先执行一次指定的先执行一次指定的循环内嵌语句,然后判循环内嵌语句,然后判断条件表达

6、式。断条件表达式。图图6_4【例【例6.3】#include main()char c;do c=getchar(); if(c=A&c=Z)c+=32; putchar(c); while(c!=n);将键盘输入将键盘输入字符中所有字符中所有大写字母转大写字母转换为小写字换为小写字母,其他字母,其他字符不变。符不变。10for for 语句语句“当型当型”循环结构循环结构l一般形式:for(for(表达式表达式表达式表达式1;1;表达式表达式表达式表达式2;2;表达式表达式表达式表达式3)3)语句语句语句语句l说明:表达式1:循环变量赋初始值表达式2:循环条件表达式3:循环变量增值语句:循环

7、体图6_511【例【例6.4】求】求 。(改【例。(改【例6.1】)】) main()int i,sum=0;for(i=1;i=100;i+) sum=sum+i;printf(%d n,sum);12三种循环的比较:三种循环的比较:l l三种循环都可以用来处理同一问题,一般情况下三种循环都可以用来处理同一问题,一般情况下三种循环都可以用来处理同一问题,一般情况下三种循环都可以用来处理同一问题,一般情况下它们可以互相代替。它们可以互相代替。它们可以互相代替。它们可以互相代替。l l用用用用whilewhilewhilewhile和和和和do do do do whilewhilewhilew

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

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

10、全部放到束的操作,甚至可以将循环体中的操作全部放到表达式表达式表达式表达式3 3 3 3中,功能更强。中,功能更强。中,功能更强。中,功能更强。l lwhile while while while 和和和和forforforfor循环是先判断表达式,后执行语句;循环是先判断表达式,后执行语句;循环是先判断表达式,后执行语句;循环是先判断表达式,后执行语句;do do do do whilewhilewhilewhile循环是先执行语句后判断表达式。循环是先执行语句后判断表达式。循环是先执行语句后判断表达式。循环是先执行语句后判断表达式。14循环的嵌套循环的嵌套l定义:定义:一个循环体中又包含一

11、个完整的循一个循环体中又包含一个完整的循环结构,称为循环的嵌套。环结构,称为循环的嵌套。l说明:说明:while while 循环、循环、dodo while while循环和循环和 forfor循环都可以进行嵌套,而且可以相循环都可以进行嵌套,而且可以相互嵌套。互嵌套。几种合法的嵌套结构:几种合法的嵌套结构:while ( ) while ( ) do do while ( ); while ( );for ( ; ; ) for ( ; ; ) while ( ) do while ( ); for ( ; ; ) while ( ) do for(; ;) while ( );16使用循

12、环嵌套时注意:使用循环嵌套时注意:要保证嵌套的每一层循环在逻辑上都是完整的,避免嵌套交叉使用。要保证循环到最后有一个跳出循环的条件,否则会产生死循环(嵌套循环中检查死循环错误,相对来说比较困难)。在编程时,注意循环嵌套的书写最好用阶梯缩进阶梯缩进的形式,可使程序层次分明。main() 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

13、 3 4 5 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 81break break 语句语句无条件转移语句无条件转移语句vv一般形式:breakbreak;vv功能:v用在switch语句中使流程跳出switch结构,继续执行switch语句后面的语句。v用在循环体内,迫使所在循环立即终止(跳出当前循环体),继续执行循环体后面的第一条语句。vv说明

14、:breakbreak语句不能用于循环语句和语句不能用于循环语句和switchswitch语句之外的任何其他语句中。语句之外的任何其他语句中。19【例【例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);continuecontinue语句语句无条件转移语句无条件转移语句无条件转移语句无条件转移语句一般形式:continuecontinue;功

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

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

17、ogoto语句将使程序流语句将使程序流程无规律、可读性差程无规律、可读性差只有不得已只有不得已只有不得已只有不得已( ( ( (如能大大提高效率如能大大提高效率如能大大提高效率如能大大提高效率) ) ) )时才能使用时才能使用时才能使用时才能使用gotogotogotogoto!【例【例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);24homeworkl阅读并上机运行本章的程序例题,要求理解.l习题15,填在书上;l习题614,存在软磁盘上。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号