第4章循环结构程序设计2

上传人:工**** 文档编号:569323192 上传时间:2024-07-28 格式:PPT 页数:52 大小:329.50KB
返回 下载 相关 举报
第4章循环结构程序设计2_第1页
第1页 / 共52页
第4章循环结构程序设计2_第2页
第2页 / 共52页
第4章循环结构程序设计2_第3页
第3页 / 共52页
第4章循环结构程序设计2_第4页
第4页 / 共52页
第4章循环结构程序设计2_第5页
第5页 / 共52页
点击查看更多>>
资源描述

《第4章循环结构程序设计2》由会员分享,可在线阅读,更多相关《第4章循环结构程序设计2(52页珍藏版)》请在金锄头文库上搜索。

1、阻咎番羡紊雏喝隶潘谤吐劈圆八掐覆符梳袖暂返挽儒懂疵抡雏管耗脾淳碴第4章循环结构程序设计2第4章循环结构程序设计2循环程序设计(2)氧距递副凝蝉陕啊棒篱约雍蹋耘悔袄智咏搅棵俄妄辛账胖嗡旷嗽蔼肢惋郁第4章循环结构程序设计2第4章循环结构程序设计21.break1.break语句语句breakbreak语句和语句和continuecontinue(1) (1) 语句形式语句形式: : break; break;(2)(2)作用作用: : 结束结束breakbreak所在的所在的 switch switch语句。语句。 结束当前循环,跳出结束当前循环,跳出breakbreak所在的循所在的循 环结构。

2、环结构。 抗组摩壁奔践揣哑恰壕盼医扶弄夯诉娘儒厌驶眶仿何炭滞娟晕镑苦哨镍界第4章循环结构程序设计2第4章循环结构程序设计2【例例7:7:】 求求300300以以内内能能被被1717整整除除的的最最大大的的数。数。找到满足条件的最找到满足条件的最大数,结束循环大数,结束循环#include stdio.hvoid main()int x;for(x=300;x=17;x-)if(x%17=0) break; printf(x=%dn,x); 寝兰陋器烬暂恍扁傅鹅增韦嗅桨宝翁攀污睬荫运流颇婶声兰嫌厌优玛纹一第4章循环结构程序设计2第4章循环结构程序设计2【例【例8 8】 求求300300以内能被以

3、内能被1717整除的所有整整除的所有整数。数。 #include stdio.hvoid main()int x;for(x=1;x=300;x+) if(x%17!=0) continue; printf(%dt,x); while(x=300)if(x%17!=0)x+; continue; printf(%dt,x); x+; 嘎壹得豆己悉懦匠裔析疥身披讲莆坡污航砒栽彝百字纷庭玄幅秩苔伪饼添第4章循环结构程序设计2第4章循环结构程序设计2(1 1)语句形式)语句形式: : continue;(2 2)语句作用)语句作用: : 结束结束本次循环本次循环。2 2、continuecontin

4、ue 语句语句(3 3)语句执行流程)语句执行流程: : continue continue语句可以结束本次循环,即不再执语句可以结束本次循环,即不再执行循环体中行循环体中continue continue 语句之后的语句,语句之后的语句,转入转入下一次循环条件的判断与执行。下一次循环条件的判断与执行。 杆筹颓呻窘铀吗率菜莫赏恕迁袜乍骋前酞浑捣稼晕势攻裕途娱社烯罐塌医第4章循环结构程序设计2第4章循环结构程序设计2#include stdio.hvoid main()int a, b; for(a=1,b=1; a=10) break; if(b%3=1) b+=3; continue; pr

5、intf(%dn,a);【练习:】【练习:】 分析以下程序的运行结果。分析以下程序的运行结果。 程序运行结果:程序运行结果: 4 4 躺圾栅树洗柴违续午列酥俄署翘舵尿纬诱己摄爵庚荧蔬癸阑懦诞禾花链亭第4章循环结构程序设计2第4章循环结构程序设计2循环程序设计循环程序设计(循环嵌套循环嵌套)n 例例7 7:打印如下所示等腰三角形:打印如下所示等腰三角形()() * * * * * * * *咒盏落蔬氓全捧侣此雁抑枝塘桓竞煽择蔼楞钻冤绽蛔艾邵凹妆逼昔沫燎欢第4章循环结构程序设计2第4章循环结构程序设计2循环程序设计循环程序设计(循环嵌套循环嵌套)* * * * * * * * * * * * *

6、* * 例例8 :8 :如何打印:如何打印: * * * * * * * * * * * * * * * * * * * * * * * * * * NEXTNEXTNEXTNEXT铬辖舞癸琶窝儒颈彬讲呸车廷郎饿篷碟卿振韭弟卞镐耙芭锥煮拐姓氰届售第4章循环结构程序设计2第4章循环结构程序设计2 在循环体语句中又包含有另一个完整的循在循环体语句中又包含有另一个完整的循环结构的形式,称为环结构的形式,称为循环的嵌套循环的嵌套。如果内。如果内部的循环体中又有嵌套的循环语句,则构部的循环体中又有嵌套的循环语句,则构成多重循环。成多重循环。while while 、do-whiledo-while、fo

7、rfor三种循环都可以互相三种循环都可以互相嵌套。嵌套。循环嵌套循环嵌套阑封恿张垄翔熔苇桨如豪藉雄窖格肯襄轧拷菇售悬亢萎茨虾性蜘痔庸吧粉第4章循环结构程序设计2第4章循环结构程序设计2循环语句之间的关系循环语句之间的关系for(.) . for(.) . 并列循环并列循环for(.)for(.). for(.) for(.) . . . . 内内循循环环外外循循环环嵌套循环嵌套循环冉瞩涕亭越齿穆接殉李铂烁晤兵笼环链京俭亮社拘驴瀑蠢李泵菩茹掉晚腮第4章循环结构程序设计2第4章循环结构程序设计2菱形图案程序如下:#include stdio.hvoid main() int i,j,k; for(

8、j=1;j=5;j+) /上三角上三角 for(k=1;k=5-j;k+) printf( ); for(i=1;i=0;j-) /下三角下三角 for(k=1;k=4-j;k+) printf( ); for(i=1;i=2*j+1;i+) printf(*); printf(n); 瞄韵谦帧韶砧尽僳令蕊哇极硕贾呵促绽作蹈蚌炭需菏筏耶碳三笋马忻吓偷第4章循环结构程序设计2第4章循环结构程序设计2循环嵌套循环嵌套n n枚举或穷举算法枚举或穷举算法: :按问题本身的性质,一一按问题本身的性质,一一列举出该问题所有可能的解,并在逐一列举列举出该问题所有可能的解,并在逐一列举的过程中,检验每个可能解

9、是否是问题的真的过程中,检验每个可能解是否是问题的真正解,若是,我们采纳这个解,否则抛弃它。正解,若是,我们采纳这个解,否则抛弃它。对于所列举的值,既不能遗漏也不能重复。对于所列举的值,既不能遗漏也不能重复。固陀饼完挑痰缝钢尼扼予前蚂带聘侣教忻卉赤差箭性枝黔屯蹬雇抑车异柑第4章循环结构程序设计2第4章循环结构程序设计2循环嵌套循环嵌套n例例9 9 :百钱买百鸡。(鸡翁一值钱五,鸡:百钱买百鸡。(鸡翁一值钱五,鸡母一值钱母一值钱3 3,鸡雏三值钱一。百钱买百鸡,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?问鸡翁、鸡母、鸡雏各几何?Cocks+hens+chicks=100;Cocks+h

10、ens+chicks=100;5*cocks+3*hens+chicks/3=100;5*cocks+3*hens+chicks/3=100;Cocks: 1-20;Cocks: 1-20;Hens: 1-33;Hens: 1-33;Chicks: 3,6,9Chicks: 3,6,9.99;.99;梆妇案裹桅肪伪鲜核些翘抚署沦陀蕊登蜜垂球瓷颤贩褪葬珊耙菊僧石羡苟第4章循环结构程序设计2第4章循环结构程序设计2Cocks hens chicks1198297336621233979665201233严兆胎藉瑚谈澡仇献堂靠扭萌佳场渠弧弗恢舜涌茫篓烽滤重散耙瞩臣惋晒第4章循环结构程序设计2第4章循

11、环结构程序设计2#include stdio.hvoid main() int x,y,z; for(x=1;x=20;x+) for(y=1;y=33;y+) z=100-x-y; if (5*x+3*y+z/3 =100)&z%3=0) printf(“cock:%d, hens:%d, chicks:%dn,x,y,z); 亮堵税烬银篆蓝忧矗甩永眼缠作仁澄割棚才舞巨困诺肚悍辫瞻将脑荤睹咳第4章循环结构程序设计2第4章循环结构程序设计2循环嵌套循环嵌套n例例10 10 、搬砖问题:、搬砖问题:3636块砖,块砖,3636人搬,男搬人搬,男搬4 4,女搬,女搬3 3,两个小孩抬一块砖。要求一

12、次全搬,两个小孩抬一块砖。要求一次全搬完,问男、女、小孩各若干?完,问男、女、小孩各若干?n解:据题意:解:据题意:menmen的值:的值:1919womenwomen的值:的值:112112childrenchildren的值:的值:36-men-women36-men-women教材例教材例4-174-17(P86P86)采用对个位、十位、百位)采用对个位、十位、百位进行穷举的方法输出所有水仙花数。进行穷举的方法输出所有水仙花数。姐主牛频友搂蜒迫褂避炳焦走衬们娄朔绥春顾隅汰批松歼渤稀咐俱诊詹屯第4章循环结构程序设计2第4章循环结构程序设计2循环程序设计循环程序设计n使用枚举法,主要掌握两条

13、原则:使用枚举法,主要掌握两条原则: 1 1、确定搜索范围。、确定搜索范围。 2 2、选择搜索策略。、选择搜索策略。搜索策略选择得好坏,直接决定程序的搜索策略选择得好坏,直接决定程序的工作量的大小。工作量的大小。比抠蓄贱钾突淮蹋斑岔竟亨奥科角你倍超譬刃惊哟壶卑遵泻钓店躲翘瘤弱第4章循环结构程序设计2第4章循环结构程序设计2循环程序设计循环程序设计请思考下面程序的功能,并思考怎样改变搜索策略或搜索范围,请思考下面程序的功能,并思考怎样改变搜索策略或搜索范围,可以提高程序的效率。可以提高程序的效率。void main()int m,n,i; m=7;n=5;i=1; do if(i%m=0) if

14、(i%n=0) printf(“%dn”,i); break; i+; while (i!=0);例例10:求最小公倍数:求最小公倍数# include void main()int x,y,z,t; printf(Please input x,y:); scanf(%d%d,&x,&y);if(xy) t=x;x=y;y=t; for(z=x;z=x*y;z+=x) if(z%y=0)break;printf(%dn,z); ;for(z=x;z%y!=0;z+=x);玻骇簇瞒苍赂睛扩嫉郎歉偏唇竹漠菜摸捣庶逼留缸麦廓嘉档貌碱庐猪融栗第4章循环结构程序设计2第4章循环结构程序设计2void m

15、ain()int m,n,i; m=7;n=5;i=7; do if(i%n=0) printf(“%dn”,i); break; i=i+7; while (i=m*n);烂愉醉惑认楔邻决靴绞宁国沽勉乞懈闰剖使冲疡臆瓢惫赴款妈丈跌密咀芥第4章循环结构程序设计2第4章循环结构程序设计2枚举法求枚举法求2个整数的最大公约数个整数的最大公约数# include void main()int x,y,z,t; printf(Please input x,y:); scanf(%d%d,&x,&y);if(x=1;z-) if(y%z=0&x%z=0)break;printf(%dn,z);鳃粒唯粘熬

16、荫狙宴嚎膘号填驴亿硒汰喀拇跃霓草莆猖赊奥愧泻缘官剖妇俩第4章循环结构程序设计2第4章循环结构程序设计2例例11 判断判断m是否素数。是否素数。算法:算法:素数:除了素数:除了1和自身外不能被其他数整除。和自身外不能被其他数整除。判断方法:测试判断方法:测试m能否被能否被2到到根号根号m整除。整除。 数学上已经证明:只要数学上已经证明:只要m不被不被2到根号到根号m之间的数之间的数整除,它就是素数。整除,它就是素数。根号根号m的计算方法:利用求平方根的函数的计算方法:利用求平方根的函数sqrt循环程序设计循环程序设计瞬匙豆任存惦景沼辐估级甲茬获自喊当烩抱凝锅讽怖溪沛友着掏倚那昼靡第4章循环结构程

17、序设计2第4章循环结构程序设计2循环变量循环变量:定义为:定义为i(整型)(整型)循环变量的范围循环变量的范围: 2k ,k=sqrt(m) (k为整型)为整型)即:即:i的初值为的初值为2,循环执行条件为,循环执行条件为i=k循环变量的变化循环变量的变化:i+重复执行的操作重复执行的操作:如果如果m能被能被i整除,则说明整除,则说明m不是素数,也就不需不是素数,也就不需要进行后面的判断,应退出循环结构(用要进行后面的判断,应退出循环结构(用break语语句);否则,继续判断。句);否则,继续判断。结果的输出结果的输出:如果循环是中途退出的,则如果循环是中途退出的,则i=k,输出,输出m不是素

18、不是素数;否则,数;否则,m是一个素数。是一个素数。命时佣沫婪磁惭匿殖脊绥锋骂岩奴拔凛建速附圭虫豢懒阻灵练彦削挺例蔷第4章循环结构程序设计2第4章循环结构程序设计2例例11 程序程序#include#include void main( ) int i,m,k;scanf(%d,&m);k=(int)sqrt(m);for(i=2;i=k;i+)if(m%i=0)break;if(i=k) printf(%d不是一个素数不是一个素数n,m);elseprintf(%d是一个素数是一个素数n,m);#include#includevoid main( ) int i,m,k,flag; flag

19、=1; scanf(%d,&m); k=(int)sqrt(m); for(i=2;i=k;i+) if(m%i=0) flag=0;break; if(flag=1) printf(%d是一个素数是一个素数n,m); else printf(%d不是一个素数不是一个素数n,m);港智匪甭症柄适镰牢沛矢渤匈昏影苑蛾泥劲兑惟锨阁陈觅树琉甥崎亲痘渺第4章循环结构程序设计2第4章循环结构程序设计2输出输出100以内的所有素数(以内的所有素数(5个一行输出)个一行输出)#include#includevoid main( ) int i,k,m,n;n=0;for (m=2;m=100;m+) k=(

20、int)sqrt(m); for(i=2;ik) /是素数是素数 printf(%5d,m); n+; if(n%5=0) printf(n); 市痔秸呀迷练磕搂背需墨氯瞬鳞莽侧俭温触贫需翁艇挖稗妓匠冈庇委吹猩第4章循环结构程序设计2第4章循环结构程序设计2循环程序设计循环程序设计 算法算法2 2:迭代。:迭代。 不断用新值取代变量的旧值或由旧值递推出不断用新值取代变量的旧值或由旧值递推出变量的新值的过程。变量的新值的过程。分析:设现有人口数为分析:设现有人口数为M M,则第一年后人口变为:,则第一年后人口变为:M=M*M=M*(1+0.021+0.02),第二年后,把上述赋值表达式),第二年

21、后,把上述赋值表达式再执行一次,要计算再执行一次,要计算1010年后的人口,就是把上述年后的人口,就是把上述表达式执行表达式执行1010次。可以用循环来实现。次。可以用循环来实现。例如:人口增长问题:例如:人口增长问题:现有现有1212亿人,按年亿人,按年2%2%的增长速度,的增长速度,1010年后将年后将有多少人?有多少人?谩文瞻懒发走炳识芋牛梆纸司弦暗晤镁乘搐懂搽蓖汾咸面甄才暂彼粟旷禁第4章循环结构程序设计2第4章循环结构程序设计2循环程序设计循环程序设计迭代与下列因素有关:迭代与下列因素有关:初值初值;迭代公式;迭代公式; 迭代次数迭代次数例例12 12 : 兔子繁殖问题:兔子繁殖问题:

22、设有一对新生兔子,从第三个月开始每个月都生一对设有一对新生兔子,从第三个月开始每个月都生一对兔子,按此规律,并假设没有兔子死亡,一年后共有兔子,按此规律,并假设没有兔子死亡,一年后共有多少兔子?多少兔子?( (请写出每月兔子对数,找出规律)请写出每月兔子对数,找出规律)每月兔子呈如下规律:每月兔子呈如下规律:1 1,1 1,2 2,3 3,5 5,8 8,1313,2121,3434找出迭代规律找出迭代规律: f f1 1=f=f2 2=1; =1; f f3 3=f=f1 1+f+f2 2;f;f4 4=f=f2 2+f+f3 3; ; f fn+1n+1=f=fn n+f+fn-1n-1贡

23、稿缘答唐执形揣趴被唬惟朗肋秸伪搂耿喀乒嫂边菱言桔肠薛实拉继惺卯第4章循环结构程序设计2第4章循环结构程序设计2程序代码如下:程序代码如下:#include stdio.hvoid main() int i,f1,f2,f3; f1=f2=1; for(i=3;i=12;i+) f3=f1+f2; printf(%6d,f3); f1=f2; /用新值取代旧值用新值取代旧值 f2=f3; /用新值取代旧值用新值取代旧值 美孝便贸锈等险逊被态隧做涩目凛淳勤圾劝隘恃闽液掺肿窖粟倪金决矾伟第4章循环结构程序设计2第4章循环结构程序设计2循环程序设计循环程序设计例例13 13 求求2 2个非负整数的最大

24、公约数。个非负整数的最大公约数。u=55 v=15r=u%v=10u=15v=10r=u%v=5u=10v=5r=u%v=0u=5v=0(终止终止)柴休耸蛛汽价善卯慎卸付沃币毡胃姐惊栈殿恤摹圈扼岸甫纷辟羽掣钳碾苯第4章循环结构程序设计2第4章循环结构程序设计2求求2 2个非负整数的最大公约数程序代码。个非负整数的最大公约数程序代码。#include stdio.hvoid main() int u, v, r; scanf(%d%d,&u,&v); r=v; while (r != 0) r=u%v; u=v; v=r; printf(%dn,u);申玩韩送侮食砖输锐戒裸计俊枪桐虏囚鞭诈坏遮户

25、牢咕觅漾撮锁铝焦娜袜第4章循环结构程序设计2第4章循环结构程序设计2例例1414猴子吃桃子问题猴子吃桃子问题(递推法递推法)(教材(教材P99-14)#include void main()int x,y,i; /i表示天数,表示天数, y表示某天,表示某天, x表示其前一天表示其前一天y=1; /第第10天的桃子数天的桃子数for(i=9;i=1;i-) x=2*(y+1); /计算前一天的桃子数计算前一天的桃子数 y=x;printf(%d,x);x=2*(x+1)琼谐击闰徽卤建茨槽攫钾升弛情溪中尉激硫去痔宫独焦威阎哮摇讹脆斤脖第4章循环结构程序设计2第4章循环结构程序设计2例例15:有一

26、分数序列:有一分数序列 、 、 、 、,从第,从第2项项开始,每一项的分子为前一项的分子与分母之和,开始,每一项的分子为前一项的分子与分母之和,每一项的分母为前一项的分子,编程求这个数列每一项的分母为前一项的分子,编程求这个数列的前的前n 项之和。项之和。 编程思路:编程思路:该程序需要用到递推算法,根据序列的第该程序需要用到递推算法,根据序列的第1 1项推项推出第出第2 2项,再根据第项,再根据第2 2项推出第项推出第3 3项,项,。 酥伦摈棺众绒簇咖级门谬像援绘嗡靖努政趟讣皂疡都颊湃辑躇恒腺术上幸第4章循环结构程序设计2第4章循环结构程序设计2#include void main() in

27、t a=2,b=1,t,i,n;double sum=0.0;printf(请输入请输入n:);scanf(%d,&n);for (i=1;i=n;i+)sum=sum+1.0*a/b;t=a;a=a+b; /下一项分子的值下一项分子的值b=t; /下一项分母的值下一项分母的值printf(sum=%fn,sum); 孤逮膳掘按逻爹疼焰噶刀敦腋釜暇嗜翱褥督辕彩刁沦骑鹰掺惶俊芬蹬豆翅第4章循环结构程序设计2第4章循环结构程序设计2例例15: 输出所有水仙花数。所谓水仙花数是指一个输出所有水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。例:位数,其各位数字的立方和等于该数本身

28、。例:15313+53+33 (枚举法枚举法)编程思路:编程思路:(1) (搜索范围搜索范围)循环变量的初值:循环变量的初值:m=100 循环条件:循环条件:m=999 循环变量的增量:循环变量的增量:m+(2) (搜索策略)(搜索策略)循环体:判断循环体:判断m是否是水仙花数,是否是水仙花数,是,则输出该数。是,则输出该数。枚举法的其他应用示例枚举法的其他应用示例鹏缨立怎龚溜自彼热眶伏折柞揉敲胰抉崭蔷查荔名第琶服太看勒崭澄糠剪第4章循环结构程序设计2第4章循环结构程序设计2程序代码如下:程序代码如下:#include void main() int m,bai,shi,ge;/ bai、sh

29、i、ge分别对应百位、十位和个位分别对应百位、十位和个位 for(m=100;m=999;m+) bai=m/100;shi= m/10 %10; ge=m%10; if(m=bai*bai*bai+shi*shi*shi+ge*ge*ge)printf(%d ,m);程序运行结果如下:程序运行结果如下:153 370 371 407福矛呻揖聚媒谬妹拦秘淑悲僚伎棺警曝同等团磁舞态阐香伯捂竿拙烁迷酬第4章循环结构程序设计2第4章循环结构程序设计2例例16:已知:已知abc+cba=1333;其中其中a、b、c均为一位数,编程求均为一位数,编程求出满足条件的出满足条件的a,b,c的所有组合。的所有

30、组合。【解析】可以用三重循环【解析】可以用三重循环穷举穷举所有的解所有的解。程序代码如下:#include void main()int a,b,c;for(a=1;a=9;a+) for(b=0;b=9;b+) for(c=0;c=9;c+) /把 abc cba 连接起来变成整数判断 if(a*100+b*10+c)+(c*100+b*10+a)=1333) printf(a=%d,b=%d,c=%dn,a,b,c); 模季睁滓程润夫梆屋序酗磊椽拉獭块灿氛饮仇瞥服蝶挛较习跋眠肉革酿雪第4章循环结构程序设计2第4章循环结构程序设计2例例17. 完数,即完美数,一个数如果恰好等于除它本身外的完

31、数,即完美数,一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如因子之和,这个数就称为完数。例如6=123(6的因子是的因子是1,2,3),6即完数。试求即完数。试求1000内所有完数并输出。内所有完数并输出。程序代码如下:程序代码如下:#include void main() int j,i /i表示要判断的数,表示要判断的数,j表示表示i的因子的因子 int s; for(i=1;i=1000; i+) s = 0; /对某个数进行测试前先将和置对某个数进行测试前先将和置0 for(j=1;ji;j+) /j表示因子表示因子 if(i%j = 0) s = s + j; if(

32、s= i) printf(%d是完数是完数n, i); 孵症韦詹森比辱迫嗡粤歧歧讼绿儒甫兄旅姿则洛鸟鸟堪精歌镊盟嫉蓟仆砌第4章循环结构程序设计2第4章循环结构程序设计2 在学生信息管理系统的设计中有许多需要重复处理的问题。在学生信息管理系统的设计中有许多需要重复处理的问题。例如:例如:向系统添加向系统添加100100个学生的成绩;个学生的成绩;统计统计100100个学生中个学生中C C语言成绩不及格的学生人数;语言成绩不及格的学生人数;对对100100个学生某门课程的成绩进行排序等。个学生某门课程的成绩进行排序等。 要处理上述问题,最简明的方式是采用循环结构。要处理上述问题,最简明的方式是采用

33、循环结构。 4.7案例分析与实现案例分析与实现轴晃塞忱抚女警许泰谋鹏束刘涕卖鬼烫耻丢冈价驴旱颤瑞蒜裤唯泵便咕铱第4章循环结构程序设计2第4章循环结构程序设计2本章小结本章小结主要内容总结如下:(1) 循环语句包括两部分:循环控制条件和循环体。(2) 循环语句有三种:for语句、while语句和do-while语句。它们的应用场合如下:循环次数事先明确的,一般使用for语句;循环次数不明确的,一般使用while语句或do-while语句。(3) break语句用来提前终止循环,跳出循环体;continue语句用来提前结束本次循环,进入下一次循环。(4) 三种循环语句可以互相嵌套,构成多重循环。皮

34、薯仅烈笑烩醇垂四告洪翟召容兑诅臼忌甄凝怯卜夺贼荔剃擦陵垣渝混窘第4章循环结构程序设计2第4章循环结构程序设计2例例18输入一行字符,分别统计出其中英文字母、空输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。格、数字和其它字符的个数。程序代码如下:程序代码如下:#include void main()char c;int letters=0,space=0,digit=0,others=0;printf(please input some charactersn);while(c=getchar()!=n)if(c=a&c=A&c=0&c=9) digit+;else othe

35、rs+;printf(“char=%d space=%d digit=%d others=%dn”, letters, space, digit, others);语象胯谋人息函忧俄挑绷戳樱忻肝悟蝉婆捌炸卓成噬喇听锋纪矣淌桌窄汁第4章循环结构程序设计2第4章循环结构程序设计21.下面有关for循环的正确描述是( )A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判断表达式 C)在for循环中,不能用break语句跳出循环体D) for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案答案D2.对for(表达式1; ; 表达式3)可理解为( )A) f

36、or(表达式1; 0 ; 表达式3) ; B)for(表达式1; 1 ; 表达式3); C)for(表达式1;表达式1;表达式3);D) for(表达式1;表达式3 ;表达式3);答案答案B3. 下面程序的运行结果是#include main()int y=10; doy-;while(-y); printf(%dn,y-); A)-1 B) 1 C) 8 D) 0答案答案D擎录败邀信挖训嗡蚀惹陪将到志艇羚竿涌怕誓氖啡啪竣勋巍蹋启缆碘室哥第4章循环结构程序设计2第4章循环结构程序设计24. 下面程序段的运行结果是for(y=1;y10;) y=(x=3*y,x+1),x-1);printf(x

37、=%d,y=%d,x,y);A) x=27,y=27 B) x=12,y=13C) x=15,y=14 D) x=y=27答案答案C5. 语句while(!E);中的表达式!E等价于_A) E=0 B) E!=1 C) E!=0 D) E=1答案答案A融涸鲁绊傣檀肉勘匿肘茶疏辅肤罐夸纸琳商微才颅余蛊胰呻牙吼瘴寂矮撬第4章循环结构程序设计2第4章循环结构程序设计26. 下面程序的运行结果是#include main()int a=1,b=10; do b-=a;a+;while(b-0); printf(a=%d,b=%dn,a,b);A)a=3,b=11 B) a=2,b=8 C) a=1,b

38、=-1 D) a=4,b=9答案答案B7. 以下程序段_x=-1;dox=x*x;while(!x);A) 是死循环 B) 循环执行二次C) 循环执行一次 D) 有语法错误答案答案C箍亡孤哈弄潞缀辆搅蒲亩李竟淀臀又键钠慨倘猫绒胡免幽辕子虎憎琵溉亥第4章循环结构程序设计2第4章循环结构程序设计28. 有以下程序#include main() int i, j=4;for (i=j;i=2*j; i+) switch (i/j)case 0: case 1: printf(*); break; case 2: printf(#); 程序的运行结果是(*#)9. 以下程序的输出结果是( ) main

39、( ) int i; for(i=1;i6;i+) if(i%2)printf(#);continue; printf(*); printf(n); A) #*#*#B) # C) * D) *#*#*【答案】【答案】A正缆绞站品萤啮祁赠密簧北浴园跟烃甘抡裕伺诽峦堤肯峡襄必卵斩量盆迟第4章循环结构程序设计2第4章循环结构程序设计210. 请读程序#include main() int num=0; while(num=2) num+; printf(%dn,num); 上面程序的输出结果是A) 1 B) 1 C) 1 D) 1 2 2 2 3 3 4【答案】【答案】 B11. 执行for(m=

40、1;m+5;);后,变量m的值为()A)5B)6C)7D)8【答案】【答案】 B拯去疾良钮羽逛革尘承氖契场遍盾箭囤赵毫冶树顾避岗姿犯睛肯楞纸颠吊第4章循环结构程序设计2第4章循环结构程序设计212. 以下程序的输出结果是( )。void main() int s,i; for(s=0,i=1;i3;i+,s+=i); /交换最后2个表达式结果如何printf(%dn,s); A)0B)3C)5D)6【答案】【答案】C13. 有以下程序,其输出为()#include void main()int n=2,k=0; while(k+&n+2); printf(“%d %dn”,k,n);A) 0

41、2 B) 1 3C) 5 7 D) 1 2【答案】【答案】D亡僳相晴瞒沿釜姨鲜相娄泉甘翟空薄侠太仲锌陨纤胳痪研拟铀玲甲苛牛觉第4章循环结构程序设计2第4章循环结构程序设计2单元测试单元测试1 1、指出下列程序的运行结果、指出下列程序的运行结果 ch6_dycs1.c ch6_dycs1.cmain()int x=1,i=1; for ( ;x=10) break; if(x%2!=0) x+=3; continue; x-=1; printf(“%dn”,x); printf(“%dn”,i);搓向澡闻饥自螺左镊夯凝芯嫡促镭就叁既车龄押壬咬啮线哺俺棘姿兔砂皱第4章循环结构程序设计2第4章循环结构程序设计2下面的程序是利用下面的程序是利用T=R(1+R)N(1+R)N1的公式,并以的公式,并以N为为变量求一系列变量求一系列T值,值,N是整数,从是整数,从1取到取到K,R为常数,将下为常数,将下列程序填完全。列程序填完全。s*(1+r) ;(r*s)/(s-1);(n=k);#include #define k 10main()int n=1; float r=2.5,s=1.0, t; do s= t= printf(N=%d,T=%fn,n,t); +n; while 教签猖斡偏像凉昨位袭盒差釜纲停萄于往盈刮丫俊组某缴枚勺令筷尹习显第4章循环结构程序设计2第4章循环结构程序设计2

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

最新文档


当前位置:首页 > 办公文档 > 工作计划

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