资源描述:
《C语言程序设计实用教程 教学课件 作者 周虹 课件第5章 循环结构程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言程序设计实用教程第5章循环结构程序设计1佳木斯大学本章学习目标掌握for语句、while语句和dowhile语句continue语句和break语句的使用利用以上语句实现循环结构程序设计2佳木斯大学【教学目的】1、掌握while、dowhile语句的使用。2、利用while、dowhile语句实现循环结构程序设计,掌握典型算法。3、培养动手编程的能力。3佳木斯大学【主要内容】1、循环的思想2、利用while语句实现“当型循环”3、利用dowhile语句实现“直到型循环”4、典型算法4佳木斯大学【重点与难点】1、利用while语句实现“当型循环”2、利用
2、dowhile语句实现“直到型循环”3、典型算法的形成与实现5佳木斯大学【教学方法】采用理论讲解、互动式、讨论式的教学方法6佳木斯大学【教学内容】带着问题学习:(1)while、dowhile语句如何执行?(2)怎样设置循环条件?(3)累加求和算法的实现7佳木斯大学循环结构程序设计一般来讲,循环结构程序设计要考虑两个方面的问题:(1)循环条件:循环条件是循环结构设计的关键,它决定着循环体执行的次数。循环条件常常由关系表达式和逻辑表达式来表示。(2)循环体:循环体即是需要重复执行的工作。它可以是一组顺序的语句,也可以是一组具有选择结构的语句,甚至还可以又是一组
3、具有循环结构的语句。8佳木斯大学真假图5-1“当型”循环流程图表达式语句退出循环while语句用来实现“当型”循环结构。其一般形式如下:while(表达式)语句其流程图见图5-1。执行时先判断表达式,若表达式为非0值,执行循环体语句,然后再判断表达式,直到表达式为0(“假”)结束循环。5-1while语句9佳木斯大学5-1while语句【例5-1】求main(){intk,sum=0;k=1;while(k<=100){sum=sum+k;k++;}printf("%d",sum);}10佳木斯大学5-1while语句【例5-2】从键盘上输入一个整数n,
4、求n!,利用while语句编程实现。main(){intn,k,fac;printf("Entern:");scanf("%d",&n);k=fac=1;*给变量k、fac赋初值,k用来控制循环,fac用来存放阶乘值*/while(k<=n)/*循环继续的条件*/{fac*=k;/*进行累乘求积*/k++;}/*乘数增值*/printf("n!=%d",fac);/*输出计算的结果*/}运行情况如下:Entern:5<回车>n!=12011佳木斯大学5-1while语句使用while循环结构应注意以下几点:(1)while循环结构的特点是“先判断后执
5、行”,如果表达式的值一开始就为“假”,循环体一次也不执行。(2)循环体中,如果包含一个以上的语句,则应用花括号括起来,以复合语句的形式出现。12佳木斯大学5-1while语句使用while循环结构应注意以下几点:(3)循环体内一定要有改变循环继续条件的语句,使得循环趋向于结束,否则循环将无休止的进行下去,即形成“死循环”。(4)为使循环能够正确开始运行,还要做好循环前的准备工作,分别给循环控制变量和累乘积单元进行初始化,一般用于存放累乘积的单元通常初始值为1,而用于存放累加和的单元通常初始值为0。13佳木斯大学5-1while语句【例5-3】从键盘上输入20
6、个学生的成绩,求平均分。main(){intn=1;/*循环控制变量赋初值*/floatscore,sum=0,aver;printf("Enterscore:");while(n<=20)/*循环继续的条件*/{scanf("%f",score);sum+=score;/*累加求和*/n++;}/*循环控制变量增值*/aver=sum/20;printf("average=%5.1f",aver);}14佳木斯大学5-1while语句【例5-4】输入两个数m,n求m,n的最大公约数。main(){intm,n,r;scanf("%d,%d",&m,
7、&n);r=m%n;while(r!=0){m=n;n=r;r=m%n;}printf("%d",n);}运行时输入24,16<回车>输出815佳木斯大学自主学习:要求书写程序,上机调试,运行。并要求利用循环语句(while循环或dowhile循环)用尽可能多的算法实现来。提示:根据已有的数学知识给出不同的其它算法,利用穷举的思想,从2一直到其中的一个数,分别去除这两个数,如果能够同时整除,就记载下来直到循环结束,最后记下的数就是最大公约数。还可以从其中的一个小的数开始向下取,一旦能够同时整除,立刻结束,这个数就是最大公约数。还有一种算法,如果除数为0,
8、这被除数是最大公约数,否则,如果被除数大于除数,则用