资源描述:
《第4章 循环结构程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章循环结构程序设计熟练掌握三种循环语句的基本结构以及循环语句的嵌套。掌握goto语句的一般形式。熟练掌握break、continue跳转语句使用使用三种基本结构编写简单的程序本章重点4.1循环的概念循环:就是有规律地重复执行某些语句的过程。例如:要计算0到360度的正弦函数,要求每隔0.1度计算一次,如果没有循环结构,则:……..x=0.0;y=sin(x);printf(“y=%f”,y);x=0.1;y=sin(x*3.14159/180.0);printf(“y=%f”,y);……对于如此简单的问题,需要10000多条语句。循环结构来处理重复计算的问题。对于上述问题可以用以
2、下程序:……for(i=0;i<=3600;i++){x=i*3.14159/1800.0;y=sin(x);printf(“y=%f”,y);}……显然,这段程序简洁易懂。4.2for循环for循环通过for语句实现。for语句的一般格式为:for(表达式1;表达式2;表达式3)语句表达式1用于循环赋初始值,它只能执行一次;表达式2是循环条件;表达式3用于对循环条件的修改,以使循环能趋于结束。执行过程:执行表达式1计算表达式2并判断循环体执行表达式3=0非0例如:求从1加到100的程序。程序如下:main(){ints,i;s=0;for(i=1;i<=100;i++)s=s+
3、i;printf(″sum=%d″,s);}循环体!结果:sum=5050for语句---使用要点1、for语句中的表达式1可以省略,但在for循环之前应给循环变量赋值.例如:i=1;for(;i<=100;i++)sum=sum+i;2、表达式2也可以省略,但循环将陷入死循环.例如:for(i=1;;i++)sum=sum+i;3、表达式3也可以省略,但应在循环体中增加使循环变量值改变的语句.例如:for(sum=0,i=0;i<=100;){sum=sum+i;i++;}4、表达式1和表达式3同时省略也允许,例如:i=1;sum=0;for(;i<=100;){su
4、m=sum+i;i++;}这是完全与while循环等同.5、三个表达式都可以省略,但“;”不能省略。for(;;)sum=sum+i;循环将无休止的执行下去for语句---使用要点for语句---使用要点6、表达式1中的表达式可以是循环变量的赋初值的表达式,也可是与赋初值根本无关的其他表达式,或者两者兼而有之.例如:for(sum=0,i=1;i<=100;i++)sum=sum+i;表达式3也可以出现同样的情况,例如:for(sum=0,i=1;i<=100;sum=sum+i,i++);7、表达式2一般清况下是关系表达式或逻辑表达式,也可以是其他表达式,例如:f
5、or(;(c=getchar())!=‘’;printf(“%c”,c));若输入:cauc输出为cauc,不是输出ccaauucc.for语句---使用要点例求Fibonacci数列1,1,2,3,5,8的前30个数F1=1F2=1Fn=Fn-1+Fn-22=1+13=1+25=2+38=3+5在一次循环中计算两项,递推公式为:F1=1F2=1(初值)F1=F1+F2F2=F2+F1main(){longintf1,f2;inti,nprintf(“Inputn:”);scanf(“%d”,&n);f1=f2=1;for(i=1;i<=n;i++){printf(“%ld
6、t%ld”,f1,f2);f1=f1+f2;f2=f2+f1;}}for语句---范例#includevoidmain(void){inti,n;longfact=1;printf("pleaseinputn:");scanf("%d",&n);for(i=1;i<=n;i++)fact*=i;printf("%d!=%ld",n,fact);}例:求n!for语句例2:求一个等差数列前n项的和:ai+1-ai=d(i=1,2,3……)分析:1输入n、d和等差数列的第一个数a的取值。2sum、i的初值置03a+sumsum4计算数列中下一个数的取值a+d
7、a5i+1i6重复3、4、5步直到i大于n7输出结果nfor语句---范例#includevoidmain(void){inta,d,n,i;intai,sum=0;printf(“inputa=?td=?tn=?”);scanf(“%d%d%d”,&a,&d,&n);ai=a;for(i=1;i<=n;i++){sum+=ai;ai+=d;}printf(“sum=%d”,sum);}for语句的特点:1、使用了三个表达式