c语言第5章循环结构程序设计课件

上传人:20****08 文档编号:252218459 上传时间:2024-11-13 格式:PPT 页数:26 大小:1.08MB
返回 下载 相关 举报
c语言第5章循环结构程序设计课件_第1页
第1页 / 共26页
c语言第5章循环结构程序设计课件_第2页
第2页 / 共26页
c语言第5章循环结构程序设计课件_第3页
第3页 / 共26页
点击查看更多>>
资源描述
1,第五章 循环结构程序设计,单击此处编辑母版标题样式,单击此处编辑母版文本样式,二级,三级,四级,五级,*,循环结构,的特点:,在给定条件成立时,反复执行某程序段,,直到条件不成立为止。,在C语言中,实现循环结构的语句主要有3种:,for语句,while,doWhile,注意两个概念:,1、给定的条件称为,循环条件,2、反复执行的程序段称为,循环体,循环结构的特点:在C语言中,实现循环结构的语句主要有3种:注,执行过程:,计算表达式的值,当值为真(非0)时,执行循环体语句。,while语句的一般形式为:,while(表达式),语句;,表达式是循环条件,语句为循环体,表达式,语句,非0,0,一、while语句,执行过程:while语句的一般形式为:表达式语句非00,说明:,计算,的值,若表达式的值为真,(,非,0),时,则执行循环体语句;不断反复,直到表达式的值为假,(0),,则不执行循环体语句,而直接转向循环体外的第一条语句。,是循环反复执行的程序,称为“循环体”,当需要执行多条语句时,应使用“,”括起来组成一个复合语句。,while,语句,是先判断条件,后执行循环体,为“,当型,”循环,因此,若条件不成立,有可能一次也不执行循环体。,一般情况下,while型循环最适合于这种情况:知道控制循环的条件为某个逻辑表达式的值,而且该,表达式的值会在循环中被改变。,说明:,例:编程序求:s=1+2+3+100,main(),int s=0,i=1,;,while (,i=100,),s=s+i;,i+;,printf(S=%d,s);,思考:如何求n!,例:编程序求:s=1+2+3+100main()思考,二、do.while语句,Do-while语句的一般形式为,:,do,语句;,while(表达式);,表达式,语句,非0,0,执行过程:,先执行循环体语句一次,再判别表达式的值,若为真(非0)则继续循环,否则终止循环。,二、do.while语句 Do-while语句的一般形式,例:编程序求:s=1+2+3+100,main(),int s=0,i=1,;,do,s=s+i;,i+;,while (,i=100,);,printf(S=%d,s);,例:编程序求:s=1+2+3+100main(),求最大公约数的N-S,流程图,典型例题(例5-8):,求两个整数的最大公约数、最小公倍数,m n r,m n r,12 8,4,8,4,0,最大公约数 4,最小公倍数 12*8/4=24,辗转相除法,求最大公约数的N-S流程图典型例题(例5-8):求两个整数的,void main(),int n,m,nm,r,t;,printf(Enter m,n=?);,scanf(%d%d,nm=n*m;,if(mn),t=m;m=n;n=t;,r=m%n;,while(,r!=0,),m=n;,n=r;,r=m%n;,printf(“最大公约数为%dn,n);,printf(“最小公倍数为%dn,nm/n);,void main(),使用while和do-while语句应注意以下几点,1.,在if语句,while语句中,表达式后面都不能加分号,而在 do-while语句的表达式后面则必须加分号。,2.,当循环体由多个语句组成时,也必须用括起来组成一个复合语句。,3.,如果循环至少要执行一次,,while和do-while语句可以相互替换。,使用while和do-while语句应注意以下几点,for语句使用一般形式为:,for(表达式1;表达式2;表达3),语句;,表达式1(控制变量的初始化):,用来给循环变量赋初值,也允许在for语句外给循环变量赋初值,此时可以省略该表达式。,表达式2(循环的条件),循环条件,一般为关系表达式或逻辑表达式。,表达式3(循环控制变量的更新),用来修改循环变量的值,一般是赋值语句。,三、f,or循环语句,for语句使用一般形式为:表达式1(控制变量的初始化):,1.,首先计算表达式1的值。,2.,再计算表达式2的值,若值为真(非0)则执行循环体一次,否则跳出循环。,3,.然后再计算表达式3的值,转回第2步重复执行。,表达式2,语句,非0,0,语句,求解表达式1,求解表达式3,注意:,在整个for循环过程中,表达式1,只计算一次,表达式2和表达式3则可能计算多次。,for语句的执行过程:,1.首先计算表达式1的值。表达式2语句非00语句求解表达,例:用for语句计算s=1+2+3+.+99+100,main(),int i,s=0;,for(i=1;i=100;i+),s=s+i;,printf(s=%dn,s);,例:用for语句计算s=1+2+3+.+99+100,说明:,(,1,),for,语句的一般形式中的,“,表达式,1”,可以省略,,此时应在,for,语句之前给循环变量赋初值。注意省略表达式,1,时,其后的,分号不能省略,。,例如:,for(;i=n;i+)t=t*i;,执行时,跳过,“,求解表达式,1”,这一步,其他不变。,(,2,)如果表达式,2,省略,即不判断循环条件,循环无终止地进行下去。也就是认为表达式,2,始终为真,在形式上构成,死循环。,例如:,for(i=1;i+)t=t*i;,说明:,(3)表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束,,表达式3的功能放到循环体内。,例如:for(i=1;i=n;)t=t*i;i+;,(4)可以省略表达式1和表达式3,只有表达式2,即只给循环条件。,for(;i=n;),t=t*i;i+;,i=1;,(3)表达式3也可以省略,但此时程序设计者应另外设法保证循环,(,5,),3,个表达式都可省略。,例如:,for(;),语句,相当于,while(1),语句。,(,6,)表达式,1,和表达式,3,可以是一个简单的表达式,也可以是逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。,例如:,for(,t=1,i=1,;,i=n,;,t=t*i,i+,);,(5)3个表达式都可省略。,四、循环的嵌套多重循环结构。,一个循环内完整地包含另一个循环结构,则称为多重循环,嵌套一层称为二重循环,嵌套二层称为三重循环,(1)while(),while(),do,do,while();,while();,四、循环的嵌套多重循环结构。一个循环内完整地包含,(4)while(),for(),(3)for(),for(),(4)while()(3)for(),例:打印如下形式的九九乘法表.,例:打印如下形式的九九乘法表.,main(),int x,y;,for(x=1;x=9;x+),for(y=1;y=9;y+),printf(%d*%d=%2d ,x,y,x*y);,printf(n);,思考:若改为如下形式程序应该如何修改?,1*1=1,2*1=2 2*2=4,3*1=3 3*2=6 3*3=9,.,for(y=1;y=x;y+),main()思考:若改为如下形式程序应该如何修改?for(y,例5-12打印如下所示图案。,例5-12打印如下所示图案。,c语言第5章循环结构程序设计课件,1,222,33333,4444444,555555555,66666666666,7777777777777,888888888888888,99999999999999999,例打印由数字组成的如下所示金字塔图案。,1例打印由数字组成的如下所示金,void main(),int i,k,j;,for(i=1;i=9;i+),/*外循环控制打印行数*/,for(k=1;k=10-i;k+),/*每行起始打印位置*/,printf();,for(j=1;j=2*i-1;j+),/*内循环控制打印个数*/,printf(%c,48+i,);,/*打印内容 数字1的Ascii码为49*/,printf(n);,/*换行*/,void main(),五、三种循环语句比较,五、三种循环语句比较,作业,:P73四、编程题1,4(下周上课之前交),上机练习:,三四章课后阅读程序题,P79例5-2,P92例5-13,P93例5-15,作业:P73四、编程题1,4(下周上课之前交),此课件下载可自行编辑修改,供参考!,感谢您的支持,我们努力做得更好!,此课件下载可自行编辑修改,供参考!,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库


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

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


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