




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第六章循环控制掌握循环的概念和分类构成循环的语句掌握while循环掌握dowhile循环掌握for循环掌握循环的嵌套掌握break和continue的用法能够设计复杂的程序概述循环就是在满足一定条件时,重复执行一段程序C语言可实现循环的语句:用goto和if构成循环不提倡while语句当型循环—先判断后执行do~while语句直到循环—先执行后判断for语句多功能while语句实现当型循环一般形式:while(表达式)
循环体语句;执行流程:表达式循环体假(0)真(非0)while表达式循环体如:k=1;while(k<=100){s=s+k;k++;}循环控制表达式循环控制变量循环体注意:若循环体包含一条以上的语句,应以复合语句形式出现循环前,必须给循环控制变量赋初值循环体中,必须有改变循环控制变量值的语句循环体可以为空如while(表达式);循环体为空例用while循环求
#include<stdio.h>voidmain(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf("%d",sum);}循环初值循环终值循环变量增值循环条件循环体sum=0,i=1i<=100sum=sum+ii++输出sum注意:sum和i的初值及位置#include<stdio.h>voidmain(){inti,sum,n;printf(“entern:”);scanf(“%d”,&n);i=1;sum=0;while(i<=n){sum=sum+i;i++;}printf("∑%d=%d\n”,%d",n,sum);}读程序#include<stdio.h>voidmain(){inti,t,n;printf(“entern:”);scanf(“%d”,&n);i=1;t=1;while(i<=n){t*=i;i++;}printf("%d!=%d\n”,%d",n,t);}例求100以内的奇数、偶数之和分析:偶数和放在even变量中even=2+4+6+…+100奇数和放在odd变量中odd=1+3+5+…+99计数器n初值为1while(n<100){odd=odd+n;even=even+(n+1);n=n+2;}do~while语句实现直到型循环一般形式:do
循环体语句;while(表达式);执行流程:do循环体表达式假(0)真(非0)while不可省略,切记!!!注意点与while循环同#include<stdio.h>voidmain(){inti,sum=0;i=1;
do{sum+=i; i++;}while(i<=100);printf("%d",sum);}例用do~while循环求#include<stdio.h>voidmain(){inti,sum=0;i=1;
while(i<=100){sum=sum+i;i++;}printf("%d",sum);}先判后做先做后判for语句一般形式:for([expr1];[expr2];[expr3])
循环体语句;执行流程:expr2循环体假(0)真(非0)forexpr1expr3表达式1在进入循环之前求解(循环变量赋初值)表达式3是循环体的一部分for(k=1;k<=3;k++)s=s+k;说明:for语句中expr1,expr2,expr3类型任意,都可省略,但分号;不可省表达式1省略时,应在for前给循环变量赋初值如:k=1;for(;k<=3;k++)s=s+k;表达式2省略时,不判断循环条件,将成为“死循环”,需要在循环体中引入break语句以退出循环表达式3省略时,循环体内应有使循环条件改变的语句如:for(k=1;k<=3;){s=s+k;k++;}
同时省略表达式1和表达式3,只有表达式2,此时相当于while语句(for语句可以转换成while结构)。如:k=1;for(;k<=3;){s=s+k;k++;}表达式2一般是关系表达式或逻辑表达式,但也可以数值表达式或字符表达式,只要其值不等于0就执行循环体。如:for(k=1;k-4;k++)s=s+k;仅当k的值等于4时终止循环。k-4是数值表达式
k=1;while(k<=3){s=s+k;k++;}expr1;while(expr2){ 循环体语句; expr3;}例用for循环求
#include<stdio.h>main(){inti,sum=0;
for(i=1;i<=100;i++)sum+=i;printf("%d",sum);}例:#include<stdio.h>main(){inti=0;for(i=0;i<10;i++)putchar(‘a’+i);}运行结果:abcdefghij例:#include<stdio.h>main(){inti=0;
for(;i<10;i++)putchar(‘a’+i);}例:#include<stdio.h>main(){inti=0;
for(;i<10;putchar(‘a’+i),i++);
}6.倒6循环服的嵌激套在循魂环体科内包盛含着居另一兆个完整的循失环结旺构,朱称为躲循环弓嵌套内嵌刊的循讲环中幅又可彼以嵌军套循绕环,责构成请多重棉循环三种倾循环舞可互穴相嵌未套,层数杰不限外层招循环告可包蒜含两劳个以赶上内检循环,但不能因相互始交叉嵌套拼循环对的执帆行流萄程(1陪)帆w活hi俗le辱(){唐…焰…wh穴il忌e(赵){清……}….旷..}(2运)沾d董o{斯…桶…do{膊……}w睡hi屠le建(剑);….萍..}w具hi桨le睛(暗);(3浩)违w期hi勤le垃(){铺…皮…do{塘……}w隔hi晨le蛮(罗);……解.}(4趟)余f骂or垫(姨;带;){澡…恒…do{成……}w降hi膝le脱()连;……wh接il黄e(轰){炼……}….著..}嵌套付循环拴的说筝明嵌套抬的循尽环控丈制变继量不肠能相糠同内循念环变烘化快机,外年循环概变化狡慢如:fo谷r(呀i=世1;荣i<绣=9熊;i僚++用){fo园r(甚j=锹1;公j<住=i滩;j脸++孕)pr毛in拣tf鸣(“鼓%1歌d*跌%1负d=奥%2朱d豆“,漏i,亭j,墙i*躲j)券;pr旱in娘tf勿(‘缸\n”)舟;}正确棍确定撇循环况体循环稻控制旦变量回与求容解问民题的键挂钩例:协找出贺满足伟下列课条件盘的所珍有三他位数1)其进百位会数不普大于22)将惹个位脱与百绳位对打换,也得到候的三撞位数苦是原锐三位灰数的芬两倍供多分析:用三团重循纤环的但循环识控制半变量分别乐表示欢百位鄙数、讯十位驱数和个位柔数百位拒数i取值1-禽2十位哪数j取值0-垄9个位旨数k取值2-烟9n=道10崇0*萍i+必10斑*j穗+km=者10禾0*睛k+贷10餐*j蜻+i若m>叼=2倒*n并m<丑3*唤n则n为满巡寿足条炉件的蛋三位诊数i=1;i<=2;++i)分析:用一芽重循屋环的沉循环示控制搞变量i表示匹原来论的三械位数i=摆10荣1-彩29卖9百位燃数n1扇=i强/1神00十位适数n2受=(挡i-诱n1配*1录00晨)/多10个位系数n3边=i喝-n鞠1*握10面0-宁n2虾*1季0m=桑10驰0*犹n3统+1漂0*洪n2这+n希1若m>庭=2笔*n并m<盆3*到n则n为满凑足条面件的震三位杆数6.址7几种差循环扯的比秤较(1)关县于循萄环的叉控制wh黑il歌e(表达蠢式)语句do语句wh粘il更e(表达叔式)fo耳r(表达厘式1;表达敞式2;表达束式3)语句循环控制条件循环猪条件稍初始拾化…………也可悼在fo项r前修改跪循环咏条件也可休在循槽环体希内例:叔打印缎九九搞乘法芝口诀叹表wh侍il英e(表达泽式)语句do语句wh允il高e(表达氧式)fo养r(表达调式1;表达甜式2;表达往式3)语句(2)循陈环体碌的执耗行先判丧断条刺件,睡循环谢体可互能一玩次也益不执为行后判返断条溜件,弟循环兼体至冷少执也行一冻次(3)fo宏r循环经功能魂强两个振界限汪不清悟,使剧程序图设计送较随茂意(4)都糠可以渡用br扒ea的k语句渔终止周循环用cn救ot自in柱ue语句庙结束劳本次啊循环辅助叮控制毁语句br态ea俗k语句功能面:在结循环饱语句阁和sw及it不ch语句旦中,冲终止足并跳灾出循繁环体绘或开循关体例:软判断m是否扮为素况数分析峰:素数烘是不劫能被娱其他闲整数蹈整除玻的数包,即如宫果m是素滤数,掏则必细然不胀存在i、t(淘1<匀I,碌t<摔m)使的m=散i*氏t成立i的取值范围可以缩小到2~k=√m因此判断m是否为素数的算法是:1、依次用2~k之间的数整除m,如果找到某个整数i能整除m,则m肯定不是素数。2、如果找不到i,则m是素数。结束鼠循环凉,即街转到fo抽r循环息的下俊一个洞语句祝,br熔ea忌k总是纤作if的内瓶嵌语覆句i初值厕能否鹅为1?co丽nt盘in政ue语句功能述:结某束本暂次循腰环,丑跳过毕循环菊体中猫尚未晚执行热的语盟句,诊进行插下一见次是企否执萍行循鹊环体赴的判铜断-提前杂循环仅用宜于循从环语摩句中例:贫把10杜0-娇20炮0之间僚不能哥被3整除拼的数未输出本次质循环恩结束循环魄体的跳剩余厅语句川被忽摩略执行基表达权式3,进括入下稠一循庄环co便nt司in洗ue总是泳作if的内火嵌语待句此法示更佳if迟(n疑%3诵)pr咳in响tf(“透%d谨”,只n)火;程序娱举例t=1,pi=0,n=1.0,s=1当|t|1e-6pi=pi+tn=n+2s=-st=s/npi=pi*4输出pi分子加:1,店-1隙,1竿,-管1…分母故:1,蚕3,武5,昼7,拉..皆.分析猎:此问蛛题可晓以看若成是五一个帖求和敏问题求和牵项用pi来表甚示和集,t来表步示求室和项pi洞=p级i+示t;用n来表嘱示计蓝数器t的分疑母n=且n+单2用s来表决示t的分铁子,吓则s=口-s限;t=觉s/废n;循环款控制护条件t>跳1e送-6撒;#in预cl描ud忌e<st域di析o.h算>#i关nc由lu敲de顺<ma碍th黑s.h织>vo狡id孙m眠ai炒n(雾){in却ts;fl婚oa失t摆n,坝t,栽pi辞;t=熟1;已pi默=0马;n骑=1庄.0卸;s怠=1计;wh绿il岁e(fa嗓bs(t良)>钓1e邀-6抄){pi姨=p蔑i+境t;n=揪n+立2;s=谁-s延;t=裕s/累n;}pi斩=p眯i*筹4;pr仙in钥tf(“懒pi序=%稍10友.6扁f\库n”进,p窃i)次;}pi征=1农;n吵=1罪;t卵=1求;s扬=1顾;wh经il犁e(fa查bs(t狱)>堤1e啄-6随){n=本n+左2;s=呜-s学;t=联s/保n;pi筋=p华i+拘t;}另一获种思岭路:每柏次计痕算求绘和项乓的两笑项t1委,t际2pi知=p斤i-ti+t机2pi睛—求和赵结果禽,初绕值为鉴1(毫也可映以为参0)土;n—计数胶器并声且作颈为求剖和项桥分母灭,每次些计算紫两项问,初简值为愁1,识每次幻玉前进椅4;t1咱—求和附项的燃第一序项,细值为耽1/谎(n-效2)雹;t2奴—求和拴项的防第二袜项,兴值为纵1/n;n改为劲整型播可以总么?n=鞭n+逗4放在泪后面床行否英,程锣序如影何改腿?例睬求Fi悠bo冷na祖cc谋i数列沫:1菠,1湾,2密,3夜,5耍,8丸,…固…的而前4矩0个舌数f1=1,f2=1fori=1to20输出f1,f2f1=f1+f2f2=f2+f11534233159710946750255142293524578241578171855377258417711121393832040570288739088169213896104181286571964181346269922746563245986321144987676546368317811217830914930352102334155)3()2(12)1(1121³+=====--nFFFnFnFnnn分析贴:(1校)f1精、f亲2直接罪赋值逆并输炉出(2霜)进牲行1统9次遮循环肤,每墓次计灰算并输机出两匙项(3脏)f3街=f且1+肉f2扑,此后f1已无用责,f3可存畅于f1栗,即用霉语句f1兴=f龙1+逗f2;f4辉=f息2+倍f3鸽,f叮3已在f1中,斜此后f2已无迁用,f4可存觉于f2难,即用语句f2贼=f犬2+篮f1;依次偷类推志算出f5鞋,f丙6直至f3谎9,f4临0(4使)此数团列增燃长很瓜快,航输出断宜用长整嘱型(匀%ld银),每行岂输出敲4个遍数,即每饱输出嚼4个笨数后萌输出妇一个索换行袜符(\n)例汇判自断m是否裳素数求1洽00衡~2吓00言间的炸全部滋素数在上驳个例子裁的基芳础上博,外说层增表加一积个嵌套奶的fo寨r循环琴即可是。用n作素廉数个厘数的务计数芹,以舟控制锄每行输出是10裂个数in乖tn=朴0;删除列此行fo银r麦(m货=1陕01被;m哗<2转00差;m沉=m画+2淡){i季f排(n桥%1枣0=杏=0罢)pr拍in厉tf(“摇\n戴”)何;此二丙行改熊为:if灵(i唱>k婆){pr什in香tf(“犹%6猾d”村,m领);厘n+辜+;鸭}}求1咐00蛇~2尾00哄间的蚁全部夫素数整理升后得然到完灵成的棚程序除如下钻:打印阅图形分析偿:图形旋每行睬的起灾始位佩置同每行之的字默符数毒同用一袭重循狐环控付制输遭出行想数即可分析浪:每行胶的起集始位监置不厌同,情空格匀数递减酿1每行嫁字符宏数同用二宜重循剧环实委现外循悼环控羊制输市出行押数内循腾环控朱制输券出空瓜格数In痕tro单w=葬1,co伞l;替换原为:{fo烈r(co摘l=1包;co旨l<=调5-擦ro稻w;co周l++淹)pr势in蓝tf(“呜“葡);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 坐便器企业数字化转型与智慧升级战略研究报告
- 醋酸富钆企业县域市场拓展与下沉战略研究报告
- 年度银行转账跨境资金调拨合同
- 合租生活交流会协议
- 年度新型环保纸箱研发与市场推广合同范本
- 二零二五年度设备经销商联合研发创新合作协议
- 实验室环保解决方案企业制定与实施新质生产力战略研究报告
- 2025年度离婚案件律师代理解除协议
- 再生医学研究服务行业深度调研及发展战略咨询报告
- 二零二五年度环保技术研发合作终止协议解除依据
- 广东义务教育标准化学校
- 煤质化验员测试题(附参考答案)
- 全电发票样式
- (完整版)供应商审核表
- 馒头工艺流程图
- (二次供水单位)生活饮用水卫生许可证延续申请表
- 钠电池正极材料PPT
- 体能训练概论(NSCA)
- 青岛版三年级数学下册《美丽的街景》教学课件7
- 液压传动全套ppt课件(完整版)
- 内部控制五要素图解
评论
0/150
提交评论