C程序设计6(ch3 循环).ppt

C程序设计6(ch3 循环).ppt

ID:48735474

大小:289.50 KB

页数:33页

时间:2020-01-20

C程序设计6(ch3 循环).ppt_第1页
C程序设计6(ch3 循环).ppt_第2页
C程序设计6(ch3 循环).ppt_第3页
C程序设计6(ch3 循环).ppt_第4页
C程序设计6(ch3 循环).ppt_第5页
资源描述:

《C程序设计6(ch3 循环).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、§3.3.3循环结构程序设计(重复执行某一段程序)循环结构被用到的两个原因:①很多复杂问题可转换为简单问题的重复,从而降低问题的复杂性和程序设计的难度.如:可转化为n次②易于发挥计算机运算速度快,自动执行程序的优势.1C语言讲义陈代娟具有代表性的循环算法:①穷举:将问题的所有状态一一测试,直到找到解或所有可能状态全部测试完为止.②迭代:不断用新值取代变量旧值,或由旧值递推出新值的过程.C语言提供三种专门的循环结构:do_while循环直到型循环while循环for循环也可以用if语句和goto语句构成循环当型循环2C语言讲义陈代娟一、While循环格式:while(表达式)语句说明:①

2、while后的表达式为循环控制条件。一般为关系表达式或逻辑表达式,也可以是其他类型的表达式。例如:while(x>0&&x<2)y=x*x+5;while(89)z=3*x+2;循环控制条件内嵌语句(循环体)3C语言讲义陈代娟②while的内嵌语句即循环体,可以是一个语句,也可以是多个语句;多个语句时应用{}括起来,成为复合语句,否则系统只将最前面的一个语句作为内嵌语句。例如:intx=0,y=0;while(x<=5){y=y+x;x++;}能正确求出1+2+3+4+5;而intx=0,y=0;while(x<=5)y=y+x;x++;则不能正确求出1+2+3+4+5.4C语言讲义陈

3、代娟功能:实现当型循环。执行过程:首先计算表达式的值;然后判断其值是否非0:若非0,则执行循环体内各语句后再判断;若为0,则结束循环,执行while语句后面的语句。框图如下:表达式语句非00当表达式非0语句5C语言讲义陈代娟说明:①while循环的特点:选判断,后执行。②循环的四大组成部分:a.循环初始化部分(位于while之前)b.循环控制部分(循环条件,位于while后的括号内)c.循环工作部分(循环体,若有多个语 句,应用打括号括起构成复合语句)d.循环修正部分(位于循环体内)6C语言讲义陈代娟例1.求算法如下:当n≤100sum+isumi+1i1n输出sum的值n≤100su

4、m+isumi+1i非001n输出sum的值7C语言讲义陈代娟程序如下:main(){intn,sum;sum=0;i=1;while(n<=100){sum=sum+i;i++;}printf(“sum=%d”,sum);}思考:要求出、及,应怎样修改程序?8C语言讲义陈代娟例2(计数循环):求程序如下:main(){intsum,n,y;sum=0;n=1;y=1;while(n<=20){y=y*n;sum=sum+y;i++;}printf(“sum=%d”,sum);}9C语言讲义陈代娟例3(条件循环)清华P116例6.6:计算值。t=1,pi=0,n=1,s=1s=

5、-s输出pit=s/n当

6、t

7、≥10-6n=n+2pi=pi+tpi=pi*4程序如下:#include“math.h”main(){ints;floatn,t,pi;s=1;pi=0;n=1;t=1;while(fabs(t)>1e-6){pi=pi+t;n=n+2;s=-s;t=s/n;}pi=pi*4;printf(“pi=%10.6f”,pi);}10C语言讲义陈代娟例4(条件循环)高教P87例3.19:爱因斯坦的阶梯问题。设有一阶梯,每步跨2阶,最后剩1阶;每步跨3阶,最后剩2阶;每步跨5阶,最后剩4阶;每步跨6阶,最后剩5阶;每步跨7阶,正好到阶梯顶。文共有多少阶阶梯?

8、算法(穷举后排出):设阶梯数为ladders,则题中条件为:①ladders%2=1②ladders%3=2③ladders%5=4④ladders%6=5⑤ladders%7=0由条件⑤知:结梯数是7的整数倍。因此,可以从7开始,分别对7,14,21,28,……进行测试,看哪一个符合题意。11C语言讲义陈代娟由条件①知:阶梯数是奇数。故算法变为:依次对7,7+14,7+14+14,……用条件②③④进行测试,找出符合题意者。由此,写出程序如下:main(){intladders=7;while(!(ladders%3==2&&ladders%5==4&&ladders%6==5))la

9、dders=ladders+14;printf(“flightsofthestair=%d”,ladders);}运行结果为:flightofthestair=11912C语言讲义陈代娟二、do_While循环格式:do语句while(表达式);说明:①while后的表达式为循环控制条件。一般为关系表达式或逻辑表达式,也可以是其他类型的表达式。②while(表达式)后有分号:;循环控制条件内嵌语句(循环体)13C语言讲义陈代娟③while的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。