循环结构的流程及应用.ppt

上传人:b****1 文档编号:1734805 上传时间:2022-10-23 格式:PPT 页数:30 大小:490KB
下载 相关 举报
循环结构的流程及应用.ppt_第1页
第1页 / 共30页
循环结构的流程及应用.ppt_第2页
第2页 / 共30页
循环结构的流程及应用.ppt_第3页
第3页 / 共30页
循环结构的流程及应用.ppt_第4页
第4页 / 共30页
循环结构的流程及应用.ppt_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

循环结构的流程及应用.ppt

《循环结构的流程及应用.ppt》由会员分享,可在线阅读,更多相关《循环结构的流程及应用.ppt(30页珍藏版)》请在冰豆网上搜索。

循环结构的流程及应用.ppt

第4章循环结构的流程及应用,学习目标,使用循环处理需要反复执行的操作。

循环结构的流程图。

循环与条件的综合应用。

学一学,while语句的一般格式:

while(表达式)语句体;首先计算表达式的值,如果表达式的值为非0(真),则执行循环体语句,然后重新计算表达式的值,并再次判断值是否为真,如为真,再执行循环体内的语句,如此循环往复;如果表达式的值为0(假),则退出循环结构。

试一试,问题4.1编写程序计算1+2+3+10,然后输出结果。

试一试,问题4.2计算一个住户一年的煤气费用的总和(每月煤气费由键盘输入)。

练一练,如果问题4.1中的累加变为累乘,即求10!

,试编程实现。

提示:

求阶乘作乘法运算结果可能超过int型的范围,须定义long类型。

拓展问题4.2,计算每月煤气费用超过100元的共有几个月?

试一试,问题4.3试编写一个小游戏程序,输入两个数据,如果输入数据之和为5的倍数,那么就算输了,停止游戏;如果赢了,接着继续输入数据。

试一试,问题4.4运行下面的两段程序,查看结果有什么不同之处。

程序2:

#includestdio.hvoidmain()inti=0;while(i10)i+;if(i%3=0)printf(%d,i);continue;,程序1:

#includestdio.hvoidmain()inti=0;while(i10)i+;if(i%3=0)printf(%d,i);break;,试一试,问题4.5编写程序,计算满足:

12+22+32+n21000的最大n值。

相关知识点,1循环的3个要点循环变量的初始值、循环条件和循环变量的增量。

2while语句的一般形式while(表达式)循环体语句;其中表达式为循环条件,循环体语句为要反复执行的操作。

3break语句与continue语句基本格式:

Break;或continue;break语句的功能是结束break所在的层的循环体语句的执行。

continue语句的功能是结束本次循环中循环体语句的执行,接着进行下次循环条件的判断,以决定是否执行下一次循环,学一学,do-while语句的一般格式do语句体;while(表达式);先执行循环体语句,再求解表达式的值,若表达式的值为非0,则再次执行循环体语句,如此反复,直到表达式的值为0,结束循环,并转到下一条语句执行,试一试,问题4.6将问题4.1改为用do-while语句的形式实现。

试一试,问题4.7观察以下两个程序运行结果是否相同?

程序1:

#includestdio.hvoidmain()intk,iSum=0;scanf(%d,printf(sumis%d,iSum);,程序2:

#includestdio.hvoidmain()intk,iSum=0;scanf(%d,while(k=10)iSum=iSum+k;k+;printf(sumis%d,iSum);,练一练,将问题4.2、问题4.3、问题4.5改为用do-while语句实现,并分析程序有什么不同之处?

相关知识点,1do-while语句一般形式do循环体语句;while(表达式);do-while语句用来实现直到型循环,不管条件是否成立,至少执行循环体一次。

2do-while语句与while语句的不同之处执行流程不同。

do-while语句先执行一次循环体,再判断表达式;而while语句先判断表达式,后执行循环体。

执行循环体的次数可能不同。

do-while语句的循环体至少执行一次;而while语句的循环体可能一次也不执行。

学一学,for循环语句的一般格式for(表达式1;表达式2;表达式3)循环体语句常见形式:

for(初始表达式;循环条件表达式;变量增值表达式)循环体语句;,试一试,问题4.8将问题4.1改为用for语句的形式实现。

试一试,问题4.9某班同学上体育课,从1开始报数,共有38人,老师要求报数时凡是3的倍数的同学往前一步走,试编程将这些同学的序号打印出来。

试一试,问题4.10相传古代印度国王舍罕要褒奖他的聪明能干的宰相达依尔(国际象棋发明者),问他需要什么,达依尔回答说:

“国王只要在国际象棋的棋盘上第一个格子放一粒麦子,第二个格子放上二粒,第三个格子放四粒,以此类推,每一格的麦子数是前一格的两倍,一直放到64格,我就感恩不尽了”。

国王答应了,结果全印度的粮食用完还不够。

国王很纳闷,怎么也算不清这笔账。

现在我们用C语言编程算一下(1m3小麦大约为1.42108粒)。

流程图,试一试,问题4.11两个同学之间通信,但是不想让别人知道通信的内容,于是相互约定:

将a转化为c,b转化为dx转化为z,y转化为a,z转化为b。

试从键盘上输入多个小写字符(以#做结束符),按上述约定将字符串转换为密文。

练一练,在问题4.11中,将else语句去掉,会出现什么结果,并解释。

拓展问题4.11,将约定改为:

如果输入大写符,请先转换为小写字符,如果输入小写字符按题中规则转换,其他字符不发生改变,试编程实现。

想一想,再次拓展问题4.11,除进行转换外,还要统计出输入的字符数。

相关知识点,1for语句的一般形式for循环语句的一般格式:

for(表达式1;表达式2;表达式3)循环体语句,学一学,一个循环的循环体内包含另外一个循环语句,这样的编程方式称之为“循环的嵌套”。

循环嵌套时,外层循环执行一次,内层循环从头到尾执行一遍。

3种循环(while循环、do-While循环和for循环)不仅可以自身嵌套,而且还可以互相嵌套。

试一试,问题4.12一个小学生刚开始学习乘法,但总记不住九九乘法表,请帮忙编写一个程序在计算机上打印一份出来(如图4-14所示)。

(双重循环实例),试一试,问题4.13编写一个具有“加”、“减”、“乘”和“除”四则运算的小计算器,要求能反复多次操作,当输入运算符“#”时退出。

(循环与条件嵌套实例),试一试,问题4.14鸡兔同笼是我国古代著名趣题之一。

大约在1500年前,孙子算经中就记载了这个有趣的问题。

书中是这样叙述的:

“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?

”这四句话的意思是:

有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。

问笼中各有几只鸡和兔?

(穷举法实例),想一想,拓展问题4.14,使用while语句和do-while语句实现,并分别画出流程图,观察各流程图有什么不同。

输出3100间所有的素数。

提示:

所谓k是素数,是指k不能被2(k1)之间的任何整数整除。

所以,只要从2k1,逐个相除,如果有一个数能被k整除,则k不是素数;否则,k是素数。

百钱百鸡问题。

100元买100只鸡,其中公鸡5元1只,母鸡3元1只,小鸡1元3只,要求每种鸡至少有1只,试编写程序统计并输出所有购买方案。

提示:

每种鸡的购买数是不确定的,只能从1开始进行判断,所以算法与问题4.14相同。

相关知识点,3种循环都可以用来处理同一类问题,一般情况下它们可以互相替代。

3种循环都能用break语句结束循环,用continue语句开始下一次循环。

while和do-while只判断循环条件。

循环变量的初始化要放在循环语句之前(如i=0,s=1等),在循环体中还应包含修改循环条件的语句(如i+,j+等)。

do-while语句至少执行一次,while语句可能一次也不执行。

这两种语句一般情况下用于循环次数不确定的循环中。

for语句本身除了包含循环条件之外,还可以给循环变量赋初值。

当然也允许省略其中某些部分。

如果省略前后两项成为:

for(;循环条件;)的形式时,完全与while(循环条件)的形式等效。

for语句多用于循环次数确定的循环。

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

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1