posts - 70,comments - 80,trackbacks - 0
 

全国计算机等级考试二级笔试试卷

Visual Basic语言程序设计

(考试时间90分钟,满分100分)

200443

一、选择题((1)(20)每小题2分,(21)(30)每小题3分,共70分)
下列各题 A) B)C)D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

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

       Private Sub Command1_Click()

              Move 500500

       End Sub

       程序运行后,单击命令按钮,执行的操作为

A) 命令按钮移动到距窗体左边界、上边界各500的位置

B) 窗体移动到距屏幕左边界、上边界各500的位置

C) 命令按钮向左、上方向各移动500

D) 窗体向左、上方向各移动500

(2) 在窗体上有若干控件,其中有一个名称为Text1的文本框。影响Text1Tab顺序的属性是

A) TabStop                 B)Enabled

C) Visible                 D)TabIndex

(3) 以下定义数组或给数组元素赋值的语句中,正确的是

A)    Dim a As Variant

a=Array(1,2,3,4,5)

B)    Dim a(10) As Integer

a=Array(1,2,3,4,5)

C) Dim a%(10)

a(1)="ABCDE"

D) Dim a(3),b(3) As Integer

a(0)=0

a(1)=1

a(2)=2

b=a

                

 (4) 在窗体上画一个名称为List1的列表框,为了对列表框中的每个项目都能进行处理,应使用的循环语句为

A) For i=0 To List1.ListCount-1

……

Next

B) For i=0 To ListCount-1

……

Next

C) For i=1 To List1.listCount

……

Next

D) For i=1 To ListCount

……

Next

(5) 以下Case语句中错误的是

A) Case 0 To 10                B) Case Is>10

C) Case Is>10 And Is<50        D) Case 3,5,Is>10

(6) 以下关于图片框控件的说法中,错误的是

A) 可以通过Print方法在图片框中输出文本

B) 清空图片框控件中图形的方法之一是加载一个空图形

C) 图片框控件可以作为容器使用

D) Stretch属性可以自动调整图片框中图形的大小

(7) 执行语句s=Len(Mid("VisualBasic",1,6))后,s的值是

A) Visual      B) Basic        C) 6        D) 11

(8) 以下叙述中错误的是

A) 下拉式菜单和弹出式菜单都用菜单编辑器建立

B) 在多窗体程序中,每个窗体都可以建立自己的菜单系统

C) 除分隔线外,所有菜单项都能接收Click事件

D) 如果把一个菜单项的Enabled属性设置为False,则该菜单项不可见

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

       Private Sub Command1_Click()

        a = 12345

Print Format$(a, "000.00")

End Sub

程序运行后,单击命令按钮,窗体上显示的是

A) 123.45      B) 12345.00         C) 12345       D)00123.45

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

A) 一个工程可以包括多种类型的文件

B) Visual Basic应用程序既能以编译方式执行,也能以解释方式执行

C) 程序运行后,在内存中只能驻留一个窗体

D) 对于事件驱动型应用程序,每次运行时的执行顺序可以不一样

(11) 以下关于函数过程的叙述中,正确的是

A) 函数过程形参的类型与函数返回值的类型没有关系

B) 在函数过程中,过程的返回值可以有多个

C) 当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递

D) 如果不指明函数过程参数的类型,则该参数没有数据类型

(12) 以下关于变量作用域的叙述中,正确的是

A) 窗体中凡被声明为Private的变量只能在某个指定的过程中使用

B) 全局变量必须在标准模块中声明

C) 模块级变量只能用Private关键字声明

D) Static类型变量的作用域是它所在的窗体或模块文件

(13) 确定一个控件在窗体上的位置的属性是

A) WidthHeight                      B) WidthHeight

C) TopLeft                         D) TopLeft

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

              Private Sub Command1_Click()

           Text1.Text = "Visual"

    Me.Text1 = "Basic"

    Text1 = "Program"

End Sub

程序运行后,如果单击命令按钮,则在文本框中显示的是

A) Visual      B) Basic        C) Program      D) 出错

(15) 以下关系表达式中,其值为False的是

A) "ABC">"AbC"                     B) "the"<>"they"

C) "VISUAL"=UCase("Visual")            D) "Integer">"Int"

(16) 语句Print 5/4*6\5 Mod 2的输出结果是

A) 0           B) 1           C) 2            D) 3

(17) 在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为Text1Label1Command1,然后编写如下两个事件过程:

Private Sub Command1_Click()

      strText = InputBox("请输入")

      Text1.Text = strText

End Sub

 

Private Sub Text1_Change()

      Label1.Caption = Right(Trim(Text1.Text), 3)

End Sub

程序运行后,单击命令按钮,如果在输入对话框中输入abcdef,则在标签中显示的内容是

A)            B) abcdef            C) abc              D) def

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

Private Sub Command1_Click()

x = -5

If Sgn(x) Then

      y = Sgn(x ^ 2)

Else

      y = Sgn(x)

End If

Print y

End Sub

程序运行后,单击命令按钮,窗体上显示的是

A) -5      B) 25           C) 1           D) -1

(19) 一个工程中含有窗体Form1Form2和标准模块Model1,如果在Form1中有语句Pubilc X As Integer,在Model1中有语句Pubilc Y As Integer,则以下叙述中正确的是

A) 变量XY的作用域相同      B) Y的作用域是Model1

C) Form1中可以直接使用X D) Form2中可以直接使用XY

(20) 在窗体上画一个名称为Drive1的驱动器列表框,一个名称为Dir1的目录列表框。当改变当前驱动器时,目录列表框应该与之同步改变。设置两个控件同步的命令放在一个事件过程中,这个事件过程是

ADrive1_Change               B) Drive1_Click

C) Dir1_Click                  D) Dir1_Change

(21) 在窗体上画一个命令按钮(其NAME属性为Command1),然后编写如下代码:

Option Base 1

Private Sub Command1_Click()

    Dim a

    s = 0

    a = Array(1,2,3,4)

    j = 1

    For i = 4 To 1 Step -1

        s = s + a(i) * j

        j = j * 10

    Next i

    Print s

End Sub

运行上面的程序,单击命令按钮,其输出结果是

A) 4321            B) 1234         C) 34           D) 12

(22) 在窗体上画一个名称为Text1的文本框,要求文本框只能接收大写字母的输入。以下能实现该操作的事件过程是

A) Private Sub Text1_KeyPress(KeyAscii As Integer)

    If KeyAscii < 65 Or KeyAscii > 90 Then

        MsgBox "请输入大写字母"

        KeyAscii = 0

    End If

End Sub

B) Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

    If KeyCode < 65 Or KeyCode > 90 Then

        MsgBox "请输入大写字母"

        KeyCode = 0

    End If

End Sub

C) Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

   If Asc(Text1.Text) < 65 Or Asc(Text1.Text) > 90 Then

        MsgBox "请输入大写字母"

   End If

End Sub

D) Private Sub Text1_Change()

    If Asc(Text1.Text) > 64 And Asc(Text1.Text) < 91 Then

        MsgBox "请输入大写字母"

    End If

End Sub

(23) 假定在窗体(名称为Form1)的代码窗口中定义如下记录类型:

Private Type animal

    AnimalName As String*20

    AColor As String*10

End Type

在窗体上画一个名称为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

则以下叙述中正确的是

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

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

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

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

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

Private Sub Command1_Click()

    n = Val(Text1.Text)

    If n\2 = n/2 Then

        f = f1(n)

    Else

        f = f2(n)

    End If

    Print f; n

End Sub

 

Public Function f1(ByRef x)

    x=x*x

    f1=x+x

End Function

 

Public Function f2(ByVal x)

    x=x*x

    f2=x+x+x

End Function

程序运行后,在文本框中输入6,然后单击命令按钮,窗体上显示的是

A) 72 36      B) 108 36      C) 72   6       D) 108 6

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

Private Sub Command1_Click()

    c = 1234

    c1 = Trim(Str(c))

    For i = 1 To 4

        Print            

    Next

End Sub

程序运行后,单击命令按钮,要求在窗体上显示如下内容

1

12

123

1234

则在下划线处应填入的内容为

A) Right(c1,i) B) Left(c1,i) C) Mid(c1,i,1)   D) Mid(c1,i,i)

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

Private Sub Command1_Click()

    n = Val(Text1.Text)

    For i = 2 To n

        For j = 2  To  sqr(i)

            If  i  Mod  j = 0 Then Exit For

        Next j

        If  j > Sqr(i)  Then  Print  i

    Next i

End Sub

该事件过程的功能是

A) 输出n以内的奇数           B) 输出n以内的偶数

C) 输出n以内的素数           D) 输出n以内能被j整除的数

(27) 在以下描述中正确的是

A) 标准模块中的任何过程都可以在整个工程范围内被调用

B) 在一个窗体模块中可以调用在其他窗体中被定义为Public的通用过程

C) 如果工程中包含Sub Main过程,则程序将首先执行该过程

D) 如果工程中不包含Sub Main过程,则程序一定首先执行第一个建立的窗体

(28) 在窗体上画一个名称为Command1的命令按钮,然后编写如下通用过程和命令按钮的事件过程:

Private Function f(m As Integer)

    If m Mod 2 = 0 Then

        f = m

    Else

        f = 1

    End If

End Function

Private Sub Command1_Click()

    Dim i As Integer

    s = 0

    For i = 1 To 5

        s = s + f(i)

    Next

    Print s

End Sub

程序运行后,单击命令按钮,在窗体上显示的是

A) 11          B) 10           C) 9            D) 8

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

Private Sub Command1_Click()

    Dim array1(10, 10) As Integer

    Dim i As Integer, j As Integer

    For i = 1 To 3

        For j = 2 To 4

            array1(i, j) = i + j

        Next j

    Next i

    Text1.Text = array1(2, 3) + array1(3, 4)

End Sub

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

A) 15          B) 14           C) 13           D) 12

(30) 在窗体上画四个文本框(如图所示),并用这四个文本框建立一个控件数组,名称为Text1(下标从0开始,自左至右顺序增大),然后编写如下事件过程: 


Private Sub Command1_Click()

    For Each TextBox In Text1

        Text1(i) = Text1(i).Index

        i = i + 1

    Next

End Sub

程序运行后,单击命令按钮,四个文本框中显示的内容分别为

A) 0 1 2 3                 B) 1 2 3 4

C) 0 1 3 2                 D) 出错信息

二、填空题(每空2分,共30)
请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。

(1) Visual Basic应用程序中标准模块文件的扩展名是1

(2) 在菜单编辑器中建立一个菜单,其主菜单项的名称为mnuEditVisible属性为False,程序运行后,如果用鼠标右键单击窗体,则弹出与mnuEdit相应的菜单。以下是实现上述功能的程序,请填空。

Private Sub Form 2 (Button As Integer, Shift As Integer, X As Single, Y As Single)

If Button=2 Then

    3 mnuEdit

End If

End Sub

(3) 为了使计时器控件Timer1每隔0.5秒触发一次Timer事件,应将Timer1控件的4属性设置为5 。

(4) 与数学表达式 对应的Visual Basic表达式是6 。

(5) C盘根目录下的图形文件moon.jpg装入图片框Picture1的语句是7 。

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


Private Sub Option1_Click(Index As Integer)

    Select Case 8

        Case 0

            a = "宋体"

        Case 1

            a = "黑体"

        Case 2

            a = "楷体_GB2312"

    End Select

    text1. 9】 =a

End Sub

 (7) 在窗体上画两个组合框,其名称分别为Combo1Combo2,然后画两个标签,名称分别为Label1Label2,如图所示,程序运行后,如果在某个组合框中选择一个项目,则把所选中的项目在其下面的标签中显示出来。请填空。


Private Sub Combo1_Click()

    Call ShowItem(Combo1, Label1)

End Sub

 

Private Sub Combo2_Click()

    Call ShowItem(Combo2, Label2)

End Sub

 

Public Sub ShowItem(tmpCombo As ComboBox, tmpLabel As Label)

    10.Caption =11.Text

End Sub

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

Private Sub Command1_Click()

    n = 5

    f = 1

    s = 0

    For i = 1 To n

        f = f12

        s = s + f

    Next

    Print s

End Sub

该事件过程的功能是计算

的值。请填空。

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

Option Base 1

Private Sub Command1_Click()

    Dim a(10) As Integer

    For i = 1 To 10

        a(i) = i

    Next

    Call swap( 13 )

    For i = 1 To 10

        Print a(i);

    Next

End Sub

Sub swap(b() As Integer)

    n = 14

    For i = 1 To n / 2

        t = b(i)

        b(i) = b(n)

        b(n) = t

        15

    Next

End Sub

上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(1)a(10)的值互换,a(2)a(9)的值互换,……,a(5)a(6)的值互换。请填空。
posted on 2007-09-24 15:08 木子李 阅读(146) 评论(0)  编辑 收藏 引用 网摘 所属分类: 全国计算机等级考试二级(VB和ACCESS)

只有注册用户登录后才能发表评论。