欢迎广大考生登录大学公共计算机资源共享网站!
   
计算机二级考试试题
 

NCRE 二级 VB 笔试试题及解析—— 1

                                                                                                            

•  选择题 (共 35 题,每题 2 分,共 70 分)

(1) 栈和队列的共同特点是

A) 都是先进先出

B) 都是先进后出

C) 只允许在端点处插入和删除元素

D) 没有共同点

解析: 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种 “ 后进先出 ” 的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种 “ 先进先出 ” 的线性表。

(2) 已知二叉树后序遍历序列是 dabec ,中序遍历序列是 debac ,它的前序遍历序列是

A) acbed

B) decab

C) deabc

D) cedba

解析: 依据后序遍历序列可确定根结点为 c;再依据中序遍历序列可知其左子树由deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d,右子树由ba构成,如下图所示。求得该二叉树的前序遍历序列为选项D)。

(3) 链表不具有的特点是

A) 不必事先估计存储空间

B) 可随机访问任一元素

C) 插入删除不需要移动元素

D) 所需空间与线性表长度成正比

解析: 链表采用的是链式存储结构,它克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。但是链式存储结构也有不足之处:① 每个结点中的指针域需额外占用存储空间;② 链式存储结构是一种非随机存储结构。

(4) 结构化程序设计的 3 种结构是

A) 顺序结构、选择结构、转移结构

B) 分支结构、等价结构、循环结构

C) 多分支结构、赋值结构、等价结构

D) 顺序结构、选择结构、循环结构

解析: 顺序结构、选择结构和循环结构 (或重复结构) 是结构化程序设计的3种基本结构。

(5) 为了提高测试的效率,应该

A) 随机选取测试数据

B) 取一切可能的输入数据作为测试数据

C) 在完成编码以后制定软件的测试计划

D) 集中对付那些错误群集的程序

解析: 测试的目的是发现软件中的错误。经验表明,程序中存在错误的概率与该程序中已发现的错误数成正比。这一现象说明,为了提高测试效率,测试人员应该集中对付那些错误群集的程序。

(6) 算法的时间复杂度是指

A) 执行算法程序所需要的时间

B) 算法程序的长度

C) 算法执行过程中所需要的基本运算次数

D) 算法程序中的指令条数

解析: 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。

(7) 软件生命周期中所花费用最多的阶段是

A) 详细设计

B) 软件编码

C) 软件测试

D) 软件维护

解析: 软件生命周期分为软件定义、软件开发及软件运行维护 3个阶段。本题中,详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。

(8) 数据库管理系统 DBMS 中用来定义模式、内模式和外模式的语言为

A) C

B) Basic

C) DDL

D) DML

解析: 选项 A) 、 B) 显然不合题意。数据定义语言 (Data Definition Language ,简称 DDL) 负责数据的模式定义与数据的物理存取构建;数据操纵语言 (Data Manipulation Language ,简称 DML) 负责数据的操纵,包括查询及增、删、改等操作。

(9) 下列有关数据库的描述,正确的是

A) 数据库是一个 DBF 文件

B) 数据库是一个关系

C) 数据库是一个结构化的数据集合

D) 数据库是一组文件

解析: 数据库 (Database,简称DB) 是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有 “ 集成 ” 、 “ 共享 ” 之特点。

(10) 下列有关数据库的描述,正确的是

A) 数据处理是将信息转化为数据的过程

B) 数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变

C) 关系中的每一列称为元组,一个元组就是一个字段

D) 如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字

解析: 数据处理是指将数据转换成信息的过程,所以选项 A)叙述错误;数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,所以选项B)叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,所以选项C)叙述错误。

(11) 关于 Visual Basic "方法"的概念错误的是

A) 方法是对象的一部分

B) 方法是预先定义好的操作

C) 方法是对事件的响应

D) 方法用于完成某些特定的功能

解析:对象是属性、方法和事件的集成,所以选项 A)说法正确;例如Print方法是用来输出字符串、变量和表达式的值,也就是完成输出的这一功能,所以选项D)的说法正确;在执行方法时,不必考虑实现输出的具体步骤,方法的步骤是系统预先规定好的,所以选项B)说法正确。

(12) 下列说法有错误的是

A) 默认情况下,属性 Visible 的值为 False

B) 如果设置控件的 Visible 属性为 False ,则运行时控件会隐藏

C) Visible 的值可设为 True 或者 False

D) 设置 Visible 属性同设置 Enabled 属性的功能是相同的,都是使控件处于失效状态

解析: Visible 是用来设置对象的可见性的,有两种值: True 和 False ,所以选项 C) 表述正确;默认情况下 Visible 的值中是 True ,所以选项 A) 没有错误;如果将对象的 Visible 值设为 False ,窗体和控件在设计阶段仍可见,只有运行时才隐藏,所以选项 B) 也是正确的; Enabled 的功能是使控件有效还是无效,默认值为 True ,处于有效状态,运行时可用,如果设为 False ,则处于禁止状态,运行时不可用,但可见,所以选项 D) 错误。

(13) 下列各控件不包含滚动条的控件是

A) ListBox

B) ComboBox

C) TextBox

D) LabelBox

析:滚动条的用处是滚动数据或文本,以便快速找到所需的内容。如果一个控件存放有大量的数据或文本,这个控件一般会带有滚动条。 ListBox,TextBox和ComboBox可以存放大量的数据或文本,本身带有滚动条,而LabelBox仅是显示 “ 标签 ” 信息,一般标签不需要大块文本,所有它不包含滚动条。

(14) 如果在程序中要将 c 定义为静态变量,且为整型数,则应使用的语句是

A) Redim a As Integer

B) Static a As Integer

C) Public a As Integer

D) Dim a As Integer

解析:在 Visual Basic中,定义变量的关键字为Dim、Static、Redim、Public或Private,它们在使用上是不同的,Dim用于标准模块、窗体模块或过程中定义变量或者数组;Static用于过程中定义静态变量或数组;Public用于在标准模块中定义全局变量或数组;Redim主要用于定义数组。

(15) 声明一个变量为局部变量应该用

A) Global

B) Private

C) Static

D) Public

解析:根据变量的定义位置和所使用的变量定义语句的不同, Visual Basic中的变量可以分为局部变量、模块变量和全局变量。模块级变量在模块部分用Private或Dim语句声明;全局变量必须用Public或Global语句声明;局部变量在过程内用Dim或Static语句声明。

(16) 执行 x$=InputBox(" 请输入 x 的值 ") 时,在弹出的对话框中输入 123 ,在列表框 List1 选中 1 个列表项 ( 数据为 456) ,使有的值使 123456 的语句是

A) y=x$+List1.List(0)

B) y=x$+List1.List(1)

C) y=Val(x$) +Val(List1.List(0) )

D) y=Val(x$) & Val(List1.List(1) )

解析:选项 A) 中, x $和 List1.List(0) 都是字符类型,用 “ + ” 运算符表示将这两个字符串连接起来,结果正好是 123456 ;选项 B) 中, List1.List(1) 不是列表框控件的第一个列表项;选项 C) 中, Val 函数将字符串转换成数值,这两个数值相加的表达式的运算结果为 579 ;选项 D) 同选项 B) 。

(17) 以下各项中, Visual Basic 不能接收的图形文件是

A) .ico 文件

B) .jpg 文件

C) .psd 文件

D) .bmp 文件

解析: :在 Visual Basic中,可以接受不同的图形文件,见下表。

Visual Basic支持的图形文件

文件类型

文件扩展名

位图文件

.bmp;.dib

图标文件

.ico;.cur

Windows图元文件

.wmf;.emf

GIF格式图形压缩文件

.gif

JPEG格式图形压缩文件

.jpg

从上表可知, .psd 文件不是 Visual Basic 所支持的图形文件。

(18) 下面的属性中,用于自动调整图像框中图形内容的大小的是

A) Picture

B) CurentY

C) CurrentX

D) Stretch

解析:本题的目的在于考查学生对图形控件的属性设置。 Picture 属性用于窗体、图片框和图像框,它可以通过属性窗口设置,用来把图形放到这些对象中,因此选项 A) 是不正确的; CurrentX 和 CurrentY 用来设置下一个输出的水平坐标和垂直坐标,因此选项 B) 和 C) 都不正确; Stretch 属性用于图像框,用于自动调整图像框中图形内容的大小,既可通过属性窗口设置,也可以通过程序代码设置,该属性的取值为 True 或 False ,当其值为 False 时,将自动放大或缩小图像框中的图形以与图像框的大小相适应,因此选项 D) 是正确的。

(19) 下面有关注释语句的格式,错误的是

A) Rem 注释内容

B) ′注释内容

C) a=3:b=2 ′对 a 、 b 赋值

D) Private Sub Command1_MouseDown(button As Integer , shift As Integer , _

Rem 鼠标按下事件的命令调用过程 X As Single ,Y As Single)

解析:程序中添加注释语句是为了提高程序的可读性,一般格式为: Rem 注释内容或 ′注视内容;注释语句是非执行语句,仅对程序的有关内容起注释作用,它不被解释和编译,故选项 A) 和选项 B) 没有错误;任何字符都可以在注释行中作为注释内容,注释语句通常放在过程、模块的开头作为标题用,也可放在执行语句 ( 单行或者复合语句行 ) 的后面,但不可以放在续行符的后面,所以选项 C) 没有错误;所以本题的正确答案是选项 D) 。

(20) 只有将组合框的 Style 属性设置为何值时,才能触发 DblClick 事件?

A) 0

B) 1

C) 2

D) 3

解析: :组合框的事件依赖于其 Style 属性,只有 Style 属性设置为 1 时,才能接收 DblClick 事件,因此只有 B) 选项正确。

(21) 以下属于 Visual Basic 合法的数组元素是

A) x8

B) x [ 8 ]

C) s(0)

D) v [ 8 ]

解析:本题是对数组基本知识的考查,在 Visual Basic 中,数组元素一般形式为 x( 整数 ) ,括号中的整数是一个确定值,而且数组名 x 后的圆括号不能省去,也不能由其他的括号代替,所以本题的正确答案是选项 C) 。

(22) 编写如下两个事件过程:

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

Print Chr(KeyCode)

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)

Print Chr(KeyAscii)

End Sub

在一般情况下 ( 即不按住 Shift 键和锁定大写键时 ) 运行程序,如果按 " A "键,则程序输出的结果是

A) A

a

B) a

A

C) A

A

D) a

a

解析:此题考查了 KeyPress事件和KeyDown事件,下面我们具体说明一下两个事件。

当按键盘上的某个按钮,将发生 KeyPress事件。该事件可用于窗体、复选框、组合框、命令按钮、列表框,图片框、文本框、滚动条及文件有关的控件。用户自己可以定义KeyPress事件过程,一般格式为:

Private Sub Form_KeyPress(KeyAscii As Integer)

End Sub

KeyPress事件是用来识别按键的ASCII码。

KeyDown 事件返回的是键盘的直接状态,返回的是键;而 KeyPress 事件返回的是 "字符"的 ASCII 码。所以要输出字符还得用 Chr 函数。

(23) 要使菜单项 MenuOne 在程序运行时失效,使用的语句是

A) MenuOne.Visible=True

B) MenuOne.Visible=False

C) MenuOne.Enabled=True

D) MenuOne.Enabled=False

解析:菜单控件的主要属性有: Caption 、 Name 、 Index 、 Enabled 、 Visible 等,其中 Enabled 和 Visible 属性值为逻辑值, Visible 属性用于表示菜单项是否可见, Enabled 属性用于表示菜单项是否可用。当 Enabled 属性值为 False 时,表示菜单项当前不可用,属性值为 True 时,表示菜单项可用。

(24) 在窗体上建立通用对话框需要添加的控件是

A) Data 控件

B) From 控件

C) CommonDialog 控件

D) VBComboBox 控件

解析:通用对话框是一种 ActiveX 控件,它随同 Visual Basic 提供给程序设计人员。在一般情况下,启动 Visual Basic 后,在工具箱中没有通用对话框控件。为了把通用对话框添加到工具箱中,可以在 “ 部件 ” 对话框的 “ 控件 ” 选项卡的控件列表框中选择 “ Microsoft Common Dialog Control 6.0 ” 。

(25) 在 Visual Basic 中,要将一个窗体加载到内存进行预处理但不显示,应使用的语句是

A) Load

B) Show

C) Hide

D) Unload

解析:此题是考查有关 Load语句、Unload语句、Show方法和Hide方法的,在此简单介绍一下这些语句和方法:

Load语句

格式: Load 窗体名称

Load语句把一个窗体装入内存,执行Load语句后,可以引用窗体中的控件及各种属性,但此时窗体没有显示出来, “ 窗体名称 ” 是窗体的 Name属性;

Unload语句

格式: Unload 窗体名称

该语句与 Load语句的功能相反,它清除内存中指定的窗体;

Show方法

格式:[窗体名称] .Show [模式]

Show方法用来显示一个窗体。如果省略 “ 窗体名称 ” ,则显示当前窗体。参数 “ 模式 ” 用来确定窗体的状态,可以取两种值,即 0和1(不是False和True)。当 “ 模式 ” 值为 1(或常量vbModal) 时,表示窗体是 “ 模态型 ” 窗体,在这种情况下,鼠标只在此窗体内起作用,不能到其他窗口内操作,只有关闭该窗口才能对其他窗口进行操作;当 “ 模式 ” 值为 0(或省略参数 “ 模式 ” 值 ) 时,表示窗体为 “ 非模态型 ” 窗体,不用关闭该窗体就可以对其他窗体进行操作;

Hide方法

格式:[窗体名称] .Hide

Hide 方法使窗体隐藏,即不在屏幕上显示,但仍在内存中,因此,它与 Unload 语句的作用不同。

(26) 运行下列程序段后,显示的结果为

J1=23

J2=32

If J1<J2 Then Print J2 Else Print J1

A) 23

B) 32

C) 55

D) 2332

解析:题中是条件语句 If J1 < J2 Then Print J2 Else Print J1 ,即 J1 < J2 时输出 J2 ,否则输出 J1 ,即输出两者的最大者。显然应该是 32 ,正确答案是选项 B) 。

(27) 下列语句正确的是

A) If A ≠ B Then Print "A 不等于 B"

B) If A<>B Then Printf "A 不等于 B"

C) If A<>B Then Print "A 不等于 B"

D) If A ≠ B Print "A 不等于 B"

解析:题中语句都属于条件语句中 “ If 条件 Then 语句 ” 的类型,从选项中,可以看出条件语句是 A 与 B 的比较语句,其值就是此条件语句的值,也就是说,只有当其值为真时,执行 Then 语句。选项 A) 和 D) 中的 “ ≠ ” 符号并非比较运算符,所以不正确;选项 B) 中的 Printf 并非 Visual Basic 中的输出方法,所以不正确,只有选项 C) 是正确的。

(28) 下面语句正确的是

A) If x<3  y And x>y Then y=x^3

B) If x<3  y And x>y Then y=3x

C) If x<3  y:x>y Then y=x^3

D) If x<3  y And x>y Then y=x * * 3

解析: 此题考查是条件语句的结构。条件语句可以分为三种类型,如下:

If Then 结构

If Then Else 结构

Select Case 结构

而 If Then 结构有两种格式:

If 条件 Then 语句

If 条件 Then

语句块

End If

(29) 计算 z 的值,当 x 大于 y 时, z=x ;否则 z=y 。下列语句错误的是

A) If x>=y Then z=x : z=y

B) If x>=y Then z=x Else z=y

C) z=y : If x>=y Then z=x

D) If x<=y Then z=y Else z=x

解析:选项 A) 中的语句行有两条语句,执行 If 语句后,执行 z=y 语句,所以不管 x 是否大于 y ,最终 z 的值都等于 y 。

(30) 下列程序段执行结果为

x=5

y=-6

If Not x>0 Then x=y-3 Else y=x+3

Print x-y; y-x

A) -3 3

B) 5 -9

C) 3 -3

D) -6 5

解析:程序开始时分别执行 x , y 赋值 5 , -6 。 If 语句 Not x>0 相当于 x<=0 ,现在 x 的值为 5 ,比 0 大,所以条件值为 False ,执行 Else 语句 y = x+3 ,此时 y 为 8 ,执行 Print 方法,即输出 x - y 和 y - x 的值, x - y = -3 , y - x = 3 ,所以最后输出结果应该如选项 A) 所示。

(31) 不能脱离控件 ( 包括客体 ) 而独立存在的过程是

A) 事件过程

B) 通用过程

C) Sub 过程

D) 函数过程

解析:事件过程由 Visual Basic 创建,事件过程是当用户对一个对象发出一个动作时所产生的事件,不能脱离控件而独立存在;通用过程时通用的,不与任何特定事件相联系,它完成特定的任务,只能由别的过程调用; Sub 过程包括事件过程和通用过程,称之为子过程。也就是说,有些 Sub 过程与对象相关联,有些 Sub 过程与对象没有联系;函数过程类似于内部函数,由用户定义的,完成一些特殊函数关系的计算,并且要返回函数值的过程,显然函数过程不必与控件发生联系。

(32) Sub 过程与 Function 过程最根本的区别是

A) Sub 过程可以用 Call 语句直接使用过程名调用,而 Function 过程不可以

B) Function 过程可以有形参, Sub 过程不可以

C) Sub 过程不能返回值,而 Function 过程能返回值

D) 两种过程参数的传递方式不同

解析:在 Visual Basic 中有两类过程,一类是系统提供的内部函数和事件过程;另一类是用户根据自己的需要定义的,供事件过程的多次调用,而第二类过程中,我们现在涉及最多的是子过程。它们的共同点都是完成某种特定功能的一组程序代码;不同的是函数是带有返回值的特殊过程,所以函数过程定义时有返回值的类型说明。

(33) 单击命令按钮时,下列程序的执行结果为

Private Sub Command1_Click()

Dim x As Integer, y As Integer

x=12:y=32

Call Proc(x,y)

Print x; y

End Sub

Public Sub Proc(n As Integer, ByVal m As Integer)

n=n Mod 10

m=m Mod 10

End Sub

A) 1232

B) 232

C) 23

D) 123

解析:此题是函数过程的调用。

在调用过程时,一般主调与被调过程之间有数据传递,即将主调过程的实参传递给被调用的过程,完成实参与形参的结合,然后执行被调过程,在 Visual Basic中,实参与形参的结合有两种方式:即传址与传值。这两种方法的特点如下:

传址的结合过程是,当调用一个过程时,它将实参的地址传给形参,因此在被调用的过程中,对形参的任何操作都变成了对相应实参的操作,因此实参的值会随形参的改变而改变。

传值的结合过程时:当调用一个过程时,系统将实参的值赋值给形参并断开了联系,被调用过程中的操作时在形参自己的存储单元中进行的,当过程调用结束时,这些形参所占用的存储单元也同时被释放,因此在过程中对形参的任何操作不会影响实参。而题中被调过程 Proc 中有两个形参,其中第一个形参 n 为传址方式,第二个形参 m 为传值方式。主调过程分别把实参 x 、 y 传递给 Proc ,所以当过程调用结束后,实参 x 的值应随着被调过程变化而变化,而实参 y 值在主调函数中始终不变,所以输出 y 的值仍为 32 ;在被调过程中 “ n = n Mod 10 ” 被调用时,相当于 “ x = x Mod 10 ” ,所有 x 的值最终为 2 ,最后输出结果如选项 B) 所示。

(34) 单击命令按钮时,下列程序的执行结果是

Private Sub Command1_Click()

Dim a As Integer, b As Integer, c As Integer

a=3

b=4

c=5

Print SecProc(c, b, A)

End Sub

Function FirProc(x As Integer, y As Integer, z As Integer)

FirProc=2  x+y+3  z

End Function

Function SecProc(x As Integer, y As Integer, z As Integer)

SecProc=FirProc(z, x, y) +x

End Function

A) 20

B) 22

C) 28

D) 30

解析:此题程序代码中用了两层调用,我们对这样的问题要多加小心,不能掉以轻心,千万不要把实参和相对应的形参弄混淆。主调过程 Command1_Click 输出的是 SecProc(c, b, a) 的返回值,调用过程 SecProc 时,主调过程分别把实参 c 、 b 、 a 地址传给形参 x 、 y 、 z ,此时在过程 SecProc 中, SecProc = FirProc(a , c , b) + c 。由此看出,程序段执行此语句时,将调用过程 FirProc 。把实参 a 、 c 、 b 的地址分别传给形参 x 、 y 、 z ,此时在过程 FirProc 中, FirProc = 2 * x + y + 3 * z ,所以 FirProc(a , c , b) = 6+4+15 = 25 , SecProc(a , c , b) = 25+3 = 28 ,所以选项 C) 是正确的。

(35) 下列程序的执行结果为

Private Sub Command1_Click()

Dim FirStr As String

FirSt="abcdef"

Print Pat(FirStr)

End Sub

Private Function Pat(xStr As String) As String

Dim tempStr As String, strLen As Integer

tempStr=""

strLen=Len(xStr)

i=1

Do While i<=Len(xStr) -3

tempStr=tempStr+Mid(xStr, i, 1) +Mid(xStr, strLen -i+1, 1)

i=i+1

Loop

Pat=tempStr

End Function

A) abcdef

B) afbecd

C) fedcba

D) defabc

解析:主调函数最终输出值是 Pat(FirStr) 过程的返回值,这就得调用函数过程Pat。

被调过程 Pat的参数xStr从主调函数中收到实参FirStr传来的值 “ abcdef ” ,过程 Pat开始声明了两个变量,一个是String型的tempStr,一个是Integer型的strLen。语句 tempStr = " "。

strLen = Len(xStr) 以上两条语句的功能是:为变量tempStr赋空值,变量strLen的值就是xstr的长度,此题为6。程序代码执行Do While…Loop的循环语句:

第一次循环, I=1,I<=3成立,执行语句tempStr + Mid(xStr, i, 1)+ Mid(xStr, strLen - i + 1, 1) ;

mid函数一般调用格式:Mid(字符串,p,n) 其功能就是从第p个字符开始,向后截取n个字符,第一次循环结束后,tempStr= “ af ” ;

第二次循环, I=2,I<=3成立,继续执行循环体,tempStr= “ afbe ” ;

第三次循环, I=3,I<=3成立,继续执行循环体,tempStr= “ afbecd ” ;

第四次循环, I = 4 , I<=3 不成立,则跳出循环体,执行语句 Pat = tempStr 。所以最终 Pat(FirStr) = “ afbecd ” ,即最后程序执行结果如选项 B) 所示。

•  填空题 (共 15 空,每空 2 分,共 30 分)

(1) 算法的基本特征是可行性、确定性、 【1】 和拥有足够的情报。

解析: 算法是指解题方案的准确而完整的描述。它有 4 个基本特征,分别是可行性、确定性、有穷性和拥有足够的情报。

(2) 在长度为 n 的有序线性表中进行二分查找。最坏的情况下,需要的比较次数为 【 2 】 。

解析: 对于长度为 n 的有序线性表,在最坏情况下,二分查找只需要比较 log2n 次,而顺序查找需要比较 n 次。

(3) 在面向对象的程序设计中,类描述的是具有相似性质的一组 【 3 】 。

解析: 将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。

(4) 通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【 4 】 。

解析: 软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。

(5) 数据库管理系统常见的数据模型有层次模型、网状模型和 【 5 】 3 种。

解析: 数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,是用户与数据库之间的一个标准接口。其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。

(6) Visual Basic 对象可以分为两类,分别为 【 6 】 和 【 7 】 。

解析: 对象分为两类:预定义对象和用户定义对象,预定义对象是由系统设计好的,可以直接使用或对其进行操作;而用户定义对象中的对象可由程序员自己定义,建立自己的对象。

(7) 完成下面的程序,使显示结果如下图所示。

Private Sub Form_Click()

FontSize=18

Sample $ =" 【 8 】 "

x=(ScaleWidth-TextWidth(Sample $ ) ) /2

y=(ScaleHeight-TextHeight(Sample $ ) ) /2

CurrentX=x

CurrentY=y

【 9 】 Sample $

End Sub

解析: 该题中主要是考查了赋值语句与显示语句。赋值语句是根据图示给出的信息,填写上字符串,然后,用 Print 命令,使字符串显示在窗体上。赋值语句为 Sample $ = " Welcome to Beijing !" ;输出语句为: Print Sample $。

(8) 下列程序的功能是:当 x<50 时, y=0.8 × x ;当 50 ≤ x ≤ 100 时, y=0.7 × x ;当 x>100 时,没有意义。请填空。

Private Sub Command1_Click()

Dim x As Single

x=InputBox(" 请输入 x 的值! ")

【 10 】

Case Is < 50

y=0.8 * x

Case 50 To 100

y=0.7 * x

【 11 】

Print " 输入的数据出界! "

End Select

Print x, y

End Sub

解析:阅读程序后,看到程序中有了 Case 和 End Select 子句,没有多分支选择结构的起始语句,很明显,第一个空应该填写多分支结构的起始语句 Select Case x 。在 Select Case 结构中,只有两个 Case 子句,分别表示 x 取值的两种情况,但题目中将 x 的值分为 3 种情况,可见第二个空应该填写 Case Else 语句。

(9) 改变驱动器列表框的 Drive 属性值将引发 【 12 】 事件。

解析: 本题考查的是驱动器列表框的知识。驱动器列表框的最常用的事件是 “ Change 事件 ” ,每次重新设置 Drive 属性都会引起 “ Change ” 事件。

(10) 下面程序是由鼠标事件在窗体上画图,如果按下鼠标将可以画图,双击窗体可以清除所画图形。补充完整下面的程序。

首先在窗体层定义如下变量:

Dim PaintStart As Boolean

编写如下事件过程:

Private Sub Form_Load()

DrawWidth=2

ForeColor=vbGreen

End Sub

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _

X As Single, Y As Single)

【 13 】

End Sub

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, _

X As Single, Y As Single)

If PaintStart Then

PSet (X, Y)

End If

End Sub

Private Sub Form_MouseUp(Button As Integer, Shift As Integer, _

X As Single, Y As Single)

【 14 】

End Sub

Private Sub Form_DblClick()

【 15 】

End Sub

解析: 上述过程定义了一个布尔型变量 PaintStart ,当按下鼠标左键 ( 触发 MouseDown 事件 ) 时,由题意按下鼠标键表示能画图,所以该变量的值为 True ,而松开鼠标左键 ( 触发 MouseUp 事件 ) 时,该变量为 False ;如果变量 PaintStart 为 True ,则移动鼠标 ( 触发 MouseMove 事件 ) ,将在窗体上绘出一个点;除鼠标事件外,上述程序还含有一个 Load 事件过程和一个 DblClick 事件过程,其中 Load 事件过程用来设置画点的大小和颜色, DblClick 事件过程用来清除所画的图形,函数 Pset 是画点语句,用它可以在 (x,y) 处画一个点。

 
   
版权所有:西北师范大学数学与信息科学学院