C语言程序设计C语言程序设计PPT (5).pdf
《C语言程序设计C语言程序设计PPT (5).pdf》由会员分享,可在线阅读,更多相关《C语言程序设计C语言程序设计PPT (5).pdf(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、5 5循 环 结 构 程 序 设 计第第章章为什么需要循环控制i=1;/设整型变量i初值为1 while(i=50)/当i的值小于或等于50时执行花括号内的语句scanf(%f,%f,%f,%f,%f,&score1,&score2,&score3,&score4,&score5);aver=(score1+score2+score3+score4+score5)/5;printf(aver=%7.2f,aver);i+;/每执行完一次循环使i的值加1 重复写49个同样的程序段scanf(%f,%f,%f,%f,%f,&score1,&score2,&score3,&score4,&score
2、5);/输入一个学生5门课的成绩aver=(score1+score2+score3+score4+score5)/5;/求该学生平均成绩printf(aver=%7.2f,aver);/输出该学生平均成绩要向计算机输入全班50个学生的成绩;(重复50次相同的输入操作)分别统计全班50个学生的平均成绩;(重复50次相同的计算操作)解决方法用while语句实现循环while(表达式)语句while语句可简单地记为:只要当循环条件表达式为真(即给定的条件成立),就执行循环体语句。“语句”就是循环体。循环体可以是一个简单的语句,可以是复合语句(用花括号括起来的若干语句)。执行循环体的次数是由循环条件
3、控制的,这个循环条件就是上面一般形式中的“表达式”,它也称为循环条件表达式。当此表达式的值为“真”(以非0值表示)时,就执行循环体语句;为“假”(以0表示)时,就不执行循环体语句。注意while循环的特点是先判断条件表达式,后执行循环体语句。表达式语句YNwhile语句实现循环【例5.1】求1+2+3+100,即=1100#includeint main()int i=1,sum=0;/定义变量i的初值为1,sum的初值为0 while(i100,条件表达式i=100的值为假,不执行循环体/循环体开始sum=sum+i;/第1次累加后,sum的值为1i+;/加完后,i的值加1,为下次累加做准备
4、/循环体结束printf(sum=%dn,sum);/输出1+2+3+100的累加和return 0;i100sum=sum+ii=i+1真假sum=0i=1(1)循环体如果包含一个以上的语句,应该用花括号括起来,作为复合语句出现。(2)不要忽略给i和sum赋初值,否则它们的值是不可预测的,结果显然不正确。(3)在循环体中应有使循环趋向于结束的语句。如本例中的“i+;”语句。如果无此语句,则i的值始终不改变,循环永远不结束。用dowhile语句实现循环do语句while(表达式);注意dowhile语句的特点是,先无条件地执行循环体,然后判断循环条件是否成立。表达式语句YN用dowhile语句
5、实现循环【例5.2】用dowhile语句求1+2+3+100,即=1100#include int main()int i=1,sum=0;dosum=sum+i;i+;while(i=100);printf(sum=%dn,sum);return 0;在一般情况下,用while语句和用dowhile语句处理同一问题时,若二者的循环体部分是一样的,那么结果也一样。但是如果while后面的表达式一开始就为假(0值)时,两种循环的结果是不同的。i100sum=sum+ii=i+1真假sum=0i=1用dowhile语句实现循环【例5.3】while和dowhile循环的比较。#include in
6、t main()int i,sum=0;printf(please enter i,i=?);scanf(%d,&i);while(i=10)sum=sum+i;i+;printf(sum=%dn,sum);return 0;#include int main()int i,sum=0;printf(please enter i,i=?);scanf(%d,&i);do sum=sum+i;i+;while(i=10);printf(sum=%dn,sum);return 0;用for语句实现循环for(表达式1;表达式2;表达式3)语句for语句更为灵活,不仅可以用于循环次数已经确定的情况,
7、还可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。表达式1:设置初始条件,只执行一次。可以为零个、一个或多个变量设置初值。表达式2:是循环条件表达式,用来判定是否继续循环。在每次执行循环体前先执行此表达式,决定是否继续执行循环。表达式3:作为循环的调整,例如使循环变量增值,它是在执行完循环体后才进行的。for(循环变量赋值;表达式2;表达式3)语句用for语句实现循环for(表达式1;表达式2;表达式3)语句for语句的执行过程如下:(1)求解表达式1。(2)求解表达式2,若此条件表达式的值为真(非0),则执行for语句中的循环体,然后执行第(3)步。若为假(0
8、),则结束循环,转到第(5)步。(3)求解表达式3。(4)转回步骤(2)继续执行。注意:在执行完循环体后,循环变量的值“超过”循环终值,循环结束。(5)循环结束,执行for语句下面的一个语句。求解表达式1表达式2语句求解表达式3真假for语句的下一语句表达式1;while 表达式2语句表达式3用for语句实现循环for(表达式1;表达式2;表达式3)语句注意“表达式1”可以省略,即不设置初值,但表达式1后的分号不能省略。例如:for(;i=100;i+)。应当注意:由于省略了表达式1,没有对循环变量赋初值,因此,为了能正常执行循环,应在for语句之前给循环变量赋以初值。表达式2也可以省略,即不
9、用表达式2来作为循环条件表达式,不设置和检查循环的条件。此时循环无终止地进行下去,也就是认为表达式2始终为真。表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束。甚至可以将3个表达式都可省略,即不设初值,不判断条件(认为表达式2为真值),循环变量也不增值,无终止地执行循环体语句,显然这是没有实用价值的。表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。表达式3也可以是与循环控制无关的任意表达式。但不论怎样写for语句,都必须使循环能正常执行。表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。表达
10、式2一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值为非零,就执行循环体。for语句的循环体可为空语句,把本来要在循环体内处理的内容放在表达式3中,作用是一样的。可见for语句功能强,可以在表达式中完成本来应在循环体内完成的操作。C 99允许在for语句的“表达式1”中定义变量并赋初值。循环的嵌套while()while()01内层循环dodowhile();while();02内层循环for(;)for(;)03内层循环while()dowhile();04内层循环for(;)while()05内层循环dofor(;)while();06内层循环几种循环的比较(1)3
11、种循环都可以用来处理同一问题,一般情况下它们可以互相代替。(2)在while循环和dowhile循环中,只在while后面的括号内指定循环条件,因此为了使循环能正常结束,应在循环体中包含使循环趋于结束的语句(如i+,或i=i+1等)。for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强,凡用while循环能完成的,用for循环都能实现。(3)用while和dowhile循环时,循环变量初始化的操作应在while和dowhile语句之前完成。而for语句可以在表达式1中实现循环变量的初始化。(4)while循环、dowhile循
12、环和for循环都可以用break语句跳出循环,用continue语句结束本次循环。改变循环执行的状态continuebreak用break语句提前终止循环【例5.4】在全系1000名学生中举行慈善募捐,当总数达到10万元时就结束,统计此时捐款的人数以及平均每人捐款的数目。#include#define SUM 100000/指定符号常量SUM代表10万int main()float amount,aver,total;int i;for(i=1,total=0;i=SUM)break;aver=total/i;printf(num=%dnaver=%10.2fn,i,aver);return
13、0;for语句指定执行循环体1000次。每次循环中,输入一个捐款人的捐款数,并累加到total中。设置了if语句,在每一次累加捐款数amount后,立即检查累加和total是否达到或超过SUM(即100 000),若超过就执行break语句,流程跳转到循环体的花括号外,提前结束循环。用break语句提前终止循环break;作用:使流程跳到循环体之外,接着执行循环体下面的语句。注意:break语句只能用于循环语句和switch语句之中,而不能单独使用。用continue语句提前结束本次循环【例5.5】要求输出100200之间的不能被3整除的数。#include int main()int n;f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计C语言程序设计PPT 5 语言程序设计 PPT
限制150内