全国计算机等级考试二级VB真题(2005-2012完整版) - 图文

更新时间:2024-06-18 16:18:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2005年4月全国计算机等级考试二级——VB笔试真题

2005-2012年国二VB真题—唐海

2005年4月全国计算机等级考试二级VB笔试试卷

一、选择题((1)~(35)每小题2分,共70分) (1)数据的存储结构是指

A) 存储在外存中的数据 B) 数据所占的存储空间量

C) 数据在计算机中的顺序存储方式 D) 数据的逻辑结构在计算机中的表示 (2)下列关于栈的描述中错误的是

A)栈是先进后出的线性表 B) 栈只能顺序存储

C) 栈具有记忆作用 D) 对栈的插入与删除操作中,不需要改变栈底指针 (3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是

A) 冒泡排序为n/2 B) 冒泡排序为n C) 快速排序为n D) 快速排序为n(n-1)/2 (4)对于长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为

A) log2n B) n/2 C) n D) n+1 (5)下列对于线性链表的描述中正确的是

A)存储空间不一定是连续,且各元素的存储顺序是任意的

B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面 C)存储空间必须连续,且前件元素一定存储在后件元素的前面 D)存储空间必须连续,且各元素的存储顺序是任意的 (6)下列对于软件测试的描述中正确的是 A)软件测试的目的是证明程序是否正确 B)软件测试的目的是使程序运行结果正确 C)软件测试的目的是尽可能多地发现程序中的错误 D)软件测试的目的是使程序符合结构化原则 (7)为了使模块尽可能独立,要求

A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 (8)下列描述中正确的是 A) 程序就是软件 C) 软件既是逻辑实体,又是物理实体 B) 软件开发不受计算机系统的限制 D) 软件是程序、数据与相关文档的集合 (9)数据独立性是数据库技术的重要特点之一。所谓数据独立性是指 A) 数据与程序独立存放 C) 不同的数据只能被对应的应用程序所使用 B) 不同的数据被存放在不同的文件中 D) 以上三种说法都不对 (10) 用树形结构表示实体之间联系的模型是

A) 关系模型 B) 网状模型 C) 层次模型 D) 以上三个都是

(11) 在窗体(名称为Form1)上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写一个事件过程。程序运行以后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“计算机等级考试”。以下能实现上述操作的事件过程是: A) Private Sub Text1_Change() B) Private Sub Command1_Click()

Command1.Caption=”计算机等级考试” Caption=”计算机等级考试” End Sub End SubC) Private Sub Form1_Click() D) Private Sub Command1_Click()

Text1.Caption=”计算机等级考试” Text1.Text=”计算机等级考试” End Sub End Sub

(12)设a=5,b=4,c=3,d=2,下列表达式的值是 3>2*b Or a=c And b<>c Or c>d

A) 1 B) True C) False D) 2 (13)设a=”MicrosoftVisualBasic”, 则以下使变量b的值为”VisualBasic”的语句是

A)b=Left(a,10) B)b=Mid(a,10) C)b=Right(a,10) D)b=Mid(a,11,10) (14)假定有如下的窗体事件过程,程序运行后单击窗体,则在弹出的信息框中的标题栏中显示的信息是: Private Sub Form_Click()

a$ = \ b$ = Right(a$, 5) c = Mid(a$, 1, 9)

MsgBox a$, 34, b$, c$, 5 End Sub

A)Microsoft Visual B)Microsoft C)Basic D)5 (15)设a=”a”,b=”b”,c=”c”,d=”d”,执行语句x=IIf((a

A)Command1.Move -200 B)Command1.Move 200

C)Command1.Left=Command1.Left+200 D)Command1.Left= Command1.Left-200

(17)在窗体上画一个文本框,然后编写如下事件过程,程序运行时,在文本框中输入456,然后单击窗体,在输入对话框中输入123,单击“确

定”按钮后,在窗体上显示的内容是:

- 1 -

2005年4月全国计算机等级考试二级——VB笔试真题

Private Sub Form_Click()

x = InputBox(\请输入一个整数\) Print x + Text1.Text End Sub

A)123 B)456 C)579 D)123456

(18)在窗体上画一个文本框和一个计时器控件,名称分别为Text1和Timer1,在属性窗口中把计时器的Interval属性设置为1000,Enabled

属性设置为False,程序运行后,如果单击命令按钮,则每隔一秒钟在文本框中显示一次当前的时间。以下是实现上述操作的程序,在______处应填入的内容是

Private Sub Command1_Click() Timer1._________ End Sub

Private Sub Timer1_Timer() Text1.Text = Time End Sub

A)Enabled=True B)Enabled=False C)Visible=True D)Visible=False (19)假定在图片框Picture1中装入了一个图形,为了清除该图形(不删除图片框),应采用的正确方法是:

A)选择图片框,然后按Del键

B)执行语句Picture1.Picture=LoadPicture(“”) C)执行语句Picture1.Picture=””

D)选择图片框,在属性窗口中选择Picture属性,然后按回车键

(20)在窗体上画一个List1的列表框,一个名称为Label1的标签,列表框中显示若干个项目,当单击列表框中的某个项目时,在标签中显示

被选中的项目的名称,下列能正确实现上述操作的程序是 A) Private Sub List1_Click() C) Private Sub List1_Click()

Label1.Caption = List1.ListIndex Label1.Name = List1.Text End Sub End Sub B) Private Sub List1_Click() D) Private Sub List1_Click()

Label1.Name = List1.ListIndex Label1.Caption = List1.Text End Sub End Sub

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

事件过程: 事件过程: Private Sub Command1_Click() Private Sub Command1_Click()

Dim i As Integer, x As Integer c = \ For i = 1 To 6 For n = 1 To 4 If i = 1 Then x = i Print _________ If i <= 4 Then Next x = x + 1 End Sub Else 程序运行后,单击命令按钮,要求在窗体上显示如下内容: x = x + 2 D End If CD Next i BCD Print x ABCD End Sub 则在________处应填入的内容为 程序运行后,单击命令按钮,其输出结果为 A)Left(c,n) B)Right(c,n) A)9 B)6 C)Mid(c,n,1) D)Mid(c,n,n) C)12 D)15 (23)执行以下程序段后,x的值为

Dim x As Integer, i As Integer x=0

For i = 20 To 1 Step -2 x = x + i \\ 5 Next I

A)16 B)17 C)18 D)19 (24)在Visual Basic工程中,可以作为启动对象的程序是

A)任何窗体或标准模块 B)任何窗体或过程 C)Sub Main过程或其他任何模块 D)Sub Main过程或任何窗体 (25)假定建立了一个名为Command1的命令按钮数组,则以下说法中错误的是 A)数组中每个命令按钮的名称(名称属性)均为Command1 B)数组中每个命令按钮的标题(Caption属性)都一样 C)数组中所有命令按钮可以使用同一个事件过程

D)用名称Command1(下标)可以访问数组中的每个命令按钮

(26)把窗体的KeyPreview属性设置为True,然后编写如下事件过程: Private Sub Form_KeyPress(KeyAscii As Integer) Dim ch As String ch = Chr(KeyAscii)

KeyAscii = Asc(UCase(ch)) Print Chr(KeyAscii + 2) End Sub

程序运行后,按键盘上的”A”键,则在窗体上显示的内容是

A)A B)B C)C D)D

(27)在窗体上画一个命令按钮和一个文本框,名称分别为Command1和Text1,然后编写如下程序: Private Sub Command1_Click()

a = InputBox(\请输入日期(1~31)\)

t = \旅游景点:\长城\) & IIf(a > 10 And a <= 20, \故宫\) _ & IIf(a > 20 And a <= 30, \颐和园\)

2005年4月全国计算机等级考试二级——VB笔试真题

Text1.Text = t End Sub

程序运行后,如果从键盘输入16,则在文本框中显示的内容是: A)旅游景点:长城故宫 B)旅游景点:长城颐和园

C)旅游景点:颐和园 D)旅游景点:故宫

(28)在窗体上画一个名称为Label1的标签,然后编写如下事件过程,程序运行后,单击窗体,在标签中显示的内容是 Private Sub Form_Click()

Dim arr(10, 10) As Integer Dim i As Integer, j As Integer For i = 2 To 4 For j = 2 To 4

arr(i, j) = i * j Next j Next i

Label1.Caption = Str(arr(2, 2) + arr(3, 3)) End Sub

A)12 B)13 C)14 D)15 (29) 在窗体上画一个名称为Comamnd1的命令按钮,然后编写如下 (30)阅读程序: 通用过程和命令按钮的事件过程: Option Base 1 Private Function fun(ByVal m As Integer) Dim arr() As Integer If m Mod 2 = 0 Then Private Sub Form_Click() fun = 2 Dim i As Integer, j As Integer Else ReDim arr(3, 2) fun = 1 For i = 1 To 3 End If For j = 1 To 2 End Function arr(i, j) = i * 2 + j Private Sub Command1_Click() Next j Dim i As Integer, s As Integer Next i s = 0 ReDim Preserve arr(3, 4) For i = 1 To 5 For j = 3 To 4 s = s + fun(i) arr(3, j) = j + 9 Next Next j Print s Print arr(3, 2) + arr(3, 4) End Sub End Sub 程序运行后,单击命令按钮,则窗体上显示的是: 程序运行后,单击窗体,输出结果为: A)6 B)7 C)8 D)9 A)21 B)13 C)8 D)25

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

Private Sub Command1_Click() Dim c As Integer, d As Integer d = 0: c = 6

x = Array(2, 4, 6, 8, 10, 12) For i = 1 To 6

If x(i) > c Then

d = d + x(i): c = x(i) Else

d = d - c End If Next i Print d End Sub

程序运行后,如果单击命令按钮,则在窗体上输入的内容为 A)10 B)16 C)12 D)20 (32)设有如下程序:

Private Sub Command1_Click() Dim c As Integer, d As Integer c = 4

d = InputBox(\请输入一个整数\) Do While d > 0 If d > c Then c = c + 1 End If

d = InputBox(\请输入一个整数\) Loop

Print c + d End Sub

程序运行后,单击命令按钮如果在输入对话框中依次输入1、2、3、4、5、6、7、8、9、0,则输出结果是: A)12 B)11 C)10 D)9

(33)在窗体上画一个名称为Command1的命令按钮和一个名称为Text1的文本框,在文本框中输入以下字符串: Microsoft Visual Basic Programming,然后编写如下事件过程: Private Sub Command1_Click()

Open \

2005年9月全国计算机等级考试二级——VB笔试真题

For i = 1 To Len(Text1.Text) c = Mid(Text1.Text, i, 1) If c >= \ Print #1, LCase(c); End If Next i Close End Sub

程序运行后,单击命令按钮,文件outf.txt中的内容是: A)MVBP B)mvbp C)M D)m V v B b P p

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

Function func(X As Integer) As Integer If X < 20 Then Y = X Else

Y = 20 + X End If func = Y End Function

Private Sub Command1_Click() Dim intNum As Integer intNum = InputBox(\) If SW Then

Print func(intNum) End If End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) SW = False End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) SW = True End Sub

程序运行后,单击命令按钮,将显示一个输入对话框,如果在对话框中输入25,则程序的执行结果是: A)输出0 B)输出25 C)输出45 D)无任何输出 (35) 设有如下通用过程:

Public Sub fun(a() As Integer, x As Integer) For i = 1 To 5 x = x + a(i) Next End Sub

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

Dim arr(5) As Integer, n As Integer For i = 1 To 5 arr(i) = i + i Next

fun arr, n

Text1.Text = Str(n) End Sub

程序运行后,单击命令按钮,则在文本框中显示的内容是 A)30 B)25 C)20 D)15 二、填空题(每空2分,共30分)

请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。 (1) 某二叉树中度为2的结点有18个,则该二树中有 【1】 个叶子结点。 (2) 在面向对象方法中,类的实例称为 【2】 。

(3) 诊断和改正程序中错误的工作通常称为 【3】 。

(4) 在关系数据库中,把数据表示成二维表,每一个二维表称为 【4】 。 (5) 问题处理方案的正确而完整的描述称为 【5】 。

(6) 以下语句Print Int(12345.6789*100+0.5)/100的输出结果是: 【6】 (7) 在窗体上画一个文本框和一个图片框,然后编写如下两个事件过程: Private Sub Form_Click() Text1.Text = \程序设计\ End Sub

Private Sub Text1_Change()

Picture1.Print \ End Sub

程序运行后,单击窗体,在文本框中显示的内容是【7】,而在图片框中显示的内容是【8】 (8)阅读下面的程序,程序运行后,单击窗体,输出结果是【9】

Private Sub Form_Click()

2005年9月全国计算机等级考试二级——VB笔试真题

Dim Check As Boolean, Counter As Integer Check = True Counter = 5 Do

Do While Counter < 20 Counter = Counter + 1 If Counter = 10 Then Check = False Exit Do End If Loop

Loop Until Check = False Print Counter End Sub (9)设有如下程序:

Private Sub Form_Click()

Dim a As Integer, s As Integer n = 8 s = 0 Do

s = s + n n = n - 1

Loop While n > 0 Print s End Sub

以上程序的功能是【10】,程序运行后,单击窗体,输出结果为【11】 (10)设有如下程序: Option Base 1

Private Sub Command1_Click()

Dim arr1

Dim Min As Integer, i As Integer

arr1 = Array(12, 435, 76, -24, 78, 54, 866, 43) Min = 【12】 For i = 2 To 8

If arr1(i) < Min Then 【13】 Next i

Print \最小值是:\ End Sub

以上程序的功能是用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中的最小值,请填空

(11)在名称为Form1的窗体上画一个文本框,其名称为Text1,在属性窗口中把文本框的MultiLine属性设置为True,然后编写如下事件过程: Private Sub Form_Click()

Open \ Do While Not 【14】

Line Input #1, aspect$

whole$ = whole$ + aspect$ + Chr(13) + Chr(10) Loop

Text1.Text = whole$ Close #1

Open \ Print #1, 【15】 Close #1 End Sub

上述程序的功能是,把磁盘文件smtext1.txt 的内容读到内存并在文本框中显示出来,然后把该文本框中的内容存入磁盘文件smtext2.txt.请填空。

2005年9月全国计算机等级考试二级VB笔试试卷

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

 A)程序设计就是编制程序 B)程序的测试必须由程序员自己去完成  C)程序经调试改错后还应进行再测试 D)程序经调试改错后不必进行再测试 (2)下列数据结构中,能用二分法进行查找的是  A)顺序存储的有序线性表 B)线性链表 C)二叉链表 D)有序线性链表 (3)下列关于栈的描述正确的是

 A)在栈中只能插入元素而不能删除元素  B)在栈中只能删除元素而不能插入元素

 C)栈是特殊的线性表,只能在一端插入或删除元素

 D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素 (4)下列叙述中正确的是

 A)一个逻辑数据结构只能有一种存储结构

 B)数据的逻辑结构属于线性结构,存储结构属于非线性结构

2005年9月全国计算机等级考试二级——VB笔试真题

 C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率  D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 (5)下列描述中正确的是

 A)软件工程只是解决软件项目的管理问题  B)软件工程主要解决软件产品的生产率问题

 C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则  D)软件工程只是解决软件开发中的技术问题 (6)在软件设计中,不属于过程设计工具的是  A)PDL(过程设计语言) B)PAD图 C)N-S图 D)DFD图 (7)下列叙述中正确的是

 A)软件交付使用后还需要进行维护 B)软件一旦交付使用就不需要再进行维护 C)软件交付使用后其生命周期就结束 D)软件维护是指修复程序中被破坏的指令 (8)数据库设计的根本目标是要解决

A)数据共享问题 B)数据安全问题 C)大量数据存储问题 D)简化数据维护 (9)设有如下关系表:

R S T A B C A B C A B C 1 1 2 3 1 3 1 1 2 2 2 3 2 2 3 3 1 3 则下列操作中正确的是

 A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S (10)数据库系统的核心是  A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员

(11)假定一个Visual Basic应用程序由一个窗体模块和一个标准模块构成。为保存该应用程序,以下正确的操作是  A)只保存窗体模块文件 C)只保存窗体模块和标准模块文件  B)分别保存窗体模块、标准模块和工程文件 D)只保存工程文件 (12)为了清除窗体上的一个控件,下列正确的操作是  A)按回车键 C)选择(单击)要清除的控件,然后按Del键  B)按Esc键 D)选择(单击)要清除的控件,然后按回车键 (13)以下叙述中错误的是

 A)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件  B)当程序运行时,双击一个窗体,则触发该窗体的DblClick事件  C)Visual Basic应用程序只能以解释方式执行

D)事件可以由用户引发,也可以由系统引发

(14)设a=2, b=3, c=4, d=5, 下列表达式Not a<=c Or 4*c=b^2 And b<>a+c的值是  A)-1 B)1 C)True D)False

(15)设a = 5,b = 10,则执行 c = Int((b - a) * Rnd + a) + 1后,c值的范围为

A)5~10 B)6~9 C)6~10 D)5~9 (16)在窗体上画一个命令按钮,名称为Command1,然后编写如下事件过程:

Private Sub Command1_Click()  a$ = \ b$ = Right(a$, 8)  c$ = Mid(a$, 1, 8)  MsgBox a$, , b$, c$, 1 End Sub

运行程序,单击命令按钮,则在弹出的信息框的标题栏中显示的是

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

(17)在窗体上画一个命令按钮和一个文本框,其名称分别为Command1和Text1,把文本框的Text属性设置为空白,然后编写如下事件过程:

Private Sub Command1_Click()

 a = InputBox(\)  b = InputBox(\)  Text1.Text = b + a End Sub

程序运行后,单击命令按钮,如果在输入对话框中分别输入8和10,则文本框中显示的内容是  A)108 B)18 C)810 D)出错

(18)在窗体上画两个文本框,其名称分别为Text1和Text2,然后编写如下程序:

Private Sub Form_Load()  Show

 Text1.Text = \ Text1.SetFocus End Sub

Private Sub Text1_Change()

 Text2.Text = Mid(Text1.Text, 8) End Sub

程序运行后,如果在文本框Text1中输入BeijingChina,则在文本框Text2中显示的内容是 A)BeijingChina B)China C)Beijing D)BeijingC

(19)在窗体上画一个列表框和一个命令按钮,其名称分别为List1和Command1,然后编写如下事件过程:

Private Sub Form_Load()  List1.AddItem \ List1.AddItem \ List1.AddItem \End Sub

Private Sub Command1_Click()

 List1.List(List1.ListCount) = \End Sub

2005年9月全国计算机等级考试二级——VB笔试真题

程序运行后,单击命令按钮,其结果为

A)把字符串“AAAA”添加到列表框中,但位置不能确定

B)把字符串“AAAA”添加到列表框的最后(即“Item 3”的后面) C)把列表框中原有的最后一项改为“AAAA”

D)把字符串“AAAA”插入到列表框的最前面(即“Item 1”的前面) (20)假定有如下事件过程:

Private Sub Form_Click()

 Dim x As Integer, n As Integer  x = 1  n = 0

 Do While x < 28  x = x * 3  n = n + 1  Loop

 Print x, n End Sub

程序运行后,单击窗体,输出结果是 A)81 4 B)56 3 C)28 1 D)243 5 (21)有如下程序:

 Private Sub Form_Click()  Dim Check, Counter  Check = True  Counter = 0  Do

 Do While Counter < 20  Counter = Counter + 1  If Counter = 10 Then  Check = False  Exit Do  End If  Loop

 Loop Until Check = False  Print Counter, Check  End Sub

 程序运行后,单击窗体,输出结果为 A)15 0 B)20 -1 C)10 True D)10 False (22)有如下程序:

 Private Sub Form_Click()

 Dim i As Integer, sum As Integer  sum = 0

 For i = 2 To 10

 If i Mod 2 <> 0 And i Mod 3 = 0 Then  sum = sum + i  End If  Next i  Print sum  End Sub

 程序运行后,单击窗体,输出结果为  A)12 B)30 C)24 D)18

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

 Dim array1(10, 10) As Integer  Dim i As Integer, j As Integer  For i = 1 To 3  For j = 2 To 4

 array1(i, j) = i + j  Next j  Next i

 Text1.Text = array1(2, 3) + array1(3, 4) End Sub

 程序运行后,单击命令按钮,在文本框中显示的值是  A)12 B)13 C)14 D)15

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

Private Sub Command1_Click()  Dim a1(4, 4), a2(4, 4)  For i = 1 To 4  For j = 1 To 4  a1(i, j) = i + j  a2(i, j) = a1(i, j) + i + j  Next j  Next i  Print a1(3, 3); a2(3, 3) End Sub

2005年9月全国计算机等级考试二级——VB笔试真题

 程序运行后,单击命令按钮,在窗体上输出的是

 A)6 6 B)10 5 C)7 21 D)6 12 (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)25 B)26 C)27 D)28

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

Private Sub Command1_Click()  Dim a(5) As String  For i = 1 To 5

 a(i) = Chr(Asc(\) + (i - 1))  Next i

 For Each b In a  Print b;  Next End Sub

 程序运行后,单击命令按钮,输出结果是  A)ABCDE B)1 2 3 4 5  C)abcde D)出错信息

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

A)如果不指明函数过程参数的类型,则该参数没有数据类型 B)函数过程的返回值可以有多个

C)当数组作为函数过程的参数时,既能以传值方式传递,也能以引用方式传递 D)函数过程形参的类型与函数返回值的类型没有关系

(28)函数过程F1的功能是:如果参数b为奇数,则返回值为1,否则返回值为0。以下能正确实现上述功能的代码是: A)Function F1(b As Integer) B)Function F1(b As Integer)

 If b Mod 2 = 0 Then  If b Mod 2 = 0 Then  Return 0  F1 = 0  Else  Else  Return 1  F1 = 1  End If  End If End Function End Function

C)Function F1(b As Integer) D)Function F1(b As Integer)

 If b Mod 2 = 0 Then  If b Mod 2 <> 0 Then  F1 = 1  Return 0  Else  Else  F1 = 0  Return 1  End If  End If End Function End Function (29)以下关于KeyPress事件过程中参数KeyAscii的叙述中正确的是

A)KeyAscii参数是所按键的ASCII码 B)KeyAscii参数的数据类型为字符串 C)KeyAscii参数可以省略

D)KeyAscii参数是所按键上标注的字符

(30)设窗体上有一个名为Text1的文本框,并编写如下程序: Private Sub Form_Load()  Show

 Text1.Text = \ Text1.SetFocus End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)  Print \程序设计\End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)  Print \End Sub

程序运行后,如果在文本框中输入字母“a”,然后单击窗体,则在窗体上显示的内容是  A)Visual Basic B)程序设计 C)Visual Basic程序设计 D)a程序设计 (31)假定有下表所列的菜单结构:

━━━━━━━━━━━━━━━━━━━━ 标题 名称 层次

──────────────────── 显示 appear 1(主菜单) 大图标 bigicon 2(子菜单) 小图标 smallicon 2(子菜单)

2005年9月全国计算机等级考试二级——VB笔试真题

━━━━━━━━━━━━━━━━━━━━

要求程序运行后,如果单击菜单项“大图标”,则在该菜单项前添加一个“√”。以下正确的事件过程是 A)Private Sub bigicon_Click() B)Private Sub bigicon_Click()

 bigicon.Checked = False  Me. appear.bigicon.Checked = True  End Sub  End Sub C)Private Sub bigicon_Click() D)Private Sub bigicon_Click()

 bigicon.Checked = True  appear.bigicon.Checked = True  End Sub  End Sub

(32)假定通用对话框的名称为CommonDialog1,命令按钮的名称为Command1,则单击命令按钮后,能使打开的对话框的标题为“New Title”

的事件过程是

A)Private Sub Command1_Click() C)Private Sub Command1_Click()  CommonDialog1.DialogTitle = \  CommonDialog1.DialogTitle = \  CommonDialog1.ShowPrinter  CommonDialog1.ShowOpen End Sub End Sub

B)Private Sub Command1_Click() D)Private Sub Command1_Click()

 CommonDialog1.DialogTitle = \  CommonDialog1.DialogTitle = \  CommonDialog1.ShowFont  CommonDialog1.ShowColor End Sub End Sub (33)如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是 A)任何时刻最多只有一个窗体是活动窗体 B)不能把标准模块设置为启动模块

C)用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体 D)如果工程中含有Sub Main过程,则程序一定首先执行该过程 (34)假定在工程文件中有一个标准模块,其中定义了如下记录类型  Type Books  Name As String * 10  TelNum As String * 20  End Type

 要求当执行事件过程Command1_Click时,在顺序文件Person.txt中写入一条记录。下列能够完成该操作的事件过程是

A)Private Sub Command1_Click() C)Private Sub Command1_Click()  Dim B As Books  Dim B As Books  Open \\\Person.txt\ Open \\\Person.txt\ B.Name = InputBox(\\)  Name = InputBox(\\)  B.TelNum = InputBox(\\)  TelNum = InputBox(\\)  Write #1, B.Name, B.TelNum  Write #1, B  Close #1  Close #1  End Sub End Sub B)Private Sub Command1_Click() D)Private Sub Command1_Click()

 Dim B As Books  Dim B As Book  Open \\\Person.txt\ Open \\\Person.txt\ B.Name = InputBox(\\)  Name = InputBox(\\)  B.TelNum = InputBox(\\)  TelNum = InputBox(\\)  Print #1, B.Name, B.TelNum  Print #1, B.Name, B.TelNum  Close #1  Close #1 End Sub End Sub (35)目录列表框的Path属性的作用是

A)显示当前驱动器或指定驱动器上的某目录下的文件名  C)显示根目录下的文件名  B)显示当前驱动器或指定驱动器上的目录结构  D)显示指定路径下的文件 二、填空题(每空2分,共30分)

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

(1)数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是 【1】 。 (2)算法复杂度主要包括时间复杂度和 【2】 复杂度。

(3)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中 【3】 的作用是将测试数据传送给

被测试的模块,并显示被测试模块所产生的结果。

(4)一棵二叉树第六层(根结点为第一层)的结点数最多为 【4】 个。 (5)数据结构分为逻辑结构和存储结构,循环队列属于 【5】 结构。 (6)设有以下函数过程:

Function fun(m As Integer) As Integer

 Dim k As Integer, sum As Integer  sum = 0

 For k = m To 1 Step -2  sum = sum + k  Next k  fun = sum End Function

若在程序中用语句 s = fun(10) 调用此函数,则s的值为 【6】 。

(7)在窗体上画一个命令按钮和一个文本框,然后编写命令按钮的Click事件过程。程序运行后,在文本框中输入一串英文字母(不区分大小

写),单击命令按钮,程序可找出未在文本框中输入的其他所有英文字母,并以大写方式降序显示到Text1中。例如,若在Text1中输入的是abDfdb,则单击Command1按钮后Text1中显示的字符串是ZYXWVUTSRQPONMLKJIHGEC。请填空。 Private Sub Command1_Click( )

 Dim str As String, s As String, c As String  str = UCase(Text1)  s = \  c = \

 While c >= \

2005年9月全国计算机等级考试二级——VB笔试真题

 If InStr(str, c) = 0 Then  s = 【7】  End If  c = Chr$(Asc(c) 【8】 )  Wend

 If s <> \  Text1 = s  End If End Sub

(8) 在n个运动员中选出任意r个人参加比赛,有很多种不同的选

n!r!(n?r)!计算。下图窗体中3个文

法,选法的个数可以用公式

本框的名称依次是Text1、Text2、Text3。程序运行时在Text1、Text2中分别输入n和r的值,单击Command1按钮即可求出选法的个数,并显示在Text3文本框中(见下图)。请填空。

按钮。运行时在文本框数组中输入7个分数,单击“计算得分”命令

按钮,则最后得分显示在Text2文本框中(去掉一个最高分和一个最低分后的平均分即为最后得分),如图所示。请填空。



Private Sub Command1_Click( )

 Dim r As Integer, n As Integer  n = Text1  r = Text2

Text3 = fun(n) / fun(【9】 ) / fun(r) End Sub

Function fun(n As Integer) as long  Dim t As Long  【10】

 For k = 1 To n  t = t * k  Next  fun = t End Function

(9)以下是一个比赛评分程序。在窗体上建立一个名为Text1的文本框数组,然后画一个名为Text2的文本框和名为Command1的命令

(10)如图所示,在列表框List1中已经有若干人的简单信息,运行时在Text1文本框(即“查找对象”右边的文本框)输入一个姓或姓名,

单击“查找”按钮,则在列表框中进行查找,若找到,则把该人的信息显示在Text2文本框中。若有多个匹配的列表项,则只显示第1个匹配项;若未找到,则在Text2中显示“查无此人”。请填空。



Private Sub Command1_Click( )  Dim k As Integer

 Dim sum As Single, max As Single, min As Single  sum = Text1(0)  max = Text1(0)  min = 【11】

 For k = 【12】 To 6  If max < Text1(k) Then  max = Text1(k)  End If  If min > Text1(k) Then  min = Text1(k)  End If  sum = sum + Text1(k)  Next k

 Text2 = (【13】 ) / 5 End Sub

Private Sub Command1_Click()

 Dim k As Integer, n As Integer, found As Boolean  found = False

 n = Len(【14】 )  k = 0

 While k < List1.ListCount And Not found

 If Text1 = Left$(List1.List(k), n) Then

 Text2 = 【15】  found = True  End If  k = k + 1  Wend

 If Not found Then

 Text2 = \\

2005年9月全国计算机等级考试二级——VB笔试真题

 End If End Sub

2006年4月全国计算机等级考试二级——VB笔试真题

2006年4月全国计算机等级考试二级VB笔试试卷

一、选择题(每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。 (1)下列选项中不属于结构化程序设计方法的是。

A) 自顶向下 B) 逐步求精 C) 模块化 D) 可复用 (2)两个或两个以上模块之间关联的紧密程度称为。

A) 耦合度 B) 内聚度 C) 复杂度 D) 数据传输特性 (3)下列叙述中正确的是。

A) 软件测试应该由程序开发者来完成 C) 软件维护只包括对程序代码的维护 B) 程序经调试后一般不需要再测试 D) 以上三种说法都不对 (4)按照“后进先出”原则组织数据的数据结构是。

A) 队列 B) 栈 C) 双向链表 D) 二叉树 (5)下列叙述中正确的是。

A) 线性链表是线性表的链式存储结构 C) 双向链表是非线性结构 B) 栈与队列是非线性结构 D) 只有根结点的二叉树是线性结构 (6)对如下二叉树

A

B C D E F 进行后序遍历的结果为。

A) ABCDEF B) DBEAFC C) ABDECF D) DEBFCA (7)在深度为7的满二叉树中,叶子结点的个数为。

A) 32 B) 31 C) 64 D) 63 (8)“商品”与“顾客”两个实体集之间的联系一般是。

A) 一对一 B) 一对多 C) 多对一 D) 多对多 (9)在E-R图中,用来表示实体的图形是。

A) 矩形 B) 椭圆形 C) 菱形 D) 三角形 (10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是。

A) DB包含DBS和DBMS B) DBMS包含DB和DBS C) DBS包含DB和DBMS D) 没有任何关系 (11)以下关于Visual Basic特点的叙述中,错误的是。

A) Visual Basic是采用事件驱动编程机制的语言

B) Visual Basic程序既可以编译运行,也可以解释运行 C) 构成Visual Basic程序的多个过程没有固定的执行顺序

D) Visual Basic程序不是结构化程序,不具备结构化程序的三种基本结构 (12)以下叙述中,错误的是。

A) 一个Visual Basic应用程序可以含有多个标准模块文件 C) 标准模块文件可以属于某个指定的窗体文件 B) 一个Visual Basic工程可以含有多个窗体文件 D) 标准模块文件的扩展名是.bas (13)以下叙述中,错误的是。

A) 在Visual Basic中,对象所能响应的事件是由系统定义的

B) 对象的任何属性既可以通过属性窗口设定,也可以通过程序语句设定 C) Visual Basic中允许不同对象使用相同名称的方法 D) Visual Basic中的对象具有自己的属性和方法 (14)设有如下语句:

Dim a,b As Integer c=\d=#7/20/2005#

以下关于这段代码的叙述中,错误的是。 A) a被定义为Integer类型变量 C) c中的数据是字符串 B) b被定义为Integer类型变量 D) d中的数据是日期类型 (15)以下能从字符串\中直接取出子字符串\的函数是。

A) Left B) Mid C) String D) Instr (16)设a=4,b=3,c=2,d=1,下列表达式a>b+1 Or c

A) True B) 1 C) -1 D) 0 (17)以下可以作为Visual Basic变量名的是。

A) A#A B) counstA C) 3A D) ?AA (18)设x=4,y=6,则以下不能在窗体上显示出“A=10”的语句是。

A) Print A=x+y B) Print\) Print \) D) Print\(19)假定有如下的命令按钮(名称为Command1)事件过程:

Private Sub Command1_Click() x=InputBox(\输入:\,\输入整数\) MsgBox\输入的数据是:”,,”输入数据:\End Sub

程序运行后,单击命令按钮,如果从键盘上输入整数10,则以下叙述中错误的是。 A) x的值是数值10 C) 信息框的标题是“输入数据:10” B) 输入对话框的标题是“输入整数” D) 信息框中显示的是“输入的数据是:”

2006年4月全国计算机等级考试二级——VB笔试真题

(20)在窗体上画1个命令按钮(名称为Command1)和1个文本框(名(21)设有命令按钮Command1单击事件过程,代码如下: 称为Text1),然后编写如下事件过程: Private Sub Command1_Click()

Private Sub Command1_Click() Dim a(30)As Integer x=Val(Text1.Text) For i=1 To 30 Select Case x a(i)=Int(Rnd*100) Case 1,3 Next y=x*x For Each arrItem In a Case Is>=10,Is<=-10 If arrItem Mod 7=0 Then Print arrItem; y=x If arrItem>90 Then Exit For Case -10 To 10 Next y=-x End Sub End Select 对于该事件过程,以下叙述中错误的是。 End Sub A) a数组中的数据是30个100以内的整数 程序运行后,在文本框中输入3,然后单击命令按钮,则以下叙述中B) 语句For Each arrItem In a有语法错误 正确的是。 C) If arrItem Mod 7=0??语句的功能是输出数组中能够被7整除A) 执行y=x*x B) 执行y=-x 的数 C) 先执行y=x*x,再执行y=-x D) If arrItem>90??语句的作用是当数组元素的值大于90时退出D) 程序出错 For循环

(22)设有命令按钮Command1的单击事件过程,代码如下: (23)在窗体上画1个名称为Command1的命令按钮,然后编写如下事

Private Sub Command1_Click() 件过程: Dim a(3,3)As Integer Private Sub Command1_Click() For i=1 To 3 a=0 For j=1 To 3 For i=1 To 2 a(i,j)=i*j+i For j=1 To 4 Next j If j Mod 2<>0 Then Next i a=a-1 Sum=0 End If For i=1 To 3 a=a+1 Sum=Sum+a(i,4-i) Next j Next i Next i Print Sum Print a End Sub End Sub

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

A) 20 B) 7 C) 16 D) 17 A) 0 B) 2 C) 3 D) 4

(24)窗体上有名称分别为Text1、Text2的2个文本框,有一个由3个单选按钮构成的控件数组Option1,如图1所示。程序运行后,如果单

击某个单选按钮,则执行Text1中的数值与该单选按钮所对应的运算(乘以1、10或100),并将结果显示在Text2中,如图2所示。为了实现上述功能,在程序中的问号(?)处应填入的内容是。

图1 图2

Private Sub Option1_Click(Index As Integer) If Text1.Text<>\Select Case ? Case 0

Text2.Text=Val(Text1.Text) Case 1

Text2.Text=Val(Text1.Text)*10 Case 2

Text2.Text=Val(Text1.Text)*100 End Select End If End Sub

A) Index B) Option1.Index C) Option1(Index) D) Option1(Index).Value (25)在窗体上画1个命令按钮,其名称为Command1,然后编写如下程序:

Private Sub Command1_Click()

Dim a(10)As Integer Dim x As Integer For i=1 To 10 a(i)=8+i Next x=2

Print a(f(x)+x) End Sub

Function f(x As Integer)

x=x+3 f=x

2006年4月全国计算机等级考试二级——VB笔试真题

End Function

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

A) 12 B) 15 C) 17 D) 18 (26)以下关于过程的叙述中,错误的是。

A) 事件过程是由某个事件触发而执行的过程 C) 可以在事件过程中调用通用过程 B) 函数过程的返回值可以有多个 D) 不能在事件过程中定义函数过程 (27)在窗体上画3个标签、3个文本框(名称分别为Text1、Text2和Text3)和1个命令按钮(名称为Command1),外观如图所示。编写如下程

序:

Private Sub Form_Load() Text1.Text=\Text2.Text=\Text3.Text=\End Sub

Private Sub Command1_Click() x=Val(Text1.Text) y=Val(Text2.Text) Text3.Text=f(x,y) End Sub

Function f(ByVal x As Integer,ByVal y As Integer) Do While y<>0 tmp=x Mod y x=y y=tmp Loop f=x

End Function

运行程序,在Text1文本框中输入36,在Text2文本框中输入24,然后单击命令按钮,则在Text3文本框 中显示的内容是。

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

(28)窗体上有名称分别为Text1、Text2的2个文本框,要求文本框Text1中输入的数据小于500,文本框Text2中输入的数据小于1000,否

则重新输入。为了实现上述功能,在以下程序中问号(?)处应填入的内容是 Private Sub Text1_LostFocus() Call CheckInput(Text1,500) End Sub

Private Sub Text2_LostFocus() Call CheckInput(Text2,1000) End Sub

Sub CheckInput(t As ?,x As Integer) If Val(t.Text)>x Then MsgBox\请重新输入!\End If End Sub

A) Text B) SelText C) Control D) Form (29)在窗体上画1个文本框,其名称为Text1,然后编写如下过程:

Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)

Print Chr(KeyCode) End Sub

Private Sub Text1_KeyUp(KeyCode As Integer,Shift As Integer)

Print Chr(KeyCode+2) End Sub

程序运行后,把焦点移到文本框中,此时如果敲击“A”键,则输出结果为。 A) A B) A C) A D) A

A B C D

(30)为了使列表框中的项目呈多列显示,需要设置的属性为。

A) Columns B) Style C) List D) MultiSelect (31)在窗体上画1个命令按钮,名称为Command1,然后编写如下程序:

Dim Flag As Boolean

Private Sub Command1_Click()

Dim intNum As Integer

intNum=InputBox(\请输入:\) If Flag Then Print f(intNum) End Sub

Function f(X As Integer)As Integer

If X<10 Then

Y=X

2006年4月全国计算机等级考试二级——VB笔试真题

Else

Y=X+10 End If f=Y End Function

Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y AsSingle) Flag=True End Sub

运行程序,首先单击窗体,然后单击命令按钮,在输入对话框中输入5,则程序的输出结果为。 A) 0 B) 5 C) 15 D) 无任何输出

(32)在菜单编辑器中建立1个名称为Menu0的菜单项,将其“可见”属性设置为False,并建立其若干

子菜单,然后编写如下过程:

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

If Button=1 Then PopupMenu Menu0 End If End Sub

则以下叙述中错误的是。

A) 该过程的作用是弹出一个菜单 B) 单击鼠标右键时弹出菜单

C) Menu0是在菜单编辑器中定义的弹出菜单的名称 D) 参数X、Y指明鼠标当前位置的坐标

(33)窗体上有1个名称为CD1的通用对话框,1个名称为Command1的命令按钮。命令按钮的单击事件过程如下:

Private Sub Command1_Click()

CD1.FileName=\

CD1.Filter=\)|*.Doc|(*.Txt)|*.txt\CD1.FilterIndex=2 CD1.Action=1 End Sub

关于以上代码,错误的叙述是。

A)执行以上事件过程,通用对话框被设置为“打开”文件对话框 C) 通用对话框的默认文件类型为*.Txt B)通用对话框的初始路径为当前路径 D) 以上代码不对文件执行读写操作 (34)以下叙述中错误的是。

A) 用Shell函数可以执行扩展名为.exe的应用程序

B) 若用Static定义通用过程,则该过程中的局部变量都被默认为Static类型 C) Static类型的变量可以在标准模块的声明部分定义 D) 全局变量必须在标准模块中用Public或Global声明 (35)以下关于文件的叙述中,错误的是。

A) 使用Append方式打开文件时,文件指针被定位于文件尾

B) 当以输入方式(Input)打开文件时,如果文件不存在,则建立一个新文件 C) 顺序文件各记录的长度可以不同

D) 随机文件打开后,既可以进行读操作,也可以进行写操作 二、填空题(每空2分,共30分)

请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。 (1)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为【1】。 (2)在面向对象方法中,【2】描述的是具有相似属性与操作的一组对象。 (3)在关系模型中,把数据看成是二维表,每一个二维表称为一个【3】。

(4)程序测试分为静态分析和动态测试。其中【4】是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。 (5)数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,称为【5】。

(6)下列语句的输出结果是【6】。

Print Format(Int(12345.6789*100+0.5)/100,\,0.00\) (7)在窗体上画1个命令按钮,其名称为Command1,然后编写如下Else 事件过程: Fun=y Private Sub Command1_Click() End If Dim arr(1 To 100)As Integer End Function For i=1 To 100 Private Sub Command1_Click() arr(i)=Int(Rnd*1000) Dim a As Integer,b As Integer Next i a=-10:b=5 Max=arr(1):Min=arr(1) Text1.Text=Fun(a,b) For i=1 To 100 Text2.Text=Fun(a,b) If【7】Then Max=arr(i) End Sub If【8】Then Min=arr(i) 程序运行后,单击命令按钮,Text1和Text2文本框显示的内容Next i 分别是【9】和【10】。 Print\;Max,\;Min End Sub

程序运行后,单击命令按钮,将产生100个1000以内的随机整数,放入数组arr中,然后查找并输出这100个数中的最大值Max和最小值Min,请填空。

(8)在窗体上画1个名称为Command1的命令按钮和2个名称分别为Text1、Text2的文本框,如图所示,然后编写如下程序:

Function Fun(x As Integer,ByVal y As Integer)As Integer x=x+y

If x<0 Then Fun=x

2006年9月全国计算机等级考试二级——VB笔试真题

(9)在窗体上画1个命令按钮和1个文本框,其名称分别为Command1和Text1,然后编写如下代码:

Dim SaveAll As String

Private Sub Command1_Click()

Text1.Text=Left(UCase(SaveAll),4) End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer) SaveAll=SaveAll+Chr(KeyAscii) End Sub

程序运行后,在文本框中输入abcdefg,单击命令按钮,则文本框中显示的内容是【11】。

(10)在窗体上画1个命令按钮和1个通用对话框,其名称分别为Command1和CommonDialog1,然后编写如下事件过程:

Private Sub Command1_Click()

CommonDialog1.【12】=\打开文件\

CommonDialog1.Filter=\)|*.*\CommonDialog1.InitDir=\:\\CommonDialog1.ShowOpen End Sub

该程序的功能是,程序运行后,单击命令按钮,将显示“打开”文件对话框,其标题是“打开文件”,在“文件类型”栏内显示“AIl Files(*.*)”,并显示C盘根目录下的所有文件,请填空。 (11)在窗体上画1个文本框,名称为Text1,然后编写如下程序:

Private Sub Form_Load()

Open\:\temp\dat.txt\Text1.Text=\End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer) lf【13】=13 Then

If UCase(Text1.Text)=【14】Then Close 1 End Else

Write#1,【15】 Text1.Text=\End If End If End Sub

以上程序的功能是,在D盘temp目录下建立1个名为dat.txt的文件,在文本框中输入字符,每次按回车键(回车符的ASCII码是13)都把当前文本框中的内容写入文件dat.txt,并清除文本框中的内容;如果输入“END”,则结束程序。请填空。

2006年9月全国计算机等级考试二级VB笔试试卷

一、选择题(每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1) 下列选项不符合良好程序设计风格的是( )

A、源程序要文档化 C、避免滥用goto语句 B、数据说明的次序要规范化 D、模块设计要保证高耦合、高内聚 (2) 从工程管理角度,软件设计一般分为两步完成,它们是( )

A、概要设计与详细设计 C、软件结构设计与数据设计 B、数据设计与接口设计 D、过程设计与数据设计 (3) 下列选项中不属于软件生命周期开发阶段任务的是( )

A、软件测试 B、概要设计 C、软件维护 D、详细设计 (4) 在数据库系统中,用户所见的数据模式为 A、概念模式 B、外模式 C、内模式 D、物理模式 (5) 数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和( ) A、编码设计 B、测试阶段 C、运行阶段 D、物理设计 (6) 设有如下三个关系表,下列操作中正确的是( )

R S T A B C A B C m 1 3 m 1 3 n n 1 3

A、T=R∩S B、T=R∪S C、T=R×S D、T=R∕S (7) 下列叙述中正确的是( )

A、一个算法的空间复杂度大,则其时间复杂度也必定大 B、一个算法的空间复杂度大,则其时间复杂度必定小 C、一个算法的时间复杂度大,则其空间复杂度必定小 D、上述三种说法都不对 (8) 在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )

2006年9月全国计算机等级考试二级——VB笔试真题

A、63 B、64 (9) 数据库技术的根本目标是要解决数据的( )

A、存储问题 B、共享问题 (10) 对下列二叉树

F

C E A D G B

进行中序遍历的结果是( ) A、ACBDFEG B、ACBDFGE C、ABDCGEF D、FCADBEG (11) 以下叙述中正确的是( )

A、窗体的Name属性指定窗体的名称,用来标示一个窗体 B、窗体的Name属性值是显示在窗体标题中的文本 C、可以在运行期间改变窗体的Name属性的值 D、窗体的Name属性值可以为空

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

A、打开一个工程文件时,系统自动载入与该工程有关的窗体文件 B、保存Visual Basic程序时,应分别保存窗体文件及工程文件 C、Visual Basic应用程序只能以解释方式执行 D、窗体文件包含该窗体及其控件的属性

(13) 设a=2,b=3,c=4下列表达式的值是( )

Not a<=c Or 4*c=b^2 And <> a+c A、-1 B、1 C、True D、False

(14) 设有如下的用户定义类型:

Type student

Number As String Name As String Age As Integer End Type

则以下正确引用该类型成员的代码是( ) A、 student.Name = \李明\ s.Name = \李明\

B、 Dim s As student

C、 Dim s As Type student D、 Dim s As Type s.Name = \李明\ s.Name = \李明\

(15) 设a=5,b=6,c=7,d=8,执行下列语句后,x的值为

x=IIf((a>b) And (c>d),10,20) A、10 B、20 C、True D、False

(16) 执行以下程序段后,变量c$的值为

a$=”Visual Basic Programming” b$=”Quick”

c$= b$&Ucase (Mid$ (a$,7,6)) &Right$ (a$,12) A、Visual BASIC Programming B、Quick Basic Programming C、QUICK Basic Programming D、Quick BASIC Programing

(17) 在窗体上画一个文本框(其名称为Text1)和一个标签(其名称为Label1),程序运行后,如果在文本框中输入指定的信息,则立刻

在标签中显示相同的内容。以下可以实现上述操作的事件过程是( ) A、Private Sub Text1_Click() C、Private Sub Label1_Change()

Label1.Caption = Text1.Text Label1.Caption = Text1.Text End Sub End Sub B、Private Sub Text1_Change() D、Private Sub Label1_Click()

Label1.Caption = Text1.Text Label1.Caption = Text1.Text End Sub End Sub

(18) 在窗体上画一个命令按钮和一个标签,名称分别为Command1和Label1,编写如下事件过程:

Private Sub Command1_Click() Counter = 0 For i = 1 To 4

For j = 6 To 1 Step -2 Counter = Counter + 1 Next j Next i

Label1.Caption = Str(Counter) End Sub

程序运行后,单击命令按钮,标签中显示的内容是( ) A、11 B、12 C、16 D、20

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

Dim i As Integer, n As Integer For i = 0 To 50 i = i + 3 n = n + 1

If i >1 0 Then Exit For Next

Text1.Text = Str(n)

C、6 C、安全问题

D、7 D、保护问题

2006年9月全国计算机等级考试二级——VB笔试真题

(20)

程序运行后,单击命令按钮,在文本框中显示的值是 A、5 B、4 C、3 D、2 在窗体上画一个命令按钮和两个标签,其名称为Command1、Label1和Label2,然后编写如下事件过程: Private Sub Command1_Click() a = 0

For i = 1 To 10 a = a + 1 b = 0

For j = 1 To 10 a = a + 1 b = b + 2 Next j Next i

Label1.Caption = Str(a) Label2.Caption = Str(b) End Sub A、10和20 B、20和110 C、200和110 D、110和20 在窗体上画一个名称为List1的列表框,一个名称为Lable1的标签,列表框中显示若干城市的名称。当单击列表框中的某个城市时,该城市从列表框中消失,并在标签中显示出来。下列能正确实现上述操作的程序是( ) A、Private Sub List1_Click() C、Private Sub List1_Click()

Label1.Caption = List1.ListIndex Label1.Caption = List1.Text List1.RemoveItem List1.Text List1.RemoveItem List1.ListIndex End Sub End Sub B、Private Sub List1_Click() D、Private Sub List1_Click()

Label1.Name = List1.Text Label1.Name = List1.Text List1.RemoveItem List1.Text List1.RemoveItem List1.ListIndex End Sub End Sub 在窗体上画一个名称为Command1的命令按钮,然后编写如下程序: Private Sub Command1_Click() Dim i As Integer, j As Integer Dim a(10, 10) As Integer For i = 1 To 3 For j = 1 To 3

a(i, j) = (i - 1) * 3 + j Print a(i, j); Next j Print Next i End Sub

程序运行后,单击命令按钮,窗体上显示的是( )A、1 2 3 B、2 3 4 C、3 4 7 D、1 2 3

2 4 6 3 4 5 2 5 8 4 5 6 3 6 9 4 5 6 3 6 9 7 8 9 在窗体上画一个命令按钮,名称为Command1的命令按钮,然后编写如下程序:

Private Sub Command1_Click()

Dim a(4) As Integer, b(4) As Integer For k = 0 To 2

a(k + 1) = InputBox(\请输入一个整数\) b(3 - k) = a(k + 1) Next k

Print b(k) End Sub

程序运行后,单击命令按钮,在输入对话框中分别输入2、4、6,输出结果为( ): A、0 B、2 C、3 D、4有以下程序:

Option Base 1

Dim arr() As Integer

Private Sub Form_Click()

Dim i As Integer, j As Integer ReDim arr(3, 2) For i = 1 To 3 For j = 1 To 2

arr(i, j) = i * 2 + j Next j Next i

ReDim Preserve arr(3, 4) For j = 3 To 4

arr(3, j) = j + 9 Next j

Print arr(3, 2); arr(3, 4) End Sub

程序运行后,单击窗体,输出结果是( ) A、8 13 B、0 13 C、7 12 D、0 0 以下叙述中正确的是( )

A、一个Sub过程至少要有一个Exit Sub语句

(21)

(22)

(23)

(24)

(25)

2006年9月全国计算机等级考试二级——VB笔试真题

B、一个Sub过程必须有一个End Sub语句

C、可以在Sub过程中定义一个Function过程,但不能定义Sub过程 D、调用一个Function过程可以获得多个返回值

(26) 有以下程序:

Sub subP(b() As Integer) For i = 1 To 4 b(i) = 2 * i Next i End Sub

Private Sub Command1_Click() Dim a(1 To 4) As Integer a(1) = 5 a(2) = 6 a(3) = 7 a(4) = 8 subP a()

For i = 1 To 4 Print a(i) Next i End Sub

运行上面的程序,单击命令按钮,输出结果为: A、2 B、5 C、10 D、出错

4 6 12 6 7 14 8 8 16

(27) 设有如下通用过程:

Public Function fun(xStr As String) As String Dim tStr As String, strL As Integer tStr = \

strL = Len(xStr) i = 1

Do While i <= strL / 2

tStr = tStr & Mid(xStr, i, 1) & Mid(xStr, strL - i + 1, 1) i = i + 1 Loop

fun = tStr End Function

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

Private Sub Command1_Click() Dim s1 As String s1 = \

Text1.Text = UCase(fun(s1)) End Sub A、ABCDEF B、abcdef C、AFBECD D、DEFABC

(28) 在窗体上画一个命令按钮和两个文本框,然后编写如下的事件过程:

Private Sub Text1_KeyPress(KeyAscii As Integer) ?? End Sub

假定焦点已经位于文本框中,则能够触发KeyPress事件的操作是( ) A、单击鼠标 B、双击文本框 C、鼠标滑过文本框 D、按下键盘上的某个键 (29) 在窗体上画一个命令按钮和两个文本框,其名称分别为Command1、Text1和Text2,然后编写如下程序:

Dim s1 as String , s2 as String Private Sub Form_Load() Text1.Text = \ Text2.Text = \End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) s2 = s2 & Chr(KeyCode) End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer) s1 = s1 & Chr(KeyAscii) End Sub

Private Sub Command1_Click() Text1.Text = s2 Text2.Text = s1 s1 = \ s2 = \End Sub

程序运行后,在Text1中输入“abc”,然后单击命令按钮,在文本框Text1和Text2中显示的内容分别为( ) A、abc和ABC B、abc和abc C、ABC和abc D、ABC和ABC (30) 以下说法正确的是( )

A、任何时候都可以通过执行“工具”菜单中的“菜单编辑器”命令打开菜单编辑器 B、只有当某个窗体为当前活动窗体时,才能打开菜单编辑器

C、任何时候都可以通过单击标准工具栏的“菜单编辑器”按钮打开菜单编辑器 D、只有当代码窗口为当前活动窗口时,才能打开菜单编辑器

2006年9月全国计算机等级考试二级——VB笔试真题

(31)

在窗体上画一个通用对话框,其名称为CommonDialog1,然后画一个命令按钮,并编写如下事件过程: Private Sub Commandl_click()

CommonDialogl.Filter=“All Files(*.*)︱*.*︱Text Files(*.txt)︱*.txt︱Executable Files(*.exe)|*.exe” CommonDialog1.Filterlndex=3 CommonDialogl.ShowOpen

MsgBox CommonDialogl.Filename End Sub

程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是( ) A、All Files(*.*) C、Executable Files(*.exe) B、Text Files(*.txt) D、不确定 (32) 以下叙述中错误的是( )

A、一个工程中可以包含多个窗体文件

B、在一个窗体文件中用Public定义的通用过程不能被其他窗体调用 C、窗体和标准模块需要分别保存为不同类型的磁盘文件 D、用Dim定义的窗体层变量只能在该窗体中使用

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

A、语句”Dim a,b As Integer”声明了两个类型变量 B、不能在标准模块中Static定义型变量 C、窗体层变量必须先声明,后使用

D、在事件过程或通用过程内定义的变量是局部变量

(34) 设有语句Open “d:\\Test.txt” For Output As #1,以下叙述中错误的是( )

A、若d盘根目录下无Test.txt文件,则该语句创建此文件 B、用该语句建立的文件的文件号为1

C、该语句打开d盘根目录下一个已存在的文件Test.txt,之后就可以从文件中读取信息 D、执行该语句后,就可以通过语句Pring#向文件Test.txt写入信息。

(35) 以下叙述错误的是( ) A、顺序文件中的数据只能按顺序读写

B、对同一个文件,可以用不同的方式和不同的文件号打开

C、执行Close语句,可将文件缓冲区中的数据写到文件中读取信息 D、随机文件中各记录的长度是随机的 二、填空题(每空 2 分,共 30 分)

请将每一个正 确答案在答题卡【1】~【15】序号的横线上,答在试卷上不得分。 注意:以命令关键字填空的必须拼写完整。 (1)下列软件系统结构图的宽度为 【1】

T

B C D E F (2)【2】的任务是诊断和改正程序中的错误。 (3)一个关系表的行称为 【3】 。

(4)按“先进后出”原则组织数据的数据结构是 【4】 。

(5)数据结构分为线性结构和非线性结构,带链的队列属于 【5】。 (6)描述“X是小于100的非负整数”的Visual Basic表达式是【6】

(7)在窗体上有一个名称为Command1的命令按钮和一个名称为Text1的文本框。程序运行后,Command1为禁用(灰色),此时如果在文本框

中输入字符,则命令按钮Command1变为可用。请填空。

Private Sub Form_Load() Command1.Enabled = False End Sub

Private Sub Text1_ 【7】( ) Command1.Enabled = True End Sub

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

Private Sub Command1_Click() Dim a As String a = \ For i = 1 To 5

Print Space(6 - i); Mid$(a, 【8】, 2 * i - 1) Next i End Sub

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

5 456 34567 2345678 123456789 请填空。

(9)以下程序的功能是:将一维数组A中的100个元素分别赋给二维数组B的每一个元素并打印出来, 要求把A(1)

到A(10)依次赋给B(1,1)到B(1,10),把A(11)到A(20)依次赋给B(2,1)到B(2,10),把A(91)到A(100)依次赋给B(10,1)到B(10,10),请填空:

Option Base 1

Private Sub Form_Click()

Dim i As Integer, j As Integer Dim A(1 To 100) As Integer

2006年9月全国计算机等级考试二级——VB笔试真题

Dim B(1 To 10, 1 To 10) As Integer For i = 1 To 100 A(i) = i Next i

For i = 1 To 【9】 For j = 1 To【10】 B(i, j) = 【11】 Print B(i, j); Next j Print Next i End Sub

(10)在窗体上画一个名称为Combo1的组合框,然后画两个名称分别为Label1、Label2,标题分别为“城市名称”和空白的标签。程序运行

后,在组合框中输入一个新的项目并按回车键,如果输入的项目在组合框的列表中不存在,则自动将其添加在组全框的列表中,并在Label2中给出提示“已成功添加新的输入项”,如下图所示。如果输入的项目已存,则在Label2中给出提示“输入项目已在组合框中”。请填空。

Private Sub Combo1_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then

For i = 0 To Combo1.ListCount - 1 If Combo1.Text =【12】 Then

Label2.Caption = \输入项已在组合框中。\ Exit Sub End If Next i

Label2.Caption = \已成功添加新输入项。\ Combo1. 【13】Combo1.Text End If End Sub

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

Private Sub Command1_Click() Dim indata As String Text1.Text = \

Open \【14】As #1 Do While 【15】 Input #1, indata

Text1.Text = Text1.Text + indata Loop End Sub

程序的功能是,打开D盘根目录下的文本文件myfile.txt,读取它的全部内容并显示在文本框中。请填空。

2007年4月全国计算机等级考试二级——VB笔试真题

2007年4月全国计算机等级考试二级VB笔试试卷

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

A)算法的效率只与问题的规模有关,而与数据的存储结构无关 B)算法的时间复杂度是指执行算法所需要的计算工作量 C)数据的逻辑结构与存储结构是一一对应的 D)算法的时间复杂度与空间复杂度一定相关 (2) 在结构化程序设计中,模块划分的原则是(D)

A)各模块应包括尽量多的功能 B)各模块的规模应尽量大

C)各模块之间的联系应尽量紧密

D)模块内具有高内聚度、模块间具有低耦合度 (3) 下列叙述中正确的是(A)

A)软件测试的主要目的是发现程序中的错误 B)软件测试的主要目的是确定程序中错误的位置

C)为了提高软件测试的效率,最好由程序编制者自己来完成软件的测试工作 D)软件测试是证明软件没有错误

(4) 下面选项中不属于面向对象程序设计特征的是(C)

A)继承性 B)多态性 C)类比性 D)封装性 (5) 下列对队列的叙述正确的是(D)

A)队列属于非线性表

B)队列按“先进后出”原则组织数据 C)队列在队尾删除数据

D)队列按“先进先出”原则组织数据 (6) 对下列二叉树(C)

A

B C

D E F X

Y Z 进行前序遍历的结果为

A)DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D)ABCDEFXYZ (7)某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为(A)

A)n+1 B)n-1 C)2n D)n/2

(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是(B)

A)并 B)交 C)投影 D)笛卡儿乘积 (9)在E—R图中,用来表示实体之间联系的图形是(C)

A)矩形 B)椭圆形 C)菱形 D)平行四边形 (10)下列叙述中错误的是(A)

A)在数据库系统中,数据的物理结构必须与逻辑结构一致 B)数据库技术的根本目标是解决数据共享问题

C)数据库技术是指己有数据管理系统的基础上建立数据库 D)数据库系统需要操作系统的支持

(11)下面可以正确定义2个整形变量和1个字符串变量的语句的是(D)

A)Dim n,m AS Interger,s AS String B)Dim a%,b$,c AS String

C)Dim a AS Integer,b,c AS String D)Dim x%,y AS Integer,z AS String

(12)下列表述中不能判断x是否为偶数的是(D)

A)x/2=Int(x/2) B)x Mod 2=0 C)Fix(x/2)=x/2 D)x\\2=0

(13)设在名称为Myform的窗体上只有1个名称为C1的命令按钮,下面叙述中正确的是(B)

A)窗体的Click事件过程的过程名是Myform_Click B)命令按钮的Click事件过程名是C1_Click

C)命令按钮的Click事件过程的过程名是Command1_Click D)上述三种过程名都是错误的

(14)设窗体上有1个滚动条,要求单击滚动条右端的按钮一次,滚动条移动一定的刻度值,决定此刻度的属性是(C)

A)Max B)Min C)SmallChange D)LargeChang

(15)1个二维数组可以存放1个矩阵。在程序开始有语句Option Base 0,则下面定义的数组中正好可以存放1个4*3矩阵(即只有12个元素)的是(B)

A)Dim a(-2 To 0,2) AS Integer B)Dim a(3,2) AS Ingeger

C)Dim a(4,3)AS Ingeger D)Dim a(-1 To -4,-1 To -3)AS Ingeger

(16)若设置了文本框的属性PasswordChar=”$”,则运行程序时向文本框中输入8个任意字符后,文本框中显示的是(A)

A)8个”$” B)1个”$” C)8个”*” D)无任何内容

(17)设在窗体上有1个名称为Combo1的组合框,含有5个项目,要删除最后一项,正确的语句是(B)

A)Combo1.RemoveItem Combo1.Text B) Combo1.RemoveItem4 C) Combo1.RemoveItem Combo1.ListCount D) Combo1.RemoveItem5

2007年4月全国计算机等级考试二级——VB笔试真题

(18)工程中有2个窗体,名称分别为Form1,Form2,Form1为启动窗体,该窗体上有命令按钮Command1,要求程序运行后单击该命令按钮时显示

Form2,则按钮的Click事件过程应该是(A)

A)Private Sub Command1_Click( ) B) Private Sub Command1_Click( ) Form2.Show Form2.Visible

End Sub End Sub

C) Private Sub Command1_Click( ) D)Private Sub Command1_Click( ) Load Form2 Form2.Load

End Sub End Sub (19)若在某窗体模块中有如下事件过程(D)

Private Sub Command1_Click(Index AS Integer) ?? End Sub

则以下叙述中正确的是

A) 此事件过程与不带参数的事件过程没有区别

B) 有1个名称为Command1的窗体,单击此窗体则执行此事件过程 C) 有1个名称为Command1的控件数组,数组中有多个不同类型控件 D) 有1个名称为Command1的控件数组,数组中有多个相同类型控件 (20)以下循环语句中在任何情况下都至少执行一次循环体的是(C) A)Do While <条件> B)While <条件> 循环体 循环体 Loop Wend

C)Do D)Do Until <条件> 循环体 循环体 Loop Until <条件> Loop

(21)在窗体上有1个名为Cd1的通用对话框,为了在运行程序时打开保存文件对话框,则在程序中应使用的语句是(A)

A)Cd1.Action=2 B)Cd1.Action=1 C)Cd1.ShowSave=Ture D)Cd1.ShowSave=0 (22)下面关于菜单的叙述中错误的是(B)

A)各级菜单中的所有菜单项的名称必须唯一

B)同一子菜单中的菜单项名称必须唯一,但不同子菜单中的菜单项名称可以相同 C)弹出式菜单用PopupMenu方法弹出 D)弹出式菜单也用菜单编辑器编辑 (23)已知有下面的过程(D)

Private Sub proc1(a As Integer,b As String,Optional x As Boolean) ?? End Sub

正确调用此过程的语句是

A)Call procl(5) B)Call proc1 5,”abc”,False C)proc1(12,”abc”,True) D)proc 1 5, “abc”

(24)在窗体上有1个名称为Text1的文本框和1个名称为Command1的命令按钮,要求在程序执行时,每单击命令按钮一次,文本框向右移动一定距离。下面能够正确实现上述功能的程序是(C)

A)Private Sub Command1_Click() B) Private Sub Command1_Click() Text1.Left=100 Text1.Left= Text1.Left-100 End Sub End Sub

C)Private Sub Command1_Click() D) Private Sub Command1_Click() Text1.Move Text.Left+100 Text1.Move Text.Left End Sub End Sub

(25)某人创建了1个工程,其中的窗体名称为Form1;之后又添加了1个名为Form2的窗体,并希望程序执行时先显示Form2窗体,那么,他需要做的工作是(A)

A)在工程属性对话框中把“启动对象”设置为Form2 B)在Form1的Load事件过程中加入语句 Load Form2 C)在Form2的Load事件过程中加入语句Form2.Show

D)在Form2的TabIndex属性设置为1,把Form1的TabIndex属性设置为2

(26)窗体上有1个名称为Text1的文本框和1个名称为Command1的命令按钮。要求程序运行时,单击命令按钮,就可以把文本框中的内容写

到文件out.txt中,每次写入的内容附加到文件原有内容之后。下面能够实现上述功能的程序是(C) A)Private Sub Command1_Click() B) Private Sub Command1_Click()

Open “out.txt” For Input As#1 Open “out.txt” For Output As#1 Print#1,Text1.Text Print#1,Text1.Text Close#1 Close#1 End Sub End Sub

C) Private Sub Command1_Click() D) Private Sub Command1_Click() Open “out.txt” For Append As#1 Open “out.txt” For Random As#1 Print#1,Text1.Text Print#1,Text1.Text Close#1 Close#1 End Sub End Sub (27)为计算1+3+5+??+99的值,某人编程如下

k=1 s=0

While k<=99

k=k+2 : s=s+k Wend Print s

在调试时发现运行结果有错误,需要修改。下列错误原因和修改方案中正确的是(D) A)While ?Wend循环语句错误,应改为For k=1 To 99 ?Next k B)循环条件错误,应改为Whlie k<99

C)循环前的赋值语句k=1错误,应改为k=0

D)循环中两条赋值语句的顺序错误,应改为s=s+k : k=k+2

2007年4月全国计算机等级考试二级——VB笔试真题

(28)下面程序在调试时出现了死循环 Private Sub Command1_Click()

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

If n Mod 2=0 Then n=n+1 Else

n=n+2 Else If

Loop Until n=1000

End Sub

下面关于死循环的叙述中正确的是(D)

A)只有输入的n是偶数时才会出现死循环,否则不会 B)只有输入的n是奇数时才会出现死循环,否则不会

C)只有输入的n是大于1000的整数时才会出现死循环,否则不会 D)输入任何整数都会出现死循环

(29)在窗体上有1个名称为CommonDialog1的通用对话框和1个名称为Command1的命令按钮,以及其他一些控件。要求在程序运行时,单击

Command1按钮,则显示打开文件对话框,并在选择或输入了1个文件名后,就可以打开该文件。以下是Command1_Click事件过程的两种算法

算法1:

Private Sub Command1_Click() CommonDialog1.ShowOpen

Open CommonDialog1.FileName For Input As#1 End Sub 算法2:

Private Sub Command1_Click() CommonDialog1.ShowOpen

IfCommonDialog1.FileName<>””Then

Open CommonDialog1.FileName For Input As#1 End If End Sub

下面关于这两种算法的叙述中正确的是(B)

A) 显示打开文件对话框后若未选择或输入任何文件名,则算法2会出错,算法1不会 B) 显示打开文件对话框后若未选择或输入任何文件名,则算法1会出错,算法2不会 C) 两种算法的执行结果完全一样

D) 算法1允许输入的文件名中含有空格,而算法2不允许

(30)窗体上有1个名称为List1的列表框,其中已经输入了若干个项目(如图所示):还有2个文本框,名称分别为Text1、Text2, 1个名称

为Command1的命令按钮,并有以下程序 Private Sub Command1_Click()

Dim str As String, s As String, k As Integer s=Text1 Str=””

For k=List1.ListCount-1 to 0 Step -1 If InStr(List1.List(k),s)>0 then str=str & List1.List(k)&” ” End If Next k

If str=””Then

Text2=”没有匹配的项目” Else

Text2=str End If End Sub

程序运行时,在Text1中输入“京”,单击命令按钮,则在Text2中显示的内容是( )

A) 京 B) 北京 南京 C) 南京 北京 D) 没有匹配的项目 (31)在窗体上画1一个名称为Command1的命令按钮,并编写以下程序

Private Sub Command1_Click() Print fun(“ABCDEFG”) End Sub

Function fun(st As String) As String stlen=Len(st) temp=””

For k = 1 To stlen / 2

temp = temp + Mid(st, k, 1) + Mid(st, stlen - k + 1, 1) Next k fun=temp End Function

程序运行时,单击命令按钮,则窗体上显示的是(B)

A)ABCDEFG B)AGBFCE C)GFEDCBA D)AGBFCED

(32)在窗体上先后画2个图片框,名称分别为Picture1和banana,banana中添加了香蕉图片(见图1),且将banana.DragMode属性设置为1。

要求程序运行时,可以用鼠标把banana拖拽到Picture1中(见图2)。能实现此功能的事件过程是(C)

2007年4月全国计算机等级考试二级——VB笔试真题

A) Private Sub Form_DragDrop(Source As Control,X As Single,Y As Single)

banana.Move Picture1.Left+X,Picture1.Top+Y) End Sub

B)Private Sub banana _DragDrop(Source As Control,X As Single,Y As Single ) Source.Move Picture1.Left+X,Picture1.Top+Y End Sub

C) B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single ) Source.Move Picture1.Left+X,Picture1.Top+Y End Sub

D) B)Private Sub Picture1_DragDrop(Source As Control,X As Single,Y As Single ) banana.Move banana.Left+X, banana.Top+Y End Sub

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

Pribate Sub Command1_Click() Dim a(5.5) As Integer For i=1 To 5 For j=1 to 5

a (i,j) = (i+j)*5\\10

Next j Next i S=0

For i=1 To 5 S=s+a(i,i) Next i Print s End Sub

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

A) 15 B)13 C)11 D)9 (34)在窗体上从左到右有Text1、Text2两个文本框(见图),要求程序运行时,在Text1中输入1个分数后按回车键,则判断分数的合法性,若分数为0~100中的1个数,周围光标移到Text2中;否则光标不动,并弹出对话框显示“分数错”,下面程序中正确的是(D) A)Private Sub Text1__KeyPress(KeyAscii AS Integer) If KeyAscii=13 Then ‘回车符的ACSII码是13 a=Val(Text1)

If a>=0 or a<=100 Then Text2.SetFocus

Else

Text1. SetFocus : MsgBox(“分数错”)

End If End If End Sub

B) Private Sub Text1__KeyPress(KeyAscii AS Integer) If KeyAscii=13 Then ‘回车符的ACSII码是13 a=Val(Text1)

If a>=0 And a<=100 Then Text1.SetFocus

Else

Text2. SetFocus : MsgBox(“分数错”)

End If End If End Sub

C) Private Sub Text1__KeyPress(KeyAscii AS Integer) D) Private Sub Text1__KeyPress(KeyAscii AS Integer) If KeyAscii=13 Then ‘回车符的ACSII码是13 If KeyAscii=13 Then ‘回车符的ACSII码是13 a=Val(Text1) a=Val(Text1) If a<0 And a>100 Then If a>=0 And a<=100 Then Text2.SetFocus Text2.SetFocus

Else Else

Text1. SetFocus : MsgBox(“分数错”) Text1. SetFocus : MsgBox(“分数错”)

End If End If End If End If End Sub End Sub (35)在窗体上画2个命令按钮,名称分别为Command1、command2,并编写如下程序

Const n=5,m=4

2007年4月全国计算机等级考试二级——VB笔试真题

Dim a(m,n) For j=1 To n Private Sub Command1_Click() If i=1 Or i=m Then K=1 Summ=summ+a(i,j) For i=1 To m Else For j=1 To n If j=1 Or j=n Then a(i,j)=k Summ=summ+a(i,j) k=k+1 End If Next j End If Next i Next j End Sub Next i Private Sub Command2_Click() Print summ Summ=0 End Sub For i=1 To m

过程Command1_Click()的作用是二维数组a 中存放1个 m行n列的矩阵;过程Command2_Click()的作用是(A) A) 计算矩阵外围一圈元素的累加和 C) 计算矩阵第1列和最后一列元素的累加和 B) 计算矩阵除外一圈以外的所有元素的累加和 D) 计算矩阵第1行和最后一行元素的累加和 二、填空题(每空2分,共30分)

请将每一个空的正确答案写在答题纸上[1]~[15]序号的横线上,答在试卷上,答在试卷上不得分, 注意:以命令关键字填空的必须写完整

(1)在深度为7的满二叉树中,度为2的结点个数为________。

(2)软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于 测试。 (3)在数据库系统中,实现各种数据管理功能的核心软件称为 。

(4)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 阶段。 (5)在结构化分析使用的数据流图(DFD)中,利用 对其中的图形元素进行确切解释。

2222

(6)下面程序的功能是从键盘上请输入一个大于100的整数m,计算并输出满足不等式1+2 +3 + 4+??.n

的最大的n。请填空

Private Sub Command1__Click() Dim s ,m,n AS Integer

m=Val(InputBox(“请输入一个大于100的整数”)) n= s=0

Do While s

Loop

Print “满足不等式的最大n是:” End Sub

(7)下面程序的功能是把文件file1.txt中重复字符去掉后(即若有多个字符相同,则只保留1个)写入文件file2.txt。请填空。

Private Sub Command1__Click()

Dim inchar AS String,temp AS String,outchar AS String Outchar=” ”

Open ”file1.txt” For Input AS #1

Open ”file2.txt” For Output AS n=LOF( ) inchar=Input$(n,1) For k=1 To n

temp=Mid(inchar,k,1)

If InStr(outchar,temp)= Then outchar=outchar & temp End If Next k

print #2, close #2 close #1 End Sub (8)在窗体上先画1个名为Text1的文本框和1个名为Label1的标签,再画1个名为OP1的有4个单选按钮数组,其Index属性按季度顺序为0~3(见图1)。在文件sales.txt中按月份顺序存有某企业某年12个月的销售额。要求在程序执行时,鼠标单击1个单选按钮,则Text1中显示相应季度的销售总额,并把相应的文字显示在标签上。图2是单击“第3季度”单选按钮产生的结果。请填空。 Dim sales(12) As Long Private Sub Form__Load()

open “sales.txt” For Input AS #1 For k=1 To 12

Input #1,sales(k) Next k Close #1 End Sub

Private Sub (Index, AS Integer) Dim sum AS Long ,k AS Ingeter,month AS Ingeter sum=0

month=Index For k=1 To 3 month=month+1

sum=sum+sales(month) Next k

Label1.Caption=Opl(Index). & “销售总额:”

2007年4月全国计算机等级考试二级——VB笔试真题

Text1=sum End Sub

(9)某人编写如下函数来判断a是否为素数,若是,则函数返回True;否则返回False

Function Prime(a As Integer)AS Boolean Dim k As Interger,isprime AS Boolean If a<2 Then

isprime=False Else

isprime=True k=2

Do While k

prime=isprime End Function

在测试时发现有1个非素数也被判断为素数,这个错判的数是

2007年9月全国计算机等级考试二级——VB笔试真题

2007年9月全国计算机等级考试二级VB笔试试卷

Visual Basic语言程序设计 (考试时间90分钟,满分100分)

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

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

A)程序 B)程序和文档

C)算法加数据结构 D)程序、数据与相关文档的完整集合 (2)软件调试的目的是

A)发现错误 B)改正错误

C)改善软件的性能 D)验证软件的正确性 (3)在面向对象方法中,实现信息隐蔽是依靠

A)对象的继承 B)对象的多态 C)对象的封装 D)对象的分类 (4)下列叙述中,不符合良好程序设计风格要求的是

A)程序的效率第一,清晰第二 B)程序的可读性好

C)程序中要有必要的注释 D)输入数据前要有提示信息 (5)下列叙述中正确的是

A)程序执行的效率与数据的存储结构密切相关 B)程序执行的效率只取决于程序的控制结构 C)程序执行的效率只取决于所处理的数据量 D)以上三种说法都不对 (6)下列叙述中正确的是

A)数据的逻辑结构与存储结构必定是一一对应的

B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 D)以上三种说法都不对

(7)冒泡排序在最坏情况下的比较次数是

A)n(n+1)/2 B)nlog2 n C)n(n-1)/2 D)n/2

(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为 A)219 B)221 C)229 D)231 (9)下列叙述中正确的是

A)数据库系统是一个独立的系统,不需要操作系统的支持 B)数据库技术的根本目标是要解决数据的共享问题 C)数据库管理系统就是数据库系统 D)以上三种说法都不对 (10)下列叙述中正确的是

A)为了建立一个关系,首先要构造数据的逻辑关系

B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项 C)一个关系的属性名表称为关系模式 D)一个关系可以包括多个二维表

(11)要使一个文本框可以显示多行文本,应设置为True的属性是 A)Enabled B)MultiLine C)MasLenfth D)Width

(12)在窗体上有一个名为Text1的文本框。当光标在文本框中时,如果按下字母键“A”,则被调用的事件过程是 A)Form_KeyPress() B)Text1_LostFocus() C)Text1_Click() D)Test1_Change()

(13)设在窗体上有一个名称为Command1的命令按钮和一个名称为Text1的文本框。要求单击Command1按钮时可把光标移到文本框中。下面正确的事件过程是

A)Private Sub Command1_Click() B)Private Sub

Text1.GotFocus Command1.GotFocus

End Sub EndSub

C)Private Sub Command1_Click() D)Private Sub

Text1.SetFocus Command1.SetFocus End Sub End Sub (14)执行以下程序后输出的是 Private Sub Command1_Click() Ch$=”AABCDEFGH”

Print Mid(Righ(ch$,6),Len(left(ch$,4)),2) End Sub

A)CDEFGH B)ABCD C)FG D)AB

(15)设在窗体Form1上有一个列表框List1,其中有若干个项目。要求单击列表框中某一项时,把该项显示在窗体上,正确的事件过程是

A)Prvate Sub List1_Click() B)Private Sub Form1_Click()

Print List1.Text Print List1.Text End Sub End Sub

C)Private Sub List1_Click() D)Private Sub Form1_Click()

Print Form1.Text List1.Print List1.Text End Sub End Sub

(16)若窗体上的图片框中有一个命令按钮,则此按钮的Left属性是指 A)按钮左端到窗体左端的距离 B)按钮左端到图片框左端的距离

2007年9月全国计算机等级考试二级——VB笔试真题

C)按钮中心点到窗体左端的距离 D)按钮中心点到图片框左端的距离 (17)为使程序运行时通用对话框CD1上显示的标题为“对话框窗口”,若通过程序设置该标题,则应使用的语句是 A)CD1.DialogTitle=“对话框窗口” B)CD1.Action=“对话框窗口” C)CD1.FileName=“对话框窗口” D)CD1.Filter=“对话框窗口” (18)在窗体上有如右图所示的控件,各控件的名称 与其标题相同,并有如下程序: Private Sub Form_Load()

Command2.Enabled=False Check1.Value=1 End Sub

刚运行程序时,看到的窗体外观是:

(19)设在窗体中有一个名称为List1的列表框,其中有若干个项目(如图)。要求选中某一项后单击Command1按钮,就删除选中的项,则正确的事件过程是

A)Private Sub Command1_Click()

List1.Clear End Sub

B) Private Sub Command1_Click()

List1.Clear List1.ListIndex End Sub

C) Private Sub Command1_Click()

List1.Removeltem List1.ListIndex End Sub

D) Private Sub Command1_Click()

List1.Removeltem End Sub

(20)某人设计了如下程序用来计算并输出7!(7的阶乘) Private Sub Command1_Click()

t=0

For k=7 To 2 Step -1

t=t*k Next Print t End Sub

执行程序时,发现结果是错误的,下面的修改方案中能够得到正确结构的是

2007年9月全国计算机等级考试二级——VB笔试真题

A)把t=0改为t=1

B)把For k = 7 To 2 Step -1改为For k =7 To 1 Step -1 C)把For k = 7 To 2 Stip-1改为Fork=1 To 7 D)把Next改为Nexi k

(21)若窗体中已经有若干个不同的单选按钮,要把它们改为一个单选按钮数组,在属性窗口中需要且只需要进行的操作是 A)把所有单选按钮的Index属性改为相同值

B)把所有单选按钮的Index 属性改为连续的不同值 C)把所有单选按钮的Caption属性值改为相同

D)把所有单选按钮的名称改为相同,且把它们的Index属性改为连续的不同值。 (22)窗体上有文本框Text1和一个菜单,菜单标题、名称如表,结构见图。要求程序执行时单击“保存”菜单项,则把其标题显示在Text1文本框中。下面可实现此功能的事件过程是:

标题 名称 文件 file 新建 new 保存 save A)Private Sub save_Click() B)Private Sub save_Click()

Text1.Text=file.save.Caption Text1.Text=save.Caption End Sub End Sub

C)Private Sub file_Click() D)Private Sub file_Click()

Text1.Text=file.save.Caption Text1.Text=save.Caption End Sub End Sub

(23)某人在窗体上画了一个名称为Timer1的计时器和一个名称为Lab

的属性设置为Enabled=True, Interval=0,并编程如下。希望在每2秒在标签上显示一次系统当前时间。

Private Sub Timer1_Timer()

Label1.Caption=Time$ End Sub

在程序执行时发现未能实现上述目的,那么,他应做的修改是 A)通过属性窗口把计时器的Interval属性设置为2000 B)通过属性窗口把计时器的Enabled属生设置为False

C)把事件过程中的Label1.Caption=Time$语句改为Timer1.Interval=Tims$

D)把事件过程中的Label1.Caption=Time$语句改为Label1.Caption=Timer1.Time

(24)形状控件的Shape属性有6种取值,分别代表6种几何图形。下列不属于这6种几何图形的是

(25)下面关于文件的叙述中错误的是 A)随机文件中各条记录的长度是相同的]

B)打开随机文件时采用的文件存取方式应该是Random C)向随机文件中写数据应使用语句Print#文件号

D)打开随机文件与打开顺序文件一样,都使用Open语句

(26)设窗体上有一个图片框Picture1,要在程序运行期间装入当前文件夹下的图形文件File1.jpg,能实现此功能的语句是 A)Picture1.Picture=”Flie1.jpg

B)Picture1.Picture=LoadPicture(“File1.jpg”) C) LoadPicture(“File1.jpg”) D)Call LoadPicture(“File1.jpg”) (27)下面程序执行时,在窗体上显示的是 Private Sub Command1_Click()

Dim a(10)

For k = 1 To 10

a(k) = 11 – k Next k

Print a(a(3)\\a(7) Mod a(5)) End Sub

A)3 B)5 C)7 D) 9

(28)为达到把a、b中的值交换后输出的目的,某人编程如下: Private Sub Command1_Click()

a% = 10:b% = 20 Call swap(a,b) Print a,b

End Sub

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

c= a:a=b:b=c End Sub

在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是 A)调用swap过程的语句错误,应改为Call swap a,b B)输出语句错误,应改为:Print ”a”,”b”

C)过程的形式参数有错,应改为:swap(ByRef a As Integer,ByRef b As Integer) D)swap中3条赋值语句的顺序是错误的,应改为a=b:b=c:c=a

2007年9月全国计算机等级考试二级——VB笔试真题

(29)有如下函数:

Function fun(a As Integer,n As Integer) As Integer

Dim m As Integer While a >=n

a=a-n m= m+1 Wend fun=m End Function 该函数的返回值是

A)a乘以n的乘积 B)a加n的和

C)a减n的差 D)a除以n的商(不含小数部分) (30)下面程序的输出结果是 Private Sub Command1_Click()

ch$=”ABCDEF” proc ch Print ch End Sub

Private Sub proc(ch As String)

S=””

For k=Len(ch) To 1 Step-1

s=s&Mid(ch,k,1) Next k ch=s End Sub

A)ABCDEF B)FEDCBA C)A D)F

(31)某人编写了一个能够返回数组a中10个数中最大数的函数过程,代码如下: Function MaxValue(a() As Integer) As Integer

Dim max% max=1

For k = 2 To 10

If a(k)>a(max) Then

max = k End If Next k

MaxValue = max End Function

程序运行时,发现函数过程的返回值是错的,需要修改,下面的修改方案中正确的是 A)语句max = 1应改为max = a(1)

B)语句For k = 2 To 10应改为For k = 1 To 10 C)If语句中的条件a(k)>a(max)应改为a(k)>max D)语句MaxValue = max 应改为MaxValue = a(max)

(32)在窗体上画一个名称为Command1的命令按钮,并编写以下程序: Private Sub Command1_Click()

Dim n%,b,t

t = 1:b = 1:n = 2 Do

b = b*n t = t + b n = n +1 Loop Until n>9 Print t End Sub

此程序计算并输出一个表达式的值,该表达式是

A)9! B)10! C)1!+2!+?+9! D)1!+2!+?+10!

(33)有一个名称为Form1的窗体,上面没有控件,设有以下程序(其中方法Pset(X,Y)的功能是在坐标X,Y处画一个点): Dim cmdmave As Boolean

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

cmdmave = True End Sub

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

If cmdmave Then

Form1.Pset(X,Y) End If End Sub

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

cmdmave = False End Sub

此程序的功能是

A)每按下鼠标键一次,在鼠标所指位置画一个点

B)按下鼠标键,则在鼠标所指位置画一个点;放开鼠标键,则此点消失 C)不按鼠标键而拖动鼠标,则沿鼠标拖动的轨迹画一条线

D)按下鼠标键并拖动鼠标,则沿鼠标拖动的轨迹画一条线,放开鼠标键则结束画线

2007年9月全国计算机等级考试二级——VB笔试真题

(34)某人设计了下面的函数fun,功能是返回参数a中数值的位数 Function fun(a As Integer) As Integer

Dim n% n = 1

While a \\ 10 >= 0

n = n + 1 a = a \\ 10 Wend fun = n End Function

在调用该函数时发现返回的结果不正确,函数需要修改,下面的修改方案中正确的是 A)把语句n = 1改为n = 0

B)把循环条件a \\ 10 >= 0改为a \\ 10 > 0 C)把语句 a = a \\ 10改为a = a Mod 10 D)把语句fun = n改为 fun = a

(35)在窗体上有一个名称为Check1的复选框数组 (含4个复选框),还有一个名称为Text1的文本 框,初始内容为空。程序运行时,单击任何复选 框,则把所有选中的复选框后面的方字罗列在文 本框中(见图)。下面能实现此功能的事件过程是 A)Private Sub Check1_Click(Indes As Integer)

Text1.Text =\For k = 0 To 3

If Check1(k).value = 1 Then

Text1.Text = Text1.Text & Check1(k).Caption & \双引号中是空格

End If Next k End Sub

B)Private Sub Check1_Click(Index As Integer)

For k = 0 To 3

If Check1(k).Value = 1 Then

Text1.Text = Text1.Text & Check1(k).Caption & \双引号中是空格

End If Next k End Sub

C)Private Sub Check1_Click(Index As Integer)

Text1.Text = \For k = 0 To 3

If Check1(k).Value = 1 Then

Text1.Text = Text1.Text & Check1(Index).Caption & \双引号中是空格

End If Next k End Sub

D)Private Sub Check1_Click(Index As Integer)

Text1.Text = \For k = 0 To 3

If Check1(k).Value = 1 Then

Text1.Text = Text1.Text & Check1(k).Caption & \双引号中是空格

Exit For End If Next k End Sub

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

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

(1)软件需求规格说明书应具有完整性,无岐义性、正确性、可验证性、可修改性等特征,其中最重要的是【1】 。 (2)在两种基本测试方法中,【2】 测试的原则之一是保证所测模块中每一个独立路径至少执行一次。

(3)线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的【3】 存储结构。 (4)对下列二叉树进行中序遍历的结果为【4】 。

2007年9月全国计算机等级考试二级——VB笔试真题

(5)在E-R图中,矩形表示【5】 。 (6)窗体上有一个组合框,其中已输入了 若干个项目。程序运行时,单击其中一 项,即可把该项与最上面的一项交换。 例如:单击图1中的“重庆”,则与“北 京”交换,得到图2的结果。下面是可 实现此功能的程序,请填空。 Private Sub Combo1_Click()

Dim temp

temp = Combo1.Text

[6] = Combo1.List(0) Combo1.List(0) = temp End Sub

(7)设窗体上有一个名称为HScroIII的水平滚动条,要求当滚动块移动位置后,能够在窗体上输出移动的距离(即新位置与原位置的刻度值之差,向右移动为正数,向左移动为负数)。下面是可实现此功能的程序,请填写。 Dim [7] As Integer Private Sub Form_Load()

pos=HScroIII.Value End Sub

Private Sub HScroIII_Change()

Print [8] -pos pos=HScroIII.Value End Sub (8)设窗体上有一个名称为CD1的通用对话框,一个名称为Text1的文本框和一个名称为Command1的命令按钮。程序执行时,单击Command1按钮,则显示打开文件对话框,操作者从中选择一个文本文件,并单击对话框上的“打开”按钮后,则可打开该文本文件,并读入一行文本,显示在Text1中。下面是实现此功能的事件过程,请填空。 Private Sub Command1_Click()

CD1.Filter =\文本文件1*.txt(Word 文档)*.doc\CD1.Filterinder = 1 CD1.ShowOpen

If CD1.FileName<>\

Open [9] For Input As #1 Line Input #1,ch$ Close #1

Text1.Text = [10] End If End Sub

(9)下面的程序执行时,可以从键盘输入一个正整数,然后把该数的每位数字按逆序输出。例如:输入7685,则输出5867,输入1000,则输出0001。请填空。

Private Sub Command1_Click()

Dim x As Integer

x=InputBox(“请输入一个正整数”) While x>__[11]___

Print x Mod 10; x=x\\10 Wend

Print__[12]__ End Sub

(10)有如图所示的窗体。程序执行时先在Text1文本框中输入编号,当焦点试图离开Text1时,程序检查编号的合法性,若编号合法,则焦点可以离开Text1文本框;否则,显示相应错误信息,并自动选中错误的字符,且 焦点不能离开Text1文本框(见图)。

合法编号的组成是:前2个字符是大写英文 字母,第3个字符是“-”,后面是数字字符

2007年9月全国计算机等级考试二级——VB笔试真题

(至少1个)。下面程序可实现此功能,请 填空。

Private Sub Text1_Lostfocus()

Dim k%,n%

n=Len( [13] )

For k=1 to if (n>3,n,4)

c=Mid(Text1. Text,k,1) Select Case k Case 1,2

If c<\

MsgBox(\第\个字符必须是大写字母!\) SetPosition k Exit For End If Case 3

If c<>\

MsgBox(\第\个字符必须是字符\)

SetPosition k Exit For End If Case Else

If c<\

MsgBox(\第\个字符必须是数字!\) SetPosition k Exit For End If End Select Next k End Sub

Private Sub SetPosition(pos As Integer)

Text1.SelStart=pos-1

Text.SelLength= [14] Text1. [15] End Sub

2008年4月全国计算机等级考试二级VB笔试试卷

一、选择题

1、程序流程图中带有箭头的线段表示的是

A)图元关系 B)数据流 C)控制流 D)调用关系 2、结构化程序设计的基本原则不包括

A)多态性 B)自顶向下 C)模块化 D)逐步求精 3、软件设计中模块划分应遵循的准则是

A)低内聚低耦合 B)高内聚低耦合 C)低内聚高耦合 D)高内聚高耦合 4、在软件开发中,需求分析阶段产生的主要文档是

A)可行性分析报告 B)软件需求规格说明书 C)概要设计说明书 D)集成测试计划 5、算法的有穷性是指

A)算法程序的运行时间是有限的 B)算法程序所处理的数据量是有限的 C)算法程序的长度是有限的 D)算法只能被有限的用户使用

6、对长度为n的线性表排序,在最坏的情况下,比较次数不是n (n-1)/2的排序方法是 A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序 7、下列关于栈的叙述正确的是

A)栈按“先进先出”组织数据 B)栈按“先进后出”组织数据 C)只能在栈底插入数据 D)不能删除数据 8、在数据库设计中,将E—R图转换成关系数据模型的过程属于

A)需求分析阶段 B)概念设计阶段 C)逻辑设计阶段 D)物理设计阶段

2008年4月全国计算机等级考试二级——VB笔试真题

9、有三个关系R、S和T如下:

R S

B a B C 0 1 D

k1 n1 由关

A)并 B)自然连

B f a n C 3 0 2 D h2 k1 x1

B a

T

C 0 D k1 通过运算得到关系T,则所使用的运算为

系R和S

接 C)笛卡尔积 D)交

10、设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为

A)课号,成绩 B)学号,成绩 C)学号,课号 D)学号,姓名,成绩 11、以下叙述中错误的是

A)标准模块文件的扩展名是.bas

B)标准模块文件是纯代码文件

C)在标准模块中声明的全局变量可以在整个工程中使用 12、在Visual Basic中,表达式3* 2\\5 Mod 3的值是

A)1 B)0 C)3 D)出现错误提示 13、以下选项中,不合法的Visual Basic变量名是

A)a5b B)_xyz C)a_b D)andif 14、 以下数组定义语句中,错误的是

D)在标准模块中不能定义过程

A)Static a (10) As Integer B) Dim c (3, 1 to 4)

C) Dim d (-10) D) Dim b (0 to 5, 1 to 3) As Integer 15、现有语句:y=IIf(x>0, x Mod 3, 0) ,设x=10,则y的值是

A)0 B)1 C)3 D)语句有错

16、为了使文本框同时具有垂直和水平滚动条,应先把MultiLine属性设置为True,然后再把Scrollbars属性设置为

A)0 B)1 C)2 D)3 17、文本框Text1的KeyDown事件过程如下:

Private SubText1_ KeyDown(KeyCode As Integer, Shift As Integer) End Sub

其中参数KeyCode的值表示的是发生此事件时

A)是否按下了Alt键或Ctrl键 B)按下的是哪个数字键 C)所按的键盘键的键码 D)按下的是哪个鼠标键

18、窗体上有一个名称为Hscroll1的滚动条,程序运行后,当单击滚动条两端的箭头时,立即在窗体上显示滚动框的位置(即刻度值)。下面能够实现上述操作的事件过程是

A)Private Sub Hscroll1_Changc() B)Private Sub Hsctroll1_Change() Print HScroll1.Value Print HScroll1.SmallChange

End Sub End Sub

C)Private Sub HScroll1_Scroll() D)Private Sub HScroll1_Scroll() Print HScroll1.Value Print HScroll1.SmallChange

End Sub End Sub

19、 若已把一个命令按钮的Default属性设置为True,则下面可导致按钮的Click事件过程被调用的操作是

A)用鼠标右键单击此按钮 B)按键盘上的Esc键 C)按键盘上的回车键 D)用鼠标右键双击此按钮 20、要使两个单选按钮属于同一个框架,正确的操作是

2008年4月全国计算机等级考试二级——VB笔试真题

A)先画一个框架,再在框架中画两个单选按钮

B)先画一个框架,再在框架外画两个单选按钮,然后把单远按钮拖到框架中 C)先画两个单选按钮,再画框架将单选按钮框起来 D)以上三种方法都正确

21、能够存放组合框的所有项目内容的属性是

A)Caption B)Text C)List D)Selected

22、 设窗体上有一个标签Labell和一个计时器Timer1,Timer1的Interval属性被设置为1000,Enabled属性被设置为True。要求程序运行时每秒在标签中显示一次系统当前时间。以下可以实现上述要求的事件过程是

A)Private Sub Timer1_Timer() B) Private Sub Timer1_Timer() Label1.Caption=True Label1.Caption=Time$

End Sub End Sub

C) Private Sub Timer1_Timer() D) Private Sub Timer1_Timer() Label1.Interval=1 For k = l To Timer1.Interval

End Sub Label1.Caption=Timer

Next k End Sub 23、 设有如图所示窗体和以下程序:

Private Sub Command1_Click() Textl.Text=“Visual Basic” End Sub

Private Sub Text1_LostFocus() If Text1.Text <>“BASIC”Then Text1.Text=”” Text1.SetFocus End If End Sub

程序运行时,在Text1文件框中输入“Basic”(如图所示),然后单击Command1按钮,则产生的结果是

A)文本框中无内容,焦点在文本框中 B)文本框中为“Basic”,焦点在文本框中 C)文本框中为“Basic”,焦点的按钮上 D)文本框中为“Visual Basic”,焦点的按钮上 24、窗体上有一个名称为Command1的命令按钮,其事件过程如下: Private Sub Command1_Click() x=“VisualBasicProgramming” a=Right(x,11) b=Mid(x,7,5) C=Msgbox(a, , b) End Sub

运行程序后单击命令按钮,以下叙述中错误的是

A)信息框的标题是Basic B)信息框中的提示信息是Programming C) C的值是函数的返回值

D)MsgBox的使用格式有错

25、设工程文件包含两个窗体文件Form1.frm、Form2.frm及一个标准模块文件Module1.bas,两个窗体上分别只有一个名称Command1的命令按钮。 Form1的代码如下:

Public X As Integer

2008年4月全国计算机等级考试二级——VB笔试真题

Private Sub Form_load() x=1 y=5 End Sub

Private Sub Command1_Click() Form2.Show End Sub

Form2的代码如下:

Private Sub Command1_Ciick() Print Form1.x,y End Sub

Module1的代码如下: Public y As Integer

运行以上程序,单击Form1的命令按钮Command1,则显示Form2;再单击Form2上的命令按钮Command1,则窗体上显示的是

A)1 5 B)0 5 C)0 0 D)程序有错

26、窗体上有一个名称Text1的文本框,一个名称为Command1的命令按钮。窗体文件的程序如下: Private Type x a As Integer b AS Integer End Type

Private Sub Command1_Click() Dim y As x

y.a = InputBox(“”) If y.a\\2=y.a/2 Then

y.b=y.a*y.a Else

y.b = Fix(y.a/2) End If Text1.Text=y.b End Sub

对以上程序,下列叙述中错误的是

A)x是用户定义的类型 B)InputBox函数弹出的对话框中没有提示信息 C)若输入的是偶数,y.b的值为该偶数的平方

D)Fix(y.a/2)把y.a/2的小数部分四舍五入,转换为整数返回

27、窗体上有一个名称为CD1的通用对话框控件和由四个命令按钮组成的控件数Command1,其下标从左到右分别为0、1、2、3,窗体外观如图所示。 命令按钮的事件过程如下:

Private Sub Command1_Click(Index As Integer) Select Case Index Case 0

CD1.Action=1 Case 1

CD1.ShowSave

2008年4月全国计算机等级考试二级——VB笔试真题

Case 2

CD1.Action=5 Case 3

End End Select End Sub

对上述程序,下列叙述中错误的是

A)单击“打开”按钮,显示打开文件的对话框 B)单击“保存”按钮,显示保存文件的对话框

C)单击“打印”按钮,能够设置打印选项,并执行打印操作 D)单击“退出”按钮,结束程序的运行

28、窗体上有两个水平滚动条HV、HT,还有一个文本框Text1和一个标题为“计算”的命令按钮Command1,并编写了以下程序: Private Sub Command1_ClickO Call Cale (HV.Value, HT.Value) End Sub

Public Sub Cale(x AS Integer , y AS Integer) Text1.Text = x* y End Sub

运行程序,单击“计算”按钮,可根据速度与时间计算出距离,并显示计算结果。对以上程序,下列叙述中正确的是

A)过程调用语句不对,应为Cale (HV,HT)

B) 过程定义语句的形式参数不对,应为Sub Cale(x As Control , y As Control) C) 计算结果在文本框中显示出来 D)程序不能正确运行 29、现有如下程序:

Private Sub Command1_ Click()

S=0

For i=1 to 5 S=S+f(5+i) Next Print S End Sub

Public Function f(x As Integer) If x>=10 Then

t=x+1 Else

t=x+2 End If f=t End Function

运行程序,则窗体上显示的是

A)38 B)49 C)61 D)70

30、窗体上有一个用菜单编辑器设计的菜单(见上图)。运行程序,并在窗体上单击鼠标右键,则弹出一个快捷菜单,如图所示。以下叙述中错误

2008年4月全国计算机等级考试二级——VB笔试真题

A)在设计“粘贴”菜单项时,在菜单编辑器窗口中设置了“有效”属性(有“√”) B)菜单中的横线是在该菜单项的标题输入框中输入了一个“-”(减号)字符 C)在设计“选中”菜单项时,在菜单编辑器窗口中设置了“复选”属性(有“√”) D)在设计该弹出菜单的主菜单项时,在菜单编辑器窗口中去掉了“可见”前面的“√” 31、窗体上有一个名称为Picture1图片框控件,一个名称Label1的标签控件。如图所示。 现有如下程序:

Public Sub display (x As Control) If TypeOf x is Label Then x.Caption=“计算机等级考试”

Else

x.Picture = Loadpicture(“pic.jpg”)

EndIf End Sub

Private Sub Label1_Click() Call display(Label1) End Sub

Private Sub Picture1_Click()

Call display(Picture1) End Sub

对以上程序,下列叙述中错误的是

A)程序运行时会出错 B)单击图片框,在图片框中显示一幅图片 C)过程中的X是控件变量 D)单击标签,在标签中显示一串文字

32、窗体上有两个名称分别为Text1、Text2的文本框。Text1的KeyUp的事件过程如下:

Private Sub Text1_KeyUp(KeyCode As Integer , shift AS Integer)

Dim C AS string c=Text1.Text

Tcxt2.Text=Chr(Asc(c)+2) End Sub

当向文本框Text1中输入小写字母a时,文本框Text2中显示的是

A)A B)a C)C D)c 33、设窗体上有一个文体框Text1和一个命令按钮Command1,并有以下事件过程:

Private Sub Command1_Click() Dim S As String , ch As String S=“”

For k=1 TO Len(Text1) ch = Mid(Text1,k,l)

S=ch+S Next k Text1.Text=S End Sub

程序执行时,在文本框中输入“Basic”,然后单击命令按钮,则Text1中显示的是

2008年4月全国计算机等级考试二级——VB笔试真题

A)Basic B)cisaB C)BASIC D)CISAB

34、某人编写了如下程序,用来求10个整数(整数从键盘输入)中的最大值:

Private Sub Command1_Click()

Dim a(10) As Integer, max As Integer For k=1 TO 10

a(K)=InputBox(“输入一个整数”) Next k Max=0 For k=1 To 10 If a(k)>max Then Max = a(k) End If Next k Print max End Sub

运行程序时发现,当输入10个正数时,可以得到正确结果,但输入10个负数时结果是错误的,程序需要修改,下面的修改中可以得到正确运行结果的是

A) 把If a(k)>max Then改为If a(k)

35、已知在4行3列的全局数组score(4,3)中存放了4个学生3门课程的考试成绩(均为整数)。现需要计算每个学生的总分,某人编写程序如下: Option Base 1

Private Sub Command1_Click() Dim sum As Integer

Sum=0 For i=1 To 4 For j=1 To 3

Sum = sum + score(i,j)

Next j

Print“第”&i&”个学生的总分是:”;sum Next i End Sub

运行此程序时发现,除第1个人的总分计算正确外,其他人的总分是错误的。程序需要修改。以下修改方案中正确的是

A) 把外层循环语句For i=1 TO 4改为For i=1 To 3 内层循环语句For j=1 TO 3 改为For j=1 TO 4 B) 把sum=0移到For i=1 TO 4 和For j=1 TO 3之间 C) 把sum = sum+score(i,j)改为sum=sum+score(j,i) D) 把sum=sum+score(i,j)改为sum=score(i,j) 二、填空题

(1)测试用例包括输入值集和[1] 值集。 (2)深度为5的满二叉树有[2] 个叶子结点。

(3)设某循环队列的容量为50,头指针Front=5 (指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有[3] 个元素。

本文来源:https://www.bwwdw.com/article/jul3.html

Top