1、VB笔试模拟试卷 164及答案与解析 1 算法的空间复杂度是指 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)执行算法需要的内存空间 2 在结构化程序设计中,模块划分的原则是 ( A)各模块应包括尽量多的功能 ( B)各模块的规模应尽量大 ( C)各模块之间的联系应尽量紧密 ( D)模块内具有高内聚度,模块间具有低耦合度 3 下列叙述中,不属于测试的特征的是 ( A)测试的挑剔性 ( B)完全测试的不可能性 ( C)测试的可靠性 ( D)测试的经济性 4 下面关于对象概念的描述中错误的是 ( A)对象就是 C语言中的结构体变量 ( B)对象代表着
2、正在创建的系统中的一个实体 ( C)对象是一个状态和操作 (或方法 ) 的封装体 ( D)对象之间的信息传递是通过消息进行的 5 下列关于队列的叙述中正确的是 ( A)在队列中只能插入数据 ( B)在队列中只能删除数据 ( C)队列是先进先出的线性表 ( D)队列是先进后出的线性表 6 已知二叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 ( A) acbed ( B) decab ( C) deabc ( D) cedba 7 某二叉树中有 n个度为 2的节点,则该二叉树中的叶子节点数为 ( A) n+1 ( B) n-1 ( C) 2n ( D) n/2 8
3、 设有如下 3个关系表: 下列操作中正确的是 ( A) T=RS ( B) T=RUS ( C) T=RS ( D) T=R/S 9 下列叙述中正确的是 ( A)用 E-R图能够表示实体集间一对一的联系、一对多的联系和多对多的联系 ( B)用 E-R图只能表示实体集之间一对一的联系 ( C)用 E-R图只能表示实体集之间一对多的联系 ( D)用 E-R图表示的概念数据模型只能转换为关系数据模型 10 下列有关数据库的描述正确的是 ( A)数据处理是将信息转化为数据的过程 ( B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变 ( C)关系中的每一列称为元组,一个元组就是一个字段
4、 ( D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字 11 在窗体上画一个命令按钮 Command1和两个文本框,名称分别为 Text1和Text2。编写如下两个事件过程: Dim Str1 As String, str2 As String Private Sub form_load() Text1.Text=“ Text2.Text=“ Text1.Enabled=False Text2.Enabled=False End Sub Private Sub Form_KeyPress(KeyAscii As Integer) str1=
5、str1 arr(n) End Sub 程序的运行结果为 ( A) 3 11 ( B) 11 3 ( C) 13 3 ( D) 3 13 28 在窗体上画一个名称为 Command1的命令按钮和一个名称为 Text1的文本框,然后输写如下程序: Private Sub Command1_Click() Dim x, y, z As Integer x=5 y=7 z=0 Text1.Text=“ Call Fun1(x, y, z) Text1.Text=Str(z) End Sub Sub Fun1(ByVal a As Integer, ByVal b As Integer, c As I
6、nteger) c=a+b End Sub 程序运行后,如果单击命令按钮,则在文本框中显示的内容是 ( A) 0 ( B) 12 ( C) Str(z) ( D)没有显示 29 单击命令按钮时,下列程序的运行结果为 Private Sub Command1_Click() Print Fun(23, 18) End Sub Public Function Fun(m As Integer, n As Integer) As Integer DO While m n DO While m n:m=m-n:Loop DO While m n:n=n-m:Loop Loop Fun=m End Fu
7、nction ( A) 0 ( B) 1 ( C) 3 ( D) 5 30 下列程序运行后的输出结果是 Function Fun(n) X=n*n Fun=x-11 End Function Private Sub Command1_Click() For k=1 To 2 y=Fun(k):Print y Next End Sub ( A) -10 -7 ( B) 10 8 ( C) 1 3 ( D) 0 4 31 以下用户自定义函数 Function Func(a As Integer, b As Integer) As Integer Static m As Integer, i As
8、Integer m=0:i=2 i=i+m+i m=i+a+b Func=m End Function 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim k As Integer, m As Integer, p As Integer k=4:m=1 P=Func(k,m) Print p End Sub 程序运行后,单击命令按钮,输出结果为 ( A) 8 ( B) 9 ( C) 10 ( D) 11 32 下列程序段的执行结果为 m=2 n=3 Do m=m+n n=n+1 Loop While m 10 Print m;n (
9、 A) 1 5 ( B) 14 6 ( C) a b ( D) 10 25 33 在窗体上画一个名称为 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 Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) SW=False End Sub Pdva
10、te Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) SW=True End Sub Private Sub Command1_Click() Dim intNum As Integer intNum=InputBox(“) If SW Then Print func(intNum) End If End Sub 程序运行后,单击命令按钮,将显示一个输入对话框,如果在对话框中输入 25,则程序的执行结果为 ( A)输出 0 ( B)输出 25 ( C)输出 45 ( D)无任何输出
11、34 有如下程序: 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 EndIf Next Print Sum End Sub 程序运行后,单击窗体,输出结果为 ( A) 12 ( B) 30 ( C) 24 ( D) 18 35 确定复选框是否选中,可访问的属性是 ( A) Value ( B) Checked ( C) Selected ( D) Caption 36 测试的目的是暴露错误,评价程序的可
12、靠性,而 _的目的是发现错误的位置并改正错误。 37 某二叉树中度为 2的节点有 18个,则该二叉树中有 _个叶子节点。 38 当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算,这种情况称为 _ 39 在关系模型中,把数据看成一个二维表,每一个二维表称为一个 _。 40 在计算机软件系统的体系结构中,数据库管理系统位于用户和 _之间。 41 下面程序运行后,输出的结果是 如下矩阵: 4 7 105 8 116 9 12请在程序 处填入正确的内容。42 以下程序的功能是统计字符串 A中出现字符串 B的次数,然后输出,请在填空9处填入适当的程序完成功能。 43 下面程序运
13、行后,输出的结果为 _。44 下面程序的运行结果是在窗体中显示的:运行后窗体上显示的是 _。 45 在窗体中添加一个命令按钮,编写如下程序代码:在InputBox对话框中输入 Hello,运行结果为: _。 46 下图窗体上有三个文本框 Text1、 Text2和 Text3以及一个按钮 Command1。为完成已知圆直径求圆周长和圆面积的功能,程序如下:程序填空处应是 _。 47 下列程序计算 Sn的值。 Sn=a+aa+aaa+aaaa ,其中最后一项为 n个。 例如: a=5, n=4时,则 Sn=5+55+555+5555。请在空白处填入适当的内容,将程序补充完整。 Private S
14、ub Command1_Click() Dim a As Integer, n As Integer, Cout As Integer Dim Sn As Long, Tn As Long Cout=1 Sn=0 Tn=0 a=InputBox(“请输入 a的值: “) Do Tn=Tn*10+a Sn=Sn+Tn Cout=Cout+1 Debug Print a, n, Sn End Sub 48 有一个事件过程,其功能是:从已存在于磁盘上的顺序文件 NM1.txt中读取数据,计算读出数据的平方值,将该数据及其平方值存入新的顺序文件 NM2.txt中。请填空。 Private Sub Fo
15、rm_Click() Dim x As Single, y As Single Open “NM1.txt“ For Input As#1 Open “NM2.txt“ For Input As#2 Do While Not EOF(1) Print x y=x2 Print y Loop Close #1, #2 End Sub VB笔试模拟试卷 164答案与解析 1 【正确答案】 D 【试题解析】 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。算法的时间复杂度是指执行算法所需要的计算工作量;算 法的空间复杂度是指执行这个算法所需要的内存空间。 2 【正确答案】 D 【试题解析】
16、在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,也是模块划分的原则。 3 【正确答案】 C 【试题解析】 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。它有 3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济性。没有测试的可靠性这一说法。 4 【正确答案】 A 【试题解析】 对象是由数据和容许 的操作组成的封装体,与客观实体有直接的对应关系。对象之间通过传递消息互相联系,从模拟现实世界中不同事物彼此之间的联系, B)、 C)、 D)是正确的;对象的思想广泛应用于 C+、 Java等语言中,因
17、此 A)错误。 5 【正确答案】 C 【试题解析】 队列是一种操作受限的线性表。它只允许在线性表的一端进行插入操作,另一端进行删除操作。其中,允许插入的一端称为队尾 (Year),允许删除的一端称为队首 (front)。队列具有先进先出的特点,它是按 “先进先出 ”的原则组织数据的。 6 【正确答案】 D 【试题 解析】 依据后序遍历序列可确定根节点为 c;再依据中序遍历序列可知其左子树由 deba构成,右子树为空;又由左子树的后序遍历序列可知其根节点为e,由中序遍历序列可知其左子树为 d,右子树由 ba构成,如图所示,求得该二叉树的前序遍历序列为选项 D)。 7 【正确答案】 A 【试题解析
18、】 对于任何一棵二叉树 T,如果其终端节点 (叶子 ) 数为 n1,度为 2的节点数为 n2,则 n1=n2+1,所以该二叉树的叶子节点数等于 n+1。 8 【正确答案】 C 【试题解析】 对于两个关系的合并操作可以用笛卡儿积表示。 设有 n元关系 R和 m元关系 S,它们分别有 P和 Q个元组,则 R与 S的笛卡儿积记为 RS,它是一个 m+n元关系,元组个数是 pg,由题意可得,关系 T是由关系 R与关系 S进行笛卡儿积运算得到的。 9 【正确答案】 A 【试题解析】 两个实体之间的联系实际上是实体集间的函数关系,这种函数关系可以有下面 3种,即一对一的联系、一对多 (或多对一 )的联系和
19、多对多的联系。概念模型便于向各种模型转换。由于概念模型不依赖于具体的数据库管理系统,因此,容易向关系模型、网状模型和层次模型等各种模型转换。 10 【正确答案】 D 【试题解析】 数据处理是指将数据转换成信息的过程,故选项 A)叙述错误;数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,故选项 B)叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故选项 C)叙述错误。 11 【正确答案】 A 【试题解析】 在 Command1的 Click事件中将字符串变量 Str赋给 Text1, Str变量是在 KeyPress事件中被赋值的
20、,语句 Str=Str & Chr(KeyAscii) 将输入的字符存储并连接 起来,此处是通过参数 KeyAscii来得到输入字符的 (因此要区分字母的大小写 ) ,又因为在 Form的 Load事件中将 Text1和 Text2的 Enabled属性设置成 False,所以当前拥有输入焦点的对象是窗体,为了使窗体能接收键盘事件,已经将窗体的 KeyPreview属性设置为 True,所以在输入小写字母 abc后,单击Command1,触发其 Click事件,使得 Text1文体控件的值等于 Str字符串的值,即 abc。 12 【正确答案】 C 【试题解析】 KeyCode是按键的实际的字
21、符 (不区分大 小写 ) , KeyAscii是以字符为准,是所按键的 ASCII码。 13 【正确答案】 C 【试题解析】 文本框 Change事件在用户改变正文或通过代码改变 Text属性的设置时发生。 14 【正确答案】 B 【试题解析】 Risht$(字符串, n) 是返回 “字符串 ”的最后 n个字符。 15 【正确答案】 B 【试题解析】 “Alt+Q”关闭当前的工程并退出 VisualBasic。 16 【正确答案】 A 【试题解析】 LoadPicture是 Visual Basic的函数 ,不是图片对象的方法,因此选项 B和 D是错误的。图片的 Picture属性必须用 Lo
22、adPicture函数才能加载图片。本题中图片对象的名称为 Pic1,而不是默认的 Picture1,因此正确答案是选项 A)。 17 【正确答案】 B 【试题解析】 在 Visual Basic中,对话框分为 3种类型:即预定义对话框、自定义对话框和通用对话框,所以选项 A)不正确;预定义对话框也称预制对话框,是由系统提供的, Visual Basic系统提供了两种预定义对话框:即输入框和信息框 (或消息框 ),前者用 InputBox函数建立,后者用 MsgBox函数建立,所以选项 C)和选项 D)不正确;自定义对话框也称定制对话框,这种对话框由用户根据自己的需要进行定义,输入框和信息框尽
23、管很容易建立,但在应用上有一定的限制,所以选项 B)是正确的;通用对话框是一种控件,用这种控件可以设计较为复杂的对话框。 18 【正确答案】 B 【试题解析】 MDIChild属性返回或设置一个值,它表示一个窗体是否被作为MDI子窗体在一个 MDI窗体内部显示,在运行时是只读的。 19 【正确答案】 B 【试题解析】 列表框的 list属性用来 列出列表项的内容,也可以改变数组中的已有值。列表框中列表项的排列是从 O开始,最后 项的序号为 ListCount-1,该题语句的作用足把字符串 “AAAA“添加到列表框的最后,但不改变 Item3的值,所以本题的正确答案是选项 B)。 20 【正确答
24、案】 A 【试题解析】 本题考查多重 For循环结构。做题时要注意每次循环时变量的初始值。 21 【正确答案】 D 【试题解析】 数组控件在不区别控件下标时,单击任一按钮都会改变窗体标题。 22 【正确答案】 D 【试题解析】 Visible属性用来设置控件是否可见,设置其值为 False,则该控件隐藏。 23 【正确答案】 D 【试题解析】 Timer事件在一个 Timer控件预定的时间间隔过去之后发生。该间隔的频率储存于该控件的 Interval属性中,它以 1/1000秒为单位指定时间的长度。 24 【正确答案】 D 【试题解析】 Picture属性用于窗体、图片框和图像框中,它可以通过
25、属性窗口设置把图形放到这些对象中,因此选项 A)是不正确的; CurrentX和 CurrentY用来设置下一个输出的水平坐标和垂直坐标,因此选项 B)和 C)都不正确; Stretch属性用于自动调整图像框中图形内容的大小,既可通过属性窗口设置,也可以通过程序代码设置,该属性的取值为 True或 False,当其值为 False时,将自动放大或缩小图像框中的图形以与图像框的大小相适应,因此选项 D)是正确的。 25 【正确答案】 B 【试题解析】 打开顺序文件时,一定要指定一个文件号才能打开,否则出错。 26 【正确答案】 D 【试题解析】 LoadPicture函数用于在程序运行期间对窗体
26、、图片框或图像框的Picture属性赋值、加载图形 文件,它的格式为: 对象 .Picture=LoadPicture(“文件名 “) 。当默认文件名为空时,清空所指定对象中的图形; PasswordChar是用于决定文本的显示方式的,不正确; Drawstyle决定外观。 27 【正确答案】 B 【试题解析】 在给数组赋值时,如果每次都是赋给数组中同一个成员,那么后面的赋值将覆盖以前的值。 28 【正确答案】 B 【试题解析】 过程 Fun1的参数 c是按地址传递的 (ByRef,默认的传递方式 ) ,而 Fun1用语句 CallFun1(x, y, 2) 调用后,形参 c的值为 12,则实
27、参 z的值亦为12。 29 【正确答案】 B 【试题解析】 此题程序代码中,被调过程采用了 Do WhileLoop 的嵌套语句结构,主调过程只调用了一次被调过程, PrintFun(23, 18) 语句表明,程序最后输出的只是被调过程的返回值。主调过程在调用被调过程 Fun时,把数值 23, 18分别传给形参 m和 n,从被调过程中的循环语句来看,因为此时 m的值大于 n的值,所以执行语句 m=m-n, m值变为 5,然后循环调用,直到 m=n,而由语句 Fun=m可看出,此过程的返回值就 是 m的值,即为 1。 30 【正确答案】 A 【试题解析】 本题的难点是子函数过程的调用。子函数过程
28、的名称变量 Fun将计算结果返回。 31 【正确答案】 A 【试题解析】 变量;的计算过程为 i=2+0+1=3,变量 m的计算过程为m=3+4+1=8, m的值通过子函数名 Fun c返回。 32 【正确答案】 B 【试题解析】 此题内容比较简单,开始 m为 2, n为 3,执行 Do语句,具体运行为:执行 m=m+n; n=n+1语句后, m为 5, n为 4。这样运行到 m=14,程序终止循环,此时 n=6。 33 【正确答案】 C 【试题解析】 本题考查的是鼠标事件,当按下鼠标左键 (发生 MouseDown时 ),SW的值为 False,当松开鼠标左键 (触发 MouseUp时 ),
29、 SW的值为 True。 34 【正确答案】 A 【试题解析】 本题考查的是 For循环语句和 If条件语句的应用。从本题可以看出,本题程序段的作用是将从 2 10中不是 2的倍数但是 3的倍数的数相加然后输出。在 2 10中满足条件的数字是 3和 9,所以和是 12。 35 【正确答案】 A 【试题解析】 复选框 CheckBox控件的 Value属性用来返回或设置控件状态 (0未选中; 1选中; 2灰色 ) 。 36 【正确答案】 调试 【试题解析】 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序可靠性的鉴定。调试也称排错,它是一个与测试既有联系又有区别的概念。具
30、体来说,测试的目的是暴露错误,评价程序的可靠性,而调试的目的是发现错误的位置,并改正错误。 37 【正确答案】 19 【试题解析】 在任意一棵二叉树中,度为 0的节点 (即叶子节点 )总是比度为 2的节点多一个。 38 【正确答案】 上溢 【试题解析】 入队运算是指在循环队列的队尾加入一个新元素。这个运算有两个基本操作:首先将队尾指针进一即 rear=rear+1),并当 rear=m+1时,置 rear=1,然后将新元素插入队尾指针指向的位置。当循环队列非空 (s=1)且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算,这种情况称为 “上溢 ”。 39 【正确答案】 关系 【试题解
31、析】 在关系模型中,把数据看成一个二维表,每一个二维表称为一个关系。表中的每一列称为一个属性,相当于记录中的一个数据项,对属性的命名称为属性名;表中的一行 称为一个元组,相当于记录值。 40 【正确答案】 操作系统或 OS 【试题解析】 数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务,位于用户和操作系统之间。 41 【正确答案】 i+k*3 【试题解析】 本题的难点是如何在数组中对数组下标的操作。找出下标值与数组元素之间的关系。空打印 Print操作是换行。 42 【正确答案】 InStr(a$,bS)或 c 【试题解析】 字符
32、函数 InStr()的功能是在第一个字符串参数 中寻找第二个字符串参数出现的位置,如果在第一个字符串中不能找到第二个字符串,返回值 0。当第一个字符串找到第二个字符串时,则只返回第一次找到的位置。因此,程序中在 A中找到一个字符串 B后,必须对字符串 A进行截取操作,去掉找到的字符串B,不然程序会陷入死循环。 43 【正确答案】 1 【试题解析】 字符函数 InStr()的功能是在第一个字符串参数中寻找第二个字符串参数出现的位置,当在第一个字符串中找到第二个字符串时,返回第一次找到的位置,如果在第一个字符串中不能找到第二个字符串,则返回值 0。 44 【正确答案】 2 4 6 0.5 【试题解
33、析】 “k =3 then a=2*k”的语句其作用已经覆盖了 “k =1 then a =2+k”和 “k =2 then a=2-k”的语句,所以当 k=1、 2、 3时, a分别为 “a=2*k=2、 4、6”。当 “k=4”时, “a=2/4=0.5”。该题的难点就是关系运算符的应用。 45 【正确答案】 The Length of Hello is 5 【试题解析】 通过 InputBox对话框输入 “Hello”后,通过使用 Len()函数计算包含字符串内字 符的数目。 46 【正确答案】 14159*d 【试题解析】 把代数表达式写成 VB格式的形式,要用算术运算符和内部函数来实
34、现。 47 【正确答案】 n=InputBox(“请输入 n的值 !“) , Loop While Cout =n或 Loop Until Cout=n+1 【试题解析】 a和 n的值必须已知,表达式才能计算。但程序中没有给变量 n赋值的语句,可见第一个空白行应该填写给 n赋值的语句。 Do循环应该有与之相对应的终端语句,可见第二个空白行应填写 Do循环的终端语句,即 While语句, 同时要构造出控制循环的条件。程序中有四个赋值语句,其中有一个计数语句Cout=Cout+1,可见控制循环次数的变量应是 Cout。 48 【正确答案】 Input #1, x , Print #2, x, y 【试题解析】 本题考查顺序文件的读写操作,事件过程中,顺序文件的 “打开 ”和“关闭 ”语句都正确,循环语句使用也正确。事件过程的功能是:从 NM1.txt中读取数据,向 NM2.txt中写入数据。程序中没有对数据文件进行读写的语句,故空白处要填写的是对顺序文件读数据和写数据的语句。