VB考试教程:VisualBasic中的过程控制

文章作者 100test 发表时间 2007:03:10 18:28:22
来源 100Test.Com百考试题网


如果不使用程序流程控制语句,程序的执行是简单的从上到下顺序执行的单向流程。这种程序结构所完成的工作功能有限。

过程控制可以分为三个主要的部分:转支(Branching,也称跳转)、循环(Iteration)和条件执行(Condtion execution)。

转支是最基本的一种过程控制,它实际上就是一种跳转的机制,从程序中的一个代码段跳到另一个代码段,而不执行中间的步骤。

循环是指在程序中重复执行一套指令,并且当达到一定次数或者条件时停止。在VB中有三种循环指令。

条件执行是指在程序中,当某些条件为真时,允许执行一系列指令,如果条件为假,则执行另外的指令。这就给程序提供了逻辑判断能力。

一、跳转控制

跳转——从程序的某一行到另一行的直接转移。

它有两种形式:无条件跳转和有条件跳转。

无条件转向语句“Goto”的一般形式:

Goto 语句标号(或行号)

注意:

1)语句标号或行号必须存在,否则会出现错误。Goto语句标号的命名规则与变量名相同。

2)“标号”是一个以冒号结尾的标识符;“行号”是一个整形数,它不以冒号结尾。例如:

Start:

是一个标号,而

1200

是一个行号。

例(见教材P62):

Sub Form_Click ()

Print "She is "
Goto Message
Print "not"
Message:
Print "a beautiful girl ."

End Sub

本语句不易实现结构化程序设计,所以不提倡使用。

二、条件结构

在VB过程中可以进行条件测试,然后根据测试结果去执行不同的操作。VB提供以下几种格式的条件语句:If语句、Select Case语句

1、If语句

(1)If 条件 Then 语句1 [Else 语句2]

这种语句称为单行条件语句。如果条件为真,执行Then后面的语句;如果条件为假,则执行Else后面的语句(语句2)。

说明:

  • 语句1和语句2都可以是若干条语句(语句之间用“:”号隔开);
  • 单行语句必须写在一个程序行内;
  • 其中“Else 语句2”可以省略,省略格式的功能是:当If后的条件成立时,执行Then后面的语句,若不成立,则执行条件语句的下一个程序行。

例如:

Private Sub Command1_Click()

Dim intAge As Integer
intAge = InputBox("aaa", "bb")
If intAge > 23 Then Print "您已经超龄,无法入选国奥队!"

End Sub

(2)If 条件 Then

语句块1

[Else

语句块2]

End If  

这种结构称为简单块If结构。它是这样执行的:

如果条件为真,执行Then后面的语句块1,否则,则执行Else后面的语句块2;若不写Else部分,则执行End If后面的语句。

例如:

If intAge >23 then

Print"您已经超龄,无法入选国奥队"

Print "感谢您对中国足球的关怀"

End If

(3)If 条件1 Then

   语句块1

  Else If 条件2 Then

   语句块2

    :

    :

  Else If 条件n Then

    语句块n

[Else

默认语句块]

  End If

这种结构称为块If结构。它是这样执行的:

先测试条件1,如果条件1成立,则执行Then后面的语句块1;如果条件1不成立,则继续检测条件2,如果条件2成立,则执行Then后面的语句块2;……。如此测试下去。如果所有条件都不成立,则执行Else后面的默认语句块(如果存在的话,否则,跳到End If下一条语句执行)。这里的n>=2。

注意:

在判定结构中使用的“条件”通常是比较语句(关系运算符,如>、<、<>、=等)。如果要使用更加复杂的条件,可以使用逻辑运算符(And、Or、Not)来连接几个比较语句,例如:

  If intAge<23 And strCountry="china" And intSkill>10 Then

   Print "欢迎您到国奥队来!"

   :

   :

  End If

2、 Select Case

与If…Then…E1se语句相似,Visual Basic还提供了Select Case结构来实现多分支结构,从而对在多个语句块中有选择地执行其中—个。Select Case语句的能力与If…Then…E1se语句类似,但对多重选样的情况,Select Case语句使代码更加清楚易懂,而且执行也比较快速。Select Case的语法结构是:

  Select Case 测试条件

   Case 表达式1

    语句序列1

   [Case 表达式2

    语句序列2]

    :

    :

    :

    [Case Else

     默认序列 ]

   End Select

Select Case在结构的上方处理一个测试表达式并只计算一次(在Select Case语句中如果不止一个Case与测试表达式相匹配,则只对第一个匹配的Case执行与之相关联的语句块)。然后VB将表达式的值与结构中的每个Case的值进行比较,如果相等,就执行与该Case相关联的程序段;如果都不相等则执行Case Else对应的默认程序段;如果这时没有定义Case Else子句,则不执行任何分支退出(即执行End Select语句的下一条语句)。Case Else 虽然是选择性的,但是最好使用,以防遗漏测试数据。


相关文章


VB考试教程:运算符与表达式
VB考试教程:VisualBasic中的过程控制
VB考试教程:使用对象集合
VB考试教程:数组
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛