循环结构的流程及应用PPT课件

上传人:新** 文档编号:591665693 上传时间:2024-09-18 格式:PPT 页数:30 大小:260KB
返回 下载 相关 举报
循环结构的流程及应用PPT课件_第1页
第1页 / 共30页
循环结构的流程及应用PPT课件_第2页
第2页 / 共30页
循环结构的流程及应用PPT课件_第3页
第3页 / 共30页
循环结构的流程及应用PPT课件_第4页
第4页 / 共30页
循环结构的流程及应用PPT课件_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《循环结构的流程及应用PPT课件》由会员分享,可在线阅读,更多相关《循环结构的流程及应用PPT课件(30页珍藏版)》请在金锄头文库上搜索。

1、第第4章章循环结构的流程及应用循环结构的流程及应用学习目标学习目标使用循环处理需要反复执行的操作。循环结构的流程图。循环与条件的综合应用。学一学学一学while语句的一般格式:语句的一般格式:while (表达式表达式)语句体语句体;首先计算表达式的值,如果表达式的值为非0(真),则执行循环体语句,然后重新计算表达式的值,并再次判断值是否为真,如为真,再执行循环体内的语句,如此循环往复;如果表达式的值为0(假),则退出循环结构。试一试试一试n n问题4.1 编写程序计算1+2+3+10,然后输出结果。试一试试一试n n问题4.2计算一个住户一年的煤气费用的总和(每月煤气费由键盘输入)。练一练练

2、一练如果问题4.1中的累加变为累乘,即求10!,试编程实现。提示:求阶乘作乘法运算结果可能超过int型的范围,须定义long类型。拓展问题4.2,计算每月煤气费用超过100元的共有几个月?试一试试一试n n问题4.3试编写一个小游戏程序,输入两个数据,如果输入数据之和为5的倍数,那么就算输了,停止游戏;如果赢了,接着继续输入数据。试一试试一试n n问题4.4运行下面的两段程序,查看结果有什么不同之处。程序2:#include stdio.hvoid main() int i=0;while (i10) i+; if(i%3=0)printf(%d ,i); continue;程序1:#incl

3、ude stdio.hvoid main() int i=0;while (i10) i+; if(i%3=0) printf(%d ,i); break; 试一试试一试n n问题4.5 编写程序,计算满足:12+22+32+n21000的最大n值。相关知识点相关知识点1 1循环的循环的3 3个要点个要点循环变量的初始值、循环条件和循环变量的增量。循环变量的初始值、循环条件和循环变量的增量。2 2whilewhile语句的一般形式语句的一般形式whilewhile(表达式)(表达式) 循环体语句;循环体语句; 其中表达式为循环条件,循环体语句为要反复执行的操作。其中表达式为循环条件,循环体语句

4、为要反复执行的操作。3 3breakbreak语句与语句与continuecontinue语句语句基本格式:基本格式:Break;Break;或或continue;continue;breakbreak语句的功能是结束语句的功能是结束breakbreak所在的层的循环体语句的执行。所在的层的循环体语句的执行。continuecontinue语句的功能是结束本次循环中循环体语句的执行,接语句的功能是结束本次循环中循环体语句的执行,接着进行下次循环条件的判断,以决定是否执行下一次循环着进行下次循环条件的判断,以决定是否执行下一次循环学一学学一学n ndo-while语句的一般格式do语句体;whi

5、le(表达式);先执行循环体语句,再求解表达式的值,若表达式的值先执行循环体语句,再求解表达式的值,若表达式的值为非为非0 0,则再次执行循环体语句,如此反复,直到表达,则再次执行循环体语句,如此反复,直到表达式的值为式的值为0 0,结束循环,并转到下一条语句执行,结束循环,并转到下一条语句执行试一试试一试n n问题4.6 将问题4.1改为用do-while语句的形式实现。试一试试一试n n问题4.7观察以下两个程序运行结果是否相同?程序程序1 1:#includestdio.h#includestdio.hvoidmain()voidmain()intkintk,iSum=0iSum=0;s

6、canf(%d,&k);scanf(%d,&k);dodoiSum=iSum+kiSum=iSum+k;k+k+;while(k=10);while(k=10);printf(sumis%dprintf(sumis%d,iSum)iSum); 程序2:#includestdio.hvoidmain()intk,iSum=0;scanf(%d,&k);while(k=10)iSum=iSum+k;k+;printf(sumis%d,iSum);练一练练一练n n将问题4.2、问题4.3、问题4.5改为用do-while语句实现,并分析程序有什么不同之处?相关知识点相关知识点1 1do-while

7、do-while语句一般形式语句一般形式dodo循环体语句;循环体语句;while(while(表达式表达式) );do-whiledo-while语句用来实现直到型循环,不管条件是否成立,至少执行语句用来实现直到型循环,不管条件是否成立,至少执行循环体一次。循环体一次。2 2do-whiledo-while语句与语句与whilewhile语句的不同之处语句的不同之处 执行流程不同。执行流程不同。do-whiledo-while语句先执行一次循环体,再判断表达语句先执行一次循环体,再判断表达式;而式;而whilewhile语句先判断表达式,后执行循环体。语句先判断表达式,后执行循环体。 执行循

8、环体的次数可能不同。执行循环体的次数可能不同。do-whiledo-while语句的循环体至少执行语句的循环体至少执行一次;而一次;而whilewhile语句的循环体可能一次也不执行。语句的循环体可能一次也不执行。学一学学一学forfor循环语句的一般格式循环语句的一般格式forfor(表达式(表达式1 1;表达式;表达式2 2;表达式;表达式3 3) 循环体语句循环体语句 常见形式:常见形式:forfor(初始表达式;循环条件表达式;变量增值表达式)(初始表达式;循环条件表达式;变量增值表达式)循环体语句循环体语句; ;试一试试一试n n问题4.8 将问题4.1改为用for语句的形式实现。试

9、一试试一试n n问题4.9 某班同学上体育课,从1开始报数,共有38人,老师要求报数时凡是3的倍数的同学往前一步走,试编程将这些同学的序号打印出来。试一试试一试n n问题问题4.10 4.10 相传古代印度国王舍罕要褒奖他的聪明能相传古代印度国王舍罕要褒奖他的聪明能干的宰相达依尔(国际象棋发明者),问他需要什么,干的宰相达依尔(国际象棋发明者),问他需要什么,达依尔回答说:达依尔回答说:“ “国王只要在国际象棋的棋盘上第一国王只要在国际象棋的棋盘上第一个格子放一粒麦子,第二个格子放上二粒,第三个格个格子放一粒麦子,第二个格子放上二粒,第三个格子放四粒,以此类推,每一格的麦子数是前一格的两子放四

10、粒,以此类推,每一格的麦子数是前一格的两倍,一直放到倍,一直放到6464格,我就感恩不尽了格,我就感恩不尽了” ”。国王答应。国王答应了,结果全印度的粮食用完还不够。国王很纳闷,怎了,结果全印度的粮食用完还不够。国王很纳闷,怎么也算不清这笔账。现在我们用么也算不清这笔账。现在我们用C C语言编程算一下语言编程算一下(1m1m3 3小麦大约为小麦大约为1.42101.42108 8 粒)。粒)。流程图流程图试一试试一试n n问题问题4.11 4.11 两个同学之间通信,但是两个同学之间通信,但是不想让别人知道通信的内不想让别人知道通信的内容,于是相互约定:将容,于是相互约定:将a a转转化为化为

11、c c,b b转化为转化为dxdx转转化为化为z z,y y转化为转化为a a,z z转化转化为为b b。试从键盘上输入多个。试从键盘上输入多个小写字符(以小写字符(以# #做结束符)做结束符),按上述约定将字符串转,按上述约定将字符串转换为密文。换为密文。练一练练一练在问题4.11中,将else语句去掉,会出现什么结果,并解释。拓展问题4.11,将约定改为:如果输入大写符,请先转换为小写字符,如果输入小写字符按题中规则转换,其他字符不发生改变,试编程实现。想一想想一想n n再次拓展问题4.11,除进行转换外,还要统计出输入的字符数。相关知识点相关知识点1for语句的一般形式for循环语句的一

12、般格式:for(表达式1;表达式2;表达式3)循环体语句学一学学一学一个循环的循环体内包含另外一个循环语句,这样的编程方式称之为“循环的嵌套”。循环嵌套时,外层循环执行一次,内层循环从头到尾执行一遍。3种循环(while循环、do-While循环和for循环)不仅可以自身嵌套,而且还可以互相嵌套。试一试试一试问题4.12 一个小学生刚开始学习乘法,但总记不住九九乘法表,请帮忙编写一个程序在计算机上打印一份出来(如图4-14所示)。(双重循环实例)试一试试一试问题问题4.134.13 编写一个具有编写一个具有“ “加加” ”、“ “减减” ”、“ “乘乘” ”和和“ “除除” ”四则运算的小四则

13、运算的小计算器,要求能反复计算器,要求能反复多次操作,当输入运多次操作,当输入运算符算符“ “# #” ”时退出。时退出。(循环与条件嵌套实(循环与条件嵌套实例)例)试一试试一试n n问题问题4.14 4.14 鸡兔同笼是我鸡兔同笼是我国古代著名趣题之一。大国古代著名趣题之一。大约在约在15001500年前,年前,孙子算孙子算经经中就记载了这个有趣中就记载了这个有趣的问题。书中是这样叙述的问题。书中是这样叙述的:的:“ “今有雉兔同笼,上今有雉兔同笼,上有三十五头,下有九十四有三十五头,下有九十四足,问雉兔各几何?足,问雉兔各几何?” ”这这四句话的意思是:有若干四句话的意思是:有若干只鸡兔同

14、在一个笼子里,只鸡兔同在一个笼子里,从上面数,有从上面数,有3535个头;从个头;从下面数,有下面数,有9494只脚。问笼只脚。问笼中各有几只鸡和兔?(穷中各有几只鸡和兔?(穷举法实例)举法实例)想一想想一想 拓展问题拓展问题4.144.14,使用,使用whilewhile语句和语句和do-whiledo-while语句实现,并语句实现,并分别画出流程图,观察各流程图有什么不同。分别画出流程图,观察各流程图有什么不同。 输出输出3 3100100间所有的素数。间所有的素数。提示:所谓提示:所谓k k是素数,是指是素数,是指k k不能被不能被2 2( (k k1)1)之间的任何整数之间的任何整数

15、整除。所以,只要从整除。所以,只要从2 2k k11,逐个相除,如果有一个数,逐个相除,如果有一个数能被能被k k整除,则整除,则k k不是素数;否则,不是素数;否则,k k是素数。是素数。 百钱百鸡问题。百钱百鸡问题。100100元买元买100100只鸡,其中公鸡只鸡,其中公鸡5 5元元1 1只,母只,母鸡鸡3 3元元1 1只,小鸡只,小鸡1 1元元3 3只,要求每种鸡至少有只,要求每种鸡至少有1 1只,试编写只,试编写程序统计并输出所有购买方案。程序统计并输出所有购买方案。提示:每种鸡的购买数是不确定的,只能从提示:每种鸡的购买数是不确定的,只能从1 1开始进行判断,开始进行判断,所以算法

16、与问题所以算法与问题4.144.14相同。相同。相关知识点相关知识点 3 3种循环都可以用来处理同一类问题,一般情况下它们可以互相种循环都可以用来处理同一类问题,一般情况下它们可以互相替代。替代。3 3种循环都能用种循环都能用breakbreak语句结束循环,用语句结束循环,用continuecontinue语句开始下一次语句开始下一次循环。循环。 whilewhile和和do-whiledo-while只判断循环条件。循环变量的初始化要放在循只判断循环条件。循环变量的初始化要放在循环语句之前(如环语句之前(如i=0,s=1i=0,s=1等),在循环体中还应包含修改循环条等),在循环体中还应包

17、含修改循环条件的语句(如件的语句(如i+,j+i+,j+等)。等)。do-whiledo-while语句至少执行一次,语句至少执行一次,whilewhile语句可能一次也不执行。这两种语句一般情况下用于循环语句可能一次也不执行。这两种语句一般情况下用于循环次数不确定的循环中。次数不确定的循环中。 forfor语句本身除了包含循环条件之外,还可以给循环变量赋初值。语句本身除了包含循环条件之外,还可以给循环变量赋初值。当然也允许省略其中某些部分。如果省略前后两项成为:当然也允许省略其中某些部分。如果省略前后两项成为:forfor(;(;循环条件;)的形式时,完全与循环条件;)的形式时,完全与whilewhile(循环条件)的形式等效。(循环条件)的形式等效。forfor语句多用于循环次数确定的循环。语句多用于循环次数确定的循环。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号