循环结构解析ppt课件

上传人:94****0 文档编号:246766201 上传时间:2024-10-15 格式:PPT 页数:28 大小:214KB
返回 下载 相关 举报
循环结构解析ppt课件_第1页
第1页 / 共28页
循环结构解析ppt课件_第2页
第2页 / 共28页
循环结构解析ppt课件_第3页
第3页 / 共28页
点击查看更多>>
资源描述
,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,*,第6章 循环结构设计,主讲:黄清泉,1,本章主要内容,C,语言中的三种循环语句:,while,语句(当型),dowhile,语句(直到型),for,语句(当型),循环体中的辅助控制语句:,break,语句,continue,语句,goto,语句,2,while,语句,“当型”循环结构,一般形式:,while(,表达式)语句,说明:,“表达式”为循环条件;“语句”为循环体。,特点:,先判断表达式,后执行语句,图6_1,3,【例6.1】求 。,图6_2,4,main(),int i=1,sum=0;,while(i=100),sum=sum+i;,i+;,printf(%d n,sum);,编程求解:,1+2+3+100?,图6_2,“i1”,可否换成:“,i0”,5,注意:,while,语句中的“表达式”(即判断条件)可以是任意的表达式,但一般为关系表达式或逻辑表达式。,循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。,在循环体中应有使循环趋向于结束的语句,以免形成死循环。,允许循环体以空语句形式出现。,6,【例6.2】求2,n,。,main(),int i=1,n;,long int p=1;,scanf(%d,while(i=A,putchar(c);,while(c!=n);,将键盘输入字符中所有大写字母转换为小写字母,其他字符不变。,9,for,语句,“当型”循环结构,一般形式:,for(,表达式1;表达式2;表达式3)语句,说明:,表达式1:循环变量赋初始值,表达式2:循环条件,表达式3:循环变量增值,语句:循环体,图6_5,10,【例6.4】求 。(改【例6.1】),main(),int i,sum=0;,for(i=1;i=100;i+),sum=sum+i;,printf(%d n,sum);,11,三种循环的比较:,三种循环都可以用来处理同一问题,一般情况下它们可以互相代替。,用,while,和,do while,循环时,循环变量初始化的操作在,while,和,do while,语句前完成;,for,语句可以在表达式1中完成。,12,三种循环的比较(续,):,while,和,do while,循环只在,while,后面指定循环条件,且在循环体中应包含使循环趋于结束的语句;,for,循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中,功能更强。,while,和,for,循环是先判断表达式,后执行语句;,do while,循环是先执行语句后判断表达式。,13,循环的嵌套,定义:,一个循环体中又包含一个完整的循环结构,称为循环的嵌套。,说明:,while 循环、do while循环和 for循环都可以进行嵌套,而且可以相互嵌套。,14,几种合法的嵌套结构:,while(),while(),do,do,while();,while();,for(;),for(;),while(),do,while();,for(;),while(),do,for(;),while();,15,使用循环嵌套时注意:,要保证嵌套的每一层循环在逻辑上都是完整的,避免嵌套交叉使用。,要保证循环到最后有一个跳出循环的条件,否则会产生死循环(嵌套循环中检查死循环错误,相对来说比较困难)。,在编程时,注意循环嵌套的书写最好用,阶梯缩进,的形式,可使程序层次分明。,16,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.5】输出九九表。,1 2 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 81,17,break,语句,无条件转移语句,一般形式:,break;,功能:,用在,switch,语句中使流程跳出,switch,结构,继续执行,switch,语句后面的语句。,用在循环体内,迫使所在循环立即终止(跳出当前循环体),继续执行循环体后面的第一条语句。,说明:,break,语句不能用于循环语句和,switch,语句之外的任何其他语句中。,18,鸡兔同笼,大约在1500年前,孙子算经中就记载了这个有趣的问题。书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。问笼中各有几只鸡和兔?,19,continue,语句,无条件转移语句,一般形式:,continue;,功能:,结束本次循环(跳过循环体中尚未执行的语句),接着进行是否执行下一次循环的判定。,continue,和,break,的区别:,continue,只结束本次循环,而非终止整个循环。,break,则是结束所在循环,不再进行条件判断。,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(count%10=0)printf(n);,换成什么,可,不改变结果?,21,goto,语句,一般形式:,goto,语句标号;,说明:,goto,为无条件转向语句。,语句标号必须是合法的标识符。不能用整数作标号。,用途:,与,if,语句一起构成循环结构;,从多层循环体的内层循环跳到外层循环。,结构化程序设计,方法主张限制使用,goto,语句,因为滥用,goto,语句将使程序流,程无规律、可读性差,只有不得已(如能大大提高效率)时才能使用,goto,!,22,【例6.8】用,if,和,goto,语句构成循环,求 。,main(),int i=1,sum=0;,loop:if(i=100),sum=sum+i;,i+;,goto loop;,printf(Sum=%d,sum);,23,homework,1.从键盘输入整数n,输出下列“*”,*(共n个*),2.从键盘输入m、n,打印m*n的“*”,*,*,*共n行,每行n个*,24,打印下列图形,*,*,*,*,*,*,25,打印下列图形,*,*,*,*,*,26,打印下列图形,*,*,*,*,*,*,27,打印下列图形,28,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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