posts - 70,comments - 80,trackbacks - 0
 

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

Visual Basic语言程序设计

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

20049

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

(1) 设窗体上有一个文本框,名称为text1,程序运行后,要求该文本框只能显示信息,不能接受输入的信息,以下能实现该操作的语句是

A) Text1.MaxLength=0          B) Text1.Enabled=Flase

C) Text1.Visible=Flase             D) Text1.Width=0

(2) 以下能在窗体Form1的标题栏中显示“VisualBasic窗体"的语句是

A) Form1.Name="VisualBasic窗体"

B) Form1.Title="VisualBasic窗体"

C) Form1.Caption="VisualBasic窗体"

D) Form1.Text="VisualBasic窗体

(3) 在窗体上画一个名称为Text1的文本框,然后画一个名称为HScroll1的滚动条,其MinMax属性分别为0100。程序运行后,如果移动滚动框,则在文本框中显示滚动条的当前值,如图所示。

 

以下能实现上述操作的程序段是

A) Private Sub Hscroll1_Change()

Text1.Text=HScroll1.Value

End Sub

B) Private Sub Hscroll1_Click()

Text1.Text=HScroll1.Value

End Sub

C) Private Sub Hscroll1_Change()

Text1.Text=Hscroll1.Caption

End Sub

D) Private Sub Hscroll1_Click()

Text1.Text=Hscroll1.Caption

End Sub

(4) 设菜单中有一个菜单项为"Open"。若要为该菜单命令设置访问键,即按下Alt及字母O时,能够执行"Open"命令,则在菜单编辑器中设置“Open"命令的方式是

A) Caption属性设置为&Open

B) Caption属性设置为O&pen

C) Name属性设置为&Open

D) Name属性设置为O&pen

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

Private Sub Command1_Click()

x=InputBox("Input")

Select Case x

Case 1,3

Print "分支 1"

Case Is >4

Print "分支 2"

Case Else

Print "Else 分支 "

End Select

End Sub

程序运行后,如果在输入对话框中输入2,则窗体上显示的是

A) 分支1       B) 分支2        C) Else分支     D) 程序出错

(6) 以下关于MsgBox的叙述中,错误的是

A) MsgBox函数返回一个整数

B) 通过MsgBox函数可以设置信息框中图标和按钮的类型

C) MsgBox语句没有返回值

D) MsgBox函数的第二个参数是一个整数,该参数只能确定对话框中显示的按钮数量

(7) 在窗体上画一个名称为Timer1的计时器控件,要求每隔0.5秒发生一次计时器事件,则以下正确的属性设置语句是

A) Timer1.Interval=0.5             B) Timer1.Interval=5

C) Timer.Interval=50           D) Timer1.Interval=500

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

Private Sub Command1_Click()

Static x As Integer

Cls

For i=1 To 2

y=y+x

x=x+2

Next

Print x,y

End Sub

程序运行后,连续三次单击Command1按钮后,窗体上显示的是

A) 4  2        B) 12  18       C) 12  30       D) 4  6

(9) 以下关于多重窗体程序的叙述中,错误的是

A) Hide方法不但可以隐藏窗体,而且能清除内存中的窗体

B) 在多重窗体程序中,各窗体的菜单是彼此独立的

C) 在多重窗体程序中,可以根据需要指定启动窗体

D) 对于多重窗体程序, 需要单独保存每个窗体

(10) 以下关于文件的叙述中,错误的是

A) 顺序文件中的记录一个接一个地顺序存放

B) 随机文件中记录的长度是随机的

C) 执行打开文件的命令后,自动生成一个文件指针

D) LOF函数返回给文件分配的字节数

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

A) 事件过程是响应特定事件的一段程序

B) 不同的对象可以具有相同名称的方法

C) 对象的方法是执行指定操作的过程

D) 对象事件的名称可以由编程者指定

(12) 以下合法的Visual Basic标识符是

A) ForLoop         B) Const        C) 9abc         D) a#x

(13) 当一个复选框被选中时,它的Value属性的值是

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

(14) 表达式 5 Mod 3+3\5*2的值是

A) 0           B) 2            C) 4            D) 6

(15) x=4,y=8,z=7,以下表达式的值是

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

A) 1           B) -1           C) True         D) False

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

Private Sub Command1_Click()

a$="VisualBasic"

Print String(3,a$)

End Sub

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

A) VVV             B) Vis          C) sic          D) 11

(17) 设有如下程序段:

x=2

For i=1 To 10 Step 2

x=x+i

Next

运行以上程序后,x的值是

A) 26          B) 27           C) 38           D) 57

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

A) KeyPress事件过程中不能识别键盘的按下与释放

B) KeyPress事件过程中不能识别回车键

C) KeyDownKeyUp事件过程中,将键盘输入的"A""a"视作相同的字母

D) KeyDownKeyUp事件过程中,从大键盘上输入的"1"和从右侧小键盘上输入的"1"被视作不同的字符

(19) 执行如下两条语句,窗体上显示的是

a=9.8596

Print Format(a,"$00,00.00")

A) 0,009.86    B) $9.86        C) 9.86         D) $0,009.86

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

Private Sub Command1_Click()

CommonDialog1.FileName =""

CommonDialog1.Filter="All file|*.*|(*.Doc)|*.Doc|(*.Txt)|*.Txt"

CommonDialog1.FilterIndex=2

CommonDialog1.DialogTitle="VBTest"

CommonDialog1.Action=1

End Sub

对于这个程序,以下叙述中错误的是

A) 该对话框被设置为打开对话框

B) 在该对话框中指定的默认文件名为空

C) 该对话框的标题为VBTest

D) 在该对话框中指定的默认文件类型为文本文件(*.Txt)

(21) 设一个工程由两个窗体组成,其名称分别为Form1Form2,在Form1上有一个名称为Command1的命令按钮。窗体Form1的程序代码如下:

Private Sub Command1_Click()

Dim a As Integer

a=10

Call g(Form2,a)

End Sub

Private Sub g(f As Form,x As Integer)

y=IIf(x>10,100,-100)

f,Show

f.Caption=y

End Sub

运行以上程序,正确的结果是

A) Form1Caption属性值为100

B) Form2Caption属性值为-100

C) Form1Caption属性值为-100

D) Form2Caption属性值为100

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

Private Sub Command1_Click()

Dim x As Integer

Static y As Integer

x=10

y=5

Call f1(x,y)

Print x,y

End Sub

Private Sub f1(ByRef x1 As Integer, y1 As Integer)

x1=x1+2

y1=y1+2

End Sub

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

A) 10  5       B) 12  5        C) 10  7        D) 12  7

(23) 设有如下程序

Option Base 1

Private Sub Command1_Click()

Dim a(10) As Integer

Dim n As Integer

n=InputBox("输入数据")

If n<10 Then

Call GetArray(a,n)

End If

End Sub

Private Sub GetArray(b() As Integer,n As Integer)

Dim c(10) As Integer

j=0

For i=1 To n

b(i)=CInt(Rnd()*100)

If b(i)/2=b(i)\2 Then

j=j+1

c(j)=b(i)

End If

Next

Print j

End Sub

以下叙述中错误的是

A) 数组b中的偶数被保存在数组c

B) 程序运行结束后,在窗体上显示的是c数组中元素的个数

C) GetArray过程的参数n是按值传送的

D) 如果输入的数据大于10,则窗体上不显示任何显示

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

Option Base 1

Private Sub Command1_Click()

Dim a

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

For i=1 To UBound(a)

a(i) = a(i)+i-1

Next

Print a(3)

End Sub

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

A) 4           B) 5            C) 6            D) 7

(25) 阅读程序

Option Base 1

Private Sub Form_Click()

Dim arr,Sum

Sum = 0

arr = Array(1,3,5,7,9,11,13,15,17,19)

For i=1 To 10

If arr(i)/3 = arr(i)\3 Then

Sum = Sum + arr(i)

End If

Next i

Print Sum

End Sub

程序运行后,单击窗体,输出结果为

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

(26) 在窗体上画一个名称为File1的文件列表框,并编写如下程序:

Private Sub File1_DblClick()

x=Shell(File1.FileName,1)

End Sub

以下关于该程序的叙述中,错误的是

A) x没有实际作用,因此可以将该语句写为:Call Shell(File1,FileName,1)

B) 双击文件列表框中的文件,将触发该事件过程

C) 要执行的文件的名字通过File1.FileName指定

D) File1中显示的是当前驱动器、当前目录下的文件

(27) 在窗体上画一个名称为Label1、标题为“VisualBasic考试”的标签,两个名称分别为Command1Command2、标题分别为“开始”和“停止”的命令按钮,然后画一个名称为Timer1的计时器控件,并把其Interval属性设置为500,如图所示。

 

编写如下程序:

Private Sub Form_Load()

Timer1.Enabled=False

End Sub

Private Sub Command1_Click()

Timer1.Enabled=True

End Sub

Private Sub Command2_Click()

Timer1.Enabled=False

End Sub

Private Sub Timer1_Timer()

If Label1.Left<Width Then

Label1.Left = Label1.Left + 20

Else

Label1.Left=0

End If

End Sub

程序运行后单击“开始”按钮,标签在窗体中移动。

对于这个程序,以下叙述中错误的是

A) 标签的移动方向为自右向左

B) 单击“停止”按钮后再单击“开始”按钮,标签从停止的位置继续移动

C) 当标签全部移出窗体后,将从窗体的另一端出现并重新移动

D) 标签按指定的时间间隔移动

(28) 执行以下程序段

a$="abbacddcba"

For i=6 To 2 Step -2

X=Mid(a,i,i)

Y=Left(a,i)

z=Right(a,i)

z=UCase(X & Y & z)

Next i

Print z

输出结果为

A) ABA             B) BBABBA       C) ABBABA       D) AABAAB

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

Option Base 1

Private Sub Command1_Click()

Dim a As Variant

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

Sum=0

For i=1 To 5

Sum = sum+a(i)

Next i

x=Sum/5

For i =1 To 5

If a(i)>x Then Print a(i);

Next i

End Sub

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

A) 1  2        B) 1  2  3      C) 3  4  5      D) 4  5

(30) 假定一个工程由一个窗体文件Form1和两个标准模块文件Model1Model2组成。

Model1代码如下:

Public x As Integer

Public y As Integer

Sub S1()

x =1

S2

End Sub

Sub S2()

y=10

Form1.Show

End Show

Model2的代码如下:

Sub Main()

S1

End Sub

其中Sub Main被设置为启动过程。程序运行后,各模块的执行顺序是

A) Form1Model1Model2       B) Model1Model2Form1

C) Model2Model1Form1       D) Model2Form1Model1

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

(1) 设有如下程序段:

a$="BeijingShanghai"

b$=Mid(a$,InStr(a$,"g")+1)

执行上面的程序段后,变量b$的值为Shanghai

(2) 以下程序段的输出结果是3

num =0

While num<=2

num = num + 1

Wend

Print num

(3) 窗体上有一个名称为List1的列表框,一个名称为Text1的文本框,一个名称为Label1Caption属性为“Sum”的标签,一个名称为Command1、标题为“计算”的命令按钮。程序运行后,将把1100之间能够被7整除的数添加到列表框中。如果单击“计算”按钮,则对List1中的数进行累加求和,并在文本框中显示计算结果,如图所示。以下是实现上述功能的程序,请填空。

Private Sub Form_Load()

For i=1 To 100

If i Mod 7 =0 Then

list1.additem i

End If

Next

End Sub

Private Sub Command1_Click()

Sum = 0

For i = 0 To list1.listcount-1

Sum = Sum + list1.list(i)

Next

Text1.Text = Sum

End Sub

(4) 本程序的功能是利用随机数函数模拟投币,方法是:每次随机产生一个01的整数,相当于一次投币,1代表正面,0代表反面。在窗体上有三个文本框,名称分别是Text1Text2Text3,分别用于显示用户输入投币总次数、出现正面的次数和出现反面的次数,如图所示。程序运行后,在文本框Text1中输入总次数,然后单击“开始”按钮,按照输入的次数模拟投币,分别统计出现正面、反面的次数,并显示结果。以下是实现上述功能的程序,请填空。

 

Private Sub Command1_Click()

Randomize

n = CInt(Text1.Text)

n1 = 0

n2 = 0

For I = 1 To 6

r = Int(Rnd*2)

If r = 7 Then

n1 = n1 + 1

Else

n2 = n2 + 1

End If

Next

Text2.Text = n1

Text3.Text = n2

End Sub

(5) 阅读程序:

Option Base 1

Private Sub Form_Click()

Dim a(3) As Integer

Print "输入的数据是:";

For i = 1 To 3

a(i)=InputBox("输入数据")

Print a(i);

Next

Print

If a(1)<a(2) Then

t = a(1)

a(1) = a(2)

a(2) = 8

End If

If a(2)>a(3) Then

m = a(2)

ElseIf a(1)>a(3) Then

m =  9

Else

m =  10

End If

Print "中间数是:";m

End Sub

程序运行后,单击窗体,在输入对话框中分别输入三个整数,程序将输出三个数中的中间数,如图所示。请填空。

(6) 在窗体上画一个名称为“Command1,标题为“计算”的命令按钮,再画7个标签,其中5个标签组成名称为Label1的控件数组;名称为Label2的标签用于显示计算结果,其Caption属性的初始值为空;标签Label3的标题为“计算结果”。运行程序时会自动生成5个随机数,分别显示在标签控件数组的各个标签中,如图所示。单击“计算”按钮,则将标签数组各元素的值累加,然后计算结果显示在Label2。请填空。


Private Sub Command1_Click()

Sum = 0

For i = 0 To 4

Sum = Sum +  11

Next

12 = Sum

End Sub

(7) 在窗体上画两个名称分别为Command1Command2、标题分别为“初始化”和“求和”的命令按钮。程序运行后,如果单击“初始化”命令按钮,则对数组a的各元素赋值;如果单击“求和”命令按钮,则求出数组a的各元素之和,并在文本框中显示出来,如图所示。请填空。

 


Option Base 1

Dim a(3,2) As Integer

Private Sub Command1_Click()

For i = 1 To 3

For j = 1 To 2

13 = i + j

Next j

Next i

End Sub

Private Sub Command2_Click()

For j = 1 To 3

For i = 1 To 2

s = s + 14

Next i

Next j

Text1.Text = 15

End Sub

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

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