posts - 70,comments - 80,trackbacks - 0
 

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

Visual Basic语言程序设计

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

20039

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

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

A) Visual Basic 是事件驱动型可视化编程工具

B) Visual Basic 应用程序不具有明显的开始和结束语句

C) Visual Basic 工具箱中的所有控件都具有宽度(Width)和高度(Height)属性

D) Visual Basic中控件的某些属性只能在运行时设置

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

A) 在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件

B) .BAS为扩展名的文件是标准模块文件

C) 窗体文件包含该窗体及其控件的属性

D) 一个工程中可以含有多个标准模块文件

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

A) 双击鼠标可以触发DblCLick事件

B) 窗体或控件的事件的名称可以由编程人员确定

C) 移动鼠标时,会触发MouseMove事件

D) 控件的名称可以由编程人员设定

(4) 以下不属于Visual Basic系统的文件类型是

A) .frm       B) .bat         C) .vbg         D) .vbp

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

A) 打开一个工程文件时,系统自动装入与该工程有关的窗体标准模块等文件

B) 保存Visual Basic程序时,应分别保存窗体文件及工程文件

C) Visual Basic应用程序只能以解释方式执行

D) 事件可以由用户引发,也可以由系统引发

(6) 以下能正确定义数据类型TelBook的代码是

A) Type TelBook                B) Type TelBook

Name As String*10             Name As String*10

TelNum As Integer             TelNum As Integer

End Type                       End TelBook

C) Type TelBook               D) Typedef TelBook

Name   String*10               Name   String*10

TelNum Integer                TelNum Integer

End Type TelBook               End Type

(7) 以下声明语句中错误的是

A) Const var 1=123             B) Dim var2=‘ABC’

C) Deflnt a-z                  D) Static var3 As Integer

(8) 设窗体上有一个列表框控件Listl,且其中含有若干列表项。则以下能表示当前被选中的列表项内容的是

A) Listl.List                  B) Listl.ListIndex

C) Listl.Index                 D) Listl.Text

(9) 程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是

A) MouseDown   B) MouseUp     C) Load         D) Click

(10) a=10, b=5, c=1, 执行语句Print a>b>c后,窗体上显示的是

A) True        B) False      C) 1            D) 出错信息

(11) 如果要改变窗体的标题,则需要设置的属性是

A) Caption     B) Name         C) BackColor    D) BorderStyle

(12) 以下能判断是否到达文件尾的函数是

A) BOF         B) LOC          C) LOF          D) EOF

(13) 如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是

A) 如果工种中含有Sub Main 过程,则程序一定首先执行该过程

B) 不能把标准模块设置为启动模块

C) Hide方法只是隐藏一个窗体,不能从内存中清除该窗体

D) 任何时刻最多只有一个窗体是活动窗体

(14) 窗体的MouseDown事件过程

Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)

4个参数,关于这些参数,正确的描述是

A) 通过Button 参数判定当前按下的是哪一个鼠标键

B) Shift参数只能用来确定是否按下Shift

C) Shift参数只能用来确定是否按下AltCtrl

D) 参数xy用来设置鼠标当前位置的坐标

(15) 设组合框Combol中有3个项目,则以下能删除最后一项的语句是

A) Combol.RemoveItem Text

B) Combol.RemoveItem    2

C) Combol.RemoveItem    3

D) Combol.RemoveItem Combol.Listcount

(16) 以下关于焦点的叙述中,错误的是

A) 如果文本框的TabStop 属性为False,则不能接收从键盘上输入的数据

B) 当文本框失去焦点时,触发LostFocus事件

C) 当文本框的Enabled 属性为False时,其Tab顺序不起作用C

D) 可以用TabIndex属性改变Tab顺序

(17) 如果要在菜单中添加一个分隔线,则应将其Caption属性设置为

A) =            B) *            C) &              D) -

(18) 执行语句Open“Tel.dat”For Random As #l Len=50后,对文件Tel.dat中的数据能够执行的操作是

A) 只能写,不能读            B) 只能读,不能写

C) 既可以读,也可以写        D) 不能读,不能写

(19) 在窗体上画一个名称为Commandl的命令按钮和两个名称分别为TextlText2的文本框,然后编写如下事件过程:

Private Sub Command1_Click()

n=Text1.Text

Select Case n

Case 1 To 20

x=10

Case 2, 4, 6

x=20

Case Is <10

x=30

Case 10

x=40

End Select

Text2.Text=x

End Sub

程序运行后,如果在文本框Text1中输入10,然后单击命令按钮,则在Text2中显示的内容是

A) 10         B) 20           C) 30           D) 40

(20) 设有以下循环结构

Do

循环体

 Loop While<条件>

则以下叙述中错误的是

A)若“条件是一个为0的常数,则一次也不执行循环体

B) “条件“可以是关系表达式、逻辑表达式或常数

C) 循环体中可以使用Exit Do 语句

D) 如果“条件”总是为True,则不停地执行循环体

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

Private Sub Command1_Click()

Dim num As Integer

num =1

Do Until num>6

Print num;

num=num+2.4

Loop

End Sub

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

A) 1  3.4   5.8               B) 1    3     5

C) 1  4     7                 D) 无数据输出

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

Private   Sub Command1_ Click()

Dim a As Integer, s As Integer

a=8

s=1

Do

s=s+a

a=a-1

Loop While a <=0

Print s; a

End Sub

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

A) 7   9       B) 34   0       C) 9   7       D) 死循环

(23) 设有如下通用过程:

Public Function f(x As Integer)

Dim y As Integer

x=20

y=2

f=x*y

End Function

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

Private Sub Command1_Click()

Static x As Integer

x=10

y=5

y=f(x)

Print x;y

End Sub

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

A) 10    5                     B) 20    5

C) 20   40                     D) 10   40

(24) 设有如下通用过程:

Public Sub Fun (a(),ByVal 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 Variant

For i=1 To 5

arr(i)=i

Next

n=10

Call Fun(arr(),n)

Text1.Text=n

End Sub

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

A) 10          B) 15           C) 25           D) 24

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

Option Base 1

Private Sub Command1_Click()

d=0

c=10

x=Array(10, 12, 21, 32, 24)

For i= 1 To 5

If x(i) > c Then

d=d+x(i)

c=x(i)

Else

d=d-c

End If

Next i

Print d

End Sub

程序运行后,如果单击命令按钮,则在窗体上输出的内容为

A) 89         B) 99           C) 23             D) 77

(26) 在窗体上画两个滚动条,名称分别为Hscroll1Hscroll2;六个标签,名称分别为Labe11Labe12Labe13Labe14Labe15Labe16、其中标签Labe14~Labe16分别显示“A”、“B”、“A*B”等文字信息,标签Labe11Labe12分别显示其右侧的滚动条的数值,Labe13显示A*B的计算结果。如图所示。当移动滚动框时,在相应的标签中显示滚动条的值。当单击命令按钮“计算”时,对标签Labe11Labe12中显示的两个值求积,并将结果显示在Labe13中。以下不能实现上述功能的事件过程是


A) Private Sub Command1_Click()

Labe13.Caption=Str(Val(Label1.Caption)*Val(Label2.Caption))

End Sub

B) private Sub Command1_Click()

Labe13.Caption= Hscro1ll.Value* Hscroll2.Value

End Sub

C) Private Sub Commandl_Click()

Label3.Caption=Hscroll1*Hscroll2

End Sub

D) Private Sub Command1_ Click()

Label3.Caption=Hscroll1.Text*Hscroll2.Text

End Sub

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

Private Sub Commandl_Click()

For n=1 To 20

If n Mod 3 <> 0 Then m=m+n\3

Next n

Print n

End Sub

程序运行后,如果单击命令按钮,则窗体上显示的内容是

A) 15          B) 18           C) 21          D) 24

(28) 在窗体上画一个名称为Textl的文本框,并编写如下程序:

Private Sub Form_Load()

Show

Textl.Text=""

Textl.SetFocus

End Sub

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

Print "程序设计"

End Sub

Private Sub Textl_KeyDown(KeyCode As Integer,Shift As Integer)

Print“ Visual Basic”

End Sub

程序运行后,如果按“A”键,然后单击窗体,则在窗体上显示的内容是

A) Visual Basic               B) 程序设计

C) A程序设计                   D) Visual Basic 程序设计

(29) 设有如下程序:

Private Sub Comandl_Click()

Dim sum As Double,x As Double

sum=0

n=0

For i= 1 To 5

x=n/i

n=n+1

sum=sum+x

Next

End Sub

该程序通过For循环计算一个表达式的值,这个表达式是

A) 1+1/2+2/3+3/4+4/5           B) 1+1/2+2/3+3/4

C) 1/2+2/3+3/4+4/5             D) 1+1/2+1/3+1/4+1/5

(30) 以下有关数组定义的语句序列中,错误的是

A) Static arrl(3)             B) Dim arr2() As Integer

arrl(1)=100                    Dim size As Integer

arrl(2)="Hello"                Private Sub Command2_Click()

arrl(3)=123.45                    size=Input Box("输入:")

                                          ReDim arr2(size)

……

End Sub

C) Option Base 1               D) Dim n As Integer

Private Sub Command3_Click()   Private Sub Command4_Click()

Dim arr3(3) As Integer            Dim arr4(n) As Integer

……                              ……

End Sub                        End Sub

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

(1) 执行下面的程序段后,i的值为 1s的值为2

s=2

For i=3.2 To 4.9 Step 0.8

s=s+1

Next i

(2) 把窗体的KeyPreview 属性设置为True,然后编写如下两个事件过程:

Private Sub Form _KeyDown (KeyCode As Integer, Shift As Integer)

Print Chr(KeyCode)

End Sub

Private Sub Form _KeyPress (KeyAscii As Integer)

Print Chr(KeyAscii)

End Sub

程序运行后,如果直接按键盘上的“A”键(即不按住Shift),则在窗体上输出的字符分别是34 

(3) 在窗体上画一个标签(名称为Label1)和一个计时器(名称为Timer1),然后编写如下几个事件过程:

Private Sub Form_Load()

Timer1.Enabled= False

Timer1.Interval= 5

End Sub

Private Sub Form_Click()

Timer1.Enabled= 6

End Sub

Private Sub Timer1_Timer()

Label1.Caption= 7  

End Sub

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


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

Private Sub Commandl_Click()

S$=InputBox("请输入一个字符串")

Textl.Text=S$

End Sub

Privbue Sub Teial_Change()

Labell.Coption=Ucase(Mid(Textl.Text,7))

End Sub

程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串“VisuaIBasic”,则在标签中显示的内容是  【8

(5) 在窗体上画一个列表框、一个命令按钮和一个标签,其名称分别为List1Command1Label1,通过属性窗口把列表框中的项目设置为:“第一个项目”、“第二个项目”、“第三个项目”,第四个项目”。程序运行后,在列表框中选择一个项目,然后单击命令按钮,即可将所选择的项目删除,并在标签中显示列表当前的项目数,运行情况如图所示(选择“第三个项目”的情况)。下面是实现上述功能的程序,请填空

Printe Sub Commandl_Chich()

If List1 ListIndex >= 9 Then

List1.RemoveItem 10 

Label1.Caption= 11 

Else

MsgBox "请选择要删除的项目"

End If

End Sub

(6) 设有程序:

Option Base 1

Private Sub Command1_Chick()

Dim arr1, Max as Integer

arrl=Array(12,435,76,24,78,54,866,43)

12 =arrl(1)

For i=1 To 8

If arrl(i)> Max Then 13

Next i

Print "最大值是:";Max

End Sub

以上程序的功能是:用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中元素的最大值请填空

(7) 以下程序的功能是:把当前目录下的顺序文件smtextl.txt的内容读入内存,并在文本框Textl中显示出来。请填空

Private Sub Command1_Click()

Dim inData As String

Text1.Text=""

Open ".\smtext1.txt" 14 As #1

Do While   15 

Input #1,inData

Text1.Text=Text1.Text&inData

Loop

Close #1

End Sub

posted on 2007-09-24 14:39 木子李 阅读(185) 评论(0)  编辑 收藏 引用 网摘 所属分类: 全国计算机等级考试二级(VB和ACCESS)

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