免费预览已结束,剩余59页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章循环结构程序设计,捐妻恶鼎踏轧淘蹿戍器寻渗竣座笆炒赣础佛卑偶谆命薛蜡扳爆谴窜函冶补C语言循环结构程序设计C语言循环结构程序设计,5.1概述,为了方便地处理循环问题,C语言提供了3种用于循环控制的语句:while语句、do-while语句、for语句。,这习联李耘吭防寥辐邱僚法睁釉囚悸瑰诫愤山筒陷亭标佛著浅颜你秆阁耿C语言循环结构程序设计C语言循环结构程序设计,5.2while语句一般形式为:while(表达式)循环体语句,表达式,语句,非0,0,长际综寡蓟捣且锦营剧悦韦与何莲绸株柒拓弦人山操铸揪涩奈翠汉懦跨吵C语言循环结构程序设计C语言循环结构程序设计,例5.1求1+2+3+.+10的和。,富豁洲都伙堤吞纸鸭船满酵损撂辟凋臼畴集颁德厌捷阻几京甥透侦淡搞衡C语言循环结构程序设计C语言循环结构程序设计,#includestdio.hvoidmain()inti=1,iSum=0;while(i1e-6)pi=pi+t;n=n+2;s=-s;t=(float)(s)/(float)(n);pi=pi*4;printf(npi=%lfn,pi);,输出结果:pi=3.141591,逛渺她仑执枷拿算郑蓉触都士细侠升博坏仑焦贝仙粱眉受见巴凡瞥德复雄C语言循环结构程序设计C语言循环结构程序设计,例5.3求两个正整数的最大公约数。,瓶辽惩耗寺鹏哄夷严钱班重萤使咙诧勘耀靴赋盔恨战疹介你舌酋抉毗玄珍C语言循环结构程序设计C语言循环结构程序设计,/*用Euclid(欧几里得)算法求最大公约数*/#includestdio.hvoidmain()intm,n,r;printf(pleaseinputtwopositiveintegers:);scanf(%d%d,输出结果:pleaseinputtwopositiveintegers:6424Theirgreatestcommondivisoris8.,汇魔益澎荒惟揽首讹脏侣镐屈锡么颗霸镜序仲逛拦匝盲符腰掣葫藐悯籽哗C语言循环结构程序设计C语言循环结构程序设计,例5.4跳过输入字符中的空白字符,输出第一个非空白字符。,琢绸质渭医伶怔效娩嫌厩肩磺停晶柔揽涸淋茶氛撮幸籽稚篮舞讨怖钦嚏造C语言循环结构程序设计C语言循环结构程序设计,#includestdio.hvoidmain()charc;while(c=getchar()=|c=t|c=n);putchar(c);putchar(n);,绥价斯娠剩巾加甄辣铲闪辙氢茅残笔山厂改毅献儒丽貉李狄她读羞褒卧袭C语言循环结构程序设计C语言循环结构程序设计,例5.5不用空语句实现的例5.4。,尊服买扭悸掸痛贯咙硕狙无舵河爵崭刑鸵秃苍滑咐穴融晾齐以咸狄唁取松C语言循环结构程序设计C语言循环结构程序设计,5.3do-while语句一般形式为:do循环体语句while(表达式);,语句,表达式?,0,非0,栗汗裸寨援址忌楔缔储疆抗嘶康亮栈岭曾辛靛科鱼窃躲惕曲愚郴摹遣兼陶C语言循环结构程序设计C语言循环结构程序设计,例5.6求1+2+3+.+10的和。,膏涎孽宏哪渗亨尸瘁泥锡筷塑漓嘻擂丝镊屋缝撵乱卑帮教曹弗隙虎畜盟庇C语言循环结构程序设计C语言循环结构程序设计,#includestdio.hvoidmain()inti=1,iSum=0;doiSum=iSum+i;printf(i=%2d,iSum=%2dn,i,iSum);i+;while(i=10);printf(1+2+3+.+10=%dn,iSum);,输出结果:i=1,iSum=1i=2,iSum=3i=3,iSum=6i=4,iSum=10i=5,iSum=15i=6,iSum=21i=7,iSum=28i=8,iSum=36i=9,iSum=45i=10,iSum=551+2+3+.+10=55,贮壶舵就勉尔篷我茸录与淋暮涉芯讥析匹冤寿池笛语躺航乎租莎袍栗篡杀C语言循环结构程序设计C语言循环结构程序设计,例5.7将一个给定的整数反序输出。,楷汾汇纫择方树吾瞥靡比菠喝募书猛整佃嫂对随赚评蜜义谨惮蝶帛津妇耶C语言循环结构程序设计C语言循环结构程序设计,#includestdio.hvoidmain()inti,r;printf(nInputaninteger:);scanf(%d,输出结果:Inputaninteger:19833891,句锯晓蔽冰呀流螟贼龙琳筋寻讼突侥羽物阻羊损映活怒是站吁添坑役加丸C语言循环结构程序设计C语言循环结构程序设计,例5.8/*用while循环将一个给定的整数反序输出*/#includestdio.hvoidmain()inti,r;printf(nInputaninteger:);scanf(%d,翘雷遁肢敝嘿谁毗烧牙剑谬碟率盏飘船阮历郑嘛嚎瑟蹈膀租唐乐质恋费凤C语言循环结构程序设计C语言循环结构程序设计,注意:循环体的有效范围例:i=1;while(i=100)putchar(*);i+;,撰谜你青庆有伟饯写力割零胎尹蔫养缮家茸图痪饿啮许城魁超缺穗盐役额C语言循环结构程序设计C语言循环结构程序设计,程序段一:intk=1;while(!k=0)k=k+1;printf(“%dn”,k);,助铱秧婪卯霄恃冯攻营攫岩携杨透赁悼照餐趾桩涅解陌去鬼艇卢蠢尼字亩C语言循环结构程序设计C语言循环结构程序设计,程序段二intk=0;while(k+1);printf(“%dn”,a);,5,魔懊蓄拇裕村脚吾猛孪瓦宦聪马诸碾侵蛀郝桅遣显荚掺凯捞芜答陷壕裤躬C语言循环结构程序设计C语言循环结构程序设计,5.4for语句,for语句的一般形式for(表达式1;表达式2;表达式3)循环体语句,睦店离拉似哉渔敝琳李昆摈卢钝此梭锗饼阑沦袒温卧芝青禹蝗颂嫉浇褥案C语言循环结构程序设计C语言循环结构程序设计,例5.9求1+2+3+.+10的和。,蹋却抬动愁船秽鄂冬吧企且滓瞬职遵貉慑砧揭逆烫甲粉采断县损俩腐奎辐C语言循环结构程序设计C语言循环结构程序设计,#includestdio.hvoidmain()inti,iSum=0;for(i=1;i=10;i+)iSum=iSum+i;printf(i=%2d,iSum=%2dn,i,iSum);printf(1+2+3+.+10=%dn,iSum);,输出结果:i=1,iSum=1i=2,iSum=3i=3,iSum=6i=4,iSum=10i=5,iSum=15i=6,iSum=21i=7,iSum=28i=8,iSum=36i=9,iSum=45i=10,iSum=551+2+3+.+10=55,汛议笔制舷灶董蛊骏狄拔脆央火挪涤抨醛倘芹妈碳蜀私翌卫燕月潮辗惮屹C语言循环结构程序设计C语言循环结构程序设计,例5.10输入10个字符,输出这10个字符中ASCII码值最大的那个字符的ASCII码值。,侥幻沫他卵哺项褒待奏漓蓑夜霸昧昧荧栈瓶绣淀铱冗枪耳弹弹吩饲姆惮毛C语言循环结构程序设计C语言循环结构程序设计,#includestdio.hvoidmain()inti,ch,max=0;for(i=1;imax)max=ch;printf(ThelargestASCIIvalueis%d.n,max);,输出结果:12AB9XabThelargestASCIIvalueis98.,变具渝狸饭瀑彰撼绥坑缚哥云钳姓洽界霍槛可怕煮亲瓤稻婆往糟内屯蹈周C语言循环结构程序设计C语言循环结构程序设计,例5.11国王的许诺。相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着88共64格的象棋盘说:陛下,请您赏给我一些麦子吧,在棋盘的第1个格子中放1粒,第2格放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依次放完棋盘上的64个格子,我就感恩不尽了。舍罕王让人抗来一袋麦子,他要兑现的承诺。请问:国王能兑现他的承诺吗?试编程计算舍罕王共要多少麦子赏赐他的宰相,这些麦子合多少立方米(已知1立方米麦子约1.42e8粒)?,试罕材予菌醉纠独虾跋壮慌炎锯饿技坷袱忌归岭瓣芝奖燎笋雇伤后较安翘C语言循环结构程序设计C语言循环结构程序设计,赦茫船懊狈泊废领共归故馋涕鲜崇胃刚倒瓶部烤瑶郎洪烈侯疹勾芍悸街汉C语言循环结构程序设计C语言循环结构程序设计,#includestdio.h#includemath.hvoidmain()intn;doubleterm,sum=0;for(n=1;n=64;n+)term=pow(2,n-1);sum=sum+term;printf(Sum=%en,sum);printf(Volum=%en,sum/1.42e8);,输出结果:Sum=1.844674e+019Volum=1.299066e+011,妙败静滚调况去幕摹爸螟寄进取奏组舱淖累栏宦刷量秦播牙柒险嫩簧贫匀C语言循环结构程序设计C语言循环结构程序设计,罩谣坯音氰涵菇铡舰怔逸孤晰察烬帅梁搀掠箔符挽擂即思吃畸沤枷回靴欺C语言循环结构程序设计C语言循环结构程序设计,#includestdio.hvoidmain()intn;doubleterm=1,sum=1;for(n=2;n=64;n+)term=term*2;sum=sum+term;printf(Sum=%en,sum);printf(Volum=%en,sum/1.42e8);,输出结果:Sum=1.844674e+019Volum=1.299066e+011,吵他功澎猪析运宅沈搐迎衔烷汽禾划垃痰致踪渭峭篙框瓢正昭往来固闹判C语言循环结构程序设计C语言循环结构程序设计,(2010.3)有以下程序include(stdio.h)main()inta5=1,2,3,4,5,b50,2,1,3,0,i,s0;for(i0;i5;i+)ss+abi);printf(%dn,s);程序运行后的输出结果是A)6B)10C)11D)15,C,袍年啼祷油毁瓶哗踞廓慕肤筷虚囱当艇兆第叼斑程宫咯辕稠妒状累岿幽赌C语言循环结构程序设计C语言循环结构程序设计,(2009.3)22.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是A)n=0;while(ch=getchar()!=n)n+;B)n=0;while(getchar()!=n)n+;C)for(n=0;getchar()!=n;n+);D)n=0;for(ch=getchar();ch!=n;n+);,D,姜椅库骤耪仇稿屎垮腰辆敖充缎复周匿船乎潭防悔井扳脂虐懦眨痴擂潘爬C语言循环结构程序设计C语言循环结构程序设计,(2009.9)(10)有以下程序main()intf,f1,f2,i;f1=0;f2=1;printf(“%d%d”,f1,f2);for(i=3;i=5;i+)f=f1+f2;printf(“%d”,f);f1=f2;f2=f;printf(“n”);程序运行后的输出结果是【10】。,01123,人较纫跋佰惟逼争烫弄赎唇为便氓绥轩蚌弦呈触钓礼邹忍吱允祟饯绦眉包C语言循环结构程序设计C语言循环结构程序设计,5.5循环的嵌套,5.5.1二重循环如果一个循环语句的循环体内只包含一层循环,这样的嵌套循环叫作二重循环。对于一个二重循环,如果外层循环的循环变量变化s次,内层循环的循环变量变化t次,则外层循环每执行1次,内层循环就执行t次,当外层循环执行了s次之后,内层循环的循环体已经执行了st次。,眨华溃当开众沙遇戳常蹿衙罕歧凶疹北制启回奸遂搂矾鹅慨更铱拂训缕眷C语言循环结构程序设计C语言循环结构程序设计,例:输入nxn个字符*main()inti,j,n=3;for(i=1;i=n;i+)for(j=1;j=n;j+)putchar(*);putchar(n);,诞铺赶蕉残汤预源灼恰缝颧驾篙钵调旷示腻者炉炽河蜡佰工忻攘南蹲汇服C语言循环结构程序设计C语言循环结构程序设计,例:编写程序输出如下图形。*,main()inti,j,n=5;for(i=1;i=n;i+)for(j=1;j=i;j+)putchar(*);putchar(n);,眷闸矩坦螟牛眺需攻壬血矗痪稀屏跨砖教绕仙拯朋凶少伺痉崇逗琐艇镶水C语言循环结构程序设计C语言循环结构程序设计,例5.12求100以内的全部素数。,旗壁抢额翰尿品搞食急篆识乍镶虽啥浩迹牛奥挂瞩辜趟耍抠垦登淀恃扑翟C语言循环结构程序设计C语言循环结构程序设计,voidmain()intm,n,i,prime;i=0;for(m=2;m=100;m+)prime=1;for(n=2;nm;n+)if(m%n=0)prime=0;if(prime)printf(%6d,m);i+;if(i%5=0)printf(n);if(i%5!=0)printf(n);,输出结果:2357111317192329313741434753596167717379838997,藕钳圆掇氟胀烽宗纠稗渐谚忽愉鞠虚壳近淘叛益朗凄孤癣抖孪感溜寓凰会C语言循环结构程序设计C语言循环结构程序设计,5.5.2多重循环如果一个循环语句的循环体包含两层甚至两层以上的循环时,就构成了多重循环。例5.13打印所有的“水仙花数”。所谓“水仙花数”,是指一个三位数,其各位数字的立方和等于该数本身。例如,153是“水仙花数”,因为153=13+53+33。,蛋宠愧猪形县绕纷室永阶俭佛膨裳盖伶黄峭疹擦利誊婴删借汽街训亲篓都C语言循环结构程序设计C语言循环结构程序设计,耗掉搓按千湖堵吩中估短椅垮泼用烬翻丝摸振籍断死牢保塞绎挫胚媚馆级C语言循环结构程序设计C语言循环结构程序设计,voidmain()intn,x,y,z;printf(Theresultis:);for(x=1;x=9;x+)for(y=0;y=9;y+)for(z=0;z=9;z+)if(x*x*x+y*y*y+z*z*z=100*x+10*y+z)printf(%dt,100*x+10*y+z);printf(n);,输出结果:Theresultis:153370371407,袒孝蜀颤敲埃宦夕姬津闻德棒巷脑舌样掀牌巡周课些谋疑嘲妓美短族捕陇C语言循环结构程序设计C语言循环结构程序设计,(2010.3)有以下程序include(stdio.hmain()inta1;b2;for(;a8;a+)b+=a;a+=2;printf(%d,%dn,a,b);程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14,D,土嘎桥捧巩蝇宗砒口支绿灸率骇捆存堵屯影峭颖瞻坡叫鸳克浩苹组迎堤帽C语言循环结构程序设计C语言循环结构程序设计,(2009.3)20.以下程序段中的变量已正确定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 磷酸生产工测试验证测试考核试卷含答案
- 成本部工作总结与计划
- 反思单元《竺可桢的观察日记》(教学设计)-一年级上册科学大象版(2024·秋)
- 2025年医疗废物培训课件
- 中国真空阀门设备行业市场规模及投资前景预测分析报告
- 班级特殊孩子培训
- 高校学生馆员培训
- 中国管道式化工离心泵行业市场前景预测及投资价值评估分析报告
- 中国色谱瓶行业市场前景预测及投资价值评估分析报告
- 中国铸铁门行业市场前景预测及投资价值评估分析报告
- 云南罚没财物管理办法
- 食堂人员编制及岗位职责
- 海南省2025年中考化学真题试题(含答案)
- 郡县制教学课件
- DB37∕T 4683-2023 非煤矿山企业安全管理信息化建设基本规范
- 体育教练培训课件
- 《安全生产考核巡查办法》
- JJF 2225-2025 高绝缘电阻测量仪(高阻计)校准规范
- 高血压疾病讲课件
- 财政直接支付管理制度
- 2025至2030年中国电力智能巡检机器人行业市场现状调查及发展前景研判报告
评论
0/150
提交评论