C++程序设计 教学课件 ppt 作者 连卫民 何樱 韩彦锋 等 第4章 循环结构的程序设计

上传人:E**** 文档编号:89381702 上传时间:2019-05-24 格式:PPT 页数:23 大小:1.68MB
返回 下载 相关 举报
C++程序设计  教学课件 ppt 作者 连卫民 何樱 韩彦锋 等 第4章  循环结构的程序设计_第1页
第1页 / 共23页
C++程序设计  教学课件 ppt 作者 连卫民 何樱 韩彦锋 等 第4章  循环结构的程序设计_第2页
第2页 / 共23页
C++程序设计  教学课件 ppt 作者 连卫民 何樱 韩彦锋 等 第4章  循环结构的程序设计_第3页
第3页 / 共23页
C++程序设计  教学课件 ppt 作者 连卫民 何樱 韩彦锋 等 第4章  循环结构的程序设计_第4页
第4页 / 共23页
C++程序设计  教学课件 ppt 作者 连卫民 何樱 韩彦锋 等 第4章  循环结构的程序设计_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《C++程序设计 教学课件 ppt 作者 连卫民 何樱 韩彦锋 等 第4章 循环结构的程序设计》由会员分享,可在线阅读,更多相关《C++程序设计 教学课件 ppt 作者 连卫民 何樱 韩彦锋 等 第4章 循环结构的程序设计(23页珍藏版)》请在金锄头文库上搜索。

1、C+程序设计,连卫民 主编,中国铁道出版社 2008.9,第4章 循环结构的程序设计,本章主要内容: 4.1 循环结构概述 4.2 for语句(重点) 4.3 whlie语句(重点) 4.4 do-whlie语句(重点) 4.5 多重循环结构(重点) 4.6 break语句和continue语句 4.7 综合应用实例(重点) 4.8 上机实训 本章教学目标: 了解循环结构的特点 熟悉for语句、while语句和do-while语句的使用格式 掌握循环结构的程序设计方法,掌握递推算法和穷举算法的原理与运用,4.1 循环结构概述,循环结构是结构化程序设计的三种基本结构之一。 4.1.1 循环结构的

2、概念 1.循环结构的定义 循环是指有条件地反复执行某一段程序的现象。 循环结构是结构化程序设计中一种很重要的结构,又称为重复结构,其特点是在给定条件成立时,反复执行某个程序段,直到条件不成立为止。 给定的条件称为循环条件,反复执行的程序段称为循环体。 2.循环结构的分类 根据循环条件和循环体的位置不同,把循环结构分为两类: 当型循环结构(如图4-1)。 直到型循环结构(如图4-2)。,第4章 循环结构的程序设计,4.1 循环结构概述,4.1.1 循环结构的概念 3.循环结构的应用 在解决实际问题时,经常遇到需要多次重复执行的问题。如: 求全班50名同学三门功课的平均成绩 。 计算1+2+3+1

3、00 。,第4章 循环结构的程序设计,4.1 循环结构概述,4.1.2 循环结构程序的设计步骤 首先,确定循环的内容。 然后,确定循环条件(或循环结构)。 第三,画出流程图(或NS图) 最后,写出C+代码 。,第4章 循环结构的程序设计,4.2 for语句,4.2.1 for语句的格式 格式如图。 4.2.2 for语句的执行过程 (1)计算表达式1的值,给循环控制变量赋初值。 (2)判断表达式2的值,若其为“真”(非0),则执行循环体中的语句,然后转到第3步;若其为“假”(0),则结束循环,执行for语句的下一条语句。 (3)计算表达式3的值,是循环控制变量的增值,然后返回第2步继续执行。

4、for语句的执行流程如图4-3所示。 【例4-1】编程计算s=1+2+3+.+100,用for语句实现。,第4章 循环结构的程序设计,4.2 for语句,4.2.3 for语句的应用 【例4-2】任意输入一个数,判断是否为素数。 分析:根据数学中的定义,只能被1和自身整除的数为素数。因此,如果x不能被2x-1整除,则说明x是素数。 【例4-3】编程计算s=1+ 。,第4章 循环结构的程序设计,4.3 while语句,4.3.1 while语句的格式 格式如图所示。 与for语句相比,while语句一般适用于循环次数不确定的循环问题。 4.3.2 while语句的执行过程 首先,计算“表达式“的

5、值。 若表达式的值为“真”,则执行循环体,然后返回到while语句重复第1步。若表达式的值为“假”,则结束循环,执行while语句的下一语句。 如图3-5所示。 【例4-4】编程计算s=1+2+3+100,用while语句实现。,第4章 循环结构的程序设计,4.3 while语句,4.3.3 while语句的应用 【例4-5】求任意数的累加和,当输入-9999时表示结束。 程序代码如下: #include void main() float x,s=0; coutx; while(x!=-9999) s=s+x; coutx; cout“s=“sn; ,第4章 循环结构的程序设计,4.4 do

6、-while语句,4.4.1 do-while语句的格式 格式如图所示。 do-while语句一般适用于循环次数不确定的循环问题。 4.4.2 do-while语句的执行过程 首先,执行循环体语句。 计算表达式的值,判断其为“真”(非0)或“假”(0)。若其为“真”,则返回第1步,继续执行循环体;若其为“假”,则结束循环,执行do-while语句的下一语句。 do-while语句与while语句的区别是:while语句先判断循环条件是否满足,如果满足再执行循环体;而dowhile语句是先执行一次循环体,然后再判断循环条件是否满 【例4-6】编程计算s=1+2+3+100,用do-while语句

7、实现。,第4章 循环结构的程序设计,4.4 do-while语句,4.4.3 do-while语句的应用 【例4-7】编程计算s=2+4+6+2n。 程序代码如下: #include void main() int i=0,s=0,n; coutn; do i+=2;s=s+i; while(i2*n); cout“s=“sendl; ,第4章 循环结构的程序设计,4.5 多重循环结构,一个循环语句的循环体内又包含循环语句,这样的程序结构称为多重循环结构,又称为循环嵌套。 分类:双重循环、三重循环等。 4.5.1 多重循环的格式 多重循环的格式如下:(以for语句为例) 说明:三种循环语句(f

8、or、while、dowhile)均可以互相嵌套形成多重循环结构。如图 4.5.2 多重循环的执行过程 首先,由外循环进入。 其次,执行内循环。 最后,由外循环退出。,第4章 循环结构的程序设计,4.5 多重循环结构,4.5.3 多重循环的应用 【例4-8】编程计算s=1!+2!+3!+4!+5!。 【例4-9】写出下列程序的运行结果。 程序代码如下: #include void main() int i,j; for(i=1;i=9;i+) for(j=1;j=i;j+) coutj“*“i“=“i*j“ “; coutn; ,第4章 循环结构的程序设计,4.6 break语句和contin

9、ue语句,在循环体中可以使用break和continue语句,它们能够根据需要提前中止循环的执行。 4.6.1 break语句 格式:break; 功能:结束循环,执行循环语句的下一条语句。 【例4-10】写出下列程序的运行结果。,第4章 循环结构的程序设计,4.6 break语句和continue语句,4.6.2 continue语句 格式:continue; 功能:结束本次循环,转到条件表达式的判断语句上继续执行,是否结束循环,取决于条件表达式是否满足。 continue与break的区别:break终止整个循环的执行,而continue只是结束本次循环,循环是否还要进行,需要看循环条件是

10、否满足。 【例4-11】打印100 200之间不能被3整除的数。,思考: 能否把continue语句换成break语句? 如果能,怎样修改程序?,第4章 循环结构的程序设计,4.7 综合应用实例,利用循环结构实现递推算法、穷举算法和打印字符图形的程序设计实例。 4.7.1 递推算法应用实例 递推法:是利用问题本身所具有的一种递推关系求问题解的一种方法。即由已知递进求未知的过程。 【例4-12】人口增长问题。现有人口13亿,按年1.02%的增长速度,10年后将有多少人? 分析:设现有人口数为m,则: 第一年后人口数为:p1=m (1+1.02%) 第二年后人口数为:p2=p1 (1+1.02%)

11、 第三年后人口数为:p3=p2 (1+1.02%) 利用递推算法,经过10次循环即可得到10年后的人口数。,第4章 循环结构的程序设计,4.7 综合应用实例,4.7.1 递推算法应用实例 【例4-13】兔子问题。设有一对小兔子,第二个月长成大兔子,从第三个月开始它们每个月都生一对小兔子。按此规律,并假设没有兔子死亡,一年后共有多少对兔子。 分析: 每月兔子数组成如下数列:1,1,2,3,5,8,13,21,34, 这个数列是波兰数学家Fibonacci(斐波那契)发现的,所以,这个数列被称为Fibonacci数列。 这个数列的特点是:数列中从第三项开始的每一项都等于它的前二项之和。 用递推算法

12、来描述即为: f=f1+f2 f1=f2 f2=f;,第4章 循环结构的程序设计,4.7 综合应用实例,4.7.2 穷举算法应用实例 穷举法:对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试过为止。 【例4-14】换零钱。把1元钱人民币全兑换成零钱,有多少种兑换方法? 分析:共有三种零钱:0.5元、0.2元和0.1元。设三种零钱数分别为x、y、z。则: x的取值范围:0 2 y的取值范围:0 5 z的取值范围:0 10 利用穷举算法,依次测试x、y、z的所有组合,只要满足0.5*x+0.2*y+0.1*z=1,则这一组合即为本题的一组解。,第4章 循环结构的程序设计,4.7 综合

13、应用实例,4.7.3 打印字符图形应用实例 字符图形:是由ASCII码字符组成的平面图形。设计这种程序要注意图形由哪些字符组成,有多少行,每行几个,每行输出后要换行。 【例4-14】利用循环语句编程打印下列图形。 * * * * 分析: 整个图形由双循环控制。 外循环控制行数,内循环控制每行输出的字符数。 思考: 如果该图形从屏幕的第20列开始打印,如何修改程序? 如果打印的是由“A”组成的三角形,如何修改程序? 如果这个三角形的第1行为“1”,第2行为“2”,第3行为“3”,第4行为“4”,如何修改程序?,第4章 循环结构的程序设计,4.8 上机实训,4.8.1 实训一:循环控制语句 1.实

14、训目的 熟悉循环的概念,掌握三种循环语句的格式和使用方法。 2.实训要求 (1)严格按照程序的缩进格式输入程序代码(注意使用Tab键)。 (2)使用for语句、while语句和do-while语句实现循环控制,注意循环的终止条件。 (3)按当型结构和直到型结构控制循环,注意循环体的内容。 3.实训内容: P75,第4章 循环结构的程序设计,4.8 上机实训,4.8.2 实训二:多重循环程序设计 1.实训目的 掌握多重循环的程序设计方法,掌握break语句和continue语句的用法。 2.实训要求 (1)严格按照程序的缩进格式输入程序代码(注意使用Tab键)。 (2)使用三种循环控制语句相互嵌套实现循环控制。 3.实训内容: P76,第4章 循环结构的程序设计,4.8 上机实训,4.8.3 实训三:循环综合应用程序设计 1.实训目的 掌握用循环方法实现递推、穷举和打印图形的程序设计方法。 2.实训要求 (1)严格按照程序的缩进格式输入程序代码(注意使用Tab键)。 (2)分别用三种循环控制语句实现。 3.实训内容: P77,第4章 循环结构的程序设计,本章结束!,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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