




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
新编C语言程序设计教程
清华大学出版社周二强
zeq@软件学院
计算机科学与工程系配套视频:
博客:/stunt第5章循环结构5.1while循环结构5.1.1while循环结构分析5.1.2while循环结构用法5.2for循环结构5.2.1for循环结构分析5.2.2for循环结构用法5.3break语句和continue语句5.4循环的嵌套5.5do-while循环结构5.6典型例题5.1.1while循环结构分析while循环结构的一般形式如下:while(表达式)
语句其中表达式的值为逻辑值,或为真(非0),或为假(0),表达式又被称为循环控制表达式。语句可以是单条语句或复合语句,又被称为循环体。while循环结构执行流程while循环结构的执行流程如下:第一步:求出表达式的值,如果值为假,执行第三步;如果为真,执行第二步;第二步:先执行循环体,再转到第一步;第三步:退出while循环结构,while循环结构执行完毕;循环体重复执行多少次呢?循环体重复执行多少次呢?以下面的while循环结构为例。while(i>0)
printf("*");循环控制表达式中的变量被称为循环变量。循环体的执行次数显然和循环变量的值密切相关。想利用while循环结构打印出5个“*”号时需要控制循环变量的值,包括循环体开始前循环变量的值(初值)和循环体中循环变量的值的变化。例5-1分析下面while循环结构的执行情况例5-1分析下面while循环结构的执行情况return5.1.2while循环结构用法例5-2计算1+2+3+…+100的和1+2+3+4+5=3+3+4+5=6+4+5=10+5=15把和(sum)的初值设为1时,上面的计算过程其实是重复地把和与每一项(i)相加作为新的和,即sum=sum+i,其中项i从2重复到5,相应的while循环结构为:例5-2计算1+2+3+…+100的和分析:输入2352时,输出12(2+5+3+2),本质上也是连加同例5-2,不同之处在于重复加时需先求出每一项。步骤如下:第一步:求出正整数n个位上的数字m;第二步:和(sum)与m相加作为新的和;第三步:n缩小10倍;第四步:重复第一步;什么条件下停止循环呢?n变为0,因此循环重复执行的条件为n>0例5-3输入一个正整数,输出各位上的数字和(与例3-11比较)例5-3输入一个正整数,输出各位上的数字和。例5-4一百个僧人分一百个馍,大僧每人分三个,小僧三人分一个,正好分完。问大小僧各有几人?分析:用穷举法,即依次列举大僧人数所有可能的取值,并判定值是否为问题的解。大僧人数i可能的取值为从1到33,可以用循环一一检验并最终找出解。i为解时,i*3+(100-i)/3的值应为100,反之如果此条件成立,则i为解。return5.2.1for循环结构分析通过while循环结构的学习可知,典型的循环结构有3个特点:设置循环变量的初值、检测循环条件和修正循环变量。循环变量的初值通常在循环结构的前面设置,且仅设置一次。执行循环结构时会检测循环条件,而循环变量一般在循环体中修正。只要循环条件为真执行了循环体,循环变量就会被修正。为了使循环结构更紧凑,更优雅,C语言提供了for循环结构。for循环结构的一般形式for(表达式1;表达式2;表达式3)
语句;for循环结构的一般形式for(表达式1;表达式2;表达式3)
语句;其中,表达式1的作用通常是设置循环变量的初值,仅执行一次。表达式2就是循环控制表达式,为真时执行循环体,为假时退出for循环。表达式3用于修正循环变量的值,执行完循环体,再次检测循环控制表达式的值之前执行。例5-辆5用fo赖r循环交结构汁实现茶例5-骨4。注意围:fo旧r循环滚结构慈中的貌表达绑式1和表谁达式3可以稿分别旅或一速起省月略,肺但是针相应够的;号不酷能省飘略。赔省略赚的表绵达式糟默认爆为空锹语句素。因方此fo狱r(;表达备式2;叮)与wh砖il牛e(表靠达式2)等万价。表达剥式2也可衰以省阴略,古不过晶省略拒后的范表达碎式默罚认为埋真,贫即此婆时的fo潜r循环况结构锐为“庸死循握环”俗。fo焰r(;煌;)与wh赏il灾e(1)等守价。表达肢式1和表节达式3可为良逗号门表达校式。思如例5-净2可用刷如下fo根r循环悉结构府实现爸。fo俊r(挺i=2候,票su忌m=伐1;姑i扇<=火10隆0;冶+鞠+i递)su厘m雄+=探i竟;。re蛾tu寻rn5.门2.引2帽fo羞r循环毕结构雅用法例5-姿6输出10菌0以内患奇数隙之和象与偶劲数之戒和。例5-协7输入锅两个腊正整隶数m和n领,求它堡们的稀最小绩公倍谢数。分析锄:用门穷举是法。围循环冈变量i的可伴能取王值为捆:m,察2长*m下,垃3*杯m,扶.疑..森,蜡n*绪m。例5-滔8斐波蚊那契页数列项的一档般项Fn定义项如下弦:输出德它的剧前30项,帆每行直输出5项;分析计:数匹列的凭项依爬次1,1,2,3,5,8,……,从郑第3项开志始计瞎算过课程如荷下表飞。例5-屿8斐波泛那契辞数列re把tu这rn5.胸3终br六ea路k语句暂和co抱nt筛in碌ue语句程序5-录7出现排逻辑匪错误晶的原筛因在统于找致到最私小公桃倍数时后没股有及捆时终率止循循环。良循环涂执行柏期间疯当满棒足了爽某种扑条件酬需要测立即汪终止糖循环辫的执监行时被可以妈采用纱多种授方法尺,其蜓中使校用br双ea切k语句屿最方朵便。br轿ea疏k语句搜在前魔面用敲来终状止sw饥it贼ch结构正的执逝行,孙当循震环执能行到br鉴ea扭k语句澡时循婆环结副构也啄将立颜即退奋出执贺行。在程享序5-味7的循假环结序构中坊加一处条br袍ea如k语句无就可锋以排地除逻甚辑错妻误。例5-些9判断零正整巨数n是否专为质易数。分析处:质规数只党有1和它激本身磁两个略约数饥,1不是矮质数夜。判聪断n是否进为质钩数可任分两炒步。第一殖步:修依次肾用取像值从2到n-惯1的循懒环变否量i整除n,若i能整绳除n,则沈可以们确定n不是仅质数玩,此访时无此需再成测试您可用br得ea枕k语句稳直接蛾退出浇循环淘。第二戏步:赖判断斑循环庭执行晨完毕肥后循阅环变饥量i的值界。如i的值扭为n,则表胃明循饥环是谨正常糟退出纽奉,也差意味权着2至n-蕉1都不扛能整慰除n,显衬然n为质顶数。腾如果i的值做不为n,则循普环是公因i能整借除n从而机导致br决ea治k语句魔的执弄行而汪退出恳循环零的,上此时n不是丢质数肝。例5-烦9判断异正整石数n是否票为质倚数co火nt谅in虑ue语句co已nt鞋in垫ue语句旷的作垫用是采跳过喉循环恳体中co籍nt赵in料ue语句狭后面恐的语查句,芦立即壶结束记循环劈燕体的卡本次框执行配。co重nt为in咱ue语句合仅仅韵终止腐循环社体的课本次结执行肯而循造环结毒构会得继续羊执行型,但午是br飞ea浪k语句铸却直墓接终信止循扰环结纺构,债两者挣有明颈显的柔区别耕。例5-退10找规雀律,猜输出倾所有蚀小于10竹0的项惨,10个一蜓行。1、2、4、7、8、11、13、14、16、17、19、22、23分析葱:规绘律为容从1到10塑0的序户列中部不出衡现3或5的倍鲜数。锤可以啦用循姑环输拘出该妖序列毅。循环拳变量i从1至10翁0,符劝合条饮件时肯输出锅,不场符合爱条件桐时忽递略。1、2、4、7、8、11、13、14、16、17、19、22、23re炮tu狱rn例5-芬11用循到环输谊出如惹下图抹形*疗*莲*抹*念*旱*扛*骡*傅*话*誓*邪*斑*蕉*口*分析咐:图讯形共5行,侦循环点变量i从1到5,每隶次输即出一观行。对于港第i行,虑需输敌出i个她*,做可用抓循环尊变量j从1到i每次吗输出庆一个触*个。5.让4循环歉的嵌匹套一个愈循环黄体中案又包蠢含了鸣另一纵个循帅环结搭构,絮称为沟循环洗的嵌娇套。第内嵌煮的循凝环中鉴还可畅以嵌尖套循较环,嫩此时朵称为厉多层凭循环枯。例5-唉12用循耕环输椅出如满下图贝形分析皆:图脏形共5行,舰循环广变量i从1到5,每该次输蛋出一盏行。君对于葱第i行,吼需先践输出5-快i个空盼格,封再输旷出2*骆i-仇1个*呜。例5-由12用循坝环输喉出如拉下图通形例5-秃13输出10储0以内熟的质凝数。分析鹊:循茎环变诵量i从2到10夸0,每驴次判消断i是否银为质唇数,忧如果似是,驶则输瓣出i。判刊断i是否肃是质卷数的买算法奖见例5-驳9。re露tu滤rn5.暴5乖do既-w耀hi馋le循环欧结构do立-w容hi查le循环乌结构医是c语言勿提供分的三羊种循向环结币构之损一,妖一般妇形式查如下纤:do语句wh胡il罩e(表达孝式);do枣-w铜hi协le循环邀结构远的执细行流兔程如别图所摇示。与wh产il转e循环屠结构汇相比枪,do性-w刷hi至le循环姨结构订?例5-掀14用do条-w健hi泪le循环惠结构鉴改写发例4-模20。例5-阴14re滚tu讨rn5.找6典型谦例题例5-杀15求1!您+律2腊!织+到……道+利1借0!分析1:10个数撞相加电,循途环变远量i从1到10,对且于第i项需纪计算i的阶畅乘。i的阶签乘是殊从1到i的连配乘,弱可以良用另凤一个克循环箭计算什。循池环变格量j从1到i。例5-误15求1!拉+2按!尸+匠……课+厅1栏0!例5-劝15求1!兰+2嘉!翁+大……继+延1批0!分析2:10个数被相加杰,循释环变溉量i从1到10,对就于第i项mi显然变有mi=mi-丑1*i。例5-笑16猴子口吃桃玻。有若阁干桃贸子,详一只缘瑞猴子如第一贸天吃好了一电半多症一个懒,第拣二天惕吃了霜剩下开的一裁半多渣一个医,每惯天如那此,第十狮天吃零时只岁有一劲个桃赵子了长。编连程求竭一共舍有多严少个捞桃子搬?分析擦:设忠原有钉(即贡第一蛇天有蔽)桃或子x1个,第第二辆天有x2个,…篮…,第益十天疏有x10个。哪第二斤天的x2个实蝇际上泳为第老一天棍剩下尽的,滑因此久,根四据题箭意有x2=率x1–(裁x1/2盾+1厌),同理咐可得x3=毅x2–(夫x2/2之+1诸),扰……,x10=蛇x9–(摧x9/2由+1哑),变形饶后得x1=2愈*(定x2+1宏),献x2=2齿*(x3+1),匙……,x9=2蚕*(变x10+1揭)。例5-椅16猴子轨吃桃肆。分析及:设银原有亿(即吸第一谷天有安)桃脑子x1个,妖第二升天有x2个,…已…,第谣十天毅有x10个。赔第二景天的x2个实甲际上坚为第的一天顷剩下驱的,握因此舅,根鹿据题荷意有x2=用x1–(伪x1/2躬+1信),同理勤可得x3=饶x2–(贤x2/2乞+1悲),薪……,x10=祥x9–(喇x9/2秤+1爽),变形劣后得x1=2趴*(患x2+1妨),裂x2=2罗*(x3+1),庭……,x9=2剖*(名x10+1难)。第十页天吃疫的时心候只联有一泡个桃绪子了眯,因锤此x10的值开为1。由分骑析可季知求x1时只亏需依芹次求紧出x9……x2即可血。设门变量x的初岸值为1,显然稼重复道计算x=展2*份(x虚+1香)九次扁就可京求出x1。例5-饱16猴子挑吃桃嚷。例5-伞17回文槽数猜孩想例5-会17一个富正整舒数,唉如果勿从左梦向右脊读(申称之疗为正殖序数铜)和恩从右葱向左辽读(洁称之湾为倒堤序数摄)是喜一样此的,杆这样胖的数盟就叫奋回文花数。矩“回栋文数沙猜想惧”是小指任婶取一填个正泄整数佛,如践果不既是回果文数湖,则纷将该阀数与蒸它的夏倒序世数相速加,集若其刺和不收是回虹文数燥,则苗重复沉上述咏步骤拨,经小过有住限次蜡后,熟都会蚁得到往一个绑回文来数。如68:框第挪一步剧:68虎+8步6=僚15途4第二丧步:15重4+堆45庭1=妙60漏5第三拒步:60粘5+抛50比6=捷11母1111爽11为回同文数请编炕程验垒证“揭回文轨数猜道想”件并输古出计榜算步吉骤。例5-各17回文饱数猜奋想分析夕:用凭无限贫循环址,循澡环体昂分三们部分1、求泳出倒诸序数懂。2、判绪断正下序数舅与倒蹦序数足是否志相等喂,如贡果相誓等则奏该数剂是回尘文数嚼,输拜出信朵息,推退出四循环音。3、求买出正强序数虎与倒忧序数套之
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 门面房租赁合同书空白
- 二零二五版聘用咖啡师劳动合同书
- 二零二五版劳务分包协议劳务费判定
- 二零二五临时用电安全协议
- 实习劳动合同的范例二零二五年
- 临时用工合同书洗碗工
- 2025年高一物理知识竞赛策划计划
- 学校“双减”政策与教育质量提升的关系研究
- 城市基础设施后期维护管理措施
- 三年级班主任班级纪律维护计划
- 低压电气基础知识培训课件
- 如何拥有成长型思维课件讲义
- 焦炭单位产品能源消耗限额课件
- 上海大剧院施工质量介绍课件
- 《活着》读书分享优秀课件
- 企业中层干部领导力提升课件
- 急性腹痛诊断思路2课件
- TCAQ 10201-2020 质量管理小组活动准则培训
- 篮球三步上篮公开课教案-白元增
- 设备日常维护保养检查评分表
- 压力性尿失禁讲稿
评论
0/150
提交评论