江苏省高校计算机等级考试命题研究院 江苏省高校计算机等级考试辅导
vb考前模拟试题2

全国计算机等级考试二级Visual Basic语言程序设计考前冲刺试卷2

一、选择题(每题2分,共35题,70分)

1)下列选项中,不是一个算法的基本特征的是(    )。

A)完整性                           B)可行性                           C)有穷性                         D)拥有足够的情报

2)下列数据结构中,属于非线性的是(    )。

A)线性表                           B)队列                               C)树                                 D)栈

3)下列叙述中错误的是(    )。

A)线性表是由n个元素组成的一个有限序列

B)线性表是一种线性结构

C)线性表的所有结点有且仅有一个前件和后件

D)线性表可以是空表

4)按照“先进先出”组织数据的数据结构是(    )。

A)队列                               B)栈                                   C)双向链表                     D)二叉树

5)下列关于线性链表的描述中正确的是(    )。

A)存储空间不一定连续,且各元素的存储顺序是任意的

B)存储空间不一定连续,且前件元素一定存储在后件元素的前面

C)存储空间必须连续,且各前件元素一定存储在后件元素的前面

D)存储空间必须连续,且各元素的存储顺序是任意的

6)某二叉树共有60个叶子结点与50个度为1的结点,则该二叉树中的总结点数为(    )。

A148                                 B169                                 C182                               D198

7)下列数据结构中,能用二分法进行查找的是(    )。

A)顺序存储的有序线性表                                             B)结性链表

C)二叉链表                                                                     D)有序线性链表

8)最简单的交换排序方法是(    )。

A)快速排序                       B)选择排序                       C)堆排序                         D)冒泡排序

9)对于长度为n的线性表,在最坏情况下,下列各种排序法所对应的比较次数中,正确的是(    )。

A)冒泡排序为n /2                                                          B)冒泡排序为n

D)快速排序为n                                                              D)快速排序为nn-1/2

10)结构化程序设计的3种基本结构是(    )。

A)过程、子程序和分程序                                           B)顺序、选择和重复

C)递归、堆栈和队列                                                   D)调用、返回和转移

11)下面有(    )对象不能作为容器。

AFrame                               BFrom                             CPictureBox                 DImage

12)关于自定义数据类型,下面叙述中不正确的是(    )。

A)自定义数据类型必须在窗体模块或标准模块的通用声明段进行声明

B)在窗体模块中定义自定义数据类型时必须使用Private关键字

C)自定义数据类型只能在窗体模块的通用声明段进行声明

D)自定义数据类型中的元素的数据类型可以是系统提供的基本数据类型或已声明的自定义数据类型

138.6787E+8写成普通的十进制数是(    )。

A86787000                         B867870000                    C8678700                    D8678700000

14)设x=4,y=8,z=7,则以下表达式的运算结果是(   

x<y And (Not y>z) Or z<x

A1                                       B-1                                   CTrue                           DFalse

15)将文本框的(    )属性设置为True时,文本框可以输入或显示多行文本,且会自动换行。

AText                                   BScrollBars                   CMultiLine                    DEnabled

16)在窗体Form1上放一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写一个事件过程。要求程序运行以后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“VB等级考试二级”。以下正确实现上述操作的事件过程是(    )。

APrivate Sub Text1_Change()

Command1.Caption= " VB等级考试二级"

End Sub

BPrivate Sub Command1_Click()

Caption= " VB等级考试二级"

End Sub

CPrivate Sub Form1_Click()

Text1.Caption= " VB等级考试二级"

End Sub

DPrivate Sub Command1_Click()

Text1.Text= " VB等级考试二级"

End Sub

17以下    控件可以使图形根据按控件大小而改变的大小。

A)图片框                              B)标签框                        C)图像框                        D)框架

18在窗体上画一个名称为Text1的文本框然后画一个名称为Hscroll1的滚动条MinMax属性分别为01000。程序运行后,如果移动滚动框,则在文本框中显示滚动条的当前值。以下能实现上述操作的程序是(    )。

APrivate Sub Hscroll1_Change()                                   BPrivate Sub Hscroll1_Click()

Text1.Text=HScroll1.Value                                                  Text1.Text=HScroll1.Value

End Sub                                                                               End Sub

CPrivate Sub Hscroll1_Change()                                    DPrivate Sub Hscroll1_Click()

Text1.Text=Hscroll1.Caption                                              Text1.Text=Hscroll1.Caption

End Sub                                                                               End Sub

19下列程序段的执行结果为   

x = Int(Rnd + 4)

Select Case x

    Case 5

      Print "A Class"

    Case 4

      Print "B Class"

    Case 3

      Print "C Class"

    Case Else

      Print "D Class"

End Select

AA Class                                                                        BB Class

CC Class                                                                        DD Class

20)以下能够正确退出循环的是(    )。

Ai=10                                                                             Bi1

Do                                                                                       Do

i=i+1                                                                              i=i+1

Loop Until i<10                                                                 Loop Until i=10

Ci=10                                                                              Di1

Do                                                                                       Do

i=i+1                                                                              i=i-3

Loop Until i<0                                                                           Loop Until i=0

21)下列程序执行后,其输出结果为(    )。

Dim a(5)

For i = 0 To 4

    a(i) = i + 1

    m = i + 1

    If m = 3 Then a(m - 1) = a(i - 2) Else a(m) = a(i)

    If i = 2 Then a(i - 1) = a(m - 3)

    a(4) = i

    Print a(i);

Next i

A1  1  1  4  4                                                          B1  2  3  4  1

C1  2  1  4  4                                                          D1  1  1  4  1

22编写如下事件过程

Private Sub Form_Activate()

Dim score(1 To 3) As Integer

Dim i As Integer,t As Variant

    For i = 3 To 1 Step -1

        score(i) = 2 * i

    Next i

    For Each t In score

        Print t;

    Next

End Sub

程序运行后窗体上显示   

A6 4 2                                   B2 4 6                            C2                                  D6

23设有如下程序

Option Base 0

Private Sub Form_Click()

    Dim a

    Dim i As Integer

    a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)

    For i = 0 To 3

        Print a(5 - i);

    Next

End Sub

程序运行后,单击窗体,则在窗体上显示的是(    )。

A4  3  2  1                     B5  4  3  2                  C6  5  4  3              D7  6  5  4

24)在窗体上有一个名称为Text1的文本框和一个名称为Command1的命令按钮,并编写有如下事件过程:

Private Sub Command1_Click()

     Dim i As Integer,n As Integer

     For i=0 To 50

         i=i+3

         n=n+1

         If i>10 Then Exit For

     Next

     Text1.Text=Str(n)

End Sub

程序运行后,单击命令按钮,在文本框中显示的值是(    )。

A2                                       B3                                    C4                                D5

25在窗体上画一个名称为Text1的文本框,然后画三个单选按钮,并用这三个单选按钮建立一个控件数组,名称为Option1,程序运行后,如果单击某个单选按钮,则文本框中的字体将根据所选择的单选按钮切换,如图所示。请选择空白处合适的语句(    )。

Private Sub Option1_Click(Index As Integer)

    Select Case ___________

        Case 0 : a = "宋体"

        Case 1 : a = "黑体"

        Case 2 : a = "楷体_GB2312"

    End Select

    Text1. ___________= a

End Sub

AOption Text                       BIndex Text                   CIndex Font                   DOption Font

26)设有如下通用过程:

Public Sub Fun(a() As Integer, x As Integer)

    For i = 1 To 5

        x = x + a(i)

    Next

End Sub

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

Private Sub Command1_Click()

Dim arr(5) As Integer, n As Integer

    For i = 1 To 5

        arr(i) = i + i

    Next

    Fun arr, n

    Text1.Text = Str(n)

End Sub

程序运行后,单击命令按钮,则在文本框中显示的内容是(    )。

A30                                                                                 B25

C20                                                                                 D15

27在窗体上画一个文本框然后编写如下事件过程

Private Sub Textl_KeyPress(KeyAscii As Integer)

    Dim char As String

    char=Chr(KeyAscii)

    KeyAscii=Asc(UCase(char))

    Textl.Text=String(6, KeyAscii)

End Sub

程序运行后,如果在键盘上输入字母“a”,则文本框中显示的内容为(    )。

Aa                                                                                   BA

Caaaaaa                                                                           DAAAAAA

28)以下对文件分类的划分不正确的是(    )。

A)文件分为程序文件和数据文件                                 B)文件分为有结构文件和无结构文件

C)文件分为ASCII文件和二进制文件                         D)文件分为顺序文件和随机文件

29)在窗体上有一个名称为Command1的命令按钮,并编写有如下事件过程:

Private Sub Command1_Click()

    Dim rec As animal

    Open "c:\vbTest.dat" For Random As #1 Len=Len(rec)

    rec.animalName="cat"

    rec.aColor="White"

    Put #1,,rec

    Close #1

End Sub

记录类型定义如下:

Private Type animal

    animalName As String*20

    aColor As String*10

End Type

下列叙述中正确的是(    )。

A)记录类型animal不能在Form1中定义,必须在标准模块中定义

B)如果文件c:\vbTest.dat不存在,则Open命令执行失败

C)由于Put命令中没有指明记录号,因此每次都把记录写到文件的末尾

D)语句"Put #1,,rec"animal类型的两个数据元素写到文件中

30)以下事件过程的功能是:从已存在于磁盘上的顺序文件Num1.txt中读取数据,计算读出数据的平方值,将该数据及其平方值存入新的顺序文件Num2.txt中。则在以下横线处合适的语句是(    )。

Private Sub Form_Click()

Dim X As Single, y As Single

    Open "Num1.txt" For Input As #1

    Open "Num2.txt" For Output As #2

    Do While Not EOF(1)

        ___________

        Print X

        y = X ^ 2

        ___________

        Print y

    Loop

    Close #1, #2

End Sub

AInput #1,y    Print #2,x,y                                      BInput #2,x    Print #1,x,y

CPrint #1,x    Input #2,x,y                                       DInput #1,x    Print #2,x,y

31下列程序的执行结果为   

n = 0

j = 1

Do Until n > 2

    n = n + 1 : j = j + n * (n + 1)

Loop

Print n; j

A0   1                                 B3   7                          C3   21                        D3   13

32下列程序在运行时输出的结果是   

Option Base 1

Private Sub Form_Click()

Dim x(10)

    For i = 1 To 10

        x(i) = 10 - i + 1

    Next i

    For i = 10 To 1 Step -2

        Print x(i)

    Next i

End Sub

A1 3 5 7 9                                                                      B9 7 5 3 1

C1 2 3 4 5 6 7 8 9 10                                                     D10 9 8 7 6 5 4 3 2 1

33)运行下列程序时,输出的结果是(    )。

Private Sub Form_Click()

Dim x

    x = Array("Software", "and", "Hardware", "System")

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

        If Left(x(i), 1) = "S" Then Print x(i);

    Next i

End Sub

ASoftware                                                                      BSoftwareSystem

C)出错信息                                                                    DSoftwareandHardwareSystem

34窗体上命令按钮Command1的事件过程如下

Option Base 1

Private Sub Command1_Click()

Dim a(4, 4) As Variant

    For i = 1 To 4

        For j = 1 To 4

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

        Next j

    Next i

    For i = 3 To 4

        For j = 3 To 4

            Print a(i, j)

        Next j

    Next i

End Sub                                                                                                                   

该程序执行后,输出结果是(    )。

A9                                        B7                                  C9                                  D8

10                                             10                                      12                                        11

12                                             12                                      10                                        9

13                                             13                                      13                                        12

35)用Line Input语句从顺序文件读出数据时,每次读出一行数据。所谓一行是指遇到    分隔符,即认为一行的结束。

A)文件结束符                    B)回车符                        C)空格                            DTab字符

二、填空题每空230

1)软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于___________中的一个阶段。

2)结构化分析方法是面向___________进行分析的方法。

3)常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示___________,用带空心圆的箭头表示传递的是数据。

4在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块,其中__________的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。

5)诊断和改正程序中错误的工作通常称为___________

6)以下程序的功能是将多维数组a(1 To m1 To n)中的元素转移到一个名为b(1 To n)的一维数组中,请填写空白处,完成该程序。

Option Base 1

Private Sub Command1_Click()

Dim a(1 To 4, 1 To 5):Dim b()

ReDim ___________

    For i = 1 To 4

        For j = 1 To 5

            a(i, j) = i * j

        Next j

    Next i

    Call Transf(a, 4, 5, b)

End Sub

Sub Transf(a(), m, n, b())

Dim x As Integer

    x = 1

    For i = 1 To m

        For j = 1 To n

            b(x) =___________

            x = x + 1

        Next j

    Next i

End Sub

7)在窗体上有一个名称为Label1的标签和一个名称为Timer1的计时器,并编写有如下几个事件过程:

Private Sub Form_Load()

Timer1.Enabled=False

Timer1.Interval=___________

End Sub

Private Sub Form_Click()

      Timer1.Enabled=___________

End Sub

Private Sub Timer1_Timer()

Label1.Caption=___________

End Sub

程序运行后,单击窗体,将在标签中显示当前时间,每隔1秒钟变换一次,请填空。

8)引用列表框(List1)最后一个列表项应使用的语句是___________

9)在窗体上画一个驱动器列表框、一个目录列表框和一个文件列表框,其名称分别为DrivelDirlFilel,为了使它们同步操作,必须触发___________事件和___________事件,在这两个事件中执行的语句分别为______________________

参考答案

一、选择题

1A   2C  3C  4A  5A  6B  7A

8D   9D  10B         11D         12C         13B         14D

15C 16A         17C         18A         19B         20B         21C

22B 23C         24B         25C         26A         27D         28B

29B 30D         31C         32A         33B         34A         35B

二、填空题

1)软件开发

2)数据流

3)模块

4)驱动模块

5)调试

6b(20)   a(ij)

71000   True   Time$()

8List1.ListListCount-1

9)驱动器的Change事件 目录的Change事件  Dir1.Path = Drive1.Drive  File1.Path = Dir1.Path