2004年9月全国计算机等级考试VB书面题目答案

王朝干货·作者佚名  2011-12-20  
宽屏版  字体: |||超大  

想对一下,知道自己的分数

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

Visual Basic语言程序设计

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

2004年9月18日

一、选择题((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

答案:B

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

A) Form1.Name="VisualBasic窗体"

B) Form1.Title="VisualBasic窗体"

C) Form1.Caption="VisualBasic窗体"

D) Form1.Text="VisualBasic窗体”

答案:C

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

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

A) Private Sub HScroll_Change()

Text1.Text=HScroll1.Value

End Sub

B) Private Sub HScroll_Click()

Text1.Text=HScroll1.Value

End Sub

C) Private Sub HScroll_Change()

Text1.Text=HScroll.Caption

D) Private Sub HScroll_Click()

Text1.Text=HScroll.Caption

End Sub

答案A

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

A) 把Caption属性设置为&Open

B) 把Caption属性设置为O&pen

C) 把Name属性设置为&Open

D) 把Name属性设置为O&pen

答案A

(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) 程序出错

答案C

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

A) MsgBox函数返回一个整数

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

C) MsgBox语句没有返回值

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

答案D

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

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

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

答案D

(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

答案:B

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

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

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

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

D)对于多重窗体程序中,而且单独保存每个窗体

答案:A

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

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

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

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

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

答案B

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

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

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

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

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

答案D

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

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

答案A

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

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

答案C

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

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

答案B

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

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

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

答案D

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

Private Sub Command1_Click()

a$="VisualBasic"

Print String(3,a$)

End Sub

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

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

答案A

(17) 设有如下程序段:

x=2

For i=1 To 10 Step 2

x=x+i

Next

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

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

答案B

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

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

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

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

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

答案B

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

a=9.8596

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

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

答案D

(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)

答案D

(21) 设一个工程由两个窗体组成,其名称分别为Form1和Form2,在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) Form1的Caption属性值为100 B) Form2的Caption属性值为-100

C) Form1的Caption属性值为-100 D) Form2的Caption属性值为100

答案B

(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

答案D

(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,则窗体上不显示任何显示

答案C

(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

答案B

(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

答案C

(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中显示的是当前驱动器、当前目录下的文件

答案A

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

编写如下程序:

Private Sub Form_Load()

Timer1.Enabled=False

End Sub

Private Sub Command1_Click()

Timer1.Enabled=True

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)标签按指定的时间时隔移动

答案A

(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

答案B

(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

答案D

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

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) Form1->Model1->Model2

B) Model1->Model2->Form1

C) Model2->Model1->Form1

D) Model2->Form1->Model1

答案C

二、填空题(每空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的文本框,一个名称为Label1、Caption属性为“Sum”的标签,一个名称为Command1、标题为“计算”的命令按钮。程序运行后,将把1~100之间能够被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) 本程序的功能是利用随机数函数模拟投币,方法是:每次随机产生一个0或1的整数,相当于一次投币,1代表正面,0代表反面。在窗体上有三个文本框,名称分别是Text1、Text2、Text3,分别用于显示用户输入投币总次数、出现正面的次数和出现反面的次数,如图所示。程序运行后,在文本框Text1中输入总次数,然后单击“开始”按钮,按照输入的次数模拟投币,分别统计出现正面、反面的次数,并显示结果。以下是实现上述功能的程序,请填空。

Private Sub Command1_Click()

Randomize

n=CInt(Text1.Text)

n1=0

n2=0

For i=1 To__n___

r=Int(Rnd*2)

If r=___1____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)=___t____

End If

If a(2)>a(3) Then

m=a(2)

ElseIf a(1)>a(3) Then

m=___a(3)___

Else

m=__a(1)___

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+__Label1(i).caption__

Next

___Label2.caption__=Sum

End Sub

(7) 在窗体上画两个名称分别为Command1和Command2、标题分别为“初始化”和“求和”的命令按钮。程序运行后,如果单击“初始化”命令按钮,则对数组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

__a(i,j)__=i+j

Next j

End Sub

Private Sub Command2_Click()

For j=1 To 3

For i=1 To 2

s=s+__a(j,i)___

Next i

Next j

Text1.Text= __s__

End Sub

评分标准和参考答案

一、选择题((1)—(20)每小题2分,(21)—(30)每小题2分,共70分)

(1)-(10)BCAAC DDBAB

(11)-(20) DACBD ABBDD

(21)-(30) BDCBC AABDC

二、填空题(每空2分,共30分)

1、(1)"Shanghai"

2、(2)3

3、(3)list1.additem i (4) list1.listcount-1 (5) list1.list(i)

4、(6)n (7) 1

5、(8)t (9) a(3) (10) a(1)

6、(11)label1(i).caption (12) label2.caption

7、(13)a(i,j) (14) a(j,i) (15) s (注意:i,j 要换位置,别给迷惑到了)

祝你能顺利通过拉~!

今天才考,不能这么快出答案的。你再耐心等一等:)

全国计算机等级考试VB书面题目答案得一周后才有

我的选择题答案(绝对不准确,现丑了)

BCAACCDBDDBACCDBBADDDACBCDADCB

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有