posts - 70,comments - 80,trackbacks - 0
 

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

Visual Basic语言程序设计

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

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

(1)    以下不能在“工程资源管理器”窗口中列出的文件类型是

A) .bas    B) .res         C) .frm         D) .ocx

(2)    以下关于窗体的描述中,错误的是

A) 执行Unload Form1语句后,窗体Form1消失,但仍在内存中

B) 窗体的Load事件在加载窗体时发生

C) 当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止

D) 窗体的HeightWidth属性用于设置窗体的高和宽

(3)    下列可作为Visual Basic变量名的是

AA#A         B4A           C?xy          D) constA

(4)    设有如下的记录类型

Type Student

Number As String

Name As String

Age As Integer

End Type

则正确引用该记录类型变量的代码是

A) Student.name="张红"         B) Dim s As Student

s.name="张红"

C) Dim s As Type Student       D) Dim s As Type

s.name="张红"                  s.name="张红"

(5)    函数String(n, "str")的功能是

A) 把数值型数据转换为字符串

B) 返回由n个字符组成的字符串

C) 从字符串中取出n个字符

D) 从字符串中第n个字符的位置开始取子字符串

(6)    将数学表达式Cos2(a+b)+5e2写成Visual Basic的表达式,其正确的形式是

A) Cos(a+b)^2+5*exp(2)         B) Cos^2(a+b)+5*exp(2)

C) Cos(a+b)^2+5*ln(2)          D) Cos^2(a+b)+5*ln(2)

(7)    在窗体上画一个命令按钮,名称为Command1。单击命令按钮时,执行如下事件过程:

Private Sub Command1_Click()

a$="software and hardware"

b$=Right(a$,8)

c$=Mid(a$,1,8)

MsgBox a$,,b$,c$,1

End Sub

则在弹出的信息框的标题栏中显示的信息是

A) software and hardwar B) software     C) hardware     D) 1

(8)    执行如下语句

a=InputBox("Today","Tomorrow","Yesterday",,,"Day before yesterday",5)

将显示一个输入对话框,在对话框的输入区中显示的信息是

A) Today   B) Tomorrow     C) Yesterday    D) Day before Yesterday

(9)    表示滚动条控件取值范围最大值的属性是

A) Max     B) LargeChange      C) Value        D) Max-Min

(10)   在窗体上画一个名称为List1的列表框,一个名称为Label1的标签。列表框中显示若干城市的名称。当单击列表框中的某个城市名时,在标签中显示选中城市的名称。下列能正确实现上述功能的程序是

A) Private Sub List1_Click()       B) Private Sub List1_Chilk()

Label1.Caption=List1.ListIndex    Label1.Name=List1.ListIndex

End Sub                           End Sub

C) Private Sub List1_click()       D) Private Sub List1_Click()

Label1.Name=List1.Text            Label1.Caption=List1.Text

End Sub                           End Sub

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

Private Sub Command1_Click()

x=0

n=InputBox("")

For i=1 To n

For j=1 Toi

x=x+1

Next j

Next i

Print x

End Sub

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

A3               B4                C5                D6

(12)   以下关于菜单的叙述中,错误的是

A) 在程序运行过程中可以增加或减少菜单项

B) 如果把一个菜单项的Enabled属性设置为False,则可删除该菜单项

C)弹出式菜单在菜单编辑器中设计

D)利用控件数组可以实现菜单项的增加或减少

(13)   在窗体上画三个单选按钮,组成一个名为chkOption的控件数组。用于标识各个控件数组元素的参数是

A) Tag             B) Index            C) ListIndex        D) Name

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

Option Base 0

Private Sub Command1_Click()

Dim city As Variant

City=Array("北京""上海""天津""重庆")

Print city(1)

End Sub

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

A)空白        B) 错误提示         C) 北京             D) 上海

(15)   假定有以下函数过程:

Function Fun(S As String)As String

Dim s1 As String

For i=1 To Len(S)

s1=UCase(Mid(S,i,1))+s1

Next i

Fun=s1

End Function

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

Private Sub Command1_Click()

Dim Str1 As String,Str2 As String

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

Str2=Fun(Str1)

Print Str2

End Sub

程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上输出结果为

Aabcdefg         BABCDEFG          Cgfedcba          DGEFDCBA

(16)   设有语句

Open"c:\Test.Dat"For Output As#1

则以下错误的叙述是

A)该语句打开C盘根目录下一个已存在的文件Test.Dat

B)该语句在C盘根目录下建立一个名为Test.Dat的文件

C)该语句建立的文件的文件号为1

D)执行该语句后,就可以通过Print#语句向文件Test.Dat中写入信息

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

A)用Shell函数可以调用能够在Windows下运行的应用程序

B)用Shell函数可以调用可执行文件,也可以调用Visual Basic的内部函数

C)调用Shell函数的格式应为:<变量名>=Shell(……)

D)用Shell函数不能执行DOS命令

(18)   以下关于过程及过程参数的描述中,错误的是

A) 过程的参数可以是控件名称

B) 用数组作为过程的参数时,使用的是“传地址”方式

C) 只有函数过程能够将过程中处理的信息传回到调用的程序中

D) 窗体可以作为过程的参数

(19)   在窗体上画一个名称为TxtA的文本框,然后编写如下的事件过程:

Private Sub TxtA_KeyPress(keyascii as integer)

……

End Sub

若焦点位于文本框中,则能够触发KeyPress事件的操作是

A) 单击鼠标                    B) 双击文本框

C) 鼠标滑过文本框                  D) 按下键盘上的某个键

(20)   目录列表框的Path属性的作用是

A)显示当前驱动器或指定驱动器上的路径

B)显示当前驱动器或指定驱动器上的某目录下的文件名

C)显示根目录下的文件名

D)只显示当前路径下的文件

(21)   假设有如下事件过程

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

 If Button=2 Then

      PopupMenu popForm

 End If

End Sub

则以下描述中错误的是

A) 该过程的功能是弹出一个菜单

B) popForm是在菜单编辑器中定义的弹出式菜单的名称

C) 参数XY指明鼠标的当前位置

D) Button=2表示按下的是鼠标左键

(22)   以下能够正确计算n!的程序是

A) Private Sub Command1_Click()

n=5:x=1

Do

x=x*i

i=i+1

Loop While i<n

Print x

End Sub

B) Private Sub Command1_Click()

n=5:x=1:i=1

Do

x=x*i

i=i+1

Loop While i<n

Print x

End Sub

C) Private Sub Command1_Click()

n=5:x=1:i=1

Do

x=x*i

i=i+1

Loop While i<=n

Print x

End Sub

D) Private Sub Command1_Click()

n=5:x=1:i=1

Do

x=x*i

i=i+1

Loop While i>n

Print x

End Sub

(23)   在窗体上画一个名称为Command1的命令按钮,再画两个名称分别为Label1Label2的标签,然后编写如下程序代码:

Private X As Integer

Private Sub Command1_Click()

X=5:Y=3

Call Proc(X,Y)

Label1.Caption= X

Label2.caption=Y

End Sub

 

Private Sub proc(ByVal a As Integer,ByVal b As Integer)

X=a*a

Y=b+b

End Sub

程序运行后,单击命令按钮,则两个标签中显示的内容分别是

A53           B253           C256           D56

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

Private Sub Command1_Click()

s=0

For i=1 To 15

x=2*i-1

If x Mod 3=0 Then s=s+1

Next i

Label1.Caption=s

End Sub

程序运行后,单击命令按钮,则标签中显示的内容是

A) 1               B) 5                C) 27               D) 45

(25)   在窗体上画一个名称为Command1的命令按钮和三个名称分别为Label1Label2Label3的标签,然后编写如下代码

Private x As Integer

Private Sub Command1_Click()

Static y As Integer

Dim z As Integer

n=10

z=n+z

y=y+z

x=x+z

Label1.caption=x

Label2.caption=y

Label3.caption=z

End Sub

运行程序,连续三次单击命令按钮后,则三个标签中显示的内容分别是

A) 10 10 10    B) 30 30 30         C) 30 30 10     D) 10 30 30

(26)   设在窗体上有一个名称为Command1的命令按钮,并有以下事件过程

Private Sub Command1_Click()

Static b As Variant

b=Array(1,3,5,7,9)

……

End Sub

此过程的功能是把数组b中的5个数逆序存放(即排列为9,7,5,3,1)。为实现此功能,省略号处的程序段应该是

A) For i=0 to 5-1\2

tmp=b(i)

b(i)=b(5-i-1)

b(5-i-1)=tmp

Next

B) For i=0 to 5

tmp=b(i)

b(i)=b(5-i-1)

b(5-i-1)=tmp

Next

C) For i=0 to 5\2

tmp=b(i)

b(i)=b(5-i-1)

b(5-i-1)=tmp

Next          

D) For i=0 to 5\2

tmp=b(i)

b(i)=b(5-i-1)

b(5-i-1)=tmp

Next

(27)   在窗体上画一个名称为Drive1的驱动器列表框,一个名称为Dir1的目录列表框,一个名称为File1的文件列表框,两个名称分别为Label1Label2,标题分别为空白和“共有文件”的标签。编写程序,使得驱动器列表框与目录列表框、目录列表框与文件列表框同步变化,并且在标签Label1中显示当前文件夹中文件的数量。如图所示

 

 

能够正确实现上述功能的程序是

A) Private Sub Dir1_Change()

File.Path=Dir1.Path

End Sub

Private Sub Drive1_Change()

Dir1.Path=Drivel.Drive

Label1.Caption=File1.ListCount

End Sub

B) Private Sub Dir1_Change()

File.Path=Dir1.Path

End Sub

Private Sub Drive1_Change()

Dir1.Path=Drivel.Drive

Label1.Caption=File1.list

End Sub

C) Private Sub Dir1_Change()

File1.Path=Dir1.Path

Label1.Caption=File1.ListCount

End Sub

Private Sub Drive1_Change()

Dir1.Path=Drivel.Drive

Label1.Caption=File1.ListCount

End Sub

D) Private Sub Dir1_Change()

File.Path=Dir1.Path

Label1.Caption=File1.List

End Sub

Private Sub Drive1_Change()

Dir1.Path=Drivel.Drive

Label1.Caption=File1.List

End Sub

(28)   一个工程中包含两个名称分别为Form1Form2的窗体,一个名称md1Func的标准模块。假定在Form1Form2mdlFunc中分别建立了自定义过程,其定义格式为:

Form1中定义的过程:

Private Sub frmFunction1()

……

End Sub

Form2中定义的过程

Public Sub frmFunction2()

……

End Sub

mdlFunc中定义的过程:

Public Sub md1Function()

……

End Sub

在调用上述过程的程序中,如果不指明窗体或模块的名称,则以下叙述中正确的是

A)上述三个过程都可以在工程中的任何窗体或模块中被调用

BfrmFunction2mdlFunction过程能够在工程中各个窗体或模块中被调用

C)上述三个过程都只能在各自被定义的模块中调用

D)只有md1Function过程能够被工程中各个窗体或模块调用

(29)   窗体上有两个名称分别为Text1Text2的文本框,一个名称为Command1的命令按钮。运行后的窗体外观如图所示。

 

设有如下的类型声明

Type Person

name As String*8

major As String*20

End Type

当单击“保存”按钮时,将两个文本框中的内容写入一个随机文件Test29.dat中。设文本框中的数据已正确地赋值给Person类型的变量P。则能够正确地把数据写入文件的程序段是

A) Open"c:\Test29.dat"For Random As#1

Put#1,1,p

Close#1

B) Open"c:\Test29.dat"For Random As#1

Get#1,1,p

Close#1

C) Open"c:\Test29.dat"For Random As#1 Len=Len(p)

Put#1,1,p

Close#1

D) Open"c:\Test29.dat"For Random As#1 Len=Len(p)

Get#1,1,p

Close#1

(30)   在窗体上画一个名称为CommonDialog1的通用对话框,一个名称为Command1的命令按钮。要求单击命令按钮时,打开一个保存文件的通用对话框。该窗口的标题为“Save”,缺省文件名为“Savefile”,在“文件类型”栏中显示*.txt。则能够满足上述要求的程序是

A) Private Sub Command1_Click()

CommonDialog1.FileName="SaveFile"

CommonDialog1.Filter="All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"

CommonDialog1.FilterIndex=2

CommonDialog1.DialogTitle="Save"

CommonDialog1.Action=2

End Sub

B) Private Sub Command1_Click()

CommonDialog1.FileName="SaveFile"

CommonDialog1.Filter="All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"

CommonDialog1.FilterIndex=1

CommonDialog1.DialogTitle="Save"

CommonDialog1.Action=2

End Sub

C) Private Sub Command1_Click()

CommonDialog1.FileName="Save"

CommonDialog1.Filter="All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"

CommonDialog1.FilterIndex=2

CommonDialog1.DialogTitle="SaveFile"

CommonDialog1.Action=2

End Sub

D) Private Sub Command1_Click()

CommonDialog1.FileName="SaveFile"

CommonDialog1.Filter="All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"

CommonDialog1.FilterIndex=1

CommonDialog1.DialogTitle="Save"

CommonDialog1.Action=1

End Sub

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

(1)    Visual Basic中有一种控件组合了文本框和列表框的特性,这种控件是1 。

(2)    Visual Basic提供的对数据文件的三种访问方式为随机访问方式、2和二进制该问方式。

(3)    执行下面的程序段后,变量S的值为3

S=5

For i=2.6 To 4.9 Step 0.6

S=S+1

Next i

(4)    为了在运行时把d:\pic文件夹下的图形文件a.jpg装入图片框Picture1,所使用的语句为4

(5)    计时器控件能有规律的以一定时间间隔触发5 事件,并执行该事件过程中的程序代码。

(6)    以下程序的功能是:生成20200300之间的随机整数,输出其中能被5整除的数并求出它们的和。请填空

Private Sub Command1_Click()

For i=1 To 20

x=Int( 6 *200+100)

If 7 =0 Then

Print x

S=S+ 8 

End if

Next i

Print"Sum=";S

End Sub

(7)      设有如下程序

Private Sub Form_Click()

Dim a As Integer,b As Integer

a=20:b=50

p1 a,b

p2 a,b

p3 a,b

print "a=";a, "b=";b

End Sub

Sub p1(x As Inteer,ByVal y As Integer)

x=x+10

y=y+20

End Sub

Sub p2(ByVal x As Integer,y As Integer)

x=x+10

y=y+20

End Sub

Sub p3(ByVal x As Integer,y As Integer)

x=x+10

y=y+20

End Sub

该程序运行后,单击窗体,则在窗体上显示的内容是:a= 【9】 b= 【10】 

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

Private Sub Command1_Click()

Dim a As String

a= 11 

For i=1 to 5

Print Space(6-i);Mid$(a,6-i,2*i-1)

Next i

End Sub

程序运行后,单击命令按钮,要求窗体上显示的输出结果为

5

456

34567

2345678

123456789

请填空

(9)    在窗体上画一个名称为Combo1的组合框,画两个名称分别Label1Label2Caption属性分别为“城市名称”和空白的标签。程序运行后,当在组合框中输入一个新项后按回车键(ASCII码为13)时,如果输入的项在组合框的列表中不存在,则自动添加到组合框的列表中,并在Label2中给出提示“已成功添加输入项”如图所示;如果存在,则在Lable2中给出提示“输入项已在组合框中”。请在12】、【13】和【14】处将程序补充完整。

 

 

Private Sub Combo1_  12 (KeyAscii As Integer)

If KeyAscii=13 Then

For i=0 To Combo1.ListCount-1

If Combo1.Text= 13 Then

Label2.Caption="输入项已在组合框中"

Exit Sub

End if

Next i

Label2.Caption="已成功添加输入项"

Combo1.  14 Combo1.Text

End if

End Sub

(10)     设有如下程序

Private Sub search(a() As Variant,ByVal Key As Variant,Index%)

Dim I%

For I=LBound(a) To UBound(a)

If key=a(I) Then

index=I

Exit Sub

End if

Next I

Index=-1

End Sub

Private Sub Form_Load()

Show

Dim b() As Variant

Dim n As Integer

b=Array(1,3,5,7,9,11,13,15)

Call search(b,11,n)

Print n

End Sub

程序运行后,输出结果是 【15】 

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

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