资源描述:
《C语言 第06章 循环控制结构ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、本章要求:掌握循环控制语句——for语句、while语句、do…while语句以及他们的嵌套应用;掌握break语句、continue语句的应用;熟练掌握计数、累加、累乘等简单算法熟练掌握穷举法、迭代法第6章循环控制循环结构的特点:在给定条件成立时,反复执行某程序段,直到条件不成立为止。注意两个概念:1、给定的条件称为循环条件2、反复执行的程序段称为循环体在C语言中,实现循环结构的语句主要有3种:for语句whiledo…While第6章循环控制循环结构引例:输入10个数,打印输出其中最大的数。算法设计如下:(1)输入1个数,存入变量A中,将记录数据个数的变量N赋值为1,即N=1(2)将A
2、存入表示最大值的变量Max中,即Max=A(3)再输入一个值给A,如果A>Max则Max=A,否则Max不变(4)让记录数据个数的变量增加1,即N=N+1(5)判断N是否小于10,若成立则转到第(3)步执行,否则转到第(6)步。(6)打印输出max从10个数中选出最大的数的流程图N<10Max=AN=1A>MaxMax=A输入A开始再输入给AN=N+1打印Max结束YNNY循环结构执行过程:计算表达式的值,当值为真(非0)时,执行循环体语句。while(表达式)语句;表达式是循环条件,语句为循环体表达式语句非006.3while语句从10个数中选出最大的数voidmain(){inta,m
3、ax,n=1;scanf("%d",&a);max=a;while(n<10){scanf("%d",&a);n=n+1;if(a>max)max=a;}printf("%d",max);}N<10Max=AN=1A>MaxMax=A输入A开始再输入给AN=N+1打印Max结束YNNY循环结构说明:计算<表达式>的值,若表达式的值为真(非0)时,则执行循环体语句;不断反复,直到表达式的值为假(0),则不执行循环体语句,而直接转向循环体外的下一条语句。<语句>是循环反复执行的程序,称为“循环体”,当需要执行多条语句时,应使用“{}”括起来组成一个复合语句。while语句是先判断条件,后执
4、行循环体,为“当型”循环,因此若条件不成立,有可能一次也不执行循环体。循环结构例:求:s=1+2+3+……+100(累加法)main(){ints=0,n=1;while(n<=100){s=s+n;n++;}printf("S=%d",s);}例:求n!,n由键盘输入(累乘法)voidmain(){intn,i,s;scanf("%d",&n);s=1;i=1;/*给变量s、i赋初值*/while(i<=n){s*=i;i++;}printf("%d!=%d",n,s);}循环结构例6.6利用公式求π的值,要求:直到最后一项的绝对值小于10-6为止。循环结构思考与讨论:1)程序中控制
5、循环结束的变量t是多项式中的通项。2)如果程序中将变量n定义为整数,程序运行会出现什么情况?#includevoidmain(){floatpi,t,n;intsign=1;pi=0.0;n=1.0;t=1.0;while(fabs(t)>=1e-6){t=sign/n;pi+=t;n+=2;sign=-sign;}pi=pi*4;printf("pi=%f",pi);}循环结构6.4do...while语句do语句;while(表达式);执行过程:先执行循环体语句一次,再判别表达式的值,若为真(非0)则继续循环,否则终止循环。循环结构例:求:s=1+2+3+……+10
6、0voidmain(){ints=0,n=1;do{s=s+n;n++;}while(n<=100);printf("S=%d",s);}例计算直到最后一项的绝对值小于1e-7时为止。循环结构#includevoidmain(){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)/n;/*计算通项*/s=s+t;/*累加求和*/}while(fabs(t)>=1e-7);/*当累加项的值大于1e-7继续循环*/printf("sin(%f)=
7、%lf",x,s);}求最大公约数的N-S流程图习题6.1求两个整数的最大公约数、最小公倍数循环结构编程分析:求最大公约数的算法如下:1)对于已知两数m,n,使得m>n。2)m除以n得余数r。3)若r=0,则n为求得的最大公约数,算法结束;否则执行4)。4)m←n,n←r,再重复执行2)。(最小公倍数=两个整数之积/最大公约数)。求两个整数的最大公约数、最小公倍数循环结构voidmain(){intn,m,nm,r,t;