08-10全国计算机二级vb笔试试卷及答案

更新时间:2024-01-01 13:48:01 阅读量: 教育文库 文档下载

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

08(上)年计算机二级VB等级考试试题

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

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

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

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

B)自顶向下 C)模块化

D)逐步求精

D)调用关系

3、软件设计中模块划分应遵循的准则是B A)低内聚低耦合

B)高内聚低耦合

C)低内聚高耦合 D)高内聚高耦合

4、在软件开发中,需求分析阶段产生的主要文档是B A)可行性分析报告 C)概要设计说明书 5、算法的有穷性是指A

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

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

A)栈按“先进先出”组织数据 B)栈按“先进后出”组织数据 C)只能在栈底插入数据 D)不能删除数据

8、在数据库设计中,将E—R图转换成关系数据模型的过程属于C

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

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

B)学号,成绩 D)学号,姓名,成绩

B)软件需求规格说明书 D)集成测试计划

11、以下叙述中错误的是D

A)标准模块文件的扩展名是.bas B)标准模块文件是纯代码文件

C)在标准模块中声明的全局变量可以在整个工程中使用 D)在标准模块中不能定义过程

12、在Visual Basic中,表达式3* 2\\5 Mod 3的值是A A)1

B)0

C)3

D)出现错误提示

13、以下选项中,不合法的Visual Basic变量名是B A)a5b

B)_xyz

C)a_b

D)andif

14、以下数组定义语句中,错误的是C A)Static a (10) As Integer C)Dim d (-10)

B)Dim c (3, 1 to 4)

D)Dim b (0 to 5, 1 to 3) As Integer

15、现有语句:y=IIf(x>0, x Mod 3, 0) ,设x=10,则y的值是B

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

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

C)2

D)3

17、文本框Text1的KeyDown事件过程如下:C

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

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

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

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

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事件过程被调用的操作是C

A)用鼠标右键单击此按钮 C)按键盘上的回车键

B)按键盘上的Esc键 D)用鼠标右键双击此按钮

20、要使两个单选按钮属于同一个框架,正确的操作是A

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

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

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

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

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

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

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

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

A)信息框的标题是Basic B)信息框中的提示信息是Programming C)C的值是函数的返回值 D)MsgBox的使用格式有错

25、设工程文件包含两个窗体文件Form1.frm、Form2.frm及一个标准模块文件Module1.bas,两个窗体上分别只有一个名称Command1的命令按钮。 Form1的代码如下: Public X As Integer 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

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

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

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 Case 2

CD1.Action=5 Case 3 End

End Select End Sub

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

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

运行程序,单击“计算”按钮,可根据速度与时间计算出距离,并显示计算结果。对以上程序,下列叙述中正确的是C

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

运行程序,则窗体上显示的是B

A)38 B)49 C)61 D)70

30、窗体上有一个用菜单编辑器设计的菜单(见图)。运行程序,并在窗体上单击鼠标右键,则弹出一个快捷菜单,如图所示。以下叙述中错误的A

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

A)程序运行时会出错 B)单击图片框,在图片框中显示一幅图片 C)过程中的X是控件变量 D)单击标签,在标签中显示一串文字

32、窗体上有两个名称分别为Text1、Text2的文本框。Text1的KeyUp的事件过程如下: Private Sub Text1_KeyUp(KeyCode As Integer , shift AS Integer) Dim C AS string

Tcxt2.Text=Chr(Asc(c)+2) End Sub

当向文本框Text1中输入小写字母a时,文本框Text2中显示的是C

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中显示的是B

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个负数时结果是错误的,程序需要修改,下面的修改中可以得到正确运行结果的是D

A) 把If a(k)>max Then改为If a(k)

C) 把第2个循环语句For k=1 TO 10改为For k=2 TO 10 D) 把max=0改为max = a(10)

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个人的总分计算正确外,其他人的总分是错误的。程序需要修改。以下修改方案中正确的是B

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)测试用例包括输入值集和 输出结果值集。 (2)深度为5的满二叉树有 16个叶子结点。 (3)设某循环队列的容量为50,头指针Front=5 (指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有 24 个元素。

(4)在关系数据库中,用来表示实体之间联系的是二维表

(5)在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,数据操纵语言负责数据的模式定义与数据的物理存取构建。

(6)设有以下的循环:要求程序运行时执行3次循环体,请填空。 x=1 DO x=x+2 Print x

Loop Until X〉6

(7)窗体上命令按钮Command1的事件过程如下: Private Sub Command1_Click() Dim total As Integer total = s(1)+s(2) Print total End Sub

Private Function s(m As Integer) As Integer Static x As Integer For i =1 To m x=x+1 Next i S=x

End Function

运行程序,第3次单击命令按钮Command1时,输出结果为 16

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

Private Sub Command1_Click() Dim a(10) As Integer

For i=1 To 10 a(i)=i Next

Call swap ( a() ) For i=1 To 10 Print a(i) Next End Sub

Sub swap (b() As Integer) n= 10

For i=1 To n/2 t=b(i) b(i)=b(n) b(n)=t n=n-1 Next End Sub

上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换,请填空。

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

Private Sub Command1_Click()

CommonDialog1.Filter=“All Files(*.*)|*.*|Text Files”_ &”(*.txt)|*.txt|Batch Files(*.bat)|*.bat” CommonDialog1 Filterlndex=1 Commondialog1.ShowOpen

MsgBox CommonDialog1.File Name End Sub

程序运行后,单击命令按钮,将显示一个“打开”对话框,此时在“文件类型”框中显示的是 All Files(*.*) ;如果在对话框中选择d盘temp目录下的tel.txt文件,然后单击“确定”按钮,则在MsgBox信息框中显示的提示信息是 d:\\temp\\tel.txt。

(10)以下程序的功能是:把程序文件smtext1.txt的内容全部读入内存,并在文本框Text1中显示出来。请填空。

Private Sub Command1_Click() Dim inData As String Text1.Text=“”

Open“smtext1.txt” For Input As #2 Do While Not EOF(1) Input#2, inData

Text1.Text=Text1.Text& inData Loop Close #2 End Sub

08上参考答案

一、选择题(每小题2分,共70分) (1) C (2) A (3) B (6) D (7) B (8) C (11) D (12) A (13) B (16) D (17) C (18) A

(4) B (9) B (14) C (19) C

(5) A (10) C (15) B (20) A

(21) C (22) B (23) A (24) D (26) D (27) C (28) C (29) B (31) A (32) C (33) B (34) D 二、填空题 (1)输出结果 (2)16 (3)24 (4)二维表

(5)数据操纵语言 (6)x > 6 (7)16

(8)a() Ubound(b) 或10 n = n – 1 (9)All Files(*.*) d:\\temp\\tel.txt (10)For Input #2 Not EOF(1)

08(下)年计算机二级VB等级考试试题

(25) A (30) A (35) B

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

(1)一个栈的初始状态为空,现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是B A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA (2)下列叙述中正确的是D

A)循环队列中有队头和队尾两个指针,因此,循环队列是非线性结构 B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况 D)循环队列中元素的个数是由队头指针和队尾指针共同决定

(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是C A)O(n)

B)O(n2) C)O(log2n) D)(nlog2n)

(4)下列叙述中正确的是A

A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 B)顺序存储结构只针对现行结构,链式存储结构只针对非线性结构 C)顺序存储结构能存储有序表,链式存储结构不能存储有序表 D)链式存储结构比顺序存储结构节省存储空间 (5)数据流图中带有箭头的线段表示的是D A)控制流 B)事件驱动

C)模块调用

D)数据流

(6)在软件开发中,需求分析阶段可以使用的工具是B A)N-S图 B)DFD图 C)PAD图

D)程序流程图

(7)在面向对象方法中,不属于“对象”基本特点的是A A)一致性 B)分类性 C)多态性

D)标识唯一性

(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是B A)一对一 B)一对多

C)多对一

D)多对多

(9)在数据管理技术发展的三个阶段中,数据共享最好的是C A)人工管理阶段 B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同 (10)有三个关系R、S和T 如下:D

由关系R和S通过运算得到关系T,则所使用的运算为 A)笛卡尔积 B)交 C)并 D)自然连接 (11)在设计窗体时双击窗体的任何地方,可以打开的窗口是A A)代码窗口 B)属性窗口

C)工程资源管理器窗口 D)工具箱窗口

(12)若变量a未事先定义而直接使用(例如:a=0),则变量a的类型是D A)Integer B)String

C)Boolean D)Variant

(13)为把圆周率的近似值3.14159存放到变量pi中,应该把变量pi定义为C A)Dim pi As Integer C)Dim pi As Single

B)Dim pi(7) As Integer D)Dim pi As Long

(14)表达式2*3^2-4*2/2+3^2的值是B A)30 B)31 C)49 D)48 (15)以下不能输出“Program”的语句是D

A)Print Mid(\B)Print Right(\C)Print Mid(\D)Print Left(\

(16)窗体上有一个名称为Frame1的框架(如图),若要把框架上显示的“Frame1”改为汉字“框架”,下面正确的语句是B A)Frame1.Name = \框架\B)Frame1.Caption = \框架\C)Frame1.Text = \框架\D)Frame1.Value = \框架\(17)以下叙述中错误的是D

A)在通用过程中,多个形式参数之间可以用逗号作为分隔符 B)在Print方法中,多个输出项之间可以用逗号作为分隔符 C)在Dim语句中,所定义的多个变量可以用逗号作为分隔符 D)当一行中有多个语句时,可以用逗号作为分隔符

(18)设窗体上有一个列表框控件List1,含有若干列表项。以下能表示当前被选中的列表项内容的是C

A)List1.List C)List1.Text

B)List1.ListIndex D)List1.Index

(19)设a=4,b=5,c=6,执行语句Print a

strInput = InputBox(\请输入字符串\字符串对话框\字符串\

将显示输入对话框。此时如果直接单击“确定”按钮,则变量strInput的内容是 C

A)\请输入字符串\B)\字符串对话框\ C)\字符串\ D)空字符

(21)窗体上有Command1、Command2两个命令按钮。现编写以下程序: Option Base 0

Dim a() As Integer, m As Integer Private Sub Command1_Click()

m = InputBox(\请输入一个正整数\ ReDim a(m) End Sub

Private Sub Command2_Click()

m = InputBox(\请输入一个正整数\ ReDim a(m) End Sub

运行程序时,单击Command1后输入整数10,再单击Command2后输入整数5,则数组a中元素的个数是B

A)5 B)6 C)10 D)11

(22)在窗体上画一个命令按钮和一个标签,其名称分别为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

程序运行后,单击命令按钮,标签中显示的内容是B

A)11 B)12 C)16 D)20

(23)在窗体上画一个名为Command1的命令按钮,然后编写以下程序: Private Sub Command1_Click() Dim M(10) As Integer For k = 1 To 10 M(k) = 12 - k Next x = 8

Print M(2 + M(x)) End Sub

运行程序,单击命令按钮,在窗体上显示的是A A)6 B)5 C)7 D)8

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

A)调用过程时可以用控件名称作为实际参数

B)用数组作为过程的参数时,使用的是“传地址”方式 C)只有函数过程能够将过程中处理的信息传回到调用过程中 D)窗体(Form)可以作为过程的参数

(25)在窗体上画一个名为Command1的命令按钮,再画两个名称分别为Label1、Label2的标签,然后编写如下程序代码: Private X As Integer

Private Sub Command1_Click() X = 5: Y = 3 Call proc(X, Y) Label1.Caption = X Label2.Caption = Y End Sub

Private Sub proc(a As Integer, ByVal b As Integer) X = a * a Y = b + b End Sub

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

A)25和3 B)5和3 C)25和6 D)5和6

(26)在窗体上有两个名称分别为Text1、Text2的文本框,一个名称为Command1的命令按钮。运行后的窗体外观如图所示。

设有如下的类型和变量声明: Private Type person name As String * 8 major As String * 20 End Type

设文本框中的数据已正确地赋值给Person类型的变量p,当单击“保存”按钮时,能够正确地把变量中的数据写入随机文件Text2.dat中的程序段是C

A)Open \Put #1, 1, p Close #1

B)Open \Get #1, 1, p Close #1

C)Open \Put #1, 1, p Close #1

D)Open \Get #1, 1, p Close #1

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

Private Sub Command1_Click()

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

n = n + 1

If i > 10 Then Exit For Next

Text1.Text = Str(n) End Sub

程序运行后,单击命令按钮,在文本框中显示的值是B A)2 B)3 C)4 D)5 (28)假定有以下循环结构 Do Until 条件表达式 循环体 Loop

则以下正确的描述是D

A) 如果“条件表达式”的值是0,则一次循环体也不执行 B) 如果“条件表达式”的值不为0,则至少执行一次循环体

C) 不论“条件表达式”的值是否为“真”,至少要执行一次循环体 D) 如果“条件表达式”的值恒为0,则无限次执行循环体 (29)在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim i, Num Randomize Do

For i = 1 To 1000

Num = Int(Rnd * 100) Print Num;

Select Case Num Case 12 Exit For Case 58 Exit Do

Case 65, 68, 92 End End Select Next i Loop End Sub

上述事件过程执行后,下列描述中正确的是: D

A) Do循环执行的次数为1000次

B) 在For循环中产生的随机数小于或等于100 C) 当所产生的随机数为12时结束所有循环

D) 当所产生的随机数为65、68或92时窗体关闭,程序结束

(30)在窗体上画一个名为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

A)1234 B)12 C)34 D)4321 (31)设有如下通用过程:

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

在窗体上画一个名称为Command1的命令按钮。然后编写如下的事件过程: Private Sub Command1_Click() Dim S1 As String S1 = \

Print UCase(Fun(S1)) End Sub

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

A)ABCDEF B)abcdef C)AFBECD D)DEFABC

(32)某人为计算n!(0

For k = n - 1 To 2 Step -1 p = p * k Next k fun = p End Function

在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修改方案中有3种是正确的,错误的方案是B

A)把p=1改为p=n

B)把For k = n - 1 To 2 Step -1改为For k = 1 To n-1 C)把For k = n - 1 To 2 Step -1改为For k = 1 To n D)把For k = n - 1 To 2 Step -1改为For k = 2 To n (33)假定有以下函数过程:

Function Fun(S As String) As String Dim s1 As String For i = 1 To Len(S)

s1 = LCase(Mid(S, i, 1)) + s1

Next i Fun = s1 End Function

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

Dim Str1 As String, Str2 As String Str1 = InputBox(\请输入一个字符串\ Str2 = Fun(Str1) Print Str2 End Sub

程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上的输出结果为D

A)ABCDEFG B)abcdefg C)CFEDCBA D)gfedcba

(34)为计算an的值,某人编写了函数power如下:

Private Function power(a As Integer, n As Integer) As Long Dim p As Long p = a

For k = 1 To n p = p * a Next k power = p End Function

在调试时发现是错误的,例如Print power(5, 4)的输出应该是625,但实际输出是3125。程序需要修改。下面的修改方案中有3个是正确的,错误的一个是B

A)把For k = 1 To n改为For k = 2 To n B)把p = p * a改为p = p ^ n

C)把For k = 1 To n改为For k = 1To n-1 D)把p = a改为p = 1

(35)某人编写了下面的程序 Private Sub Command1_Click()

Dim a As Integer, b As Integer a = InputBox(\请输入整数\ b = InputBox(\请输入整数\ pro a pro b

Call pro(a + b) End Sub

Private Sub pro(n As Integer) While (n > 0)

Print n Mod 10; n = n \\ 10 Wend Print End Sub

此程序的功能是:输入2个正整数,反序输出这2个数的每一个数字,再反序输出这2个数之后的每一位数字。例如:若输入123和234,则应该输出 3 2 1

4 3 2 7 5 3

但调试时发现只输出了前2行(即2个数的反序),而未输出第3行(即2个数之和的反序),程序需要修改。下面的修改方案中正确的是A

A)把过程pro的形式参数n As Integer 改为ByVal n As Integer B)把Call pro(a + b)改为pro a + b C)把n = n \\ 10改为n = n /10

D)在pro b语句之后增加语句c%=a+b,再把Call pro(a + b)改为pro c 二、填空题(每空2分,共30分)

请将每空的正确答案写在答题卡的横线上,答在试卷上不得分。 (1)对下列二叉树进行中序遍历的结果是: DBXEAYFZC 。

(2)按照软件测试的一般步骤,集成测试应在 单元 测试之后进行。

(3)软件工程三要素包括方法、工具和过程,其中,过程支持软件开发的各个环节的控制和管理。 (4)数据库设计包括感念设计、 逻辑设计 和物理设计。 (5)在二维表中,元组的分量 不能再分成更小的数据项。

(6)在窗体画一个文本框、一个标签和一个命令按钮,其名称分别为Text1、Label1和Command1,然后编写如下两个时间过程: Private Sub Command1_Click()

S$ = InputBox(\请输入一个字符串\ Text1.Text = S$ End Sub

Private Sub Text1_Change()

Label1.Caption = UCase(Mid(Text1.Text, 7)) End Sub 程序运行后,单击命令按钮,将显示一个输入对话框,如果在该对话框中输入字符串“VisualBasic”,则在标签中显示的内容是 BASIC 。

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

a$ = \ n = Len(a$) s = 0

For i = 1 To n

b$ = Mid(a$, i, 1) If (b$ = \ s = s + 1 End If Next i Print s End Sub

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

(8)为了运行时把d:\\pic文件夹下的图形文件a.jpg装入图片框Picture1,所使用的语句为 Picture1. Picture=”d:\\pic\\a.jpg” (9)设有如下程序:

Private Sub Form_Click() Cls

a$=\

For i = 1 To 6

Print Tab(12-i); Right(a$,i) Next i

End Sub

程序运行后,单击窗体后,结果如图所示,请填空。

(10)在窗体上画一个命令按钮,其名称为Command1,然后编写如下代码: Option Base 1

Private Sub Command1_Click() Dim Arr

Arr = Array(43,68,-25,65,-78,12,-79,43,-94,72) pos = 0 neg = 0

For k = 1 To 10

If Arr(k) > 0 Then pos=pos+Arr(k) Else

neg=neg+Arr(k) End If Next K End Sub

以上程序的功能是,计算并输出数组Arr中10个数的正数之和pos和负数之和neg,请填空。 (11)在窗体上画一个名为Command1的命令按钮,然后编写如下程序: Private Sub Command1_Click() Dim i As Integer Sum = 0

n = InputBox(\ n = Val(n)

For i = 1 To n

Sum = sum+fun(i) Next i Print Sum End Sub

Function fun(t As Integer) As Long p = 1

For i = 1 To t p = p * i Next i Fun=p End Function

以上程序的功能是:计算1!+2!+3!+...+n!,其中n从键盘输入,请填空。 (12)在窗体上画一个文本框,名称为Text1,然后编写如下程序: Private Sub Form_Load()

Open \ Text1.Text = \End Sub

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

If UCase(Text1.text)= END Then Close #1 End Else

Write #1, Text1.text Text1.Text = \ End If End If End Sub

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

08下参考答案

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

(1) B (2) D (3) C (4) A (5) D (6) B (7) A (8) B (9) C (10) D (11) A (12) D (13) C (14) B (15) D (16) B (17) D (18) C (19) A (20) C (21) B (22) B (23) A (24) C (25) A (26) C (27) B (28) D (29) D (30) A (31) C (32) B (33) D (34) B (35) A

二、填空题 (1)DBXEAYFZC (2)单元 (3)过程 (4)逻辑设计 (5)分量 (6)BASIC (7)4 (8)Picture1. Picture=”d:\\pic\\a.jpg”或者Picture1. Picture=LoadPicture(”d:\\pic\\a.jpg”) (9)Right(a$,i)或者Mid(a$,7-i)

(10)pos=pos+Arr(k) neg=neg+Arr(k) (11)sum+fun(i) fun=p

(12)END Text1.text或者Text1

09(上)年计算机二级VB等级考试试题

一、选择题(每题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)数据库管理员培训

(10)将E-R图转换为关系模式时,实体和联系都可以表示为 A)属性 B)键 C)关系 D)域

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

C)X被定义为整型变量,Y被定义为变体变量 D)X被定义为变体类型变量,Y被定义为整型变量 (12)以下关系表达式中,其值为True的是B A)\

B)\C)\D)\

(13)执行以下程序段

a$=\b$=\

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

A)Visual BASIC Programming B)VISUAL C++ Programming C)Visual C++ Programming D)VISUAL BASIC Programming (14)下列叙述中正确的是C

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

B)执行MsgBox语句并出现信息框后,不用关闭信息框即可执行其他操作 C)MsgBox语句的第一个参数不能省略

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

(15)在窗体上画一个文本框(名称为Text1)和一个标签(名称为Label1),程序运行后,

在文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数,以下可以实 现上述操作的事件过程是A

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属性为\改变 文字字体\,窗体外观如图所示。程序运行后,要求“宋体”单选按钮和“粗体”复选框被 选中,则以下能够实现上述操作的语句序列是D

A)Option1.Value=False Check1.Value=True B)Option1.Value=True Check1.Value=0

C)Option2.Value=False 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

则在横线处应填入的内容为B A)Right(c1,i) B)Left(c1,i) C)Mid(c1,i,1) D)Mid(c1,i,1)

(18)假定有一下程序段 For i=1 To 3

For j=5 To 1 Step -1 Print i*j Next j Next i

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

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

程序运行后,单击命令按钮,在两个文本框中显示的值分别为B 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

程序运行后,单击窗体,输出结果是D A)105 B)1 C)120 D)15

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

A)当焦点在某个控件上时,按下一个字母键,就会执行该控件的KeyPress事件过程 B)因为窗体不接受焦点,所以窗体不存在自己的KeyPress事件过程

C)若按下的键相同,KeyPress事件过程中的KeyAscii参数与KeyDown事件过程中 的KeyCode参数的值也相同

D)在KeyPress事件过程中,KeyAscii参数可以省略

(22)语句Dim a(-3 To 4,3 To 6) As Integer 定义的数组的元素个数是D 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

程序运行后,单击命令按钮,其输出结果是B A)4321 B)1234 C)34 D)12

(24)假定通过复制,粘贴操作建立了一个命令按钮数组Command1,以下说法中错误的是D 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则输出结果为C A)0 B)1 C)2 D)3

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

A)函数过程形参的类型与函数返回值的类型没有关系 B)在函数过程中,过程的返回值可以有多个

C)当数组作为函数过程的参数是,既能以传值方式传递,也能以传址方式传递 D)如果不指明函数过程参数的类型,则该参数没有数据类型

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

Private Sub func(L As Label) L.Caption = \End Sub

Private Sub Form_Load()

Label1.Caption = \ Label2.Caption = 10 End Sub

Private Sub Command1_Click() a = Val(Label2.Caption) Call func(Label1) Label2.Caption = a End Sub

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

A)ABCD和10 B)1234和100 C)ABCD和100 D)1234和10

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

Function 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

程序运行后,单击命令按钮,输出结果是B A)10 B)0 C)11 D)21

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

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 = \

Text1.Text = LCase(Fun(S1)) End Sub

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

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

(31)在窗体上画一个命令按钮和一个文本框(名称分别为Command1和Text1),并把窗体 的KeyPreview属性设置为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 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 A)100 B)50 C)120 D)70

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

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 A)Private Sub Command1_Click() Dim B As Books

Open \For Output As #1 B.Name = InputBox(\输入姓名\ B.Name = InputBox(\输入电话号码\ Write #1, B.Name, B.TelNum Close #1 End Sub

B)Private Sub Command1_Click() Dim B As Books

Open \For Output As #1 B.Name = InputBox(\输入姓名\ B.Name = InputBox(\输入电话号码\ Print #1, B.Name, B.TelNum Close #1 End Sub

C)Private Sub Command1_Click() Dim B As Books

Open \For Output As #1 B.Name = InputBox(\输入姓名\ B.Name = InputBox(\输入电话号码\ Write #1, B Close #1 End Sub

D)Private Sub Command1_Click() Dim B As Books

Open \For Output As #1 B.Name = InputBox(\输入姓名\ B.Name = InputBox(\输入电话号码\ Print #1, Name,TelNum Close #1 End Sub

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

(1)假设用一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底

指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有————个元素

(2)软件测试可分为白盒测试和黑盒测试。基本路径测试属于————测试 (3)符合结构化原则的三种基本控制结构是:选择结构、循环结构和————

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

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

1)Timer1的Interval属性的值应事先设置为———— 2)Private Sub Command1_Click() Timer1.Enabled = True End Sub

3)Private Sub Timer1_Timer() If Image1.Left > ———— Then Image1.Left = ———— - 100 End If End Sub 9.

(7)设窗体上有一个名称为Combo1的组合框,并有以下程序: Private Sub Combo1_KeyPress(KeyAscii As Integer) If ———— = 13 Then

For k = 0 To Combo1.ListCount - 1 If Combo1.Text = Combo1.List(k) Then Combo1.Text = \Exit For End If Next k

If Combo1.Text <> \Combo1.AddItem ———— End If End If End Sub

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

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

Private Sub Command1_Click()

Dim ch$, ascii As Integer

Open \For ———— As #1 While Not EOF(1)

Line Input #1, ch

ascii = toascii(————) Print ascii Wend

Close #1 End Sub

Private Function toascii(mystr$) As Integer n = 0

For k = 1 To ————

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

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\时,加密后的文本为\ 当文本为\时,加密后的文本为\

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

Private Sub code(a() As Integer, mystr As String) Dim ch As String, c1 As String n = UBound(a) - Len(mystr) If n > 0 Then

mystr = mystr & String$(n, \ End If

ch = mystr

For k = ———— To UBound(a) c1 = Mid(mystr, k, 1) n = ———— Mid(ch, n) = c1 Next k

mystr = ch End Sub

09上参考答案(答案不对板的)

09(下)年计算机二级VB等级考试试题

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

1.下列数据结构中,属于非线性结构的是( C )。 A.循环队列 B.带链队列C.二叉树 D.带链栈 解析 树均是非线性结构

2. 下列数据结构中,能够按照”先进后出”原则存取数据的是( B )。 A. 循环队列 B.栈 C.队列 D.二叉树 解析:栈是先进后出或后进先出的线性表

3. 对于循环队列,下列叙述中正确的是( D )。

A.队头指针是固定不变的 B.队头指针一定大于队尾指针 C.队头指针一定小于队尾指针

D.队头指针可以大于队尾指针,也可以小于队尾指针

解析:如果队头指针大于队尾指针说明队列已经循环存放数据了,如果队头指针小于队尾指针说明没有进行循环存放

4. 算法的空间复杂度是指( A )。

A.算法在执行过程中所需要的计算机存储空间 B.算法所处理的数据量

C.算法程序中的语句或指令条数 D.算法在执行过程中所需要的临时工作单元数

解析:算法的空间复杂度是指执行算法所需要的内存空间,包括算法程序所占空间,输入的初始数据所占空间和执行过程中所需要的额外空间. 5. 软件设计中划分模块的一个准则是( B )。

A. 低内聚低耦合 B. 高内聚低耦合 C. 低内聚高耦合 D. 高内聚高耦合

解析:模块内部各元素之间的联系要紧密,高内聚,模块间的连接的紧密程度要低,低耦合,这样可以提高模块的独立性.

6. 下列选项中不属于结构化程序设计原则的是( A )。 A.可封装 B.自顶向下 C.模块化 D.逐步求精 7.软件详细设计产生的图如下 该图是( C ).

A.N-S图 B. PAD图 C. 程序流程图 D.E-R图 8.数据库管理系统是( B )。

A. 操作系统的一部分 B.在操作系统支持下的系统软件 C.一种编译系统 D.一种操作系统 9.在E-R图中,用来表示实体联系的图形是( C )。 A.椭圆形 B.矩形 C.菱形 D .三角形 10.有三个关系R,S,T 如下: R

A B C

a 1 b 2 c 3 S A B d 3 T A B a 1 b 2 c 3 d 3

2 1 1 C 2 C 2 1 1 2

其中关系T由关系R和S通过某种操作得到,该操作称为( D )。

A.选择 B.投影 C. 交 D. 并

解析:T是由S表或R表中的元素组成的 (11)以下变量名中合法的是 str_n

(12)把数学表达式表示为正确的VB表达式应该是 (x*5+3)/(y*2-6)

(13)下面有关标准模块的叙述中,错误的是标准模块不完全由代码组成,还可以有窗体 (14)下面控件中,没有Caption属性的是组合框

(15)用来设置文字字体是否斜体的属性是 FontItalic

(16)若看到程序有如下事件过程,则可以肯定的是,当程序运行时

Private SubClick_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Print \End Sub

用鼠标左键或右键单击名称为“Click”的控件时,执行此过程

(17)可以产生30-50(含30到50)之间的随机整数的表达式是 Int(Rnd*21+30)

(18)在程序运行时,下面的叙述中正确的是只装入而不显示窗体,也会执行窗体的Form_Load事件过程

(19)窗体有名称为Command1的命令按钮和名称为Text1的文本框 Private Sub Command1_Click() Text1.Text = \程序设计\Text1.SetFocus End Sub

Private Sub Text1_GotFocus() Text1.Text = \等级考试\End Sub

运行以上程序,单击命令按钮后文本框中显示的是“等级考试”,且焦点在文本框中 (20)设窗体上有名称为Option1的单选按钮,且程序中有语句: If Option.Value=True Then

下面语句中与该语句不等价的是 If Value=True Then

(21)设窗体上有1个水平滚动条,已经通过属性窗口把它的Max属性设置为1,Min属性设置为100,下面叙述中正确的是程序运行时,若使滚动条向左移动,滚动条的Value属性值就增加 (22)有如下过程代码: Sub var_dim()

Static numa As Integer Dim numb As Integer numa = numa + 2 numb = numb + 1 Print numa; numb

End Sub

连续3次调用var_dim过程,第3次调用时的输出是 6 1 (23)在窗体上画1个命令按钮,并编写如下事件过程: Private Sub Command1_Click() For i = 5 To 1 Step -0.8 Print Int(i); Next i End Sub

运行程序,单击命令按钮,窗体上显示的内容为 5 4 3 2 1 1 (24)在窗体上画1个命令按钮,并编写如下事件过程: Private Sub Command1_Click() Dim a(3, 3) For m = 1 To 3 For n = 1 To 3

If n = m Or n = 4 - m Then a(m, n) = m + n Else

a(m, n) = 0 End If

Print a(m, n); Next n Print Next m End Sub 2 0 4 0 4 0 4 0 6

(25)设有如下函数过程:

Function fun(a As Integer, b As Integer) Dim c As Integer If a < b Then

c = a: a = b: b = c End If c = 0 Do

c = c + a

Loop Until c Mod b = 0 fun = c

End Function

若调用函数fun时的实际参数都是自然数,则函数返回的是 a、b的最小公倍数

(26)窗体上有1个名称为Text1的文本框;1个名称为Timer1的计时器控件,其Interval属性为5000,Enabled属性值是True。Timer1的事件过程如下: Private Sub Timer1_Timer() Static flag As Integer If flag = 0 Then flag = 1 flag = -flag

If flag = -1 Then

Text1.ForeColor = &HFF& '&HFF&为红色 Else

Text1.ForeColor = &HC000& '&HC000&为绿色

End If End Sub

以下叙述中正确的是程序执行后,文本框的文字每5秒改变一次颜色

(27)为计算1+2+2^2+2^3+2^4+…+2^10的值,并把结果显示在文本框Text1中,若编写如下事件过程:

Private Sub Command1_Click() Dim a%, s%, k% s = 1 a = 2

For k = 2 To 10 a = a * 2 s = s + a Next k

Text1.Text = s End Sub

执行此事件过程后发现结果是错误的,为能够得到正确结果,应做的修改是 D)同时进行B)、C)两种修改

(28)标准模块中有如下程序代码: Public x As Integer, y As Integer Sub var_pub() x = 10: y = 20 End Sub

在窗体上有1个命令按钮,并有如下事件过程: Private Sub Command1_Click() Dim x As Integer Call var_pub x = x + 100 y = y + 100 Print x; y End Sub 100 120

(29)设a,b都是自然数,为求a除以b的余数,默认编写了以下函数: Function fun(a As Integer, b As Integer) While a > b a = a - b Wend fun = a

End Function

在调试时发现函数是错误的,为使函数能产生正确的返回值,应做的修改是While a>b (30)下列关于通用对话框CommonDialog1的叙述中,错误的是

只要在“打开”对话框中选择了文件,并单击“打开”按钮,就可以将选中的文件打开

(31)在利用菜单编辑器设计菜单时,为了把组合键“Alt+X”设置为“退出(X)”菜单项的访问键,可以将该菜单项的标题设置为退出(&X)

(32)在窗体上画1个命令按钮和1个文本框,其名称分别为Command1和Text1,再编写如下程序:

Dim ss As String

Private Sub Text1_KeyPress(KeyAscii As Integer) If Chr(KeyAscii) <> \End Sub

Private Sub Command1_Click()

Dim m As String, i As Integer For i = Len(ss) To 1 Step -1 m = m + Mid(ss, i, 1) Next

Text1.Text = UCase(m) End Sub

程序运行后,在文本框中输入“Number 100”,并单击命令按钮,则文本框中显示的是001REMBUN (33)窗体的左右两端各有1条直线,名称分别为Line1、Line2;名称为Shape1的圆靠在左边的Line1直线上(见图);另有1个名称为Timer1的计时器控件,其属性值为True。要求程序运行后,圆每秒向右移动100,当圆遇到Line2时则停止移动。为实现上述功能,某人把计时器的Interval属性设置为1000,并编写了如下程序: Private Sub Timer1_Timer()

For k = Line1.X1 To Line2.X1 Step 100

If Shape1.Left + Shape1.Width < Line2.X1 Then Shape1.Left = Shape1.Left + 100 End If Next k End Sub

运行程序时发现圆立即移动到右边的直线处,与题目要求的移动方式不符。为得到与题目要求相符的结果,下面修改方案中正确的是

把 For k = Line1.X1 To Line2.X1 Step 100 和Next k两行删除 (34)下列有关文件的叙述中,正确的是 C)随机文件中,每个记录的长度是固定的 (35)窗体如图1所示。要求程序运行时,在文本框Text1中输入一个姓氏,单击“删除”按钮(名称为Command1),则可删除列表框List1中所有该姓氏的项目。若编写以下程序来实现此功能: Private Sub Command1_Click() Dim n%, k%

n = Len(Text1.Text)

For k = 0 To List1.ListCount - 1

If Left(List1.List(k), n) = Text1.Text Then List1.RemoveItem k End If Next k End Sub

在调试时发现,如输入“陈”,可以正确删除所有姓“陈”的项目,但输入“刘”,则只删除了“刘邦”、“刘备”2项,结果如图2所示。这说明程序不能适应所有情况,需要改正。正确的修改方案是把For k=0 to List1.ListCount-1改为For k = List1.ListCount - 1 To 0 Step -1 二、填空题(每空2分,共30分)

(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有 14 个结点。 (2)程序流程图中的菱形框表示的是 逻辑条件 或 逻辑判断 或 条件或判断。 (3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中 需求分析 阶段产生“软件需求规格说明书”。

(4)在数据库技术中,实体集之间的联系可以是一对一或一对多的,那么“学生”和“可选课程”的联系为 多对多。

(5)人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字的是 身份证号。

(6)工程中有Form1和Form2两个窗体。Form1窗体外观如图1所示。程序运行时,在Form1中名称为Text1的文本框中输入一个数值(圆的半径),然后单击命令按钮“计算并显示”(其名称为Command1),则显示Form2窗体,且根据输入的圆的半径计算圆的面积,并在Form2的窗体上显示出来,如图2所示。如果单击命令按钮时,文本框中输入的不是数值,则用信息框显示“请输

入数值数据!”。请填空。 Private Sub Command1_Click() If Text1.Text = \magbox \请输入半径!\

ElseIf Not IsNumeric(Text1.Text) Then MsgBox \请输入数值数据!\Else

r = Val(Text1.Text) Form2.Show

Form2.Print \圆的面积是\End If End Sub

(7)设有整型变量s,取值范围为0~100,表示学生的成绩,有如下程序段: If s >= 90 Then Level = \

ElseIf s >= 75 Then Level = \

ElseIf s >= 60 Then Level = \Else

Level = \End If

下面用Select Case结构改写上述程序,使两段程序所实现的功能完全相同,请填空。 Select Case s Case Is >= 95 Level = \Case 75 To 90 Level = \Case 60 To 74 Level = \

Case Else 或 Is<60 Level = \End Select

(8)窗体上有名称为Command1的命令按钮。事件过程及2个函数过程如下: Private Sub Command1_Click()

Dim x As Integer, y As Integer, z x = 3 y = 5 z = fy(y)

Print fx(fx(x)), y End Sub

Function fx(ByVal a As Integer) a = a + a fx = a

End Function

Function fy(ByRef a As Integer) a = a + a fy = a

End Function

运行程序,并单击命令按钮,则窗体上显示的2个值依次是12和10。

(9)窗体上有名称为Command1的命令按钮及名称为Text1、能显示多行文本的文本框。程序运行后,如果单击命令按钮,则可打开磁盘文件c:\\test.txt,并将文件中的内容(多行文本)显示在文本框中。下面是实现此能的程序,请填空。 Private Sub Command1_Click() Text1 = \

Number = FreeFile

Open \Do While Not EOF(Number) Line Input #Number, s

Text1.Text = Text1.Text + s + Chr(13) + Chr(10) Loop

Close #Number End Sub

09下参考答案

一.选择题

11.C 12.D 13.A 14.C 15.D 16.D 17.A 18.C 19.B 20.C 21.A 22.C 23.A 24.B 25.D 26.C 27.D 28.B 29.D 30.A 31.B 32.D 33.B 34.C 35.A

二.填空题 6.text1.text text1.text Form2 7.IS ELSE

END SELECT 8.12 10 9.NUMBER S

10(上)计算机二级VB等级考试试题一、 选择题 1、关系数据库管理系统所管理的关系是______ B _____。 A)一个DBF文件 B)若干个二维表 C)一个DBC文件 D)若干个DBC文件

2、不允许记录中出现重复索引值的索引是____ C ________。 A) 主索引

B) 主索引、候选索引、普通索引 C) 主索引和候选索引

D) 主索引、候选索引和唯一索引

3、Visual FoxPro关系数据库管理系统能够实现的三种基本关系运算是___ C _______。 A)索引、排序、查找 B)建库、录入、排序 C)选择、投影、联接 C)显示、统计、复制

4、打开Visual FoxPro“项目管理器”的“文档”(Docs)选项卡,其中包含_____ D _____。 A)表单(Form)文件 B)报表(Report)文件 C)标签(Label)文件 D)以上三种文件

5、连续执行以下命令之后,最后一条命令的输出结果是____ C ______。 SET EXACT OFF X=”A”

? IIF (“A”=X,X-“BCD”,X+”BCD”) A)A B)BCD

C)A BCD D)ABCD

6、在以下四组函数运算中,结果相同的是______ A ___。 A)LEFT(“Vixual FoxPro”,6)与SUBSTR(“Visual FoxPro”,1,6) B)YEAR(DATE())与此同时SUBSTR(DTOC(DATE),7,2) C)VARTYPE(“36-5*4”)与VARTYPE(36-5*4) D)假定A=”this”,B=”is a string”,A-B与A+B 7、在下面关于面向对象数据库的叙述中,错误的是______ D _____。 A)每个对象在系统中都有唯一的对象标识

B)事件作用于对象,对象识别事件并作出相应反应 C)一个子类能够继承其所有父类的属性和方法 D)一个父类包括其所有子类的属性和方法

8、在下面的Visual FoxPro表达式,不正确的是______ C _____。

A){^2002-05-01 10:10:10 AM}-10 B){^2002-05-01}-DATE() C){^2002-05-01}+DATE() D)[^2002-05-01]+[1000]

9、使用菜单操作方法打开一个在当前目录下已经存在的查询文件zgjk.qpr后,在命令窗口生成的命令是___________B___。

A) OPEN QUERY zgjk.qpr B) MODIFY QUERY zgjk.qpr C) DO QUERY zgjk.qpr D)CREATE QUERY zgjk.qpr

10、在数据库设计器中,建立两个表之间的一对多联系是通过以下索引实现的____ A ______。 A)“一方”表的主索引或候选索引,“多方”表的普通索引 B)“一方”表的主索引,“多方”表的普通索引或候选索引 C)“一方”表的普通索引,“多方”表的主索引或候选索引

D)“一方”表的普通索引,“多方”表的候选索引或普通索引 二、填空题

1、在关系数据模型中,二维表的列称为属性,二维表的行称为元组。 2、在Visual FoxPro中,项目文件的扩展名是非曲直 PJX。

3、查询设计器的“筛选”选项卡用来指定查询的 查询条件

4、要为表单设计下拉式菜单,首先需要在菜单设计时,在“常规选项”对话框中选择“顶层表单”复选框;其次要将表单的ShowWindow属性值设置为2 ,使其成为顶层表单;最后需要在表单的Init事件代码中添加调用菜单程序的命令。

5、运行XY . PRG程序后,将在屏幕上显示如下乘法表: 1) 1 2) 2 4 3) 3 6 9 4) 4 8 12 16 5) 5 10 15 20 25 6) 6 12 18 24 30 36 7) 7 14 21 28 35 42 49 8) 8 16 24 32 40 48 56 64 9) *** 27 36 45 54 63 72 81 请对下面的程序填空:

* * *计算乘法表XY . PRG * * * SET TALK OFF CLEAR

FOR J = 1 TO 9 ? STR(J,2)+?)? FOR D = 1 TO J ??STR(J*K,6) END FOR ?

END FOR RETURN

10上参考答案

一、选择题

1、B 2、C 3、C 4、D 5、C 6、A 7、D 8、C 9、B 10、A

二、填空题 1、[1] 元组

2、[2] PJX或 . PJX 3、[3] 查询条件 4、[4] 2 [5] Init

5、[6] FOR D = 1 TO J [7] STR(J*K,6)

注:中的K可以是其他字母。

10(下)年计算机二级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)软件开发生产率低 C)软件质量难以控制 D)软件成本不断提高 (5)软件生命周期是指

A)软件产品从提出、实现、使用维护到停止使用退役的过程 B)软件从需求分析、设计、实现到测试完成的过程 C)软件的开发过程

D)软件的运行维护过程

(6)面向对象方法中,继承是指 A)一组对象所具有的相似性质 B)一个对象具有另一个对象的性质 C)各对象之间的共同性质

D)类之间共享属性和操作的机制

(7)层次型、网状型和关系型数据库划分原则是 A)记录长度 B)文件的大小 C)联系的复杂程度

D)数据之间的联系方式

(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是 A)一对一 B)一对多 C)多对多 D)多对一

(9)数据库设计中反映用户对数据要求的模式是 A)内模式 B)概念模式 C)外模式 D)设计模式

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

则由关系R和S得到关系T的操作是 A)自然连接 B)交 C)投影 D)并

(11)在Visual Basic集成环境中,要添加一个窗体,可以单击工具栏上的一个按钮,这个按钮是A A)C)

B) D)

(12)在Visual Basic集成环境的设计模式下,用鼠标双击窗体上的某个控件打开的窗口是D A)工程资源管理器窗口 B)属性窗口 C)工具箱窗口 D)代码窗口

(13)下列叙述中错误的是B

A)列表框与组合框都有List属性

B)列表框有Selected属性,而组合框没有 C)列表框和组合框都有Style属性 D)组合框有Text属性、而列表框没有

(14)设窗体上有一个命令按钮数组,能够区分数组中各个按钮的属性是B A)Name B)Index C)Caption D)Left (15)滚动条可以响应的事件是B

A)Load B)Scroll C)Click D)MouseDown

(16)设a=5, b=6, c=7, d=8,执行语句X=Ilf((a>b)And (c>d), 10, 20)后,x的值是B A)10 B)20 C)30 D)200

(17)语句Print Sgn(-6^2)+ Abs(-6^2)+Int(-6^2)的输出结果是C A)-36 B)1 C)-1 D)-72

(18)在窗体上画一个图片框,在图片框中画一个命令按钮,位置如图所示。

则命令按钮的Top属性值是A

A)200 B)300 C)500 D)700

(19)在窗体上画一个名称为Command l的命令按钮。单击命令按钮时执行如下事件过程: Private Sub Command 1_Click() a$=”software and hardware\ b$=Right(a$,8) c$=Mid(a$, 1,8) MsgBox a$,,b$,c$, 1 End Sub

则在弹出的信息框标题栏中显示的标题是B

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

(20)在窗体上画一个文本框(名称为Text 1)和一个标签(名称为Label 1),程序运行后,如果在文本框中输入文本,则标签中立即显示相同的内容。以下可以实现上述操作的事件过程是A A)Private Sub Text1_Change() Label1.Caption=Text1.Text End Sub

B)Private Sub Label1_Change() Label1.Caption=Text1.Text End Sub

C)Private Sub Text1_Click() Label1.Caption=Text1.Text End Sub

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

(21)以下说法中错误的是C

A)如果把一个命令按钮的Default属性设置为True,则按回车键与单击该命令按钮的作用相同 B)可以用多个命令按钮组成命令按钮数组 C)命令按钮只能识别单击(Click)事件

D)通过设置命令按钮的Enabled属性,可以使该命令按钮有效或禁用 (22)以下关于局部变量的叙述中错误的是D

A)在过程中用Dim语句或Static语句声明的变量是局部变量 B)局部变量的作用域是它所在的过程

C)在过程中用Static语句声明的变量是静态局部变量

D)过程执行完毕,该过程中用Dim或Static语句声明的变量即被释放 23)以下程序段的输出结果是B x=I y=4

Do Until y>4 x=x*y Y=y+I Loop

Print x

A)1 B)4 C)8 D)20

(24)如果执行一个语句后弹出如图所示的窗口,则这个语句是D

A)InputBox(\输入框”,”请输入VB数据”) B)x=InputBox(\输入框”,”请输入VB数据”) C)InputB ox(\请输入VB数据”,”输入框”) D)x=InputBox(\请输入VB数据”,”输入框”) (25)有如下事件过程: Private Sub Form Click() Dim n A s Integer x=0

n=InputBox(\请输入一个整数”) For i=1 Ton For j=1 To i x=x+I Next j Next i Print x End Sub

程序运行后,单击窗体,女口果在输入对话框中输入:,则在窗体上显示的内容是C A)13 B)14 C)15 D)16 (26)请阅读程序:

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

Private Sub Command 1_Click() Dim a(l To 4)As Integer

A(l)=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

A)2 B)5 C)10 D)出错 4 6 12 6 7 14 8 8 16

(27)Fibonacci数列的规律是:前2个数为1,从第3个数开始,每个数是它前2个数之和,即:1,1,2, 3, 5, 8,13, 21,34, 55, 89,…。某人编写了下面的函数,判断大于1的整数x是否是Fibonacci数列中的某个数,若

是,则返回True,否则返回False。

Function Isfab(x As Integer)As Boolean

Dim a As Integer, b As Integer, c As Integer, flag As Boolean flag=False a=1:b=I

Do While x<b c=a+b a=b b=c

If x=b Then flag=True Loop Isfab=flag End Function

测试时发现对于所有正整数x,函数都返回False,程序需要修改。下面的修改方案中正确的是C A)把a= b与b=c的位置互换 B)把c=a+b移到b=c之后

C)把Do While x<b改为Do While x>b

D)把if x=b Then flag=True改为If x=a Then flag=True

(28)在窗体上画一个命令按钮,其名称为Commandl,然后编写如下事件过程: Private Sub Command1_Click() Dim a$, b$,c$, k% a=\ b=”123456” c=\k=1

Do While k<= Len(a)Or k<=Len(b) If k<=Len(a)Then c=c&Mid(a, k, 1) End If

If k<=Len(b)Then c=c&Mid(b, k, 1) End If k=k+1 Loop Print c End Sub

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

A)123456ABCD B)ABCD123456 C)D6C5B4A321 D)AlB2C3D456 (29)请阅读程序:

Private Sub Form_ Click() m=1

For i=4 To 1 Step-1 Print Str(m); m=m+1 For j=1 To i Print”*”;

Next j Print Next i End Sub

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

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

(30)在窗体上画一个命令按钮(其名称为Commandl),然后编写如下代码: Private Sub Command l_Click() Dim a

a=Array(1,2,3,4) I=3:j=1

Do While i>=0 s=s+a(i)*j i=i-1 j=j*10。 Loop Print s End Sub

运行上面的程序,单击命令按钮,则输出结果是D A)4321 B)123 C)234 D)1234 (31)下列可以打开随机文件的语句是D

A)Open \l .dat\For lnpu't As#1 B)Open”file l .dat\For Append As#1 C)Open”file1.dat\For Output As#1

D)Open”file1.dat\For Random As#1 Len=20

(32)有弹出式菜单的结构如下表,程序运行时,单击窗体则弹出如下图所示的菜单。下面的事件过程中能正确实现这一功能的是 C

A)Private Sub Form _Click() PopupMenu cut End Sub

B)Private Sub Command l Click() PopupMenu edit End Sub

C)Private Sub Form_ Click() PopupMenu edit

End Sub End Sub

D)Private Sub Form_lick() PopupMenu cut PopupMenu paste (33)请阅读程序: Option Base I

Private Sub Form_ Click() Dim Arr(4, 4)As Integer For i=1 To 4 For j=I To 4

Arr(i, j)=(i - 1)*2+j Next j Next i

For i=3To4 For j=3 To 4 Print Arr(j, i); Next j Print Next i End Sub

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

A)5 7 B)6 8 C)7 9 D)8 10 6 8 7 9 8 10 8 11

(34)一下面函数的功能应该是:删除字符串str中所有与变量ch相同的字符,并返回删除后的结果。例如:若str= \ch= \则函数的返回值为:\Function delchar(str As String, ch As String)As String Dim k As Integer, temp As String, ret As String ret=\

For k=1 To Len(str) temp=Mid(str, k, 1) If temp= ch Then ret=ret&temp End If Next k delchar=ret End Function

但实际上函数有错误,需要修改。下面的修改方案中正确的是B

A)把ret=ret&temp改为ret=temp

B)把If temp=ch Then改为If temp<> ch Then C)把delchar=ret改为delchar=temp D)把ret =\改为temp=\

(35)在窗体上画一个命令按钮和两个文本框,其名称分别为Command1、Text I和Text2,在属性窗口中把窗体的KeyPreview属性设置为True,然后编写如下程序: Dim S I As String, S2 As String Private Sub Form Load()

Text 1 .Text=\Text2.Text=\

Text 1.Enabled=False Text2.Enabled=False End Sub

Private Sub Form_ KeyDown(KeyCode As Integer, Shift As Integer) S2=S2&Chr(KeyCode) End Sub

Private Sub Forin_ KeyPress(KeyAscii As Integer) S1=S1&Chr(KeyAscii) End Sub

Private Sub Command l Click Text l .Text=Sl Text2.Text=S2 S1=\S2=\End Sub

程序运行后,先后按“a”、“b”、“c”键,然后单击命令按钮,在文本框Textl和Text2中显示的内容分别为A A)abc和ABC B)空白

C)ABC和abc D)出错

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

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

(1)一个栈的初始状态为空。首先将元素5,4,3,2,1 依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为__ _。 (2)在长度为n的线性表中,寻找最大项至少需要比较______次。

(3)一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有_____个结点。 (4)仅由顺序、选择(分支)和重复(循环)结构构成的程序是_【4】__程序。 (5)数据库设计的四个阶段是:需求分析,概念设计,逻辑设计和_【5】_。

(6)窗体上有一个名称为Combo1的组合框, 其初始内容为空,有一个名称为Command1、标题为“添加项目”的命令按钮。程序运行后,如果单击命令按钮,会将给定数组中的项目添加到组合框中,如图所示。请填空。

Option Base 1

Private Sub Command 1_ Click( Dim city As Variant

city=_Array_(\北京\,\天津\,\上海\,\武汉\,\重庆\,\西宁\) For i=_ 1_To UBound(citv) Combo 1.Addltem_city (i)_ Next End Sub

(7)窗体上有一个名称为Text 1的文本框和一个名称为Command l、标题为“计算”的命令按钮,如图所示。函数fun及命令按钮的单击事件过程如下,请填空。

Private Sub Command 1 _Click() Dim x As Integer

x=Val(InputBOX(\输入数据\))

Text 1=Str(fun(x)+fun(x)+fun(x)) End Sub

Private Function fun(ByRef n As Integer) If n Mod 3=0 Then n=n+n Else n=n*n End If _fun_=n

End Function

当单击命令按钮,在输入对话框中输入2时,文本框中显示的是_276_

(8)窗体上有一个名称为List1的列表框,一个名称为Picture 1的图片框。Form_ Load事件过程的作用是,把Datal.txt文件中的物品名称添加到列表框中。运行程序,当双击列表框中的物品名称时,可以把该物品对应的图片显示在图片框中如图所示。以下是类型定义及程序,请填空。

Private Type Pic

gName As String*10 ?物品名称

picFile As String*20 ?物品图片的图片文件名 End Type

Dim p(4)As Pic,pRec As Pic Private Sub Form Load()

Open”Datal.txt\For Random As#1 _Len_=Len(pRec) For i=0 To 4

Get#1,i+l,P(i)

LIStI.AddItem p(i).gNaine Next i Close#1 End Sub

Private Sub List I-DbICIickO For i=OTo4

If RTrim(List一List(i))=RTrim(_p(i).gName_)Then Picture l.,Picture=LoadPicture(p(i)._picFile_) Exit For End If Next

End Sub

(9)窗体上有一个名称为CD1的通用对话框。通过菜单编辑器建立如图1所示的菜单。程序运行时,如果单击“打开”菜单项,则执行打开文件的操作,当选定了文件(例如: G:\\VB\\2010-9\\in.txt)并打开后,该文件的文件名会被添加到菜单中,如图2所示。各菜单项的名称和标题等定义如下表。

以一下是单击“打开”菜单项的事件过程,请填空。 Dim mnuCounter As Integer

Private Sub tnnuOpen_ Click() CDI.Show0pen

If CD I .FileName<>\

Open_Cd1.FileName_For Input As#1 mnuCounter=mnuCounter+1 Load FName(mnuCounter)

FName(mnuCounter).Caption=CD I.FileName FName(mnuCounter)._Visible_=True Close#1 End If End Sub

10下参考答案

本文来源:https://www.bwwdw.com/article/jahx.html

Top