第6章循环控制PPT讲稿.ppt
《第6章循环控制PPT讲稿.ppt》由会员分享,可在线阅读,更多相关《第6章循环控制PPT讲稿.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第6章 循环控制第1页,共43页,编辑于2022年,星期一6.1 概述概述问题1:假如全班41人,欲从键盘上输入每人的数学成绩,然后计算出平均成绩;问题2:编程计算n!。重复执行一组语句是程序设计要求的基本语言功能之一。在C语言中可以用以下语句来实现循环:(1)if 和 goto(2)while(3)do-while(4)for第2页,共43页,编辑于2022年,星期一6.2 goto语句以及用goto语句构成循环n语法:goto label;n其中:label是语句标号,它命名的规则同变量名;n语义:使程序无条件地转向标号为label的语句去执行;n如:用if语句构成循环,求sum=1+2+
2、100 main()int i=1,sum=0;loop:if(i=100)sum=sum+i;i+;goto loop;printf(“%d”,sum);第3页,共43页,编辑于2022年,星期一n说明:(1)标号不必进行类型说明;(2)程序中的任何一个语句均可带上标号,但标号必须以冒号结束;(3)不提倡使用goto语句。第4页,共43页,编辑于2022年,星期一 6.3 while语句n语法:while(exp)循环体语句;n语义:当exp为真时,执行循环体,为假时,执行循环语句的后续语句;n如:用while语句构成循环,求sum=1+2+100。i1,sum 0当i小于等于100 sum
3、=sum+i i=i+1输出sum第5页,共43页,编辑于2022年,星期一l程序如下:lmain()int i=1,sum=0;while(i=100)sum+=i;i+;printf(“%d”,sum);(2)循环体语句多于一个时,必须用复合语句;说明:(1)在while语句中(exp)应有确定的值,以确保循环的正常开始;第6页,共43页,编辑于2022年,星期一(3)循环体内应有改变循环控制变量的语句,以确保循环进行有限次后正常结束;如:i=1;while(i=100)sum=sum+1;(死循环)(4)while 循环的特点是先判断后执行,故循环有可能一次都不被执行;int n=0;w
4、hile(n+=2);printf(“%d”,n);如:i=3;while(i0)m=n/10;l=n-m*10;printf(%ld,l);n=m;k+;printf(nk=%ld,k);例:给一个正整数,按逆序打印出各位数字,并求出它是几位数。输入:230876输出:6,7,8,0,3,2,k=6关键第8页,共43页,编辑于2022年,星期一6.4 do-while语句n语法:do 循环体语句;while(exp)n语义:当exp为真时,执行循环体,为假时,执行循环语句的后续语句;n如:用do-while语句构成循环,求sum=1+2+100 i1,sum 0 sum=sum+i i=i+
5、1当i小于等于100输出sum第9页,共43页,编辑于2022年,星期一l程序如下:main()int i=1,sum=0;do sum+=i;i+;while(i10)循环被执行了一次第11页,共43页,编辑于2022年,星期一6.5 for循环语句n语法:for(exp1;exp2;exp3)循环体语句;n语义:n 如:for(i=1;i=100;i+)sum=sum+i;n 可看成:n for(循环变量赋初值;循环条件;循环变量增值)语句;第12页,共43页,编辑于2022年,星期一n说明:-(1)显然for循环更简洁,更灵活;-(2)循环体可以是复合语句;-(3)for语法中的三个表达
6、式均可以是逗号表达式,故可同时对多个变量赋初值及修改。-如:for(i=0,j=1;jn&In;i+,j+)-(4)for语句中三个表达式可省:8 省exp1;如:i=1;for(;i5;i+)printf(“%dn”,i);等价于 for(i=1;i5;i+)printf(“%dn”,i);第13页,共43页,编辑于2022年,星期一8 省exp3;如:for(i=1;i5;)printf(“%dn”,i);i+;等价于 for(i=1;i5)break;第14页,共43页,编辑于2022年,星期一8 三个表达式全省时,如:for(;)语句;等价于 while(1)语句;(5)for语句中的
7、循环体可以是空语句;如:for(k=1,s=0 ;k5;s=s+k,k+);printf(“%dn”,s);第15页,共43页,编辑于2022年,星期一6.6 循环的嵌套三种循环可以互相嵌套;例:打印九九乘法表main()int i=1,j=1;for(;i=9;i+)for(j=1;j=9;j+)printf(“%d*%d=%2d “,i,j,i*j);printf(“n”);第16页,共43页,编辑于2022年,星期一说明:(1)内循环必须完全包含在外循环中,不能交叉;(2)并列循环允许使用相同的循环变量,嵌套循环不允许使用相同的循环变量k作循环变量k作循环变量n作循环变量第17页,共43
8、页,编辑于2022年,星期一(3)允许使用break或goto语句将循环控制从循环体内转到循环体外,也可以用continue语句将控制在循环体内转移,但不允许用任何方式从循环体外转到循环体内;第18页,共43页,编辑于2022年,星期一6.8 break语句和语句和continue语句语句l6.8.1 kreak语句形式:break;作用:(1)跳出switch语句;(2)从循环体内跳出循环体;while(e1).if(e2)break;.e1e2假真真break第19页,共43页,编辑于2022年,星期一(3)在多重循环中,break只能退出其所在循环。(4)break只能用在循环语句、sw
9、itch语句中,它的功能是强行退出循环或switch;break;第20页,共43页,编辑于2022年,星期一l6.8.2 continue语句 形式:continue;作用:结束本次循环,跳过其后循环体内语句,进行下一次循环判断。While(e1).if(e2)continue.假e1e2真真continue第21页,共43页,编辑于2022年,星期一例:下列程序运行的结果是?main()int n;for(n=20;n30;n+)if(n%4!=0)continue;printf(“%5d ”,n);结果为:20 24 28 第22页,共43页,编辑于2022年,星期一例1:计算:分析:(
10、1)这里的积分采用梯形法计算,梯形积分计算公式是:第23页,共43页,编辑于2022年,星期一第24页,共43页,编辑于2022年,星期一#include#include main()int n,i;float x,h,xi,sum;scanf(“%f%d”,&x,&n);h=x/n;sum=(1.0+exp(-x*x/2)/2;xi=h;for(i=1;i=n-1;i+)sum+=exp(-xi*xi/2);xi+=h;sum=0.5+h*(1.0/sqrt(2.0*3.14)*sum;printf(“n%fn”,sum);第25页,共43页,编辑于2022年,星期一TF输入xx=1.0e-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第6章 循环控制PPT讲稿 循环 控制 PPT 讲稿
限制150内