欢迎来到天天文库
浏览记录
ID:48192676
大小:328.50 KB
页数:35页
时间:2020-01-15
《大学C语言41.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章循环结构程序设计4.1循环的概念4.2实现循环的语句4.3break和continue语句4.4循环的嵌套4.5循环结构程序设计举例4.1循环的概念当所要解决的问题存在重复执行内容时,应该使用循环结构来实现,具体的设计步骤可归纳如下。(1)构造循环体。将问题中需要重复执行的部分,利用C语言规则归纳出一组程序段。在归纳的过程中应充分利用变量是一个变化的量的概念。如本列中变量score在不同的时刻代表的是不同学生的成绩。(2)寻找控制循环的变量。有的题目循环的次数是确定的,可以使用计数器来控制循环;
2、有的题目循环的次数不是确定的,那么使用计数器就不合适了,设计者应从题目中去寻找规则变化的量来控制循环体完成规定的次数。(3)找出控制变量的3个要素。循环控制变量的初值。循环的条件。使循环趋于结束的部分。4.2实现循环的语句4.2.1while语句while语句是实现当型结构循环的语句,其一般形式为while(逻辑量)循环体语句其中,while是C语言的关键字,语句中的逻辑量为循环条件。while语句的流程图如图4.2所示。使用while语句实现循环时,语句中的逻辑量对应于循环条件P,循环体语句对
3、应于循环体A。while语句执行时,首先判断逻辑量的值,如果逻辑量为1,则首先执行循环体语句,然后继续判断逻辑量;如果逻辑量为0,则结束循环,执行循环的后续语句。例4.3求1到100的和。根据流程图写出程序:main(){inti,sum;sum=0;i=1;while(i<=100){sum=sum+i;i++;printf("%d",sum);}}图4.3例4.3的N-S流程图例4.4求n!。main(){floatfac;inti,n;fac=1;i=2;scanf("%d",&n);whi
4、le(i<=n){fac=fac*i;i++;}printf("n!=%.0f",fac);}图4.4例4.4的N-S流程图4.2.2do-while语句do-while语句是实现直到型循环结构的语句,其一般形式为:do循环体语句while(逻辑量);do-while语句的流程图如图4.6所示。使用do-while语句实现循环时,语句中的逻辑量对应于循环条件P,循环体语句对应于循环体A。do-while语句执行时,首先执行循环体语句,然后判断逻辑量,如果逻辑量为1,则继续执行循环体语句;如果逻辑量
5、为0,则结束循环,执行循环的后续语句。例4.9求两个数的最大公约数。(a)当型结构(b)直到型结构图4.8例子的两种结构的N-S图根据流程图可得到程序:main()main(){{intm,n,r;intm,n,r;scanf("%d,%d",&m,&n);scanf("%d,%d",&m,&n);if(m6、intf("%d",n);printf("%d",m);}}4.2.3for语句for语句是实现当型循环结构的语句,for语句是C语言所提供的功能更强、使用更广泛的一种循环语句。其一般形式为:for(表达式1;逻辑量;表达式2)循环体语句;表达式1通常用来给循环变量赋初值,一般是赋值表达式。也允许在for语句外给循环变量赋初值,此时可以省略该表达式。逻辑量通常是循环条件,一般为关系表达式或逻辑表达式,也可以是任意“确定的值”。表达式2通常是使循环趋于结束的部分,一般是赋值表达式。for语句对应7、的传统流程如图4.9所示。for语句的执行过程如下:(1)求解表达式1。(2)判断逻辑量,如果为1,则执行循环体语句,然后执行第3步;如果为0,则结束循环,执行循环的后续语句。(3)求解表达式2。转向第2步执行。从for语句的形式可以看出for后的括号内三项内容分别对应于循环的三要素,能清晰地描述循环。我们可以采取图4.10所示的方式来描述for语句对应的N-S流程图。图4.9for语句的传统流程图图4.10for语句的N-S流程图例4.11求。main(){floatsum=0,s=0;floatx8、,h;scanf("%f",&h);for(x=0;x<5;x=x+h){s=(x*x+x+(x+h)*(x+h)+x+h)*h/2sum=sum+s;}printf("jifen=%.2f",sum);}图4.11例4.11的N-S流程图使用for语句应注意以下几点。(1)for语句中的各表达式都可省略,但间隔符分号不能省略。例如:for(;逻辑量;表达式2)省去了表达式1。for(表达式1;;表达式2)省去了逻辑量。for(表达式1;逻辑量;)省
6、intf("%d",n);printf("%d",m);}}4.2.3for语句for语句是实现当型循环结构的语句,for语句是C语言所提供的功能更强、使用更广泛的一种循环语句。其一般形式为:for(表达式1;逻辑量;表达式2)循环体语句;表达式1通常用来给循环变量赋初值,一般是赋值表达式。也允许在for语句外给循环变量赋初值,此时可以省略该表达式。逻辑量通常是循环条件,一般为关系表达式或逻辑表达式,也可以是任意“确定的值”。表达式2通常是使循环趋于结束的部分,一般是赋值表达式。for语句对应
7、的传统流程如图4.9所示。for语句的执行过程如下:(1)求解表达式1。(2)判断逻辑量,如果为1,则执行循环体语句,然后执行第3步;如果为0,则结束循环,执行循环的后续语句。(3)求解表达式2。转向第2步执行。从for语句的形式可以看出for后的括号内三项内容分别对应于循环的三要素,能清晰地描述循环。我们可以采取图4.10所示的方式来描述for语句对应的N-S流程图。图4.9for语句的传统流程图图4.10for语句的N-S流程图例4.11求。main(){floatsum=0,s=0;floatx
8、,h;scanf("%f",&h);for(x=0;x<5;x=x+h){s=(x*x+x+(x+h)*(x+h)+x+h)*h/2sum=sum+s;}printf("jifen=%.2f",sum);}图4.11例4.11的N-S流程图使用for语句应注意以下几点。(1)for语句中的各表达式都可省略,但间隔符分号不能省略。例如:for(;逻辑量;表达式2)省去了表达式1。for(表达式1;;表达式2)省去了逻辑量。for(表达式1;逻辑量;)省
此文档下载收益归作者所有