- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VB教程第五章
第5章 循环结构
在前面,我们学习了顺序结构和分支结构,本章我们将要介绍结构化程序3种基本结构的最后一种——循环结构。
退出
5.1 循环概述
5.2 For循环
5.3 While循环
5.4 Do循环
5.5 循环的嵌套
5.6 循环的退出
5.1 循环概述
在实际工作中,常遇到一些操作过程不太复杂,但又需要反复进行相同处理的问题,比如,统计本单位所有人员的工资,求全班同学各科的平均成绩等等。这些问题的解决逻辑上并不复杂,但如果单纯用顺序结构来处理,那将得到一个非常乏味且冗长的程序。例如,计算1~100所有奇数的平方和,如果用顺序结构来解决这个问题,我们就会给出下面的程序:
Private Sub Form_Click()
Dim s,x%
s = 0
x = 1
s = s + x ^2
x = x + 2
s = s + x ^2
x = x + 2
s = s + x ^2
……
x = x +2 x的值累加到99
s = s + x ^2
Print 1~100之间所有奇数的平方和=;s
End Sub
由上面的例子不难看出,程序的绝大部分是在反复执行两条语句x=x+2和s=s+x^2,不同的是x的值在变化。程序当然非常简单易懂,但缺乏最基本的编程技巧。要想方便地解决这类问题,最好的办法就是用循环语句。
所谓循环就是重复地执行一组语句。
我们用循环语句解决上面的问题,程序非常简短:
Private Sub Form_Click()
Dim s,x%
s = 0
For x = 1 To 99 Step 2
s = s + x ^2
Next x
Print 1~100所有奇数的平方和=;s
End Sub
在此程序中,第4、5、6条语句构成了一个循环,在循环过程中第5句被反复执行了50次,从而计算出了1~100所有奇数的平方和。
通过上面的对比可知,循环结构非常适合于解决处理的过程相同、处理的数据相关,但处理的具体值不同的问题。我们把能够处理这类问题的语句称为循环语句。
VB提供了三种不同风格的循环语句,它们分别是:
(1)For…Next语句;
(2)While…Wend语句;
(3)Do…Loop语句。
我们将对这3种循环语句逐一介绍。
5.2 For循环
For循环的一般格式如下:
For 循环变量=初值 To 终值 [Step 步长]
[循环体]
Next [循环变量]
说明:
1.格式中各项的说明
? 循环变量:亦称为循环控制变量,必须为数值型。
? 初值、终值:都是数值型,可以是数值表达式。
? 步长:循环变量的增量,是一个数值表达式。一般来说,其值为正,初值应小于终值;若为负,初值应大于终值。但步长不能是0。如果步长是1,Step 1可略去不写。
? 循环体:在For语句和Next语句之间的语句序列。
? Next后面的循环变量与For语句中的循环变量必须相同。
2.执行过程
For循环语句的执行过程如下:
(1)系统将初值赋给循环变量,并自动记下终值和步长。
(2)检查循环变量的值是否超过终值。如果超过就结束循环,执行Next后面的语句;否则,执行一次循环体。
(3)执行Next语句,将循环变量增加一个步长值再赋给循环变量,转到(2)继续执行。
以上执行过程用流程图描述,如图5-1所示。
这里所说的“超过”有两种含义,即大于或小于。当步长为正值时,循环变量大于终值为“超过”;当步长为负值时,循环变量小于终值为“超过”。
我们通过分析下面的程序来进一步理解For语句的执行过程。
For n=1 To 10 Step 3
Print n,
Next n
具体执行情况如下:
第几次循环 n 与终值比较 执行循环体否
1 1 10 执行
2 4 10 执行
3 7 10 执行
4 10 =10 执行
5 13 10 停止执行
文档评论(0)