27循环结构程序设计_第1页
27循环结构程序设计_第2页
27循环结构程序设计_第3页
27循环结构程序设计_第4页
27循环结构程序设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、1循环结构循环结构循环结构是程序的基本结构之一。所谓循环,就是重循环结构是程序的基本结构之一。所谓循环,就是重复的执行某些操作,直到指定的条件满足为止。考纲中要复的执行某些操作,直到指定的条件满足为止。考纲中要求大家掌握的循环包括求大家掌握的循环包括fornext(计数计数)循环与循环与doloop(do)循环。其中,循环。其中,doloop循环是当给定的条件满循环是当给定的条件满足要求时执行循环体,而足要求时执行循环体,而fornext循环是按照规定的次循环是按照规定的次数执行循环体。数执行循环体。27 循环结构程序设计循环结构程序设计2for循环语句循环语句如果事先已知循环次数,则可使用如

2、果事先已知循环次数,则可使用fornext循环结构语循环结构语句。它的一般格式如下:句。它的一般格式如下:for 循环变量初值循环变量初值to 终值终值 step步长步长循环体循环体exit fornext循环变量循环变量参数意义:循环变量是数值变量,一般为整数型。初值参数意义:循环变量是数值变量,一般为整数型。初值和终值各是一个数值表达式。步长为循环变量的增量,是一个和终值各是一个数值表达式。步长为循环变量的增量,是一个数值表达式。其值可以是正数数值表达式。其值可以是正数(递增循环递增循环),也可以是负数,也可以是负数(递减递减循环循环),但不能是,但不能是0。如果省略步长,则系统默认步长为

3、。如果省略步长,则系统默认步长为1。执行方式:当初值、终值与步长为算术表达式时,首先计执行方式:当初值、终值与步长为算术表达式时,首先计算初值、终值与步长表达式的值算初值、终值与步长表达式的值给循环变量赋初值给循环变量赋初值给循环变给循环变量赋初值量赋初值判断循环变量的值是否超过终值,如果超过就停止执判断循环变量的值是否超过终值,如果超过就停止执行行“循环体循环体”,跳出循环,执行,跳出循环,执行next后面的语句后面的语句否则执行一次否则执行一次“循环体循环体”,就把,就把“循环变量步长循环变量步长”的值赋给的值赋给“循环变量循环变量”,再重复以上过程。再重复以上过程。fornext循环遵循

4、循环遵循“先检查、后执行先检查、后执行”的原则,即先检的原则,即先检查循环变量是否超过终值,然后决定是否执行循环体。查循环变量是否超过终值,然后决定是否执行循环体。fornext循环的正常循环次数可以用以下公式进行计循环的正常循环次数可以用以下公式进行计算:算:循环次数循环次数int(终值初值终值初值)/步长步长)1通常,通常,fornext循环正常结束,即循环变量达到终值循环正常结束,即循环变量达到终值。但有些情况下,可能需要提前退出循环,这时可以通过。但有些情况下,可能需要提前退出循环,这时可以通过exit for语句来实现。在一个语句来实现。在一个fornext循环中,可以含一个循环中,

5、可以含一个或多个或多个exit for语句,并可以出现在循环体的任意位置。语句,并可以出现在循环体的任意位置。for循环可以进行嵌套,即一个大循环套着一个小循环。循环可以进行嵌套,即一个大循环套着一个小循环。但必须注意,嵌套不能骑跨,必须完整的将小循环嵌套在大循环但必须注意,嵌套不能骑跨,必须完整的将小循环嵌套在大循环内。内。for语句的循环执行方式流程图如下图所示:语句的循环执行方式流程图如下图所示:3do循环语句循环语句do循环不仅可以不按照限定的次数执行循环内的语句块,而且循环不仅可以不按照限定的次数执行循环内的语句块,而且可以根据循环条件是可以根据循环条件是“true”或或“false

6、”决定是否结束循环。决定是否结束循环。do语句的格式有多种,常用的语句的格式有多种,常用的do语句格式如下:语句格式如下:do while 条件表达式条件表达式语句块语句块exit doloopdo循环语句的功能是:当指定的循环语句的功能是:当指定的“循环条件循环条件”为为ture时重复执行循环体。执行过程是:先计算条件表达式的值时重复执行循环体。执行过程是:先计算条件表达式的值如如果值为果值为true,执行一次循环体中的语句块,执行一次循环体中的语句块遇到遇到loop语句再语句再次计算条件表达式的值次计算条件表达式的值如果值为如果值为true,再重复执行一次循环,再重复执行一次循环体中的语句

7、块体中的语句块循环往复直到条件表达式的值为循环往复直到条件表达式的值为false时退出时退出循环体。循环体。如果条件总是成立,则如果条件总是成立,则doloop循环也是变成一个循环也是变成一个“死循环死循环”。在这种情况下,可以利用。在这种情况下,可以利用exit do语句跳出循环。语句跳出循环。一个一个doloop循环中可以有一个或多个循环中可以有一个或多个exit do语句,并且语句,并且exit do语句可以出现在循环体的任何地方。当执行到该语句语句可以出现在循环体的任何地方。当执行到该语句时,结束循环,并把控制转移到时,结束循环,并把控制转移到do循环后面的语句。循环后面的语句。dol

8、oop循环也可以像循环也可以像fornext循环那样进行循环嵌循环那样进行循环嵌套,其嵌套规则一样。套,其嵌套规则一样。do whileloop循环结构的流程图如下图所示:循环结构的流程图如下图所示:本章节学习中需要完全掌握本章节学习中需要完全掌握for循环语句与循环语句与do循环语句的循环语句的使用方法。灵活掌握使用方法。灵活掌握exit for语句与语句与exit do语句的使用。难点语句的使用。难点是循环的嵌套使用。考查方式为选择题与填空题。是循环的嵌套使用。考查方式为选择题与填空题。1 1有如下有如下vbvb程序段:程序段:s 1for i 10 to _ step 1 s s 2 *

9、 inext i若要使语句若要使语句 s s 2 * i执行执行6 6次,则循环变量次,则循环变量i i的终的终值应为值应为 ( () )a a4 4b b5 5c c6 6d d7 7b b b b 2有如下有如下vb程序段:程序段:s 1for i 1 to 10 step 3 s s inext i该程序执行后,变量该程序执行后,变量s与与i的值分别是的值分别是 ()a22,13 b23,13c13,23 d12,22c c 3有如下有如下vb程序段:程序段:private sub command1_click() dim a as integer, i as integer list1

10、.clear for i 1 to 5 a i * (i 1) list1.additem str(a) next iend sub该运行程序后,单击命令按钮该运行程序后,单击命令按钮command1,在列表框,在列表框list1中显示的数据个数是中显示的数据个数是 ()a1b2c5d10 4有如下有如下vb程序段:程序段:k 1: s 0do while k 5 s s k k k 1loop该程序运行后,变量该程序运行后,变量k和和s的值分别是的值分别是 () a5,10b10,5 c6,15d15,6c c a a5有如下有如下vb程序段:程序段:s 0: i 1do while _ s

11、 s i i i 3loop该程序运行后,变量该程序运行后,变量s的值等于的值等于5,则程序划线处的,则程序划线处的语句是语句是 ()ai 5 bi 9ci y then x x y else x x y print x, y next iend sub仔细分析该程序段,得出其中缺少了仔细分析该程序段,得出其中缺少了( )c c8有如下有如下vb程序段:程序段:s 0for i 1 to 15 s s i mod 2next ilabel1.caption str(s)该程序运行后,在标签该程序运行后,在标签label1中显示的是中显示的是 ()a5 b7c8 d9d d程序代码:程序代码:p

12、rivate sub command1_click() dim i as integer dim s as long s 1for next i label1.caption str(s)end sub 则代码和处应填入的是则代码和处应填入的是 ()ai1 to 15ss*i bi1 to 15ssici1 to 15 step 3ssi di1 to 15 step 3ss*i9某算法的部分程序代码与其相对应的流程图分别表示如下:某算法的部分程序代码与其相对应的流程图分别表示如下:10某某vb程序段如下图所示:程序段如下图所示:该程序运行后,变量该程序运行后,变量s中存储的是中存储的是()a

13、50个随机整数中奇数的个数个随机整数中奇数的个数 b50个随机整数中偶数的个数个随机整数中偶数的个数c50个随机整数中奇数的和个随机整数中奇数的和 d50个随机整数中偶数的和个随机整数中偶数的和c11某某vb程序段如下:程序段如下:private sub command1_click() dim i as integer dim a(1 to 10) as integer list1.clear for i 1 to 10 a(i) i 20 next i for i 1 to 10list1.additem str(a(i) next iend subca下标越界下标越界 b无效的过程调用或

14、参数无效的过程调用或参数c溢出溢出 d类型不匹配类型不匹配程序运行时,单击命令按钮程序运行时,单击命令按钮command1后,将会出现的提示信息是后,将会出现的提示信息是()private sub command1_click() dim a(1 to 5) as integer, i as integer a(1) 1 a(2) 1 for i 3 to 5 a(i) a(i 1) * a(i 2) next i text1.text str(a(4) text2.text str(a(5)end sub运行该程序,单击命令按钮运行该程序,单击命令按钮command1后,文本框后,文本框te

15、xt1中显示的是中显示的是_,文本框,文本框text2中显示的是中显示的是_。1112有如下有如下vb程序:程序:13以下以下vb程序的功能是:计算表达式程序的功能是:计算表达式139272187的值,并在文本框的值,并在文本框text1中输出结果。为了实现这一功能,程中输出结果。为了实现这一功能,程序方框中的语句应更正为序方框中的语句应更正为_。dim i as integer, s as longs 0i 1do while i 2187s i i * 3looptext1.text str(s)s+i2*s+i14小李用如下小李用如下vb程序来计算程序来计算13335393。i 10或或

16、i 9private sub command1_click() dim i as integer, s as long i 1: s 0 do whilei10 s s i 3 i i 2 loop msgbox send sub运行该程序,单击命令按钮运行该程序,单击命令按钮command1,出现如下图所示,出现如下图所示的错误信息,为实现计算要求,程序中划线处的语句应修的错误信息,为实现计算要求,程序中划线处的语句应修改为改为_。1515以下以下vbvb程序的功能是:程序的功能是:“找出一个正整数的所有找出一个正整数的所有因子因子”。private sub command1_click()

17、 dim x as integer, c as integer, i as integer x inputbox(“(“请输入一个正整数请输入一个正整数”)”) if x 1 then msgbox “输入错误输入错误” exit subend ifc 0for i 1 to x for i 1 to x if x mod i 0 then c c 1 list1.additem str(i) end if next i label1.caption “该数共有该数共有” str(c) “个因子。个因子。”end sub阅读分析上述程序,填写表空白处的内容。阅读分析上述程序,填写表空白处的内容

18、。变量名变量名变量的作用变量的作用x用于存储输入的待查找因子的正整数用于存储输入的待查找因子的正整数_用于存储用于存储x的因子个数的因子个数i_c用于判断是否为用于判断是否为x的因子的因子16.(操作题操作题)以下程序的功能是:利用随机函数模拟投币。方法以下程序的功能是:利用随机函数模拟投币。方法是:每次随机产生一个是:每次随机产生一个0或或1的整数,相当于一次投币,的整数,相当于一次投币,1代表正面代表正面,0代表反面。运行时,用文本框代表反面。运行时,用文本框text1输入投币总次数,然后单击输入投币总次数,然后单击“开始开始”按钮,按照输入的总次数摸拟投币,分别统计出现正面、反按钮,按照输入的总次数摸拟投币,分别统计出现正面、反面的次数,并在文本框面的次数,并在文本框text2和和text3中显示出现正面的次数和出现中显示出现正面的次数和出现反面的次数。程序设计界面和代码如下所示:反面的次数。程序设计界面和代码如下所示:private sub command1_click() dim n as i

温馨提示

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

评论

0/150

提交评论