c语言 第5讲循环结构程序设计ppt课件.ppt

c语言 第5讲循环结构程序设计ppt课件.ppt

ID:59422243

大小:372.50 KB

页数:48页

时间:2020-09-19

c语言 第5讲循环结构程序设计ppt课件.ppt_第1页
c语言 第5讲循环结构程序设计ppt课件.ppt_第2页
c语言 第5讲循环结构程序设计ppt课件.ppt_第3页
c语言 第5讲循环结构程序设计ppt课件.ppt_第4页
c语言 第5讲循环结构程序设计ppt课件.ppt_第5页
资源描述:

《c语言 第5讲循环结构程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、在解决实际问题时,往往需要对某个处理步骤重复执行。如:烧水过程:开始水温为某一初始值,当温度未达到100度时,需要给水加热,而且要不断重复加热过程,直到水温达到100度为止。计算n个三角形的面积:先输入第一个三角形的三条边,根据条件计算其面积;然后在输入第二个三角形的三条边,根据条件计算其面积;如此反复,直到把n个三角形的面积全部计算完毕为止。第5讲循环结构程序设计5.1while语句5.2do-while语句5.3for语句5.4break、continue和goto语句5.5循环的嵌套5.6复合结构程序举例第5讲循环

2、结构程序设计C语言有while、do-while、和for语句三种循环结构语句。前两个称为条件循环,即根据条件来决定是否继续循环;后一个称为计数循环,即根据设定的执行次数来执行循环。5.1while语句一般形式: while(表达式){语句组}表达式语句真假表达式1.计算表达式语句2.如果表达式的值为非零,执行语句表达式3.返回第一步,重新计算表达式4.如果表达式的值为零,则结束循环如果表达式的值一开始就为0,则语句一次也不会被执行。执行流程:while语句举例问题:求若干个学生的平均成绩,以输入负数成绩为结束算法分析:

3、1.定义变量score存储学生成绩,定义s=0存储累加的成绩,定义n=0统计录入的成绩数目。2.输入第一个学生的score3.若score>=0,执行第4步,否则执行第7步4.n++5.s=s+score6.录入下一个score,并返回第3步7.如果n>0,输出s/n;否则输出没有学生成绩main(){intn=0;floats=0,score;scanf(“%f”,&score);while(score>=0){n++;s=s+score;scanf(“%f”,&score);}if(n>0)printf(“%f”

4、,s/n);elseprintf(“nostudentscore!”);}程序:题目1:任意输入一个自然数,把它反序输出。(如:原数为123,输出321)。分析:此题不确定循环执行的次数,也不涉及一个规律变化的变量,一般用while或do-while来编写。又由于第一次就要判断输入的是否是自然数,通常用while来实现。算法步骤如下:1.定义整型变量a用于存储输入的自然数,定义t初值为0用于存放a的反序数,定义i用于依次存放求出的a的每一位的数值。2.输入一个自然数赋值给变量a3.若a>0,执行第4步,否则执行第7步4.

5、i=a%105.t=t*10+i6.a=a/10,并返回第3步7.输出t程序:#includemain(){longa,i,t=0;scanf(“%ld”,&a);while(a>0){i=a%10;t=t*10+i;a=a/10;}printf(“%ld”,t);}题目2:求两个整数的最大公约数和最小公倍数,例如24与16辗转相除法求最大公约数的具体步骤如下:1.例如m=24,n=16,定义变量r存放m与n的余数2.r=m%n3.判断r是否为0,如果r为0,则n就是m与n的最大公约数,转第6步;否

6、则,转第4步;4.m=n;n=r;5.r=m%n;转到第3步;6.输出最大公约数n;7.最小公倍数=m*n/最大公约数;请试着写出源代码!最大公约数的相关题目:34-2;83-2题目3:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。高位仍在高位,低位仍在低位,例如s=7654321,t则为7531。2-2;4-2;52-2;53-1;54-1;54-2;55-1 题目4:求一个无符号数字w的低n-1位。16-3;while(w>10)5.2do—while语句一般形式:do{ 语句 }while(

7、表达式);1.执行语句3.表达式的值为非零,返回第1步4.表达式的值为零,结束循环语句至少被执行一次。表达式语句2.计算表达式执行流程:注意:分号不能丢语句表达式真假main(){intn=0;floats=0,score;do{scanf(“%f”,&score);n++;s=s+score;}while(score>=0);if(n>1)printf(“%f”,(s-score)/(n-1));elseprintf(“nostudentscore!”);}用do-while语句编写统计学生平均成绩的程序:由于do

8、-while语句至少要被执行一次,特别要注意n和s的取值问题!想想这样的一段循环语句的执行结果:i=1;while(i<=100)putchar(‘*’);i++;这个循环永远不会结束,因为循环控制变量i没有在循环体内被改变,i++;不属于循环体。应该改为:i=1;while(i<=100){putchar(‘*’)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。