vb习题集和答案

(D)在调用过程时,所有局部变量被系统初始化为0 2. 下列四个叙述中,错误的是(C )。

(A)过程内用Dim语句定义的变量,它的作用域是此过程

(B)过程内用Static语句定义的变量,它的生存期与整个过程的运行期相同 (C)过程内用Dim语句定义的变量,它的生存期与整个过程的运行期相同

(D)若在模块的“通用声明”中写上语句:Option Explicit,则该模块的所有变量必须先说明后引用 3. 在过程定义中用(C )表示形参的传值。

(A)Var (B)ByDef (C)ByVal (D)Value

4. 若已编写了一个Sort子过程,在该工程中有多个窗体,为了方便地调用Sort子过程,应该将该过程放在

( B )中。

(A)窗体模块 (B)标准模块 (C)类模块 (D)工程

5. 在过程中定义的变量,若希望在离开该过程后,还能保存过程中局部变量的值,则应使用( D )关

键字在过程中定义局部变量。

(A)Dim (B)Private (C)Public (D)Static 6. 下面子过程语句说明合法的是( D )。

(A)Sub f1(Byval n%()) (B)Sub f1(n%) as integer

(C)Function f1%(f1%) (D)Function f1(Byval n%)

7. 要想从子过程调用后返回两个结果,下面子过程语句说明合法的是( C )。 (A)Sub f1(Byval n%, Byval m%) (B)Sub f1(n%, Byval m%)

(C)Sub f1(n%, m%) (D)Sub f1(Byval n%, m%) 8. 在VB应用程序中,以下正确的描述是( B )。 (A)过程的定义可以嵌套,但过程的调用不能嵌套

(B)过程的定义不可以嵌套,但过程的调用可以嵌套 (C)过程的定义和调用均不可以嵌套 (D)过程的定义和调用均可以嵌套 9. 以下叙述中错误的是( C )。

(A)一个工程中只能有一个Sub Main过程

(B)窗体的Show方法的作用是将指定的窗体装入内存并显示该窗体 (C)窗体的Hide方法和Unload方法的作用完全相同

(D)若工程文件中有多个窗体,可以根据需要指定一个窗体为启动窗体

36

10. 以下叙述中错误的是( D )。

(A)如果过程被定义为Static类型,则该过程中的局部变量都是Static类型 (B)Sub过程中不能嵌套定义Sub过程 (C)Sub过程中可以嵌套调用Sub过程

(D)事件过程中可以像通用过程一样由用户定义过程名 11. 定义带可变参数的过程,使用的关键字是( C )。

(A)Optional (B)Option (C)ParamArray (D)Private 12. 定义带可选参数的过程,使用的关键字是( A )。

(A)Optional (B)Option (C)ParamArray (D)Private 二、填空题

1. 在过程定义的首部出现的变量名叫做( 形式 )参数,而在调用过程中传送给过程的(常数、变

量、数组元素、表达式)叫做( 实在 )参数。

2. 定义和调用函数或过程时参数传递的两种方法是(按值传递,按地址传递)。

3. 在窗体的通用段用Dim语句定义的变量是(窗体)级变量,它只能在(本窗体)中使用。

4. 全局级过程在定义时可以默认,也可以使用关键字( Public )进行显示声明;窗体/模块级的过程声明时

要用关键字( Private)。

5. 用ParamArray关键字声明可变参数时,被声明的参数只能是(变体类型数组)。 6. 在带可选参数的过程中,使用(IsMissing )函数来测试可选参数是否被选。

三、分析运行结果

1. 阅读程序

Function f(a As Integer) Static c

b = 0: b = b + 1 c = c + 1: f = a + b + c End Function

Private Sub command1_click()

37

Dim a As Integer a = 2 For i = 1 To 3 Print f(a); Next i

End Sub程序运行后,单击命令按钮,输出结果为:4 5 6 2. 阅读程序

Sub s(x As Single, y As Single) t = x x = t / y y = t Mod y End Sub

Private Sub command1_click() Dim a As Single, b As Single a = 5 b = 4 s a, b Print a, b End Sub

程序运行后,单击命令按钮,输出结果为:1.25 1 3. 阅读程序

Function M(x%, y%) As Integer M = IIf(x > y, x, y) End Function

Private Sub command1_click() Dim a As Integer, b As Integer a = 1 b = 2 Print M(a, b)

38

End Sub

程序运行后,单击命令按钮,输出结果为:2 4. 阅读程序 Sub Inc(a As Integer) Static x As Integer x = x + a Print x; End Sub

Private Sub command1_click() Inc 2 Inc 3 Inc 4 End Sub

程序运行后,单击命令按钮,输出结果为:2 5 9 5. 阅读程序: Sub p(b() As Integer) For i = 1 To 4 b(i) = 2 * i Next i End Sub

Private Sub command1_click() Dim a(1 To 4) As Integer a(1) = 5 a(2) = 6 a(3) = 7 a(4) = 8 p a() For i = 1 To 4 Print a(i); Next i

39

End Sub程序运行后,单击命令按钮,输出结果为:2 4 6 8 6. 阅读程序:

Function fun(ByVal num As Long) As Long Dim k As Long k = 1

num = Abs(num) Do While num k = k * (num Mod 10) num = num \\ 10 Loop fun = k End Function

Private Sub command1_click() Dim n As Long, r As Long

n = Val(InputBox(\请输入一个数:\ r = fun(n) Print r End Sub

程序运行后,单击命令按钮,输入1234,输出结果为:24 7. 阅读程序:

Function func(a%, b%) As Integer Static m As Integer, i As Integer m = 0 i = 2 i = i + m + 1 m = i + a + b func = m End Function

Private Sub command1_click() Dim k%, m%, p%

40

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4