分析程序设计_第1页
分析程序设计_第2页
分析程序设计_第3页
分析程序设计_第4页
分析程序设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、5.LoopLoop 循环Loop variable 循环变量Loop condition 循环条件C语言有那三种循环语句Simple Array 数组计算机的特点只能执行简单指令执行速度高执行可靠性高因此,计算机适合执行的任务为:逻辑简单多次运行同一个简单的逻辑计算机的特点例子计算1+2+ 的和计算 x2-80 x+700=0在100以内的整数解只用人脑时的方法找规律简化问题,如通过数学规则求解用计算机时的解决方法把问题化简为更简单问题的循环C语言的三种循环语句While-loopFor-loopDo-while-loopWhile-loop语法 while (bool-exp) block

2、while语句多次执行block里的语句循环体: block里的语句每次只能做大致相同的工作一般每次的工作必须不同循环条件:bool-exp为真时继续下一次循环循环次数必须有限,一般不能为死循环当循环结束时,循环条件必须为假循环变量用于使每次循环的工作有所不同用于设置循环结束条件一般在每次循环中被赋值,常见用法 +While-loop例子1: 计算1+2+n的和对应上一页中循环的概念注意变量(int)的初始化、变化、和循环条件While-loop例子2:计算 x2-80 x+700=0在100内的整数解xWhile-loopbreak 语句结束当前while-loop,接着执行while-lo

3、op后的语句以下两程序相同第11行能放到第13行后面吗?第11行能改为 i = n 吗?While-loopcontinue 语句结束本次循环,但不结束while-loop接着执行下一个循环的判断和循环体以下两程序相同为什么 + i 要放在 continue前面?For loopRevisit iteration variableOften require at least one for each iterationThey are useful only inside the iterationRequire the following routine operationsInitiali

4、zationTestingEvaluationThis operations are separated and easily forgottenIs there a way to put them together?For-loop语法 for (init-exp; bool-exp; eval-exp) blockfor-loop多次执行block里的语句init-exp 用于初始化循环变量在进入第一次循环之前执行,仅执行一次bool-exp 判断循环是否继续在每次进入循环前判断eval-exp 给循环变量赋新值在每次进入循环后赋值for-loop最为常用它为常用的循环变量的操作提供了便利

5、For-loop例子1: 计算1+2+n的和以下while-loop和for-loop程序完全相同For-loopfor-loop中经常使用定义在内部的循环变量注意: for-loop中的赋值语句可以是任意的赋值语句For-loopThe offset-by-one error以下程序中 = 误写成 For-loop循环变量更常见的操作方法循环 n 次时,i 从 0 变化到 n-1或者 i 从 n-1 变化到 0原因: C语言中数组下标从0开始计算For-loopg+ 和 VC 的一个明显差别g+中循环变量i属于for-loop块中的变量VC中i属于for-loop外层块的变量VC中第6行处会

6、会出现变量重定义的错误For-loopFor-loop 中由分号(;) 隔开的3个部分均可为空相当于分号不能省略For-loopFor-loop 中由分号(;) 隔开的3个部分均可为空循环条件留空相当于 true以下语句相同For-loopFor-loop 中由分号(;) 隔开的3个部分均可为空相当于分号不能省略For-loopcontinue 语句不影响 for-loop 中的 eval-exp以下两程序相同For loopComma expressionYou can use multiple iteration variables1*9 + 2*8 + 3*7 + 4*6Suggesti

7、on: always avoid multiple iteration variables Do-while-loop语法 do block while (bool-exp);每次循环后再判断是否继续循环因此至少循环一次Nested loopsYou can use loop to calculate n!How about 1n9 n! Requires a nested loopAn inner loop to calculate 1!, 2!, 3!, , 9!An outer loop to sum themNested loops1n9 n!多层循环中的各层需要不同的循环变量名 Ne

8、sted loopsAvoid nested loop with functionNested loopsExample: output a patternNested loopsExample: output a patternNested loopsExample: output a patternSimple arrayArray 数组每个数组在定义的时候给定一个长度定义一个长度为9的实数数组相当于定义9个实数ExampleSimple arrayArrays are often manipulated within loopsArray size must be a constant

9、integerUsually a integer literalSize of array must be determined before compilationElements in array are usually indexed by variableFor an array of size N, indexes range from 0 to N-1Indexes are usually the the iteration variableThat is why iteration variable starts from 0Example: Read and then print only the numbers that are ab

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论