while循环教学设计ppt课件.ppt
火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去循环结构程序设计用while语句实现循环火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去全班有全班有30个学生,统计各学生三门课的平均成绩。个学生,统计各学生三门课的平均成绩。输入学生1的三门课成绩,并计算平均值后输出要:scanf(“%f,%f,%f”,&s1,&s2,&s3);aver=(s1+s2+s3)/3;printf(“aver=%7.2f”,aver);火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去f从键盘输入一个小于100的正整数,要求输出它的平方根.(若平方根不是整数,则输出其整数部分)要求:在输入数据后先对其进行检查是否为小于100的正整数。若不是,则要求重新输入。火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去#include#include#define M 1000int main()int i,k;printf(请输入一个小于%d的整数i:,M);scanf(%d,&i);if(iM)printf(输入数不合要求,请重新输入一个小于%d的整数i:,M);scanf(%d,&i);k=sqrt(i);printf(%d的平方根的整数部分是:%dn,i,k);思考:如果连续两次都输入错误呢?if(iM)能不能重复判定,直到满足iM才退出呢?火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去 while语句的一般形式如下:while(表达式)语句“真”时执行循环体语句“假”时不执行循环条件表达式while循环的特点是:先判断条件表达式,后执行循环体语句火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去6先判断表达式是否为真;先判断表达式是否为真;若表达式为真,执行语若表达式为真,执行语句,直到表达式句,直到表达式 为假;为假;若表达式为假,则跳出若表达式为假,则跳出循环。循环。假假(0 0)真(非真(非0 0)表达式表达式 语句语句 while火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去全班有30个学生,统计各学生三门课的平均成绩。i=1i30输入一个学生成绩求一个学生平均成绩输出一个学生平均成绩 i增1YN用while循环结构实现i=1;while(i=30)scanf;aver=;printf;i+;火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去8v特点:特点:先判断表达式,后执行循环体v说明:说明:1、循环体可为任意类型语句2、下列情况,退出while循环:条件表达式不成立(为零)循环体内遇break,return,goto 3、无限循环无限循环:while(1)循环体;whilewhile循环特点:循环特点:注意事项注意事项:1.如果循环体包含一个以上的语句,那么应该用复合语句如果循环体包含一个以上的语句,那么应该用复合语句“”的形式。的形式。例如,程序段例如,程序段1:sum=i=0;while(i10)+i;sum+=i;程序段程序段程序段程序段2:2:sum=i=0sum=i=0;while(i10)while(i10)+i;+i;sum+=i;sum+=i;想一想执行程序段想一想执行程序段想一想执行程序段想一想执行程序段11和程序段和程序段和程序段和程序段22后后后后ii、sumsum的值的值的值的值?2.在循环体中应有使循环趋于结束的语句。在循环体中应有使循环趋于结束的语句。考虑以下考虑以下考虑以下考虑以下whilewhile循环的执行情况循环的执行情况循环的执行情况循环的执行情况:i=1;i=1;sum=0;sum=0;while(i10)while(i10)sum+=i;sum+=i;i=1 i=1;sum=0;sum=0;while(i10)while(i10)sum+=i;sum+=i;+i;+i;火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去11v与与if语句比较:语句比较:if(if(条件条件)条件成立时执行的语句;条件成立时执行的语句;两者格式基本相同,条件成立时,两者格式基本相同,条件成立时,ifif语句仅执行一次,语句仅执行一次,而而whilewhile语句则将反复执行,直到条件不成立为止。语句则将反复执行,直到条件不成立为止。火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去12例:例:用用 while while 语句实现求从语句实现求从1 1到到100100的累加和。的累加和。sum=1+2+3+.100sum=1+2+3+.100分析:分析:1)sum=(1+100)*501)sum=(1+100)*50 2)2)定义变量定义变量i i i=1,i=2i=1,i=2i=100i=100 3)sum=sum+i 3)sum=sum+i思考:画出该题的流程图思考:画出该题的流程图火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去13v流程图:流程图:定义变量定义变量i,sum赋初值赋初值while(i=100)sum=sum+ii+输出输出sum(总和)(总和)YN火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去14include main()int i,sum=0;i=1;while(i=100)sum=sum+i;i+;printf(%d,sum);循环终值循环终值循环变量增值循环变量增值循环条件循环条件循环体循环体v源程序:源程序:循环初值循环初值火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去15练习:练习:思考、编程计算、编程计算110的平方和的平方和#include 文件包含文件包含main()int i=1,sum=0;循环初值循环初值主函数主函数while()循环条件循环条件循环变量增值循环变量增值将将i的平方累加到的平方累加到sum中中printf(“sum=%d”,sum);执行过程执行过程i sum1 0+1*1=12 1+2*2=53 5+3*3=144 14+4*4=305 30+5*5=556 55+6*6=917 91+7*7=1408 140+8*8=2049 204+9*9=28510285+10*10=38511运行结果:运行结果:sum=385sum+=i*i;i+;i=10火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去16、程序阅读、程序阅读main()main()float score,sum=0;float score,sum=0;int i=1,count=0;int i=1,count=0;while(while(i=50i=50)printf(“input a score:n”);printf(“input a score:n”);scanf(%f,&score);scanf(%f,&score);sum+=score;sum+=score;if(score60)if(score60)count+;count+;i+;i+;printf(“sum=printf(“sum=%10.2f%10.2f,count=count=%d%d n,sum,count);n,sum,count);思考火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去171)while语句先判断后执行循环语句。2)while语句中的语句部分若为简单句可不用。3)while语句的循环体中应有趋于结束的条件。4)对于while循环而言,若表达式不成立语句部分一次也不被执行。v小结:小结:火灾袭来时要迅速疏散逃生,不可蜂拥而出或留恋财物,要当机立断,披上浸湿的衣服或裹上湿毛毯、湿被褥勇敢地冲出去18作业:作业:直到某一项A从键盘输入正整数n,求n!1编写程序计算下列算式的值: