文档视界 最新最全的文档下载
当前位置:文档视界 › 2009年3月全国计算机等级考试二级笔试试卷Visual Basic 语言程序设计及答案

2009年3月全国计算机等级考试二级笔试试卷Visual Basic 语言程序设计及答案

2009年3月全国计算机等级考试二级笔试试卷Visual Basic 语言程序设计及答案
2009年3月全国计算机等级考试二级笔试试卷Visual Basic 语言程序设计及答案

2009年3月全国计算机等级考试二级笔试试卷Visual Basic 语言程序设计

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

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

A)栈是“先进先出”的线性表

B)队列是“先进先出”的线性表

C)循环队列是非线性结构

D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构

(2)支持子程序调用的数据结构是

A)栈B)树C)队列D)二叉树

(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是

A)10 B)8 C)6 D)4

(4)下列排序方法中,最坏情况下比较次数最少的是

A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序

(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是

A)编译软件B)操作系统C)教务管理系统D)汇编程序

(6)下面叙述中错误的是

A)软件测试的目的是发现错误并改正错误

B)对被调试的程序进行“错误定位”是程序调试的必要步骤

C)程序调试通常也称为Debug

D)软件测试应严格执行测试计划,排除测试的随意性

(7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是

A)提高耦合性降低内聚性有利于提高模块的独立性

B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度

(8)数据库应用系统中的核心问题是

A)数据库设计B)数据库系统设计

C)数据库维护D)数据库管理员培训

(9)有两个关系R,S如下:

R S

A B C A B

a 3 2 a 3

b 0 1 b 0

c 2 1 c 2

由关系R通过运算得到关系S,则所使用的运算为

A)选择B)投影C)插入D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域(11)执行语句Dim X, Y as Integer 后,

A)X 和Y 均被定义为整型变量

B)X和Y被定义为变体类型变量

C)X被定义为整型变量,Y被定义为变体类型变量

D)X被定义为变体类型变量,Y被定义为整型变量

(12)以下关系表达式中,其值为True的是

A)”XYZ”>”XYz”

B)”VisualBasic”<>”visualbasic”

C)”the”=”there”

D)”Integer”<”Int”

(13)执行以下程序段

a$=”Visual Basic Programming”

b$=”C++”

c$=Ucase(left$(a$,7))&b$& Right$(a$,12)后,变量c$ 的值为

A)Visual Basic Programming

B)VISUALC++ Programming

C)Visual C++ Programming

D)VISUAL BASIC Programming

(14)下列叙述中正确的是

A)MsgBox语句的返回值是一个整数

B)执行Msgbox语句并出现信息框后,不用关闭信息框即可执行其他操作

C)MsgBox语句的第一个参数不能省略

D)如果省加略MsgBox语句的第三个参数(Title),则信息框的标题为空

(15)在窗体上画一个文本框(名称为text1)和一个标签(名称为label1),程序运行后,在文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数,以下可以实现实现上述操作的事件过程是

A)Private Sub Text1_Change()

Label1.Caption = Str(Len(Text1.Text))

End Sub

B)Private Sub Text1_Click()

Label1.Caption = Str(Len(Text1.Text))

End Sub

C)Private Sub Text1_Change()

Label1.Caption = text1.text

End Sub

D)Private Sub label1_Change()

Label1.Caption = Str(Len(Text1.Text))

End Sub

(16)在窗体上画两个单选按钮(名称分别为Option1、option2,标题分别为“宋体”和“黑体”)、1个复选框(名称为check1,标题为“粗体”)和1个文本框(名称为text1,text属性为“改变文字字体”),窗体外观如图所示。程序运行后,要求“宋体”单选按钮和“粗体”复选框被选中,则以下能够实现上述操作的语句序列是

A) Option1.value = False

Check1.value = True

B) Option1.value = True

Check1.value = 0

C) Option1.value = True

Check1.value = 2

D) Option1.value = True

Check1.value = 1

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

Private Sub Command1_Click()

c = 1234

c1 = Trim(Str(c))

For i = 1 To 4

Print

Next

End Sub

程序运行后,单击命令按钮,要求在窗体上显示如下内容:

1

12

123

1234

则在横线上应填入的内容为

A)Right(c1,i) B)Left(c1,i) C)Mid(c1,I,1) D) Mid(c1,i,i)

(18)假定有以下程序段

For i=1 to 3

For j=5 to 1 step -2

Print i*j

Next j

Next i

则语句Print i*j 的执行次数是

A)15 B)16 C)17 D)18

(19)在窗体上画两个文本框(名称分别为text1和text2)和一个命令按钮(名称为command1),

然后编写如下事件过程:

Private Sub Command1_Click()

x = 0

Do While x < 50

x = (x + 2) * (x + 3)

n = n + 1

Loop

text1.Text = Str(n)

text2.Text = Str(x)

End Sub程序运行后,单击命令按钮,在两个文本框中显示的值分别为A)1和0 B)2和72 C)3和50 D)4和168

(20)阅读程序:

Private Sub Command1_Click()

A=0

For j=1 to 15

a=a+j mod 3

Next j

Print a

End Sub

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

A)105 B)1 C)120 D)15

(21)以下说法中正确是的

A)当焦点在某个控件上时,按下一个字母键,就会执行该控件的keypress事件过程

B)因为窗体不接受焦点,所以窗体不存在自己的keypress事件过程

C)若按下的键相同,keypress事件过程中的keyascii参数与keydown事件过程中的keycode参数的值也相同

D)在keypress事件过程中,keyascii参数可以省略

(22)语句dim a(-3 to 4,3 to 6)as integer 定义的数组的元素个数是

A)18 B)28 C)21 D)32

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

Option Base 1

Private Sub Command1_Click()

Dim a

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

j = 1

For i = 4 To 1 Step -1

s = s + a(i) * j

j = j * 10

Next i

Print s

End Sub

程序运行后,单击命令按钮后,其输出结果是

A)4321 B)1234 C)34 D)12

(24)假定通过复制,粘贴操作建立了一个命令按钮数组Command1,以下说法中错误的是

A)数组中每个命令按钮的名称(name属性)均为Command1

B)若未做修改,数组中每个命令按钮的大小都一样

C)数组中各个按钮使用同一个click事件过程

D)数组中每个命令按钮的index属性值都相同

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

Option Base 0

Private Sub Command1_Click()

Dim A1(4) As Integer,A2(4) As Integer

For k=0 To 2

A1(k+1)=InputBox(“请输入一个整数”)

A2(3-k)=A1(k+1)

Next k

Print A2(k)

End Sub

程序运行后,单击命令按钮,在输入对话框中依次输入2、4、6,则输出结果为

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

(26)以下关于函数过程的叙述中,正确的是

A)函数过程形参的类型与函数返回值的类型没有关系

B)在函数过程中,过程的返回值可以有多个

C)当数组作为函数过程的参数时,既能以值方式传递,也能以传址方式传递

D)如果不指明函数过程参数的类型,则该参数没有数据类型

(27)在窗体上画两个标签和一个命令按钮,其名称分别为Label1、Label2和Command1,然后编写如下程序:

Private Sub func(L As Label)

L.Caption=”1234”

End sub

Private Sub Form_Load()

Label2.Caption=10

End sub

Private Sub Command1_Click()

A=Val(Label2.Caption)

Call func(Label1)

Label2.Caption=a

End sub

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

A)ABCD和10 B)1234和100

C)ABCD和100 D)1234和10

(28)在窗体上画一个命令按钮(名称为Command1),并编写如下代码:Functin Fun1(Byval a As Integer ,b As Integer) As Integer

Dim t As Integer

t=a-b

b=t+a

Fun1=t+b

End Function

Private Sub Command1_Click()

Dim x As Integer

X=10

Print Fun1(Fun1(x,(Fun1(x,x-1))),x-1)

End Sub

程序运行后,单击命令按钮,输出结果是

A)10 B)0 C)11 D)21

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

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

B)调用过程时使用的实参的个数应与过程形参的个数相同C)只有函数过程能够将过程中处理的信息返回到调用程序中D)窗体可以作为过程的函数

(30)有如下通用过程:

Public Function Fun(xStr As String) As String

Dim tStr As String ,strL As Integer

tStr=””

strL=Len(xStr)

i=strL/2

Do While i<=strL

tStr=tStr & Mid(xStr,i+1,1)

i=i+1

Loop

Fun=tStr & tStr

End Function

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

Private Sub Command1_Click()

Dim S1 As String

S1=”ABCDEF”

Text1.Text=Lcase(Fun(S1))

End Sub

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

A)ABCDEF B)abcdef C)defded D)defabc

(31)在窗体上画一个命令按钮和一个文本框(名称分别为Command1和Text1),并把窗体的Keyprewiew属性设置为True,然后编写如下代码:

Dim SaveAll As String

Private Sub Form_Load ()

Show

Text1.Text=””

Text1.SetFocus

End Sub

Private Sub Command1_Click()

Text1.Text=Lcase(SaveAll)+SaveAll

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)

SaveAll=SaveAll+Chr(KeyAscii)

End Sub

程序运行后,直接用键盘输入:VB,再单击命令按钮,则文本框中显示的内容为A)vbVB B)不显示任何信息C)VB D)出错

(32)设有以下程序:

Private Sub Form_Click()

X=50

For i=1 To 4

Y=InputBox(“请输入一个整数”)

Y=Val(y)

If y Mod 5=0 Then

a=a+y

x=y

Else

a=a+x

End If

Next i

Print a

End Sub

程序运行后,单击窗体,在输入对话框中依次输入15、24、35、46,输出结果为A)100 B)50 C)120 D)70

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

A)当前窗体为活动窗体时,用Ctrl+E键可以打开菜单编辑器

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

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

D)程序运行时,利用控件数组可以实现菜单项的增加或减少

(34)以下叙述中错误的是(c )

A)在程序运行时,通用对话框控件是不可见的

B)调用同一个通用对话框控件的不同方法(如ShowOpen 或ShowSave)可以打开不同的对话框窗口

C)调用通用对话框控件的ShowOpen方法,能够直接打开在该通用对话框中指定的文件D)调用通用对话框控件的ShowColor方法,可以打开颜色对话框窗口

(35)设在工程文件中有一个标准模块,其中定义了如下记录类型:

Type Books

Name As String * 10

TelNum As String * 20

End Type

在窗体上画一个名为Command1的命令按钮,要求当执行事件过程Command1_Click时,在顺序文件Person.txt中写入一条Books类型的记录。下列能够完成该操作的事件过程是

A)Private Sub Command1_Click()

Dim B As Books

Open “Person.txt” For Output As #`1

https://www.docsj.com/doc/4f5573442.html,=InputBox(“输入姓名”)

B.TelNum=InputBox(“输入电话号码”)

Write #1,https://www.docsj.com/doc/4f5573442.html,,B.TelNum

Close #1

End Sub

B)Private Sub Command1_Click()

Dim B As Books

Open “Person.txt” For input As #`1

https://www.docsj.com/doc/4f5573442.html,=InputBox(“输入姓名”)

B.TelNum=InputBox(“输入电话号码”) Print #1,https://www.docsj.com/doc/4f5573442.html,,B.TelNum

Close #1

End Sub

C)Private Sub Command1_Click()

Dim B As Books

Open “Person.txt” For Outp ut As #`1 https://www.docsj.com/doc/4f5573442.html,=InputBox(“输入姓名”)

B.TelNum=InputBox(“输入电话号码”) Write #1,B

Close #1

End Sub

D)Private Sub Command1_Click() Open “Person.txt” For input As #`1 Name=InputBox(“输入姓名”) TelNum=InputBox(“输入电话号码”) Print #1, Name, TelNum

Close #1

End Sub

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

请将每一个空的正确答案写在答题纸上【1】-【15】序号的横线上,答在试卷上,在试卷上不得分,

注意:以命令关键字填空的必须写完整。

(1)假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【1】个元素。

(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于【2】测试。

(3)符合结构化原则的三种基本控制结构是:选择结构、循环结构和【3】。

(4)数据库系统的核心是【4】

(5)在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【5 】框。

(6)窗体如图所示,其中汽车是名称为Image1的图像框,命令按钮的名称为Command1,计时器的名称为Timer1,直线的名称为Line1。程序运行时,单击命令按钮,则汽车每0.1秒向左移动100,车头到达左边的直线时停止移动。请填空完成下面的属性设置和程序,以便实现上述功能。

1 Timer1的Interval属性的值应事先设置为【6】

2 Private Sub Command1_Click()

Timer1.Enabled=True

End Sub

Private Sub Timer1_Timer()

If Image1.Left>=【7】Then

Image1.Left=【8】-100

End If

End Sub

(7)设窗体上有一个名称为Combol 的组合框,并有以下程序:

Private Sub Combol_KeyPress(KeyAscii As Integer)

If【9】=13 Then ‘回车符的ASCII码是13

For k=0 To Combol.ListCount-1

If Combol.Text= Combol.List(k) Then

Combol.Text=””

Exit For

End If

Next k

If Combol.Text <> “” Then

Combol.AddItem【10】

End If

End If

End Sub

程序的功能是:在组合框的编辑区中输入文本后按回车键,则检查列表中有无与此文本相同的项目,若有,则把编辑区中的文本删除,否则把编辑区中文本添加到列表的尾部。

请填空。

(8)在当前目录下有一个名为“myfile.txt”的文本文件,其中有若干行文本。下面程序的功能是读入此文件中的所有文本行,按行计算每行字符的ASCII码之和,并显示在窗体上。请填空。

Private Sub Commandl_Click()

Dim ch$,ascii As Integer

Open “myfile.txt”For【11】As #1

While Not EOF(1)

Line Input #1,ch

ascii=toasill (【12】)

Print ascii

Wend

Close #1

End Sub

Private Function toascii(mystr$) As Integer

n=0

For k=1 To 【13】

n=n+Asc(Mid(mystr,k,l))

Next k

Toascii=n

End Function

(9)本程序实现文本加密。先给定序列:a1,a2,……an,它们的取值范围是1~n,且互不相同。加密算法是:把原文本中第k个字符放到加密后的文本的第ak个位置处。若原文本长度大于n,则只对前n个字符加密,后面的字符不变;若原文本长度小于n,则在后面补字符“*”使文本长度为n后再加密。

例如:若给定序列a1,a2,…a7分别为2,5,3,7,6,1,4

当文本为“PROGRAM”时,加密后的文本为“APOMRRG”

当文本为“PROGRAMMING”,加密后的文本为“APOMRRGMING”

当文本为“THANK”时,加密后的文本为“TA*HKN”

下面的过程code实现这一算法。其中参数数组a()中存放给定序列(个数与数组a的元素个数相等)a1,a2,a3…的值,要加密的文本放在参数变量mystr中。过程执行完毕,加密后的文本仍放在变量mystr中。请填空。

Option Base 1

Private Sub code(a () As Integer,mystr As String)

Dim ch As string,cl As String

n=Ubound(a)-Len(mystr)

If n>0 Then

mystr= mystr& Strings(n,”*”)

End If

Ch=mystr

For k=【14】To Ubound(a)

Cl=Mid(mystr,k,l)

n=【15】

Mid$(ch,n)=cl

Next k

Mystr=ch

End Sub

2009年3月全国计算机等级考试(二级)Visual Basic笔试参考答案

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

(1)下列叙述中正确的是D)有序线性表既可采用顺序存储结构,也可以采用链式存储结构

(2)支持子程序调用的数据结构是A)栈

(3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是C)6

(4)下列排序方法中,最坏情况下比较次数最少的是D)堆排序

(5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是C)教务管理系统

(6)下面叙述中错误的是A)软件测试的目的是发现并改正错误

(7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是B)降低耦合性提高内聚性有利于提高模块的独立性

(8)数据库应用系统中的核心问题是A)数据库设计

(9)有两个关系R,S如下:

R S

A B C A B

a 3 2 a 3

b 0 1 b 0

c 2 1 c 2

由关系R通过运算得到关系S,则所使用的运算为B)投影

(10)将E-R图转换为关系模式时,实体和联系都可以表示为C)关系

(11)执行语句Dim X,Y As Integer后,D)X被定义为变体类型变量,Y被定义为整型变量

(12)以下关系表达式中,其值为True的是B)"VisualBasic"<>"visualbasic"

(13)执行以下程序段

a$ = "Visual Basic Programming"

b$ = "C++"

c$ = UCase(Left$(a$, 7)) & b$ & Right$(a$, 12)后,变量c$的值为

B )VISUAL C++ Programming

(14)下列叙述中正确的是

C)MsgBox语句的第一个参数不能省略

(15)在窗体上画一个文本框(名称为Text1)和一个标签(名称为Label1),程序运行后,在文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数,以下可以实现上述操作的事件过程是:

A)Private Sub Text1_Change()

Label1.Caption = Str(Len(Text1.Text))

End Sub

(16)在窗体上画两个单选按钮(名称分别为Option1、Option2,标题分别为“宋体”和“黑体”)、1个复选框(名称为Check1,标题为“粗体”)和1个文本框(名称为Text1,Text 属性为“改变文字字体”),窗体外观如图所示。程序运行后,要求“宋体”单选按钮和“粗体”复选框被选中,则以下能够实现上述操作的语句序列是

D)Option1.Value=True

Check1.Value=1

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

Private Sub Command1_Click()

c = 1234

c1 = Trim(Str(c))

For i = 1 To 4

Print

Next

End Sub

程序运行后,单击命令按钮,要求在窗体上显示如下内容:

1

12

123

1234

则在横线处应填入的内容为

B)Left(c1,i)

(18)假定有以下程序段

For i = 1 To 3

For j = 5 To 1 Step -1

Print i * j

Next j

Next i

则语句Print i*j 的执行次数是

A)15

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

Private Sub Command1_Click()

x = 0

Do While x < 50

x = (x + 2) * (x + 3)

n = n + 1

Loop

Text1.Text = Str(n)

Text2.Text = Str(x)

End Sub

程序运行后,单击命令按钮,在两个文本框中显示的值分别为B)2和72

(20)阅读程序:

Private Sub Form_Click()

a = 0

For j = 1 To 15

a = a + j Mod 3

Next j

Print a

End Sub

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

D)15

(21)以下说法正确的是

A)当焦点在某个控件上时,按下一个字母键,就会执行该控件的KeyPress事件过程(22)语句Dim a(-3 To 4,3 To 6) As Integer定义的数组的元素个数是D)32

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

Option Base 1

Private Sub Command1_Click()

Dim a

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

相关文档
相关文档 最新文档