C语言课件第05章.ppt
《C语言课件第05章.ppt》由会员分享,可在线阅读,更多相关《C语言课件第05章.ppt(41页珍藏版)》请在三一文库上搜索。
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.1 while循环语句 while循环语句的形式如下: while(表达式)循环体语句 while循环语句的执行过程如图5-1所示。,图5-1 while语句的执行,说明 (1)用while语句构成的是“当型”
3、循环结构,它的特点是:“先判断,后执行”,如果表达式的最初值为0,则循环体语句一次也不执行。只有当表达式的值为非0时,才能执行循环体语句。执行完循环体语句后,再返回循环的开始部位,判断表达式的值,决定是否继续循环。,(2)循环体语句只能是一条语句,如需要使用多条语句,必须采用复合语句的形式。 (3)循环体内一定要有能够改变表达式的值的操作,最终使其表达式的值变为0,否则将形成无休止的“死”循环。,例5.1 求:1+2+3+n的累加求和的值。 问题分析: (1)我们首先需要设置一个存放累加求和的变量sum,每一次加一个数放入变量sum中; (2)再设置一个存放加数的变量i,每一次累加时被加的数均
4、需比前一个数大1; (3)最后还需设置一个结束累加的变量n,确定累加到什么数为止。,根据以上分析,写出源程序如下: main ( ) int i, n, sum; i=1; sum=0; printf (“ Please input n : “ ); scanf (“%d“, while ( i=n ) /* 累加的数i 小于或等于终止数n就循环累加,否则结束循环*/, sum=sum+i; i+; printf (“sum=%dn“, sum ); 说明 (1)存放累加求和的变量sum,说明后必须赋初值,一般为0,否则由于说明的变量其原有初值不确定,导致结果有误。,(2)程序中sum=sum
5、+i; 语句是一个累加求和功能的语句,它是将变量sum中的数值加上变量i中的数值,求和后再放入变量sum中,此时变量sum中存放的数值已经变为新的数值,原有数值已被覆盖掉。 以上程序运行情况如下: Please input n : 100 sum=5050,5.2.2 do-while 循环语句 do-while 循环语句的形式如下: do 循环体语句 while (表达式); do-while语句的执行过程如图5-2所示。,图5-2 do-while语句的执行过程,说明 (1)用do-while语句构成的仍是“当型循环”结构。它的特点是:“先执行,后判断”。遇到do关键字后,首先执行循环体语
6、句,然后计算表达式的值,如表达式的值为非0,则继续执行循环体语句,然后再计算表达式的值,如表达式的值为0,则结束循环,执行do-while语句后面的语句。因此这种循环结构,最少也可以执行一次循环体语句。,(2)循环体语句仍然只能是一条语句,如需要使用多条语句,必须采用复合语句的形式。 (3)循环体语句中也一定要有改变表达式的值的操作,最终使其表达式的值变为0,结束循环。否则将成为“死”循环。 (4)在关键字while的小括号的后面,一定要加分号“;”,千万不能忘记,它表示do-while语句到此结束。,例5.2 求:n!,即计算123n的值。 源程序如下: main ( ) int i, n,
7、 s; i =1; s =1; printf ( “Please input n: “ ); scanf (“%d“, ,do s = s*i ; /* 使用“累乘”的公式 */ i+; while ( i=n); printf (“%d!= %dn“, n, s ); ,说明 (1)存放累乘求和的变量s,说明后必须赋初值,一般为1,否则由于说明的变量其原有初值不确定,导致结果有误。 (2)程序中s = s*i; 语句是一个累乘求和功能的语句,它是将变量s中的数值乘上变量i中的数值,累乘后再放入变量s中,此时变量s中存放的数值已经变为新的数值,原有数值已被覆盖掉。,以上程序运行情况如下: Pl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课件 05
链接地址:https://www.31doc.com/p-2143329.html