第5篇循环结构的程序设计ppt课件.ppt

第5篇循环结构的程序设计ppt课件.ppt

ID:59209235

大小:297.50 KB

页数:41页

时间:2020-09-26

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

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

1、第5章循环结构的程序设计5.1循环结构问题的提出5.2解决单重循环的问题5.3解决多重循环的问题5.4简单的程序调试5.1循环结构问题的提出在用计算机解决大量的实际问题时,经常会遇到如下许多重复运算的问题。(1)求某一同学一学期的平均分。解决方法是将该同学这一学期所有考核成绩累加,再除以考核门数,就得到该生的平均分。(2)计算:1*2*3*…*n。这是一个累乘的问题,每个乘数与前面的一个数都有固定的关系(后面的数比前面的数大1)。因此每次累乘的数都是前面的数加1,方法相同,实际这是一个重复累乘的问题。这一类问题,重复的次数有些情况是已知的,有些情

2、况是未知的。但是这些问题都带有重复性的工作,解决这类问题,采用循环结构最为适当。有些问题,采用单重循环就能解决,比如上面所举的两个例子,都可以采用单重循环;而有些问题,比如说二维表格数据输出的问题,则需要采用双重循环才能解决。C语言提供了三种实现循环结构的语句,它们分别是:while语句、do-while语句和for语句,三种循环语句各有不同的特点,我们可以灵活使用。5.2解决单重循环的问题5.2.1while循环语句while循环语句的形式如下:while(表达式)循环体语句while循环语句的执行过程如图5-1所示。图5-1while语句的执

3、行说明(1)用while语句构成的是“当型”循环结构,它的特点是:“先判断,后执行”,如果表达式的最初值为0,则循环体语句一次也不执行。只有当表达式的值为非0时,才能执行循环体语句。执行完循环体语句后,再返回循环的开始部位,判断表达式的值,决定是否继续循环。(2)循环体语句只能是一条语句,如需要使用多条语句,必须采用复合语句的形式。(3)循环体内一定要有能够改变表达式的值的操作,最终使其表达式的值变为0,否则将形成无休止的“死”循环。例5.1求:1+2+3+…+n的累加求和的值。问题分析:(1)我们首先需要设置一个存放累加求和的变量sum,每一次

4、加一个数放入变量sum中;(2)再设置一个存放加数的变量i,每一次累加时被加的数均需比前一个数大1;(3)最后还需设置一个结束累加的变量n,确定累加到什么数为止。根据以上分析,写出源程序如下:main(){inti,n,sum;i=1;sum=0;printf("Pleaseinputn:");scanf("%d",&n);while(i<=n)/*累加的数i小于或等于终止数n就循环累加,否则结束循环*/{sum=sum+i;i++;}printf("sum=%d",sum);}说明(1)存放累加求和的变量sum,说明后必须赋初值,一般为0,

5、否则由于说明的变量其原有初值不确定,导致结果有误。(2)程序中sum=sum+i;语句是一个累加求和功能的语句,它是将变量sum中的数值加上变量i中的数值,求和后再放入变量sum中,此时变量sum中存放的数值已经变为新的数值,原有数值已被覆盖掉。以上程序运行情况如下:Pleaseinputn:100↙sum=50505.2.2do-while循环语句do-while循环语句的形式如下:do循环体语句while(表达式);do-while语句的执行过程如图5-2所示。图5-2do-while语句的执行过程说明(1)用do-while语句构成的仍是“

6、当型循环”结构。它的特点是:“先执行,后判断”。遇到do关键字后,首先执行循环体语句,然后计算表达式的值,如表达式的值为非0,则继续执行循环体语句,然后再计算表达式的值,如表达式的值为0,则结束循环,执行do-while语句后面的语句。因此这种循环结构,最少也可以执行一次循环体语句。(2)循环体语句仍然只能是一条语句,如需要使用多条语句,必须采用复合语句的形式。(3)循环体语句中也一定要有改变表达式的值的操作,最终使其表达式的值变为0,结束循环。否则将成为“死”循环。(4)在关键字while的小括号的后面,一定要加分号“;”,千万不能忘记,它表示

7、do-while语句到此结束。例5.2求:n!,即计算1×2×3×…×n的值。源程序如下:main(){inti,n,s;i=1;s=1;printf("Pleaseinputn:");scanf("%d",&n);do{s=s*i;/*使用“累乘”的公式*/i++;}while(i<=n);printf("%d!=%d",n,s);}说明(1)存放累乘求和的变量s,说明后必须赋初值,一般为1,否则由于说明的变量其原有初值不确定,导致结果有误。(2)程序中s=s*i;语句是一个累乘求和功能的语句,它是将变量s中的数值乘上变量i中的数值,累乘后

8、再放入变量s中,此时变量s中存放的数值已经变为新的数值,原有数值已被覆盖掉。以上程序运行情况如下:Pleaseinputn:5↙5!=1

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

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

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