简说VB循环语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
循环结构是指在一定条件下多次重复执行一组语句。VB中提供了两种循环语句,它们是For 语句和Do语句。
1. For循环语句
如果己知某一段代码需要重复执行的次数,可以使用For循环语句。该语句的一般形式如下:
For<循环变量>=<初值>To<终值>[Step<步长>]
<语句块>
[Exit For]
Next<循环变量>
例如:
For i=l To 8 Step1
Print “这是文本”&i
Next i
该段代码的功能是在窗体上显示8行文本,如图3.16所示。如果不采用循环结构,则需要使用8条Print语句来实现相同的功能。
For语句中的循环变量必须是数值型,初值、终值以及步长则是具体的数值
For…next
步长用来指定循环变量每次的增量,当所有循环体中的语句都执行后,循环变量就会自动增加一个步长。默认的步长为1.For语句的执行流程如图3.17所示。
具体执行流程为:
(1)将初值赋给循环变量。
(2)判断循环变量的取值是否在终值范围内否则结束循环,执行Next的下一条语句。
(3)将循环变量的取值自动增加一个步长,然后回转到步骤(2)继续执行。
若是则执行循环体内的语句,循环中可以在任何位置放置任意个Exit FOr语句,该语句的作用是退出循环,转到Next语句的下一条语句。Exit For语句经常在条件判断之后使用,例如在If…Then语句之后。
例如,修改上例如下:
For I=1 To 10
For J=1 To 10
For K= 1 To 10
....
Next K
Next J
Next I
实例3.3打印九九乘法表
本例讲解怎样打印九九乘法表,如图3.18所示。九九乘法表的打印看起来很烦琐,但是如果使用嵌套循环,则问题变得非常简单。
打开【代码】窗口,编写窗体的Click事件过程如下:
Private Sub form_Click()
Print“----------------------------
九九乘法表----------------------”
For i=1 To 9
For j=1 To i
s=i*j
Print j & “X”& i & “=” & s
Next j
Next i
End Sub
在该段代码中,首先使用Print方法打印出标题和一个空行。然后使用了一个两重的嵌套循环结构。关于Print方法的使用细节请参见下一章。
2.Do循环语句
如果不知道某一段代码需要重复执行的次数,可以使川Do循环语句0该语句有两种基本形式:
(1)Do While<表达式>
循环体
[Exit Do]
Loop
这种格式的Do循环先判断条件,后执行循环体。与I f…Then语句类似,While子句的<表达式>一般是关系表达式或逻辑表达式,也可以是算术表达式。如果表达式的值不为零(True),即条柞为真,则执行循环体。如果表达式的值为零〔False),即条件为假,则终止循环。其流程如图3.19所示。
例如,通过下列代码,可以求出2460和345的最大公约数。
Private Sub Form_Click()
m=2460:n=345
Dim s As Single
Do while(n<>0)
s=m Mod n
m=n
n=s
Loop
Print“最大公约数=” & m
End Sub
在Do…Loop中可以在任何位置放置任意个数的Exit Do语句,随时跳出Do-Loop循环。Exit Do通常用于条件判断之后,例如If…then,在这种情况下,Exit Do语句将控制权转移到紧接在Loop命令之后的语句。
如果Exit Do使用在嵌套的Do…Loop语句中,则Exit Do会将控制权转移到Exit Do所在位置的外层循环。
While子句也可以出现在Loop语句后,形式如下:
Do.
循环体。
[Exit Do].
Loop While<表达式>.
这种格式的特点是先执行循环体,后判断条件。也就是说第一次进入循环是无条件的。循环体至少会被执行一次,其流程如图3.20所示。而如果While子句出现在Do后,则可能一次也不执行。
(2)Do Until<表达式>.
循环体。
[Exit Do].
Loop.
将While子句换成Until子句后,情况正好相反。只有当表达式的值不为O(ture),即条件为真时才终止循环,否则继续循环。
Until子句也可以出现在助Loop的后面,也表示先执行循环体,后判断条件。