文档库 最新最全的文档下载
当前位置:文档库 › 2012年上半年计算机二级VB试题

2012年上半年计算机二级VB试题

2012年上半年计算机二级VB试题
2012年上半年计算机二级VB试题

2012年3月全国计算机等级考试二级笔试试卷

Visual Basic语言程序设计

一、选择题(每小题2分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述正确的是()。

A) 循环队列是队列的一种链式存储结构 B.循环队列是队列的一种顺序存储结构

C.循环队列是非线性结构 D.循环队列是一种逻辑结构

(2)下列叙述正确的是()。

A) 栈是一种先进先出的线性表 B.队列是一种后进后出的线性表

C.栈和队列都是非线性结构 D.以上三种说法都不对

(3)一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()。A.16 B.10 C.6 D.4

(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。

A.外模式 B.内模式 C.概念模式 D.逻辑模式

(5)在满足实体完整性约束的条件下()。

A.一个关系中应该有一个或多个候选关键字 B.一个关系中只能有一个候选关键字C.一个关系中不许有多个候选关键字 D.一个关系中可以没有候选关键字

(6)有三个关系R、S和T如下:()。

则由关系R和S得到关系T的操作时

A.自然连接 B.并 C.交 D.差

(7)软件生命周期中的活动不包括()。

A.市场调研 B.需求分析 C.软件测试 D.软件维护

(8)下面不属于需求分析阶段任务的是()。

A.确定软件系统的功能需求 B.确定软件系统的性能需求

C.需求规格说明书评审 D.制定软件集成测试计划

(9)在测试方法中,设计测试用例的主要根据是()。

A.程序内部逻辑 B.程序外部功能 C.程序数据结构 D.程序流程图

(10)在软件设计中不使用的工具是()。

A.系统结构图 B.PAD图 C.数据流图(DFD图) D.程序流程图

(11)以下合法的VB变量名是()。

A.case B.name10 C.t-name D.x*y

(12)设x是小于10的非负数。对此陈述,以下正确的VB表达式是()。

A.0≤x<10 B.0<=x<10 C.x>=0 and x<10 D.x>=0 or x<=10

(13)以下关于窗体的叙述中错误的是()。

A.窗体的Name属性用于标识一个窗体

B.运行程序时,改变窗体大小,能够触发窗体的Resize事件

C.窗体的Enabled属性为False时,不能响应单击窗体的事件

D.程序运行期间,可以改变Name属性值

(14)下面定义窗体级变量a的语句中错误的是()。

A.Dim a% B.private a% C.Private a As Integer D.Static a%

(15)表达式Int(Rnd(0)*50)所产生的随机数范围是()。

A.(0,50) B.(1,50) C.(0,49) D.(1,49)

(16)设x=5,执行语句Print x=x+10,窗体上显示的是()。

A.15 B.5 C.True D.False

(17)设有如下数组声明语句:

Dim arr(-2 to 2,0 to 3)AS Integer

该数组所包含的数组元素个数是()。

A.20 B.16 C.15 D.12

(18)现有由多个单选按钮构成的控件数组,用于区别该控件数组中各控件的属性是()。

A.Name B.Index C.Caption D.Value

(19)设有分段函数:

A.Select Case x

Case Is<0

Y=5

Case Is <=5,Is>0

Y=2*x

Case else

End select

B.If x<0 Then

y=5

Elseif x<=5 then

y=2*x

Else

y=x*x+1

End if

C.y=iif{x<0.5,iif(x<=5.2*x,x*x+1) }

D.If x<0 Then y=5

If x<=5 and x>=0 then y=2*x

If x>5 then y=x*x+1

(20)设程序中有如下语句:

X=inputbox(“输入”,“数据”,100)

Print X

运行程序,执行上述语句,输入5并单击输入对话框上的“取消“按钮,则窗体上输出()。A.0 B.5 C.100 D.空白

(21)现有如下一段程序:

Option Base 1

Private Sub Command1_Click()

Dim a

a=Array(3,5,7,9)

x=1

For i=4 to 1 Step -1

S=s+a ( i )*x

x=x*10

Next

Print s

End Sub

执行程序,单击Command1命令按钮,执行上述事件过程,输出结果是()。A.9753 B.3579 C.35 D.79

(22)设有一个命令按钮Commsand1的事件过程以及一个函数过程。程序如下:

Private Sub Command1_Click(0

Static x As Integer

x=f(x+5)

Cls

Print x

End Sub

Private Funtion f(x As integer)As Integer

End Funtion

连续单击命令按钮3次,第3次单击命令按钮后,窗体上显示的计算结果是()。A.10 B.30 C.60 D.70

(23)以下关于菜单设计的叙述中错误的是()。

A.各菜单项可以构成控件数组 B.每个菜单项可以看成是一个控件

C.设计菜单是,菜单项的“有效”表选,即’□有效(E)’,表示该菜单项不显示

D.菜单项只响应单击事件

(24)以下关于多窗体的叙述中,正确的是()。

A.任何时刻,只有一个当前窗体 B.向一个工程添加多个窗体,存盘后生成一个窗体文件C.打开一个窗体时,其他窗体自动关闭 D.只有第一个建立的窗体才是启动窗体

(25)窗体上有一个名称为CommonDialog1的通用对话框,一个名称为Command1的命令按钮,并有如下事件过程:

Private Sub Command1_Click()

CommandDialog1.DefaultExt=”doc”

CommandDialog1.FileName=”VB.txt”

CommandDialog1.FileName=”All(*.*)|*.*|Word|*.Doc|”

CommandDialog1.FileName=1

CommandDialog1.ShowSave

End Sub

运行上述程序,如下叙述正确的是()。

A.打开的对话框中文件“保存类型”框中显示“All(*.*)”

B.实现保存文件的操作,文件名是VB.txt

C. DefaultExt属性与FileName属性所指明的文件类型不一致,程序出错

D.对话框的Filter属性没有指出txt类型,程序运行出错

(26)设程序中有如下数组定义和过程调用语句:

Dim a(10) As Integer

……

Call p(a)

如下过程定义中,正确的是()。

A. Private Sub p(a As Integer) B. Private Sub p(a() As Integer)

C. Private Sub p(a(10) As Integer) D. Private Sub p(a(n) As Integer)

(27)若要获得组合框中输入的数据,可使用的属性是()。

A.Listindex B.Caption C.Text D.List

(28)在窗体上画两个名称分别为Text1、Text2的文本框。Text1的Text属性为“Database”,如图所示。

现有如下事件过程: Private Sub Text1_Change()

Text2.Text=Mid(Text1,1,1)

End Sub

运行程序,在文本框Text1中原有字符之前输入a,Text2中显示的是:()。

A. DataA B. DataB C. aData D. aBase

(29)有如下程序:

Option Base !

Private Sub Command1_Click()

Dim arr(10)

arr=Array(10,35,28,90,54,68,72,90)

For Each a In arr

If a>50 Then

Sum=Sun+a

End If

End Sub

运行上述程序时出现错误,错误之处是()。

A.数组定义语句不对,应改为Dim arr B.没有指明For循环的终值

C.应在For语句之前增加Sum=0 D. Next a应改为Next

(30)要求产生10个随机整数,存放在数组arr中,从键盘输入要删除的数组元素的下标,将该元素中的数组删除,后面元素中的数据依次前移,并显示删除后剩余的数据,现有如下程序:

Option Base 1

Private Sub Command1_Click()

Dim arr(10) AS Integer

For i=1 to 10

arr(i)=int (Rnd*100)

Print arr(i);

Next

x=inputbox(“输入1到10的一个整数:”)

For i=x+1 to 10 ‘循环2

arr(i-1)=arr(i)

Next

For i=1 to 10 ‘循环3

Print arr(i);

Next

End Sub

程序运行后发现显示的结果不正确,应该进行的修改是()。

A.产生随机数时不使用Int函数 B.循环2的初始值应为i=x

C.数组定义改为Dim a(11) as integer D.循环3是循环终值应改为9

(31)使用驱动器列表框Drive1、目录列表框Fiel1时,需要设置控件的同步,以下能够正确设置两个同步的命令是()。

A.Dir1.path=Drive.pate B.File1.path=Dir1.pate

C.File1.path=Drive1.pate D.Drive1.Drive=Dir1.pate

(32)以下关于弹出式菜单的叙述中,错误的是()。

A.一个窗体只能有一个弹出式菜单 B.弹出式菜单在菜单编辑器中建立

C.弹出式菜单的菜单名(主菜单项)的“可见”属性通常设置为False

D.弹出式菜单通过窗体的PopupMenu方法显示

(33)有如下程序:

Private Type stu

X As String

Y As Integer

End Type

Private Sub Command1_Click()

Dim a As stu

a.x=”ABCD”

a.y=12345

Print a

End Sub

程序运行时出现错误,错误的原因是()。

A. Type定义语句没有放在标准模块中 B.变量声明语句有错

C.赋值语句不对 D.输出语句Print不对

(34)在窗体上画两个名称分别为Text1、Text2的文本框,一个名称为Lable1的标签。窗体外观如图a所示。要求当改变任一个文本框的内容,就会将该文本框的内容显示在标签中,如图b所示。实现上述功能如下:

Pivate Sub Text1_Change()

Call ShowText(Text1)

End Sub

Private Sub Text2 Change()

Call ShowText(Text2)

End Sub

private Sub showText(T As TextBox)

Label1.Caption=”文本框中的内容是:”&T.Text

Enb Sub

关于上述程序,以下叙述中错误的是()。

A. ShowText过程的参数类型可以是Control B. ShowText过程的参数类型可以是Variant C.两个过程调用语句有错,应分别改为Call ShowText(Text1.Text)、CallShowText (Text2.Text)

D. ShowText过程中的T是控件变量

(35)设有打开文件的语句如下:

Open“test.dat” For Random As #1

要求把变量a中的数据保存到该文件中,应该使用的语句是()。

A. Inpur #1,a B. Write #1.a C. Put #1,.a D. Get #1..a

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

请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。

(1)在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元素个数为()。

(2)设循环队列的存储空间为Q(1:30),初始状态为Front=rear=30.现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有()个元素。

(3)数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是()。(4)在将E-R图转换到关系模式时,实体和联系都可以表示成()。

(5)常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于()。

(6)下面的事件过程执行时,可以把Text1文本框中的内容写到文件“file1.txt“中去。请填空。

Pivate Sub Command1_Click()

Open “file1.txt”For ( 6 ) As#1

print (7 ) Text1.Text

Close #1

End Sub

(7)设窗体上有一个名称为Lable1的标签。程序运行时,单击鼠标左键,再移动鼠标,鼠标的位置坐标会实时地显示在Lable1标签中:单击鼠标右键则停止实时显示,并将标签中内容清除。下面的程序可实现这一功能,请填空。

Dim Down As Boolean

Private Sub Form _MouseDown(Button As Integer,Shift As Integer,x As Single,Y As Single)

Select Case (8 )

Case 1

Down=True

Case 2

Down=False

End Select

End Sub

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

If (9 )

(10 ) =”X=”& X &” Y=”& Y

Else

Label1.Caption=””

End if

Sub

(8)窗体上有List1、List2两个列表框,程序运行时,在两个列表框中分别选中1个项目,如图a所示,单击名称为Command1的“交换”按钮,则把选中的项目互换,互换后的位置不限,如图b所示。下面的程序可实现这一功能,请填空。

Private Sub Command1_Click()

If List1.Text=”” or List2.Text=”” Then

MsgBox”请选择交换的物品!”

Else

List1.AddItem List2.Text

List2.RemoveItem (11 )

(12 )

List1.RemoveItem List1.ListIndex

End If

End Sub

(9)设窗体上有Text1文本框和Command命令按钮,并有以下程序:

Private Sub Command1_Click()

Iemp$=“”

For k=1 To Len(Text1)

Ch$=Mid(Text1,k,1)

If Not found(temp,ch)Then

Temp=temp& (13 )

End if

Next k

Text1= (14 )

End Sub

Private Function found(str As String,ch As String)As Boolean

For K=1 To Len(str)

If ch=Mid(Str,k,1) Then

Found= (15 )

Exit Function

End If

Next k

Found=False

End Function

运行时,在文本框中输入若干英文字母,然后单击命令按钮,则可以删去文本框中所有重复的字母。例如,若文本框中原有字符串为“abcddbbc”,则单击命令按钮后文本框中字符串为“abcd“。其中函数found的功能是判断字符串str中是否有字符ch,若有,函数返回True,否则返回False。请填空。

相关文档