《循环程序设计》PPT课件.ppt

上传人:小飞机 文档编号:5583420 上传时间:2023-07-30 格式:PPT 页数:52 大小:660.50KB
返回 下载 相关 举报
《循环程序设计》PPT课件.ppt_第1页
第1页 / 共52页
《循环程序设计》PPT课件.ppt_第2页
第2页 / 共52页
《循环程序设计》PPT课件.ppt_第3页
第3页 / 共52页
《循环程序设计》PPT课件.ppt_第4页
第4页 / 共52页
《循环程序设计》PPT课件.ppt_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《《循环程序设计》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《循环程序设计》PPT课件.ppt(52页珍藏版)》请在三一办公上搜索。

1、,正确认识循环程序的执行特点,运用3种循环语句进行循环程序设计,运用2个循环辅助语句更好地控制程序流程,能力目标:,任务一 认识while语句,1初识while语句,(1)思考:在程序设计中,用putchar()一次只能输出一个星号*,那么输出5个星号*、10个星号*,甚至更多的星号*,该如何处理呢?,(2)观察下面两个程序,完成问题。,程序一main()putchar(*);putchar(*);putchar(*);putchar(*);putchar(*);,任务一 认识while语句,程序二main()int i=1;while(i=5)putchar(*);i+=1;,上面两个程序分

2、别实现什么功能?,(它们都实现输出5个星号*),两个程序中,哪一个简便?在程序中能否用循环语句来实现对重复操作的控制?,答:程序二简便,在程序中能用循环语句来实现对重复操作的控制。,任务一 认识while语句,2学习while语句的形式,(1)请观察下面while语句的形式,完成问题。,(2)试写出while语句的一般形式。,while(表达式)语句,语句一 while(n+0,两条语句的关键字是什么?,关键字后的括号内是什么表达式?,关键字后的语句部分可以是哪些语句?,while,关系表达式、逻辑表达式,简单语句、复合语句,3学习while语句的执行过程,(1)请观察while语句的流程,完

3、成问题。,真,假,请归纳执行过程:计算,如果表达式为真,进入,开始一次循环周期;否则进入,结束循环。执行语句。语句执行完后就结束本次循环周期,重新返回。结束循环,执行循环后面的语句。,表达式,(2)请记录该程序的上机调试结果,画出以下程序的流程图,并指出循环条件、循环体及循环控制变量的三个工作。,请记录上机调试结果:,#includestdio.hmain()int I;char ch;ch=#;I=1;while(I3)printf(%cn,ch);I+;,流程图:,循环条件是循环体是循环控制变量是,3个工作分别是、。,I3,printf(“%cn”,ch);,I,I=1,I3,I+,(3)

4、请观察下面2个程序段,完成问题。,语句一I=1;while(I+=10)printf(“hello!n”);,语句二I=1;while(-I=10)printf(“world!n”);,判断下面哪一个程序段是正确的?,循环控制变量更新的趋势是什么?,程序在什么时候才能判断循环是否终止?,(语句一),(让循环条件为假),(判断循环条件时),讨论,用while语句编程求1+2+10之和。(同时画出该程序的流程图),程序:,流程图:,循环条件 在循环结构中的表达式被称为循环条件。循环体 在每次循环周期均要执行一次的语句,称为循环体。它可以是简单语句、复合语句,也可以是空语句。循环控制变量 在循环条件

5、中控制条件真假的变量,称为循环控制变量。它通常决定循环体的执行次数。正确地写出一个while循环结构,对循环控制变量做3个工作:一是给控制变量赋初值;二是写出正确的循环条件;三是控制变量的更新。,知识盘点:,任务二 认识dowhile语句,1学习dowhile语句的形式,任务二 认识dowhile语句,(1)请观察下面程序中dowhile语句的形式,完成问题。sum=0;i=1;dosum=sum+i;i=i+1;while(i=10);,该语句的关键字是什么?语句部分即循环体部分在哪里?表达式即循环条件部分在哪里?,(do while),(sum=sum+i;i=i+1;),i=10,(2)

6、试写出dowhile语句的一般形式。,do While(表达式);,任务二 认识dowhile语句,2学习dowhile语句的执行过程,请观察dowhile语句的流程,完成问题。,真,假,请归纳执行过程:执行do下面的(循环体),开始一个循环周期。计算while括号中的(循环条件)。如果表达式为真,结束本次循环,重新返回,开始下一个循环周期;否则,转。结束dowhile循环,流程转到循环结构外第1条语句。,语句,表达式,(1)比较下面2个程序,写出运行结果。#includestdio.h#includestdio.hmain()main()char ch;char ch;ch=getchar(

7、);ch=getchar();do while(ch!=*)putchar(ch);putchar(ch);ch=getchar();ch=getchar();while(ch!=*);运行结果 运行结果若输入:ABC*若输入:ABC*则输出:则输出:若输入:*AB*若输入:*AB*则输出:则输出:,3dowhile语句与while语句的区别,ABC,*AB,ABC,无结果,(2)由上述运行结果看出,dowhile语句与while语句的区别是什么?,答:当第次执行循环体时,因为表达式为“真”,两种循环得到的结果相同;否则,二者结果就不同。(前提:二者循环体中的语句相同),(1)观察下面的程序段

8、,完成问题。程序段一 程序段二sum=0;sum=0;I=1;for(I=1;I=10;I+)while(I=10)scanf(%f,任务三 认识for语句,1学习for语句的形式,程序段一实现的功能是什么?程序段一、二所实现的功能完全一样,但在形式上有所不同,请将程序段一中循环控制变量I的3个工作在程序段二中找到。(2)试写出for语句的一般形式。,答:输入10个数,并求这10个数的和。,for(表达式;表达式;表达式)语句,任务三 认识for语句,真,假,2学习for语句的执行过程,请观察for语句的流程,完成问题。,请归纳执行过程:计算表达式1。计算表达式2,如果结果为真转;如果结果为假

9、转。执行for下面的语句,执行完后转。计算表达式3,结束本次循环周期,转回,开始下一次循环。结束循环,执行for语句后的第1条语句。,运行结果:,运行结果:,运行结果:,3讨论for语句的灵活性,(1)写出以下程序段的运行结果。,for(I=5;I0;I-)printf(%d,I);for(n=2;n18;n=n+3)printf(%d,n);for(ch=a;ch=e;ch+)printf(%3c,ch);,(2)讨论:在for语句的表达式1、表达式2、表达式3中可能会出现哪几种情况?,for(I=1,j=5;Ij;I+,j-)printf(I=%d j=%dn,I,j);for(n=1;n

10、*n20;n+)printf(%dn,n*n);,运行结果:,运行结果:,程序:,流程图:,4运用for语句编程,编程求1210之积。(同时画出该程序的流程图),()请观察下面两个图,完成问题。,(b)图,任务四 认识循环嵌套,1学习循环嵌套的形式,while()do while()do while();while();,(2)阅读信息,完成问题。,信息:语言提供的3种循环结构:whiledowhilefor都可以相互嵌套,自由组合。问题:在已有几种循环嵌套形式后,补充3种合法的形式。,for(;)while(),()请阅读程序,完成问题。,2观察二重循环,#include#define R

11、5#define C 5main()int m,n;for(m=1;m=R;m+)/*7行*/for(n=1;n=C;n+)/*9行*/printf(%3d,m*n);/*10行*/printf(n);/*12行*/,程序定义了哪些变量?,程序中采用几重循环嵌套?,程序中外层循环为哪几行?外层循环的循环体中有几条语句?,程序中内层循环为哪几行?内层循环的循环体中有几条语句?,答:两个变量,m和n,答:二重循环,答:外层循环从7行到12行,外层循环的循环体中有2条语句。,答:内层循环从9行到10行,内层循环的循环体中有1条语句。,(2)请观察循环嵌套部分的流程,完成问题。,真,假,真,假,for

12、,1,5,6,2 4 6 8 10,3 6 9 12 15,4 8 12 16 20,5 10 15 20 25,完成下表。(该表给出了内外层循环控制变量的变化情况),请思考:为什么会出现这种结果?与上例程序有什么区别?,(3)请阅读程序,完成问题,并记录上机调试结果。,#include#define R 5main()int m,n;for(m=1;m=R;m+)for(n=1;n=m;n+)printf(%3d,m*n);printf(n);,1学习break语句(1)请阅读程序,完成问题。,任务五 认识循环辅助语句,#include#define PI 3.14main()int r;f

13、loat V,h;printf(请输入圆柱体的高:);scanf(%f,r+)接下页,该程序for语句部分的循环体内有几条语句?,任务五 认识循环辅助语句,3条语句。,除了当r10时,可退出for循环外,是否有其他的方式退出for循环?,答:可以通过当V100.0时,执行break语句退出循环。,V=PI*r*r*h;if(V100.0)break;printf(体积等于.2fn,V);printf(此时r=%dn,r);,(2)请观察该程序for语句部分的流程,完成问题。,真,假,假,真,break,从流程上看,循环一定是执行了10次才退出吗?为什么?,请写出该程序的预期结果。请输入圆柱体的

14、高:6,答:不一定,因为当V100.0时,执行break语句退出循环。,体积等于18.840000体积等于75.360001此时r=3,请记录上机调试结果:,差异:,(3)请记录该程序的上机调试结果,并与预期结果比较,有差异吗?,2学习continue语句,()请阅读程序,完成问题,并记录上机调试结果。,记录上机调试结果:,该程序for语句部分的循环体内有几条语句?,答:有2条语句。,#includemain()int num;for(num=50;num=100;num+)if(num%7=0)continue;printf(%dn,num);,(2)请观察该程序for语句部分的流程,完成问

15、题。,真,假,假,真,continue,(3)思考:如果该程序不使用continue语句,要实现同样的功能,该如何处理?,从流程上看出,什么情况下不输出数据?而输出的数据是具有什么性质的数据?,答:当数据能被7整除时,不输出。而输出的数据具有不能被7整除的性质。,break语句也可以用于循环结构中,使程序提前跳出循环体,结束循环,流程转移到循环体后面的第1条语句。break语句不适用于除循环结构和switch结构外的其他地方。,break语句在嵌套循环里,它只影响包含它的最内层循环。,知识盘点:,continue语句的作用是:使本次循环体的执行提前结束(即流程跳过循环体中continue后的所

16、有语句),提前结束本次循环周期,然后再根据循环条件是否满足决定是否进入下一次循环周期。,continue语句结束本次循环周期,进入下一次周期。那么,下一次周期究竟在何处开始呢?对于while语句和dowhile语句,执行了coutinue语句后,它的下一步操作是计算测试表达式即循环控制条件;对于for语句,下一步操作是先进行表达式3的计算即控制变量的更新、调整,然后再进行表达式2的计算即循环控制条件。,知识盘点:,1累加的应用题目:用while语句编程求1+2+3+100的和。,任务六 循环的应用,(1)分析:首先定义了2个变量。sum用来保存和,将sum清成0,避免内存中产生随机数偶然存入s

17、um,造成结果不准确。变量i起到了控制循环次数的作用,当i为1、2、3直到100时,条件为真,加入变量sum中。一旦i为101,条件i=100不成立,结束循环。由此可见,变量i起到了控制循环次数的作用,称为循环控制变量。,(2)根据分析,填写程序。#includemain()int sum,i;sum=0;i=1;while(i=100)sum=sum+i;i+;printf(1+2+100=%d,sum);,任务六 循环的应用,(3)用for语句编程实现以上同样的功能。程序:,main()int sum,I;sum=0;for(I=1;I=100;I+)sum=sum+I;printf(“1+2+100=%d”,sum);,任务六 循环的应用,2累乘的应用题目:编程求210。(用2种方法实现),(1)分析:由题意可知,求的是10个2相乘。程序需要定义2个变量s和,s用于存放乘积,用于计算乘以2的次数(即循环次数)。,(2)根据分析,编写程序,并记录上机调试结果。,方法一:,记录上机调试结果:,方法二:,记录上机调试结果:,3讨论 题目:假设有一张无限大的纸,其厚度为0.2mm(毫米),现反复地将其对折,编程计算对折多少次后可以达到珠穆朗玛峰的高度8848m(米)?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号