江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
新版全国计算机二级VB选择题第1套

1.下列关于算法复杂度叙述正确的是

 

A.最坏情况下的时间复杂度一定高于平均情况的时间复杂度

 

B.时间复杂度与所用的计算工具无关

 

C.对同一个问题,采用不同的算法,则它们的时间复杂度是相同的

 

D.时间复杂度与采用的算法描述语言有关

 

2.设有栈S和队列Q,初始状态均为空。首先依次将A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为

 

A.DEFXYZABC   

 

B.DEFXYZABC   

 

C.FEDXYZCBA   

 

D.DEFZYXABC

 

 

 

3.下列叙述中正确的是

 

A.有两个指针域的链表称为二叉链表

 

B.循环链表是循环队列的链式存储结构

 

C.带链的栈有栈顶指针和栈底指针,因此又称为双重链表

 

D.结点中具有多个指针域的链表称为多重链表

 

4.某二叉树共有845个结点,其中叶子结点有45个,则度为1的结点数为

 

A.400 

 

B.754 

 

C.756

 

 

D.不确定

 

5.软件需求分析阶段的主要任务是

 

A.确定软件开发方法    

 

B.确定软件开发工具

 

C.确定软件开发计划

 

D.确定软件系统的功能

 

6.下面对软件测试描述错误的是

 

A.严格执行测试计划,排除测试的随意性

 

B.随机地选取测试数据

 

C.随机地选取测试数据

 

D.软件测试是保证软件质量的重要手段

 

7.结构化程序的三种基本控制结构是

 

A.顺序、选择和重复(循环)    

 

B.过程、子程序和分程序

 

C.顺序、选择和调用

 

D.调用、返回和转移

 

8.数据库中对概念模式内容进行说明的语言是

 

A.数据定义语言  

 

B.数据操纵语言

 

C.数据控制语言

 

D.数据宿主型语言

 

9. 某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同的仓库中。则实体仓库和零件间的联系是

 

A.多对多 

 

B.一对多 

 

C.多对一

 

D.一对一

 

10.

 

A.交

 

B.差

 

 

C.并 

 

D.选择

 

11.表达式  5 * Sqr(25) + Sgn(4 ^ 4)  的值是

 

A.29

 

B.25

 

C.26

 

D.36

 

12.无论X取何值,均能成立的表达式是

 

A. Int(X) >= Abs(X)

 

B. Int(X) = Abs(X)

 

C. Int(X) <= Abs(X)

 

D.Int(X) <> Abs(X)

 

13. 要求在窗体中定义一个变量x,在本窗体所有过程中都可以访问它,而在其他模块中不能访问,则该变量的定义是

 

A.在本窗体的某个过程中写语句:Dim x

 

B.在本窗体所有过程之前写语句:Dim x

 

C.在本窗体所有过程之前写语句:Public x

 

D.在本窗体的所有过程中写语句:Dim x

 

14.以下叙述中错误的是

 

A.对象具有属性、方法等成员

 

B.对象可以识别预先定义的事件

 

C.一个对象中包含数据及其对这些数据的相关操作

 

D. 对象的属性值一经初始化,则不能再改变

 

15.以下叙述中正确的是

 

A.影响窗体上某个文本框的Tab顺序的属性是TabStop

 

B.语句Me.Text = "Visual Basic"用于设置当前窗口的标题信息

 

C.用于获取文本框中当前被选中文本的属性为SelText

 

D. 要获取水平滚动条中当前滚动块的位置应使用其Position属性

 

16.下面关于组合框Cb1的叙述中正确的是

 

A.程序运行时,列表项可以多选

 

B.鼠标单击一个列表项后,Cb1.Text 的值等于 Cb1.List(Cb1.ListIndex)的值

 

C.利用Selected属性可以判断哪个列表项被选中了

 

D.组合框不响应Change事件

 

17.下面关于组合框Cb1的叙述中正确的是

 

A.程序运行时,列表项可以多选

 

B.鼠标单击一个列表项后,Cb1.Text 的值等于 Cb1.List(Cb1.ListIndex)的值

 

C.利用Selected属性可以判断哪个列表项被选中了

 

D.组合框不响应Change事件

 

18.在列表框或组合框中,能够表示当前被选中列表项序号的是

 

A.ListIndex

 

B.Index

 

C.TopIndex

 

D.List

 

19.要在程序运行过程中把Command1按钮的标题修改为"按钮",正确的做法是

 

A.在属性窗口中把Command1按钮的Caption属性改为按钮

 

B.在程序中执行语句:Command1.Caption = "按钮"

 

C.在属性窗口中把Command1按钮的Text属性改为按钮

 

D.在程序中执行语句:Command1.Text = "按钮"

 

20.文件列表框中用于设置或返回所选文件路径和文件名的属性是

 

A. File

 

B.FilePath

 

C.Path

 

D.FileName

 

21.在窗体上画2个名称分别为Text1和Text2的文本框,然后编写如下事件过程:

Private Sub Form_Load()

    Show

    Text1.Text = "ABCDEF"

    Text2.SetFocus

End Sub

 

Private Sub Text1_GotFocus()

    Text1.SelStart = 2

    Text1.SelLength = 3

End Sub

运行程序,单击Text1,该文本框中的内容为

 

A.显示ABCDEF,且BCD被选中

 

B.显示ABCDEF,且CDE被选中

 

C.显示BCD

 

D.显示CDE

 

22.下面关于框架控件的叙述中正确的是

 

A.框架响应Click事件

 

B.框架可以接受焦点

 

C.框架的标题是字符串,放在Text属性中

 

D.可以在框架中输入文本

 

23.通过语句X = InputBox("输入数据", "示例", "0")对变体类型的变量X输入数据,程序运行后,如果在对话框的输入区中输入数值100并按回车键,则下列叙述中正确的是

 

A. 变量X的值是字符串"0"

 

B.在InputBox对话框标题栏中显示的是输入数据

 

C.输入对话框的输入区中的初始默认值为数值0

 

D.变量X的值是字符串"100"

 

24.下面说法中错误的是

 

A.使用ReDim语句可以改变数组的维数

 

B.使用ReDim语句可以改变数组的类型

 

C.使用ReDim语句可以改变数组的每一维的大小

 

D.ReDim语句可以使原数组中的内容被清除

 

25.若程序中有语句:y = proc(6),则proc 应该是

 

A.一个Function过程的名称

 

B.一个Sub过程的名称

 

C.一个事件过程的名称

 

D.既可能是一个Function过程的名称,也可能是一个Sub过程的名称

 

26.下列说法中正确的是

 

A. 任何情况下都可以用标准工具栏的菜单编辑器按钮打开菜单编辑器

 

B. 任何情况下都可以用标准工具栏的菜单编辑器按钮打开菜单编辑器

 

C.任何情况下都可以用"工具"菜单中的菜单编辑器命令打开菜单编辑器

 

D.只有当某个窗体为当前活动窗体时,才能打开菜单编辑器

 

27.下面关于菜单的叙述中正确的是

 

A.弹出式菜单和下拉式菜单都可用菜单编辑器编辑

 

B.弹出式菜单不能有子菜单

 

C.菜单项可以响应Click事件和DblClick事件

 

D.有子菜单的菜单项不响应Click事件

 

28.为了向c盘根目录下的Stud.txt文件中添加数据而不破坏其原有数据,下列正确打开该文件的语句是

 

A.Open "c:\Stud.txt" For Output As #1

 

B. Open "c:\Stud.txt" For Append As #1

 

C.Open c:\Stud.txt For Output As #1

 

D.Open c:\Stud.txt For Append As #1

 

29.如果希望向一个顺序文件写入数据,但又要保留文件中的原有内容,应采取的文件打开方式是

 

A.Append

 

B.Output

 

C.Random

 

D.Input

 

30.设有如下事件过程:

Private Sub Command1_Click()

    ch = "ABCDEFG"

    n = Len(ch)

    k = 1

    Do

        Print Mid(ch, k, 1); Mid(ch, n, 1);

        k = k + 1

        n = n - 1

    Loop Until k > n

End Sub

运行此过程所产生的输出是

 

A.AGBFCEDD

 

B.AGBFCED

 

C.GFEDCBA

 

D.GAFBECD

 

31.

 

 

A.把case x < 0改为 case Is < 0

 

B.把Case 1, 2, 3, 4, 5 改为 Case 0

 

 

 

C.把 case 0 改为 case x = 0

 

D.把Case Else改为Case Is >= 6

 

32.有如下事件过程:

Private Sub Form_Click()

    Dim a As Long, b As Long

    Dim sum As Long

    Dim x As Integer

    a = 1

    b = 1

    For x = 1 To 11 Step 2

        a = b * x

        ________

        s = s + a

        sum = sum + s

    Next x

    Print sum

End Sub

以上程序的功能是,计算 1!+(1!+3!)+(1!+3!+5!)+…+(1!+3!+5!+…+11!) 的值并输出。程序不完整,在________处应填入的内容是

 

A. b = a * (x + 1)

 

B.a = a * (x 1)

 

C.a = a * (x + 1)

 

D.b = a * x

 

33.下面程序的功能是找出这样一个三位整数:它等于每位数字的阶乘之和,例如145就是这样的数(即145 = 1!+ 4!+ 5!)

Private Sub Command1_Click()

    Dim x As Integer, i As Integer, j As Integer, k As Integer

    For i = 1 To 9

        For j = 0 To 9

            For k = 0 To 9

                a =  ___________________

                If a = fact(i) + fact(j) + fact(k) Then

                    Print a

                End If

            Next k

        Next j

    Next i

End Sub

Function fact(n As Integer) As Long

    Dim x As Long

    x = 1

    For k = 1 To n

        x = x * k

    Next k

    fact = x

End Function

程序不完整,在横线上应填写的是

 

A.i * 100 + j * 10 + k

 

B.i * 1000 + j * 100 + k * 10

 

C.i * 10 + j * 10 + k * 10

 

D.fact(0) + fact(1) + fact(9)

 

34.有如下通用过程:

Private Sub St(ByVal strX As String, strY As String)

    Dim Ts As String

    i = Len(strX)

    Do While i >= 1

        Ts = Ts + Mid(strX, i, 1)

        i = i - 1

    Loop

    strY = Ts

End Sub

在窗体上画一个命令按钮,其名称为Command1,然后编写如下事件过程:

Private Sub Command1_Click()

    Dim s1 As String, s2 As String

    s1 = "abcd"

    Call St(s1, s2)

    Print s2

End Sub

程序运行后,单击命令按钮,输出结果是

 

A.abcd

 

B.dabc

 

C.dcba

 

D.abdc

 

35.在窗体上画一个名称为Command1的命令按钮,然后编写如下程序代码:

Dim x As Integer

Private Sub MySub()

  Static x As Integer

  Dim y As Integer

  x = x + 10

  y = y + 10

  Print "x="; x; "y="; y;

End Sub

Private Sub Form_Load()

  x = 50

End Sub

Private Sub Command1_Click()

  Call MySub

  MySub

  Print "x="; x

End Sub

程序运行时,单击Command1,则在窗体上输出的结果是

 

A.x=10  y=10  x=60  y=10  x=60

 

B. x=60  y=10  x=70  y=10  x=70

 

C.x=60  y=10  x=70  y=10  x=50

 

D.x=10  y=10  x=20  y=10  x=50

 

36.在窗体上画2个文本框(名称分别为Text1和Text2),一个命令按钮(名称为Command1)。并定义以下记录类型和变量:

Private Type Teacher

    ID As Integer

    Name As String * 10

End Type

Dim Teach As Teacher

程序运行后,在Text1中输入编号(ID),在Text2中输入姓名(Name),然后单击命令按钮,则把两个文本框中的内容写入随机文件d:\f1.txt。以下能够正确实现上述功能的事件过程是

 

A.Private Sub Command1_Click()

         Open "d:\f1.txt" For Random As #1 Len = Len(Teach)

         Teach.ID = Val(Text1.Text)

         Teach.Name = Text2.Text

         Put #1, 1, Teach

         Close #1

     End Sub

 

B. Private Sub Command1_Click()

         Open "d:\f1.txt" For Random As #1 Len = Len(Teach)

         Teach.ID = Val(Text1.Text)

         Teach.Name = Text2.Text

         Put #1, Teach.ID, Teach.Name

         Close #1

     End Sub

 

C.Private Sub Command1_Click()

         Open "d:\f1.txt" For Random As #1 Len = Len(Teach)

         Teach.ID = Val(Text1.Text)

         Teach.Name = Text2.Text

         Write #1, 1, Teach

         Close #1

     End Sub

 

D.Private Sub Command1_Click()

         Open "d:\f1.txt" For Random As #1 Len = Len(Teach)

         Teach.ID = Val(Text1.Text)

         Teach.Name = Text2.Text

         Write #1, Teach.ID, Teach.Name

         Close #1

     End Sub

 

37.在窗体上画2个名称分别为Label1和Label2的标签,然后编写如下程序代码:

Sub S(L As Label, ByVal a As Integer)

    L.Caption = "1234"

    a = a * a

End Sub

Private Sub Form_Load()

    Label1.Caption = "ABCD"

    Label2.Caption = 10

End Sub

Private Sub Form_Click()

    Dim a As Integer

    a = Val(Label2.Caption)

    S Label1, a

    Label2.Caption = a

End Sub

运行程序,单击窗体,在两个标签中显示的内容分别是

 

A.ABCD和10

 

B.1234和100

 

C.ABCD和100

 

D.ABCD和100

 

38.在窗体上画一个名称为Command1的命令按钮,一个名称为Text1的文本框数组(含4个文本框,下标从0开始),然后编写如下事件过程:

Private Sub Command1_Click()

  Dim i As Integer, n As Integer

  For Each TextBox In Text1

      Text1(i) = Text1(i).Index

      n = 10 * (n + Val(Text1(i).Text))

      i = i + 1

  Next

  Print n

End Sub

运行程序,单击命令按钮Command1,则在窗体上的输出结果是

 

A. 0123

 

B.123

 

C.1234

 

D.1230

 

39.有如下通用过程:

Function Fs(ByVal n As Long) As Long

    Dim k As Long

    k = 1

    n = Abs(n)

    Do While n

        k = k * (n Mod 10)

        n = n \ 10

    Loop

    Fs = k

End Function

编写如下事件过程:

Private Sub Form_Click()

    Dim a As Long

    Dim b As Long

    a = InputBox("请输入一个数")

    a = CLng(A)

    b = Fs(A)

    Print b

End Sub

程序运行后,单击窗体,在输入对话框中输入567,输出结果为

 

A.56

 

B.67

 

C.210

 

D.18

 

40.在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:

Option Base 1

Private Sub Command1_Click()

 Dim a(3, 3) As Integer

  Dim i As Integer, j As Integer, s As Integer

  s = 0

  For i = LBound(a, 1) To UBound(a, 1)

      For j = LBound(a, 2) To UBound(a, 2)

          a(i, j) = (i - 1) * 3 + j

          If i >= j Then

             s = s + a(i, j)

          End If

  Next j, i

  Print s

End Sub

程序运行时,单击Command1,则在窗体上输出的结果是

 

A.15

 

B.26

 

C.34

 

D.19

 

1.B  2.B  3.D  4.C  5.D  6.B  7.A  8.A  9.A  10.A  11.C  12.C  13.B  14.D  15.D  16.C  17.B  18.A  19.B  20.D  21.B  22.A  23.D  24.B  25.A  26.D  27.A  28.B  29.A  30.A  31.A  32.A  33.A  34.C  35.D  36.A  37.D  38.D  39.C  40.C