控制结构(循环结构).ppt

上传人:za****8 文档编号:14245853 上传时间:2020-07-14 格式:PPT 页数:31 大小:312.51KB
收藏 版权申诉 举报 下载
控制结构(循环结构).ppt_第1页
第1页 / 共31页
控制结构(循环结构).ppt_第2页
第2页 / 共31页
控制结构(循环结构).ppt_第3页
第3页 / 共31页
资源描述:

《控制结构(循环结构).ppt》由会员分享,可在线阅读,更多相关《控制结构(循环结构).ppt(31页珍藏版)》请在装配图网上搜索。

1、第4章 控制结构(循环结构),教学内容 掌握三条语句两种循环的实现形式 理解循环三要素 熟悉循环结构程序设计思路 教学重点 两种循环的实现形式 教学难点 循环嵌套 循环结构程序设计,循环概述,用途 解决一些需要重复多次才能完成的问题 每一次在做相同操作或与上一次有联系的相似操作 分类,,,,,,入口,出口,,入口,,出口,while语句,功能:实现当型循环 形式:while(表达式)循环体语句 执行:先判断,后执行,例4-11 求n! P101,源程序,main() int n,i; float t; printf(“please input n(n=0):”); scanf(“%d”, ,,

2、循环条件,i为循环变量,,循环变量初始化,,改变循环变量的值,while语句应用举例,例4-12:求的近似值P101 程序流程 输入数据:无 处理数据:/41-1/3+1/5-1/7+ 输出结果: 算法分析 问题实质:累加求和 解决方案:循环 循环条件 循环变量初始化 改变循环变量的值,累加项t的绝对值大于等于10-6,循环变量t=第1项的值,循环变量t=下一项的值,流程图,,,找规律,项:1、-1/3、1/5、-1/7,找递推公式,找本项与下一项之间的关系,每一项都是一个分式,分子都是1,分母是n+2,n代表前一项分母,下一项与本项符号相反,n=n+2 sign=-sign t=sign/n

3、,,n=1 sign=1,源程序,#include main() float pi,t,n; int sign=1; pi=0.0;n=1.0;t=1.0; while(fabs(t)=1e-6) pi=pi+t; n=n+2; sign=-sign; t=sign/n; pi=pi*4; printf(“pi=%fn”,pi); ,,,,循环条件,t为循环变量,循环变量初始化,改变循环变量的值,do-while语句,功能:实现直到型循环 形式 do 循环体语句 while(表达式); 执行:先执行,后判断,当型循环可能一次也不执行,直到型循环至少执行一次,do-while语句应用举例,例4

4、-13:计算sin(x)P102 定义变量 输入数据 处理数据 输出结果,x,sin(x)=x-x3/3!+x5/5!-x7/7!+,sin(x),,,,累加问题,,循环实现,,,当型循环,直到型循环,直到最后一项的绝对值小于1e-7,,循环条件,循环变量初始化,循环体 (改变循环变量),fabs(t)=1e-7,s=s+t,t=x,t=-t*x*x/ (n-1)/n,,找规律,通项公式:an与n之间的关系,递推公式:an与an-1之间的关系,,源程序,#include main() double s,t,x;int n; printf(“please input x:”); scanf(“%

5、lf”,,如果将s=x;改为s=0;程序应如何修改?,for语句,功能 最灵活,既可实现当型循环,也可实现直到型循环 多用于循环次数已知的循环,也可用于循环次数未知的循环 形式 for(表达式1;表达式2;表达式3) 语句 执行 流程图,for语句执行流程图,如何转换成等价的while循环? 表达式1; while(表达式2) 语句 表达式3; ,表达式1只在进入循环前求解一次,for语句的典型应用,for (循环变量赋初值;循环条件;循环变量增值) 语句 main() int i,sum; sum=0; for(i=1;i<=100;i++)sum=sum+i; printf(“%d”,su

6、m); ,for语句的灵活性,for(sum=0,i=1;i<=100;i++)sum=sum+i; sum=0,i=1; for(;i<=100;i++)sum=sum+i; for(sum=0,i=1;i<=100;)sum=sum+i; i++; sum=0,i=1; for(;i<=100;) sum=sum+i; i++; for(sum=0,i=1;;i++) if(i<=100)break; sum=sum+i; sum=0,i=1; for(;;) if(i<=100)break; sum=sum+i; i++;,循环嵌套,一个循环体内又包含另一个完整的循环结构 三种循环语句可

7、以相互嵌套P107 一般情况下各层循环变量互不相同 例4-16:打印金字塔图案P107,1 222 33333 4444444 555555555 66666666666 7777777777777 888888888888888 99999999999999999,编程思想:抽象的学问 抽象方法:找规律 用变量来描述变化的规律 用流程图来描述算法 编程实现算法,流程图,一行一行输出,重复操作,循环,循环变量除用来控制循环的开始与结束外,往往还参与循环体内的操作。,,一个字符一个字符输出,每行输出若干个空格和若干个数字,源程序,main() int i,j; for(i=1;i<=4;

8、i++) for(k=1;k<=10-i;k++) printf(%c, ); for(j=1;j<=2*i-1;j++) printf(%c,48+i); printf(n); ,,是否可改为0+i?,,是否可将k改为j?,,是否可去掉?,几种循环的比较,循环三要素 循环条件、循环变量初始化、改变循环变量的值,循环中应避免的问题,不循环 发生场合:当型循环 原因:循环变量初值不合适,循环初始条件为假 死循环 发生场合:当型循环、直到型循环 原因:循环变量改变量不合适,循环条件始终为假,反面案例,n=10; while (n<10) n=n+1; printf(“n=%d”,n); for

9、(n=10;n<10;n++); printf(“n=%d”,n);,n=10; do n=n+1; while(n10); printf(“n=%d”,n); for(n=10;n<10;n--); printf(“n=%d”,n);,循环的入口与出口,循环入口 满足循环条件即可进入循环 循环出口 正常出口:不满足循环条件,正常退出 紧急出口:当出现某种情况时,不管当前是否满足循环条件,立即退出,循环的紧急出口,break语句:结束整个循环 continue语句:结束本次循环 一般出现在一条if语句中 if(n%3==0) break; 例4-20:判断素数P111 算法描述:如果m不能够被

10、2sqrt(m)之间任一整数整除,则m为素数。 流程图 源程序,流程图,,正常出口,紧急出口,,,,如何判断退出方式?,正常退出,紧急退出,源程序,#include main() int m,i,k; printf(“Enter m=n”); scanf(%d, ,循环结构程序设计应用举例,例4-22:换零钱问题P113 穷举法(枚举法):一一列举各种可能情况,并判断哪一种可能是符合要求的解 一种笨方法,源程序,void main() int x,y,z; printf(“5yun 1yun 0.5yunn”); n=0; for(x=1;x<=100;x++) for(y=1;y<=100;

11、y++) for(z=1;z<=100;z++) if(x+y+z==100 ,void main() int x,y,z; printf(“5yun 1yun 0.5yunn”); n=0; for(x=1;x<=100;x++) for(y=1;y<=100;y++) z=100-x-y; if(5*x+y+0.5*z==100) printf(“ %d %d %dn”, x,y,z); n++; printf(“Total %d”,n); ,循环结构程序设计应用举例-2,例4-23:求平方根P115 程序流程 输入数据:欲求平方根的数据 处理数据:求平方根 输出结果:平方根 算法分析 迭代法P115 要求解X,可由给定的一个初值X0,通过迭代公式求得一个新值X1,这个新值X1比初值X0更接近要求的X,再以新值X1作为初值,即X1X0,重新按原来方法求X1,重复此过程直到|X1-X0|= 循环变量初始化:X0、X1 改变循环变量的值:迭代公式、 X1X0,流程图,,,源程序,#include void main() float a,x0,x1,t; scanf(“%f”, ,试与P115程序进行比较,实验四,实验指导书实验五:4,7,作业,教材P119:三 教材P120:四,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

相关资源

更多
正为您匹配相似的精品文档

相关搜索

关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


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