全国计算机等级考试二级VB程序语言设计及答案
全国计算机等级考试二级笔试样卷Visual Basic语言程序设计
选择题(每小题2分,共70分)
    下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
1)下列选项中不符合良好程序设计风格的是
A 源程序要文档化        B 数据说明的次序要规范化
C 避免滥用goto语句    D 模块设计要保证高耦合、高内聚
2)从工程管理角度,软件设计一般分为两步完成,它们是
A 概要设计与详细设计    B 数据设计与接口设计
C 软件结构设计与数据设计    D 过程设计与数据设计
3)下列选项中不属于软件生命周期开发阶段任务的是
    A)软件测试    B)概要设计    C)软件维护    D)详细设计
4)在数据库系统中,用户所见的数据模式为
    A 概念模式    B)外模式    C)内模式    D)物理模式
5)数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和
A 编码设计    B 测试阶段    C)运行阶段    D)物理设计
6)设有如下三个关系表
 
R
S
T
A
B
C
A
B
C
m
1
3
m
1
3
n
n
1
3
下列操作中正确的是
ATRS        BTRS
CTR×S        DTR/S
7)下列叙述中正确的是
    A)一个算法的空间复杂度大,则其时间复杂度也必定大
    B)一个算法的空间复杂度大,则其时间复杂度必定小
    C)一个算法的时间复杂度大,则其空间复杂度必定小
D)上述三种说法都不对
8)在长度为64的有序线性表中进行顺序查,最坏情况下需要比较的次数为
A63    B64    C6    D7
9)数据库技术的根本目标是要解决数据的
A)存储问题    B)共享问题    C)安全问题        D)保护问题
10)对下列二叉树
进行中序遍历的结果是
AACBDFEG    BACBDFGE    CABDCGEF    DFCADBEG
11)以下叙述中正确的是
A)窗体的Name 属性指定窗体的名称,用来标识一个窗体
B)窗体的Name 属性值是显示在窗体标题栏中的文本
C)可以在运行期间改变窗体的Name 属性的值
D)窗体的Name 属性值可以为空
12)以下叙述中错误的是
    英雄联盟游戏名字A)打开一个工程文件时,系统自动装入与该工程有关的窗体文件
    B)保存Visual Basic程序时,应分别保存窗体文件及工程文件
    CVisual Basic应用程序只能以解释方式执行
    D)窗体文件包含该窗体及其控件的属性
13)设a = 2, b = 3, c = 4, 下列表达式的值是
      Not a <= c Or 4*c = b^2 And b <> a + c
    A-1    B教师节祝福语简短15字1    CTrue    DFalse
14)设有如下的用户定义类型:
    Type Student
    number As String
    name As String
    age As Integer
End Type
则以下正确引用该类型成员的代码是
    AStudent.name = "李明"    BDim s As Student
                                  s.name = "李明"
    CDim s As Type Student    DDim s As Type
    s.name = "李明"              s.name = "李明"
15)设a = 5b = 6c = 7d = 8,执行下列语句后,x的值为
    x = IIf((a > b) And (c > d), 10, 20)
    A10    B20    CTrue    DFalse
16)执行以下程序段后,变量c$的值为
a$ = "Visual Basic Programming"
b$ = "Quick"
c$ = b$ & UCase(Mid$(a$, 7, 6)) & Right$(a$, 12)
AVisual BASIC Programming    BQuick Basic Programming
CQUICK Basic Programming    DQuick BASIC Programming
17)在窗体上画一个文本框(其名称为Text1)和一个标签(其名称为Label1),程序运行后,如果在文本框中输入指定的信息,则立即在标签中显示相同的内容。以下可以实现上述操作的事件过程是
游子思乡的诗句    APrivate Sub Text1_Click()    BPrivate Sub Text1_Change()
          Label1.Caption = Text1.Text          Label1.Caption = Text1.Text
        End Sub          End Sub
    CPrivate Sub Label1_Change()    DPrivate Sub Label1_Click()
          Label1.Caption = Text1.Text          Label1.Caption = Text1.Text
        End Sub          End Sub
18)在窗体上画一个命令按钮和一个标签,其名称分别为Command1Label1,然后编写如下事件过程:
Private Sub Command1_Click()
    Counter = 0
    For i = 1 To 4
        For j = 6 To 1 Step -2
            Counter = Counter + 1
        Next j
    Next i
    Label1.Caption = Str(Counter)
End Sub
程序运行后,单击命令按钮,标签中显示的内容是
    A 11    B12    C 16    D20
19)在窗体上画一个名称为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
程序运行后,单击命令按钮,在文本框中显示的值是
    A5    B4    C3    D2
20)在窗体上画一个命令按钮和两个标签,其名称分别为Command1Label1Label2,然后编写如下事件过程:
Private Sub Command1_Click()
    a = 0
    For i = 1 To 10
        a = a + 1
        b = 0
        For j = 1 To 10
            a = a + 1
            b = b + 2
        Next j
    Next i
    Label1.Caption = Str(a
    Label2.Caption = Str(b
End Sub
    程序运行后,单击命令按钮,在标签Label1Label2中显示的内容分别是
    A1020    B20110    C200110    D11020
21)在窗体上画一个名称为List1的列表框,一个名称为Label1的标签,列表框中显示若干城市的名称。当单击列表框中的某个城市名时,该城市名从列表框中消失,并在标签中显示出来。下列能正确实现上述操作的程序是
    APrivate Sub List1_Click()    BPrivate Sub List1_Click()
          Label1.Caption = List1.ListIndex          Label1. Name = List1. ListIndex
          List1.RemoveItem List1.Text          List1.RemoveItem List1.Text
      End Sub            End Sub
    CPrivate Sub List1_Click()    DPrivate Sub List1_Click()
          Label1.Caption = List1.Text          Label1.Name = List1.Text
          List1.RemoveItem List1.ListIndex          List1.RemoveItem List1.ListIndex
        End Sub            End Sub
22)在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:
Private Sub Command1_Click()
    Dim i As Integer, j As Integer
    Dim a(10, 10) As Integer
    For i = 1 To 3
        For j = 1 To 3
            a(i, j) = (i - 1) * 3 + j
            Print a(i, j);
        Next j
        Print
    Next i
End Sub
程序运行后,单击命令按钮,窗体上显示的是
                 
A
1  2  3
B
2  3  4
C
1  4  7
D
1  2  3
2  4  6
3  4  5
2  5  8
4  5  6
3  6  9
4  5  6
3  6  9
7  8  9
23)在窗体上画一个命令按钮,名称为Command1,然后编写如下代码:
Option Base 0
Private Sub Command1_Click()
    Dim A(4) As Integer,B(4) As Integer
    For k = 0 To 2
        A(k + 1) = InputBox("请输入一个整数")
        B(3 - k) = A(k + 1)
    Next k
    Print B(k)
End Sub
  程序运行后,单击命令按钮,在输入对话框中分别输入246,输出结果为
    A0    B2    C3    D4
24)有以下程序:
Option Base 1
Dim arr() As Integer
Private Sub Form_Click()
    Dim i As Integer, j As Integer
    ReDim arr(3, 2)
    For i = 1 To 3
        For j = 1 To 2
            arr(i, j) = i * 2 + j
        Next j
    Next i
    ReDim Preserve arr(3, 4)
    For j = 3 To 4
        arr(3, j) = j + 9
    Next j
    Print arr(3, 2); arr(3, 4)
End Sub
    程序运行后,单击窗体,输出结果为
    A8  13    B0  13    C7  12    D0  0
25)以下叙述中正确的是
A)一个Sub过程至少要有一个Exit Sub语句
B)一个Sub过程必须有一个End Sub语句
C)可以在Sub过程中定义一个Function过程,但不能定义Sub过程
D)调用一个Function过程可以获得多个返回值
26)有以下程序:
    Sub subP(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
        subP a()
        For i = 1 To 4
            Print a(i)
        Next i
    End Sub
    运行上面的程序,单击命令按钮,输出结果为     
A
2
B
5
C
10
D
出错
4
6
12
6
7
14
8
8
16
27)设有如下通用过程:
Public Function Fun(xStr As String) As String
    Dim tStr As String, strL As Integer
    tStr = ""
    strL = Len(xStr)
    i = 1
    Do While i <= strL / 2
        tStr = tStr & Mid(xStr, i, 1) & Mid(xStr, strL - i + 1, 1)
        i = i + 1
    Loop
    Fun = tStr
End Function
    在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮。然后编写如下的事件过程:
Private Sub Command1_Click()
    Dim S1 As String
    S1 = "abcdef"
    Text1.Text = UCase(Fun(S1))
End Sub
    程序运行后,单击命令按钮,则Text1中显示的是
    AABCDEF    Babcdef    CAFBECD    DDEFABC
判刑(28)在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:
    Private Sub TxtA_KeyPress(KeyAscii As Integer)
        ......
    End Sub
假定焦点已经位于文本框中,则能够触发KeyPress事件的操作是
    A)单击鼠标        B)双击文本框
    C)鼠标滑过文本框        D)按下键盘上的某个键
29)在窗体上画一个命令按钮和两个文本框,其名称分别为Command1Text1Text2,然后编写如下程序:
Dim S1 As String, S2 As String
Private Sub Form_Load()
    Text1.Text = ""
    Text2.Text = ""
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
    S2 = S2 & Chr(KeyCode)
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
    S1 = S1 & Chr(KeyAscii)
End Sub
Private Sub Command1_Click()
    Text1.Text = S2
    Text2.Text = S1
    S1 = ""
    S2 = ""
End Sub
    程序运行后,在Text1中输入“abc”,然后单击命令按钮,在文本框Text1Text2中显示的内容分别为
    AabcABC    Babcabc    CABCabc    DABCABC
30)以下说法中正确的是
    A)任何时候都可以通过执行“工具”菜单中的“菜单编辑器”命令打开菜单编辑器
    B)只有当某个窗体为当前活动窗体时,才能打开菜单编辑器
    C)任何时候都可以通过单击标准工具栏上的“菜单编辑器”按钮打开菜单编辑器
    D)只有当代码窗口为当前活动窗口时,才能打开菜单编辑器
31)在窗体上画一个通用对话框,其名称为CommonDialog1,然后画一个命令按钮,并编写如下事件过程:
Private Sub Command1_Click()
    CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & _
                    "(*.txt)|*.txt| Executable Files(*.exe)|*.exe"
    CommonDialog1.FilterIndex = 3
    CommonDialog1.ShowOpen彭冠英个人资料简介
    MsgBox CommonDialog1.FileName
End Sub
程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是
    AAll Files(*.*)        BText Files(*.txt)
    CExecutable Files(*.exe)    D)不确定
32)以下叙述中错误的是
    A)一个工程中可以包含多个窗体文件
    B)在一个窗体文件中用Public定义的通用过程不能被其他窗体调用
    C)窗体和标准模块需要分别保存为不同类型的磁盘文件
    D)用Dim定义的窗体层变量只能在该窗体中使用
33)以下叙述中错误的是
    A)语句“Dim a, b As Integer”声明了两个整型变量
    B)不能在标准模块中定义Static型变量
    C)窗体层变量必须先声明,后使用
    D)在事件过程或通用过程内定义的变量是局部变量
34)设有语句:Open "d:\" For Output  As #1 ,以下叙述中错误的是
  A)若d盘根目录下无文件,则该语句创建此文件
  B)用该语句建立的文件的文件号为1
  C)该语句打开d盘根目录下一个已存在的文件,之后就可以从文件中读取信息
  D)执行该语句后,就可以通过Print #语句向文件中写入信息
35)以下叙述中错误的是
    A)顺序文件中的数据只能按顺序读写
    B)对同一个文件,可以用不同的方式和不同的文件号打开
    C)执行Close语句,可将文件缓冲区中的数据写到文件中
    D)随机文件中各记录的长度是随机的
二、填空题(每空2分,共30分)
    请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。
1)下列软件系统结构图
的宽度为  1 
2  2  的任务是诊断和改正程序中的错误。
3)一个关系表的行称为   3 
4)按“先进后出”原则组织数据的数据结构是 4 
5)数据结构分为线性结构和非线性结构,带链的队列属于  5 
6)描述“X是小于100的非负整数”的Visual Basic表达式是 6
7)在窗体上有一个名称为Command1的命令按钮和一个名称为Text1的文本框。程序运行后,Command1为禁用(灰),此时如果在文本框中输入字符,则命令按钮Command1变为可用。请填空。
Private Sub Form_Load()
    Command1.Enabled = False
End Sub
Private Sub Text1_ 7 ()   
    Command1.Enabled = True
End Sub
8)在窗体上画一个名称为“Command1”的命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()
    Dim a As String
    a = "123456789"
    For i = 1 To 5
        Print Space(6 - i); Mid$(a, 8 , 2 * i - 1)
    Next i
End Sub
    程序运行后,单击命令按钮,窗体上的输出结果是
    5
    456
  34567
  2345678
123456789
请填空。
9)以下程序的功能是:将一维数组A中的100个元素分别赋给二维数组B的每个元素并打印出来,要求把A(1)A(10)依次赋给B(1,1)B(1,10),把A(11)A(20)依次赋给B(2,1)B(2,10),……,把A(91)A(100)依次赋给B(10,1)B(10,10)。请填空。
Option Base 1
Private Sub Form_Click()
    Dim i As Integer, j As Integer
    Dim A(1 To 100) As Integer
    Dim B(1 To 10, 1 To 10) As Integer
    For i = 1 To 100
        A(i) = Int(Rnd * 100)
    Next i
    For i = 1 To  9
        For j = 1 To 10
            B(i, j) = 11
            Print B(i, j);
        Next j
        Print
    Next i
End Sub
   
10)在窗体上画一个名称为Combo1的组合框,然后画两个名称分别为Label1Label2,标题分别为“城市名称”和空白的标签。程序运行后,在组合框中输入一个新项目并按回车键,如果输入的项目在组合框的列表中不存在,则自动将其添加到组合框的列表中,并在Label2中给出提示“已成功添加新输入项。”,如图所示。如果输入的项目已存在,则在Label2中给出提示“输入项已在组合框中。”。请填空。
Private Sub Combo1_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        For i = 0 To Combo1.ListCount - 1
            If Combo1.Text = 乔迁之喜短信【12 Then
                Label2.Caption = "输入项已在组合框中。"
                Exit Sub
            End If
        Next i
        Label2.Caption = "已成功添加新输入项。"
        Combo1. 13 Combo1.Text
    End If
End Sub
11)在窗体上画一个命令按钮和一个文本框,其名称分别为Command1Text1,然后编写如下事件过程:
Private Sub Command1_Click()
    Dim inData As String
    Text1.Text = ""
    Open "d:\" For 14 As #1
    Do While 15
        Input #1, inData
        Text1.Text = Text1.Text + inData
    Loop
    Close  #1
End Sub
    程序的功能是,打开D盘根目录下的文本文件,读取它的全部内容并显示在文本框中。请填空。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。