C语言循环程序设计结构详细讲解.ppt

上传人:wuy****n92 文档编号:70756318 上传时间:2023-01-27 格式:PPT 页数:26 大小:226KB
返回 下载 相关 举报
C语言循环程序设计结构详细讲解.ppt_第1页
第1页 / 共26页
C语言循环程序设计结构详细讲解.ppt_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《C语言循环程序设计结构详细讲解.ppt》由会员分享,可在线阅读,更多相关《C语言循环程序设计结构详细讲解.ppt(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C Programming第五章第五章C Programming 5.1 5.1 概述概述什么是循环?什么是循环?为什么要使用循环?为什么要使用循环?问题问题1 1:问题问题2:2:求学生平均成绩求学生平均成绩 分数相加后除以课数分数相加后除以课数 在许多问题中需要用到循环控制。循环结构是结构化程序设计的基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。C Programming 5.3 5.3 用用whilewhile语句实现循环语句实现循环while语句用来实现“当型”循环结构。一般形式:一般形式:while(while(表达式表达式)语句语句 当表达式为非当表达式为

2、非0 0值时,执行值时,执行whilewhile语句中的内嵌语句。其特点是语句中的内嵌语句。其特点是:先判先判断表达式,后执行语句。断表达式,后执行语句。C Programming求求1 1到到100100的和的和#include#include void main()void main()int i int i,sum=0;sum=0;i=1;i=1;while(i=100)while(i=100)sum=sum+i;sum=sum+i;i+;i+;printf(%dn printf(%dn,sum);sum);说明:说明:说明:说明:(1)循环体如果包含一个以上的语句,应该用花括弧括起来,

3、以复合语句形式出现.(2)(2)(2)(2)在循环体中在循环体中在循环体中在循环体中应有使循环趋向于结束的语句应有使循环趋向于结束的语句应有使循环趋向于结束的语句应有使循环趋向于结束的语句。运行结果:运行结果:50505050初始化循环终止测试条件循环体循环增量C Programming 5.4 5.4 用用do-whiledo-while语句实现循环语句实现循环 do-while语句的特点:先执行循环体,然后判断循环条件是否成立。一般形式一般形式:do do 循环体语句 whilewhile(表达式);执行过程:执行过程:先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零(“真”

4、)时,返回重新执行循环体语句,如此反复,直到表达式的值等于0为止,此时循环结束。C Programming求求求求1 1到到到到100100的和的和的和的和#include#include#include#include void main()void main()void main()void main()int i int i int i int i,sum=0;sum=0;sum=0;sum=0;i=1;i=1;i=1;i=1;do do do do sum=sum+i;sum=sum+i;sum=sum+i;sum=sum+i;i+;i+;i+;i+;while(i=100);whil

5、e(i=100);while(i=100);while(i=100);printf(%dn printf(%dn printf(%dn printf(%dn,sum)sum)sum)sum);运行结果:运行结果:50505050C Programmingwhilewhile语句和用语句和用do-whiledo-while语句的比较语句的比较:在一般情况下,用while语句和用do-while语句处理同一问题时,若二者的循环体部分是一样的,它们的结果也一样。但是如果while后面的表达式一开始就为假(0值)时,两种循环的结果是不同的。C Programmingwhilewhile和和do-whi

6、ledo-while循环的比较循环的比较#include#include#include#include void main()void main()void main()void main()int sum=0 int sum=0,i;int sum=0i;int sum=0,i;i;scanf(“%d scanf(“%d,&i);scanf(”%d&i);scanf(”%d,&i);&i);while(i=10)do while(i=10)do sum=sum+I;sum=sum+i;sum=sum+I;sum=sum+i;i+;i+;i+;i+;while(i=10);while(i=1

7、0);printf(“sum=%dn,sum);printf(“sum=%dn”,sum);printf(“sum=%dn,sum);printf(“sum=%dn”,sum);运行结果:运行结果:1 1 sum=55 sum=55 再运行一次:再运行一次:11 11sum=0sum=0运行结果:运行结果:1 1 sum=55 sum=55 再运行一次:再运行一次:1111sum=11sum=11说明:说明:说明:说明:(1)当while后面的表达式的第一次的值为“真”时,两种循环得到的结果相同。否则,二者结果不相同。C Programming 5.5 5.5 用用for for 语句实现循环

8、语句实现循环C语言中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。一般形式一般形式:forfor(表达式1;表达式2;表达式3)语句C Programmingforfor语句的执行过程:语句的执行过程:(1)先求解表达式1。(2)求解表达式2,若其值为真(值为非0),则执 行for语句中指定的内嵌语句,然后执行下 面第(3)步。若为假(值为0),则结束循环,转到第(5)步。(3)求解表达式3。(4)转回上面第(2)步骤继续执行。(5)循环结束,执行for语句下面的一个语句 for(表达式1;表达

9、式2;表达式3)语句C Programming 5.5 5.5 用用for for 语句实现循环语句实现循环表达式表达式2?执行语句语句成立成立不成立不成立执行for循环之后的语句执行表达式3执行表达式执行表达式1循环初始条件循环初始条件循环控制条件循环控制条件循环体循环体for语句等价于下列语句:语句等价于下列语句:表达式表达式1;while(表达式(表达式2)语句;语句;表达式表达式3;C Programming 5.5 5.5 用用for for 语句实现循环语句实现循环 for语句最简单的形式:for(for(循环变量赋初值;循环条件;循环变量增值循环变量赋初值;循环条件;循环变量增值

10、)例如例如:for(i=1;i=100;i+)sum=sum+i;相当于:相当于:i=1;i=1;while(i=100)while(i=100)sum=sum+i;sum=sum+i;i+;i+;用for语句简单、方便。C Programming 5.7 5.7 循环的嵌套循环的嵌套下面几种都是合法的形式:(1)while()(2)do (3)for(;)while()do for(;)while();while();C Programming 5.7 5.7 循环的嵌套循环的嵌套(4)while()(5)for(;)(6)do do while()for(;)while()while()C

11、 Programming 问题提出问题提出*main()printf(“*”);*main()int i;for(i=1;i=5;i+)printf(“*”);*main()int i,j;for(i=1;i=5;i+)for(j=1;j=5;j+)printf(“*”);printf(“n”);C Programming现场编程完成例现场编程完成例编程输出如下形式的乘法九九表编程输出如下形式的乘法九九表 C Programming#include main()int m,n;for(m=1;m10;m+)printf(%4d,m);/*打印表头打印表头*/printf(n);for(m=1;

12、m10;m+)printf(-);printf(n);for(m=1;m10;m+)for(n=1;n10;n+)printf(%4d,m*n);printf(n);C Programming现场编程完成现场编程完成将上例输出格式改成如下的下三角格式打印 C Programming#include main()int m,n;for(m=1;m10;m+)printf(%4d,m);/*打印表头打印表头*/printf(n);for(m=1;m10;m+)printf(-);printf(n);for(m=1;m10;m+)for(n=1;n=m;n+)printf(%4d,m*n);prin

13、tf(n);C Programming 6.8 break 6.8 break语句和语句和continuecontinue语句语句 5.8.1 break5.8.1 break语句语句 break语句可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句 一般形式:一般形式:break;break;注意注意:break语句不能用于循环语句和switch语句之外的任何其他语句中。C Programming 5.8 break 5.8 break语句和语句和continuecontinue语句语句 例例:float pi=3.14159;for(r=1;r100)break;prin

14、tf(r=%f,area=%fn,r,area);程序的作用是计算程序的作用是计算r=1r=1到到r=10r=10时的圆面积,直到时的圆面积,直到面积面积areaarea大于大于100100为止。从上面的为止。从上面的forfor循环可以看循环可以看到:当到:当area100area100时,执行时,执行breakbreak语句,提前结束语句,提前结束循环,即不再继续执行其余的几次循环循环,即不再继续执行其余的几次循环。C Programming 5.8 break 5.8 break语句和语句和continuecontinue语句语句 5.8.2 continue5.8.2 continue

15、语句语句 作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定.一般形式:一般形式:continue;continue;C Programming5.8 break5.8 break和和continuecontinue语句语句 continue语句和break语句的区别 continue语句只结束本次循环,而不是终止整个循环的执行。while(表达式1)if(表达式2)continue;C Programming 5.8 break 5.8 break语句和语句和continuecontinue语句语句 continue和break的区别 break语句则是结

16、束整个循环过程,不再判断执行循环的条件是否成立。while(表达式1)if(表达式2)break;C Programming例例6.5 把把100200之间的不能被之间的不能被3整除的数输出整除的数输出#include void main()int n;for(n=100;n=200;n+)if(n%3=0)continue;printf(%d ,n);说明:说明:说明:说明:当n能被3整除时,执行continue语句,结束本次循环(即跳过printf函数语句),只有n不能被3整除时才执行printf函数。C Programming水仙花数:打印100-1000范围内的所有水仙花数 main()int i,j,k,n;for(n=100;n1000;n+)i=n/100;j=n/10%10;k=n%10;if (i*100+j*10+k=i*i*i+j*j*j+k*k*k)printf(“%d ”,n);printf(“n”);

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

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

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁