资源描述:
《控制结构(循环结构)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章控制结构(循环结构)教学内容掌握三条语句两种循环的实现形式理解循环三要素熟悉循环结构程序设计思路教学重点两种循环的实现形式教学难点循环嵌套循环结构程序设计循环概述用途解决一些需要重复多次才能完成的问题每一次在做相同操作或与上一次有联系的相似操作分类循环条件循环体0当型循环非0入口出口非0循环体循环条件0直到型循环入口出口while语句功能:实现当型循环形式:while(表达式)循环体语句执行:先判断,后执行表达式循环体语句0非0例4-11求n!P101i<=nt=t*ii++0非0i=1,t=1.0源程序main(){intn,i;floatt;printf(“p
2、leaseinputn(n>=0):”);scanf(“%d”,&n);t=1.0;i=1;while(i<=n){t*=i;i++;}printf(“%d!=%f”,n,t);}循环条件,i为循环变量循环变量初始化改变循环变量的值while语句应用举例例4-12:求π的近似值P101程序流程输入数据:无处理数据:π/4≈1-1/3+1/5-1/7+……输出结果:π算法分析问题实质:累加求和解决方案:循环循环条件循环变量初始化改变循环变量的值累加项t的绝对值大于等于10-6循环变量t=第1项的值循环变量t=下一项的值流程图开始pi=0t=1
3、t
4、>=10-6pi=p
5、i+tt=下一项非00pi=pi*4输出pi结束找规律项:1、-1/3、1/5、-1/7…找递推公式找本项与下一项之间的关系每一项都是一个分式分子都是1分母是n+2,n代表前一项分母下一项与本项符号相反n=n+2sign=-signt=sign/nn=1sign=1源程序#includemain(){floatpi,t,n;intsign=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=%f”,pi);}循环
6、条件,t为循环变量循环变量初始化改变循环变量的值do-while语句功能:实现直到型循环形式do循环体语句while(表达式);执行:先执行,后判断非0循环体语句表达式0当型循环可能一次也不执行,直到型循环至少执行一次do-while语句应用举例例4-13:计算sin(x)P102定义变量输入数据处理数据输出结果xsin(x)=x-x3/3!+x5/5!-x7/7!+…sin(x)累加问题循环实现当型循环直到型循环直到最后一项的绝对值小于1e-7循环条件循环变量初始化循环体(改变循环变量)fabs(t)>=1e-7s=s+tt=xt=-t*x*x/(n-1)/n找规律通
7、项公式:an与n之间的关系递推公式:an与an-1之间的关系源程序#includemain(){doubles,t,x;intn;printf(“pleaseinputx:”);scanf(“%lf”,&x);t=x;n=1;s=x;do{n=n+2;t=-t*x*x/(n-1)/ns=s+t;}while(fabs(t)>=1e-7);printf(“sin(%f)=%lf”,x,s);}如果将s=x;改为s=0;程序应如何修改?for语句功能最灵活,既可实现当型循环,也可实现直到型循环多用于循环次数已知的循环,也可用于循环次数未知的循环形式for(表
8、达式1;表达式2;表达式3)语句执行流程图for语句执行流程图如何转换成等价的while循环?表达式1;while(表达式2){语句表达式3;}求解表达式1表达式2循环体语句求解表达式3非00表达式1只在进入循环前求解一次for语句的典型应用for(循环变量赋初值;循环条件;循环变量增值)语句main(){inti,sum;sum=0;for(i=1;i<=100;i++)sum=sum+i;printf(“%d”,sum);}循环变量赋初值循环条件循环体语句循环变量增值非00for语句的灵活性for(sum=0,i=1;i<=100;i++)sum=sum+i;sum
9、=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++;}循环嵌套一个循环体内又包含另一个完整的循环结构三种循环语句可以相互嵌套P107一般情况下各层循环变量互不相同例4-16:打印金字塔图