已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Computerprogramming,Lecture3,Lecture3:Outline,ProgramLoopingKochanchap.5TheforStatementRelationalOperatorsNestedforLoopsIncrementOperatorProgramInputforLoopVariantsThewhileStatementThedoStatementThebreakStatementThecontinueStatement,Executingaprogram,Program=listofstatementsEntrypoint:thepointwheretheexecutionstartsControlflow:theorderinwhichtheindividualstatementsareexecuted,Statement1Statement2Statement3Statement4Statement5Statement6Statement7Statement8,StructureofaCprogram,#includeintmain(void)intvalue1,value2,sum;value1=50;value2=25;sum=value1+value2;printf(Thesumof%iand%iis%in,value1,value2,sum);return0;,EntrypointofaCprogram,Sequentialflowofcontrol,Controllingtheprogramflow,Formsofcontrollingtheprogramflow:ExecutingasequenceofstatementsRepeatingasequenceofstatements(untilsomeconditionismet)(looping)Usingatesttodecidebetweenalternativesequences(branching),Statement1Statement2Statement3Statement4Statement5Statement6Statement7Statement8,ProgramLooping,Looping:doingonethingoverandoverProgramloop:asetofstatementsthatisexecutedrepetitivelyforanumberoftimesSimpleexample:displayingamessage100times:,printf(“hello!n”);printf(“hello!n”);printf(“hello!n”);printf(“hello!n”);printf(“hello!n”);,Repeat100timesprintf(“hello!n”);,Programlooping:enablesyoutodevelopconciseprogramscontainingrepetitiveprocessesthatcouldotherwiserequiremanylinesofcode!,Theneedforprogramlooping,#includeintmain(void)inttriangularNumber;triangularNumber=1+2+3+4+5+6+7+8;printf(Theeighthtriangularnumberis%in,triangularNumber);return0;,Whatifwehavetocomputethe200-th(1000-th,etc)triangularnumber?,Exampleproblem:computingtriangularnumbers.(Then-thtriangularnumberisthesumoftheintegersfrom1throughn),InC:3differentstatementsforlooping:for,while,do,Example200thtriangularnumber,n=1,triangularNumber=triangularNumber+n,n=200,n=n+1,yes,no,triangularNumber=0,PrinttriangularNumber,Statementbeforeloop,init_expression,loop_condition,statement,loop_expression,Statementafterloop,Example-for,/*Programtocalculatethe200thtriangularnumberIntroductionoftheforstatement*/#includeintmain(void)intn,triangularNumber;triangularNumber=0;for(n=1;n=200;n=n+1)triangularNumber=triangularNumber+n;printf(The200thtriangularnumberis%in,triangularNumber);return0;,Theforstatement,for(init_expression;loop_condition;loop_expression)programstatement,init_expression,Programstatement,loop_condition,Loopexpression,yes,no,1,2,3,4,5,Theforstatement,for(n=1;n=200;n=n+1)triangularNumber=triangularNumber+n;,1,2,3,4,5,yes,no,Howforworks,Theexecutionofaforstatementproceedsasfollows:1.Theinitialexpressionisevaluatedfirst.Thisexpressionusuallysetsavariablethatwillbeusedinsidetheloop,generallyreferredtoasanindexvariable,tosomeinitialvalue.2.Theloopingconditionisevaluated.Iftheconditionisnotsatisfied(theexpressionisfalsehasvalue0),theloopisimmediatelyterminated.Executioncontinueswiththeprogramstatementthatimmediatelyfollowstheloop.3.Theprogramstatementthatconstitutesthebodyoftheloopisexecuted.4.Theloopingexpressionisevaluated.Thisexpressionisgenerallyusedtochangethevalueoftheindexvariable5.Returntostep2.,Infiniteloops,Itsthetaskoftheprogrammertodesigncorrectlythealgorithmssothatloopsendatsomemoment!/Programtocount1+2+3+4+5#includeintmain(void)inti,n=5,sum=0;for(i=1;i=n;n=n+1)sum=sum+i;printf(“%i%i%in,i,sum,n);return0;,Whatiswronghere?Doestheloopend?,Relationaloperators,Therelationaloperatorshavelowerprecedencethanallarithmeticoperators:ab+cisevaluatedasa(b+c),ATTENTION!Donotconfuse:the“isequalto”operator=andthe“assignment”operator=,ATTENTIONwhencomparingfloating-pointvalues!Onlycomparisonsmakesense!,Exampleforwithabodyof2,/Programtogenerateatableoftriangularnumbers#includeintmain(void)intn,triangularNumber;printf(TABLEOFTRIANGULARNUMBERSnn);printf(nSumfrom1tonn);printf(-n);triangularNumber=0;for(n=1;ninalaterchapter!,Readsintegerfromkeyboard,Itspolitetodisplayamessagebefore,Nestedloops,#includeintmain(void)intn,number,triangularNumber,counter;for(counter=1;counter=5;+counter)printf(Whattriangularnumberdoyouwant?);scanf(%i,Rememberindentations!,forloopvariants,Multipleexpressions(commabetween)for(i=0,j=10;idoCriteria:Numberofrepetitions:Indefiniteloops-whileCountingloops-forInC,youcanactuallyrewriteanywhileasaforandviceversa!,Example:whilevsfor,#includeintmain(void)intcount=1;while(count=5)printf(%in,count);+count;return0;,#includeintmain(void)intcount;for(count=1;count=5;count+)printf(%in,count);return0;,ThebreakStatement,CanbeusedinordertoimmediatelyexitingfromaloopAfterabreak,followingstatementsintheloopbodyareskippedandexecutioncontinueswiththefirststatementaftertheloopIfabreakisexecutedfromwithinnestedloops,onlytheinnermostloopisterminated,Thebreakstatement,Programmingstyle:dontabusebreak!.while(number!=0)/Statementstodosomethinginloopprintf(Stop,answer1:);scanf(%i,/verybadideatodothis,Similartothebreakstatement,butitdoesnotmaketheloopterminate,justskipstothenextiteration,Thecontinuestatement,Thecontinuestatement,Continuealsonotsogoodstyle!.w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【语文】承德市三年级上册期末复习试卷(含答案)
- 人教版小学四年级下册数学期末质量监测题(及答案)
- 广西壮族自治区第一学期六年级数学逻辑推理试卷
- 乡村公路路基加固项目推进进度、问题及解决方案
- 宁波市下学期小学五年级数学期中学业质量监测试卷
- 2025年10月个人物资采购工作总结与成本节约实施方案
- 城市垃圾处理技术升级项目全周期推进及成果汇报
- 泳池环流设备租赁合同
- 2025年3-4月行政部门服务总结与效率提升方案
- 2025年度物流配送工作总结及时效优化推进方案
- 井下安全知识培训
- 眼睛和皮肤光辐射最大允许照射量、产品光辐射危害风险专业分类及其可达发射极限
- 广东省高州市全域土地综合整治项目(一期)可行性研究报告
- 根管治疗技术指南
- 医学研究生统计学课件
- 2025国家开放大学《社区工作》形成性考核1234答案
- 院外转运的护理
- 终身教育视野下人工智能赋能特殊职业教育的实践与探索
- 古诗词中蕴含的物理知识
- 温通刮痧技术操作流程图及考核标准
- 三年级上册100道脱式计算加减法习题
评论
0/150
提交评论