ImageVerifierCode 换一换
格式:PPT , 页数:32 ,大小:883KB ,
资源ID:7972857      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7972857.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言第五章循环结构程序设计.ppt)为本站会员(tkhy51908)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

C语言第五章循环结构程序设计.ppt

1、C语言程序设计,循环结构是结构化程序设计三种基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。几乎所有实用的程序都包含循环。 熟练掌握选择结构和循环结构的概念及使用,是程序设计的最基本的要求。 C语言中循环包括: while语句 do-while语句 for语句 goto语句和if语句配合,循环结构程序设计,C语言程序设计,5.1 循环概述,引例: 输入30名同学的成绩,计算全体同学的平均分。 思路1:int x1,x2,x3,x30;int sum;scanf(“%d,%d%d”,循环结构程序设计,C语言程序设计,思路2: 输入第1个同学的成绩,送x; x送s中; 输入

2、第2个同学的成绩,送x; x+s送s中; 输入第30个同学的成绩,送x; x+s送s中; 输出s/30.0,即平均分。,scanf(“%d”,s+=x;,0. 0送s;,x+s送s中;,循环结构程序设计,C语言程序设计,思路3: s=0 重复30次: 读数据,送x s+x送s 输出s,读数据,送x s+x送s,循环结构程序设计,C语言程序设计,语法格式为: while(表达式) 语句 执行过程:,5.2 while语句 “当型”循环,循环结构程序设计,C语言程序设计,引例输入30名同学的成绩,计算全体同学的平均分。 main() int i,s,x;s=0; i=1;while(i=30) s

3、canf(“%d”, ,循环结构程序设计,C语言程序设计,例5.1 求1+2+3+4+5的和。 分析:对引例的算法进行修改 main() int i,s;i=1;s=0;while(i=5) s+=i;i+;printf(“Sum=%dn”,s);,循环结构程序设计,s,5,s+=i,C语言程序设计,运行过程分析:变量跟踪表 例5.1 求1+2+3+4+5的和。main() int i,s;i=1;s=0;while(i=5) s+=i;i+;printf(“Sum=%dn”,s);,循环结构程序设计,i s,1,0,2,1,3,3,6,4,10,5,15,6,C语言程序设计,循环的控制:循环

4、变量 例5.1 求1+2+3+4+5的和。main() int i,s;i=1;s=0;while( i = 5) s+=i;i+;printf(“Sum=%dn”,s);,循环结构程序设计,C语言程序设计,例5.2 求5!,即求12345的积。main() int i,p;i=1;p=1;while(i=5) p*=i;i+;printf(“5! =%dn”,p);,循环结构程序设计,i p,1,1,2,1,3,2,6,4,24,5,120,6,C语言程序设计,例5.3 求1!+2!+3!+4!+5!之和。main() int i,p,s;i=1;p=1;s=0;while(i=5) p*=

5、i; s+=p;i+;printf(“Sum =%dn”,s);,循环结构程序设计,i p s,1,1,2,1,3,2,6,4,24,5,120,6,0,1,3,9,33,153,C语言程序设计,main() int i=1,s=0;while( i _ ) _printf(“Sum=%dn”,s);,例5.4 求100以内的奇数之和,即求:1+3+5+99的和。,循环结构程序设计, 100,s+=i;,i+=2;, 100,if(i%2!=0) s+=i;,i+;,= 50,s+=2*i-1;,i+;,C语言程序设计,语法格式为:do 语句 while(表达式); 执行过程:,5.3 do-

6、while语句 “直到型”循环,循环结构程序设计,C语言程序设计,例5.5 求1+2+3+4+5的和。main() int i,s;i=1;s=0;do s+=i;i+; while(i=5);printf(“Sum=%dn”,s); 运行过程分析:变量跟踪表,循环结构程序设计,i s,1,0,2,1,3,3,6,4,10,5,15,6,C语言程序设计,例5.6 while与do-while的比较:求1+2+3+4+5的和。 用while语句 用do-while语句 main() int i,s=0;i=6;while( i = 5) s+=i;i+;printf(“Sum=%dn”,s);

7、,循环结构程序设计,main() int i,s=0;i=6;do s+=i;i+; while(i=5);printf(“Sum=%dn”,s); ,运行结果:Sum=0,运行结果:Sum=6,C语言程序设计,语法格式为: for(表达式1;表达式2;表达式3) 语句 执行过程:,5.4 for语句“计数式”循环,循环结构程序设计,C语言程序设计,例5.7 用for语句求1+2+3+4+5的和。main() int i,s=0;for(i=1; i =5; i+)s+=i;printf(“Sum=%dn”,s);,循环结构程序设计,C语言程序设计,说明: 表达式1和表达式3既可以是简单的表达

8、式,也可以是逗号表达式;可以与循环变量有关,也可以无关。 求1+2+3+4+5,可以写成如下几种形式: (1)for( i=1, s=0; i=5; i+ ) s=s+i; (2)for(i=1; i=5; s=s+i, i+ ); (3)for( i=1, s=0; i=5; s=s+i,i+ ); (4)for( s=0; i=5; i+ ) s=s+i;,循环结构程序设计,C语言程序设计,for语句中的三个表达式可以全部或部分省略,但分号“;”不能省。如: i=1; for(;i=5;i+) s=s+i; for(i=1;i=5;)s=s+i+; i=1; for(;i=5;) s=s+

9、i+; for(i=1; ;i+) s=s+i; for(;),循环结构程序设计,省略表达式1,省略表达式3,省略表达式1、3,省略表达式2,省略表达式1、2、3,相当于常量1,即为“永真”条件,相当于while(1),C语言程序设计,5.5 break和continue语句,break语句 语法格式: break;例5.9 求1+2+3+4+5的和。用break语句解决“永真”循环,循环结构程序设计,C语言程序设计,continue语句 语法格式: continue;例5.10 输入5个成绩数据求平均成绩。对非法成绩(不在0,100之间)数据要求重新输入。,循环结构程序设计,C语言程序设计,

10、5.6 多重循环,在一个循环中又包含了另一个循环,称多重循环(也称循环的嵌套)。实现多重循环结构仍使用前面讲的三种循环语句。,循环结构程序设计,C语言程序设计,例5.11 用双重循环改写例5.3:求1!+2!+5! main() int i,j,p,s=0;for(i=1;i=5;i+) /* 外循环 */ p=1;for(j=1;j=i;j+) /* 内循环 */p=p*i;s=s+p;printf(“Sum=%dn”,s);,循环结构程序设计,C语言程序设计,例5.12 打印图示的三角形图案。 分析: 每一行由空格、星号和回车组成。 它们之间的关系:,循环结构程序设计,printf(“*”

11、);,for(j=1;j=5;j+),输出1个星号,输出5个星号,i,6-i,2*i-1,C语言程序设计,例5.13 人口增长问题。按年2%的增长速度,现有12亿人,多少年后人口将达到或超过14亿。 分析:,循环结构程序设计,0,12,1,2,12*1.02,12*1.02*1.02,3,12*1.02*1.02*1.02,m,m*1.02,m,m*1.02,m,m*1.02,m,m14,n,n+,y,输出n,5.7 综合应用举例,C语言程序设计,例5.14 验证素数。 分析:素数:是指这个数只能被1和它本身整除。7是素数:它只能被1和7整除;8不是素数:除了1和8之外,还能被其它数(如2)整

12、除。判断m是否为素数,是要验证m是否能被2m-1之中的一个数n整除即可。若n存在,则m不是素数;否则m为素数。,循环结构程序设计,C语言程序设计,例5.15 打印100200之间的全部素数,每行10数据。 分析:只要把上例中从键盘输入的m由程序产生即可(从100变到200)。每得到一个素数,使一计数器加1。当计数器的值为10的倍数时,输出换行。,循环结构程序设计,C语言程序设计,例5.16 百钱买百鸡:分析:这是一个不定方程 。,循环结构程序设计,鸡翁一值钱五,,鸡母一值钱三,,鸡雏三值钱一。,百钱买百鸡,,问鸡翁、母、雏各几何?,cocks,hens,chicks,1cocks18,1hen

13、s32,1chicks98,1,1,若成立,得一组解,2,C语言程序设计,第5章作业,5.1 求2 + 4 + 6 + 8 + + 50。 5.2 求自然数e = 1 + 1/2! + 1/3! + 1/n! 近似值,控制第n项的值大于10-5时进行求和。 5.3 计算sin(x)=x - x3/3! + x5/5! - x7/7! +,直到最后一项的绝对值小于10-6时停止计算,x由键盘输入。 5.4 输入10个数,找出其中的最大值。 5.5 输入20个数,统计其中正、负和零的个数。 5.6 输入一行字符,分别统计出其中英文字母、空格、数字字符和其它字符的个数。,循环结构程序设计,C语言程序

14、设计,5.7 输入30个成绩数据,统计各分数段(059、6069、7079、8089、90100)的人数、最高分、最低分和平均分。 5.8 求Sa = a + aa + aaa + + aaa(其中最后一项有n个a)之值,其中a是一个数字。例如2+ 22+ 222 +2222 +22222(此时n=5),n由键盘输入。 5.9 输出100999中能被3整除,且至少有一位数字是5的所有整数。 5.10 打印所有“水仙花数”。水仙花数是一个三位数,其各位数字立方和等于该数本身。例如153是一水仙花数,因为153=13+53+33。 5.11 验证在何范围内,勒让德提出的公式:an=n2+n+41是

15、一个计算素数的通项公式。,循环结构程序设计,C语言程序设计,5.12 分别编写程序,打印以下各图案。5.13 搬砖问题:36块砖,36人搬;男搬4、女搬3、两个小孩抬一砖。要求一次全搬完,问男、女、小孩各若干。 5.14 爱因斯坦的阶梯问题:设有一阶梯,每步跨2阶,最后余1阶;每步跨3阶,最后余2阶;每步跨5阶,最后余4阶;每步跨6阶,最后余5阶;只有每步跨7阶,正好到阶梯顶。问共有多少阶梯。,循环结构程序设计,C语言程序设计,5.15 换零钱。将一张100元的大钞票,兑换成10元、5元、2元、1元的小钞票。要求每种小钞票至少一张。有多少种兑换方法?如何兑换? 5.16 印度国王的奖励。相传古代印度国王要褒奖他的聪明能干的宰相达依尔(国际象棋发明者),问他要什么?达依尔回答:“陛下只要在国际象棋棋盘的第一个格子上放一粒麦子,第二格子放二粒麦子,以后每个格子的麦子数都按前一格的两倍计算。如果陛下按此法给我64格的麦子,就感激不尽了。”国王想,“这还不容易!”让人杠了一袋麦子,但很快用光了,再扛一袋还不够,请你为国王算一下共要给达依尔多少小麦?(设1立方米小麦约1.4108颗),循环结构程序设计,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报