1、VB笔试模拟试卷 225及答案与解析 1 下列数据结构中,能用二分法进行查找的是 ( )。 ( A)无序线性表 ( B)线性链表 ( C)二叉链表 ( D)顺序存储的有序表 2 下列叙述中,不属于设计准则的是 ( )。 ( A)提高模块独立性 ( B)使模块的作用域在该模块的控制域中 ( C)设计成多入口、多出口模块 ( D)设计功能可预测的模块 3 下列队列的描述中,正确的是 ( )。 ( A)队列属于非线性表 ( B)队列在队尾删除数据 ( C)队列按 “先进后出 ”进行数据操作 ( D)队列按 “先进先出 ”进行数据操作 4 对下列二叉树进行前序遍历的结果为 ( )。 ( A) ABCD
2、EFGH ( B) ABDGEHCF ( C) GDBEHACF ( D) GDHEBFCA 5 对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ( )。 ( A)冒泡排序为 n(n-1) 2 ( B)简单插入排序为 n ( C)希尔排序为 n ( D)快速排序为 n 2 6 为了使模块尽可能独立,要求 ( )。 ( A)内聚程度要尽量高,耦合程度要尽量强 ( B)内聚程度 要尽量高,耦合程度要尽量弱 ( C)内聚程度要尽量低,耦合程度要尽量弱 ( D)内聚程度要尽量低,耦合程度要尽量强 7 下列选项中不属于软件生命周期开发阶段任务的是 ( )。 ( A)软件测试
3、 ( B)概要设计 ( C)软件维护 ( D)详细设计 8 数据独立性是数据库技术的重要特点之一。所谓数据独立性是指 ( )。 ( A)数据与程序独立存放 ( B)不同的数据被存放在不同的文件中 ( C)不同的数据只能被对应的应用程序所使用 ( D)以上三种说法都不对 9 在学校中, “班级 ”与 “学生 ”两个实体集之间的联系属于 ( )关系。 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 10 软件调试的目的是 ( )。 ( A)发现错误 ( B)改善软件的性能 ( C)改正错误 ( D)验证软件的正确性 11 下列各种窗体事件中,不能由用户触发的事件是 ( )。 ( A
4、) Load事件和 Unload事件 ( B) Click事件和 Unload事件 ( C) Click事件和 DblClick事件 ( D) Load事件和 Initialize事件 12 关于变量作用域,下列 叙述中正确的是 ( )。 ( A)在窗体的 Form_Load事件过程中定义的变量是全局变量 ( B)局部变量的作用域可以超出所定义的过程 ( C)在某个 Sub过程中定义的局部变量可以与其他事件过程中定义的局部变量同名,但其作用域只限于该过程 ( D)在调用过程中,所有局部变量被系统初始化为 0或空字符串 13 下列可作为 Visual Basic变量名的是 ( )。 ( A) A
5、#A ( B) constA ( C) ?xy ( D) 4A 14 设 a=“Visual Basic”,下面语句中可使 b=“Basic”的是 ( )。 ( A) b=Left(a,8) ( B) b=Mid(a,8,5) ( C) b=Right(a,8) ( D) b=Left(a,8,5) 15 InputBox函数返回值的类型为 ( )。 ( A)数值 ( B)字符串 ( C)变体 ( D)数值或字符串 (视输入的数据而定 ) 16 在文本框中,要设置显示的文本颜色,应该设置 ( )属性。 ( A) ForeColor ( B) BackColor ( C) FillColor (
6、 D) BackStyle 17 假定 在图片框 Picture1中装入了一个图形,为了清除该图形 (注意,清除图形,而不是删除图片框 ),应采用的正确方法是 ( )。 ( A)选择图片框,然后按 Del键 ( B)执行语句 Picture1 Picture=LoadPicture(“”) ( C)执行语句 Picture1 Picture=“” ( D)选择图片框,在属性窗口中选择 Picture属性条,然后按回车键 18 为组合框 Combol增加一个列表项 “电脑 ”,下列语句正确的是 ( )。 ( A) Comb01 Text=“电脑 ” ( B) Combol ListIndex=“
7、电脑 ” ( C) Combol。 Addltem“电脑 ” ( D) Combol ListCount=“电脑 ” 19 以下叙述错误的是 ( )。 ( A)滚动条的重要事件是 Change和 Scroll ( B)框架的主要作用是将控件进行分组,以完成各自相对独立的功能 ( C)组合框是组合了文本框和列表框的特性而形成的一种控件 ( D)计时器控件可以通过对 Visible属性的设置,在程序运行期间显示在窗体上 20 设 a=5, b=6, c=7, d=8,执行下列语句后, x的值为 ( )。 x=Ilf(ab)And(cd), 10,20) ( A) 10 ( B) 20 ( C) T
8、rue ( D) False 21 下面程序运行时,单击窗体后,窗体上显示的结果是 ( )。 Private Sub Form_Click() Dim i As Integer Dim sum As Long Dim t As Long t=1: sum=0 For i=1 To 3 t=t*i sum=sum+t Next i Print sum End Sub ( A) 3 ( B) 9 ( C) 5 ( D) 6 22 在运行阶段,要在文本框 Text1获得焦点时选中文本框中所有内容,如图所示,对应的事件过程是 ( )。 ( A) Private Sub Text1 LostFocus(
9、) Text1 SelStart=() Text1 SelLength=Len(Text1 Text) End Sub ( B) Private Sub TeXt1_GotFocus() Text1 SelStart=0 Text1,SelLength=Len(Text1 Text) End Sub ( C) Private Sub Text1_Change() Text1 SelStart=() Text1 SelLength=Len(Text1 Text) End Sub ( D) Private Sub Textl SetFocus() Text SelStart=0 Text1 Sel
10、Length=Len(Text1 Text) End Sub 23 下列程序段正确的是 ( )。 ( A) Dim a AsInteger a=array(1, 2, 3, 4) ( B) Dima() b() a=array(1, 2, 3, 4): b=a ( C) Dim a As Variant a=array(1, “asd”, true) ( D) Dim a() As Variant a=array(1, 2, 3, 4) 24 在窗体上画一个命令按钮 (其 Name属性为 Commandl),然后编写如下代码: Option Base 1 Private Sub Command
11、l_Click() Dim a a=Array(1, 2, 3, 4) j=1 For i=4 To 1 Step-1 s=s+a(i)*j j=j*10 Next i Print s End Sub 运行上面的程序,单击命令按钮,其输出结果是 ( )。 ( A) 4321 ( B) 12 ( C) 34 ( D) 1234 25 在窗体上用复制、粘贴的方法建立了一个命令按钮数组,数组名为 ComTest1。设窗体 Form1标题为 “MyForm1”,双击控件数组中的第 3个按钮,打开代码编辑器,编写如下代码: Privae Sub ComTest1_Click(Index As Integ
12、er) Forml Caption=“MyForm2” End Sub 运行时,单击按钮数组中的第 1个按钮,则窗体标题显示为 ( )。 ( A) Form1 ( B) ComTest1 ( C) MyForm1 ( D) MyForm2 26 下列有关过程的叙述中错误的是 ( )。 ( A)如果过程被定义为 Static类型,则该过程中的局部变量都是 Static类型 ( B) Sub过程中不能嵌套定义 Sub过程 ( C) Sub过程中可以嵌套调用 Sub过程 ( D)事件过程可以像通用过程一样由用户定义过程名 27 运行下面的程序,单击命令按钮,输出结 果为 ( )。 Function
13、F(a As Integer) b=0 Static c b=b+1 c=c+1 F=a+b+c End Function Private Sub Commandl_Click() Dim a As Integer a=2 For i=1 To 3 Print F(a) Next i End Sub ( A) 3 3 3 ( B) 3 4 5 ( C) 3 5 7 ( D) 3 6 9 28 在属性窗口中把窗体的 KeyPreview属性设置为 True,然后编写如下两个事件过程: Private Sub Form_KeyDown(KeyCode As Integer, Shift As In
14、teger) 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 29 关于 MDI窗体下列说法正确的是 ( )。 ( A)一个应用程序可以有多个 MDI窗体 ( B)子窗体可以移到 MDI窗体以外 ( C)不可以在 MDI窗体上放置按钮控件 ( D) MDI窗体的子
15、窗体不可拥有菜单 30 窗体上有文本框 Text1和一个菜单,菜单标题、名称见表,结构如图。要求程序执行时单击 “保存 ”菜单项,则把其标题显示在 Text1文本框中,下面可实现此功能的事件过程是 ( )。 ( A) Private Sub save_Click() save_Click() Text1 Text=file save Caption EndSub ( B) Private Sub save_Click() Text1 Text=save Caption End Sub ( C) Private Sub file_Click() Text1 Text=file save Capt
16、ion End Sub ( D) Private Sub file_Click() Text1 Text=save Caption End Sub 31 在利用菜单编辑器设计菜单时,为了把组合键 设置为 “打开 (O)”菜单项的访问键,可以将该菜单项的标题设置为 ( )。 ( A)打开 (O&) ( B)打开 (O#) ( C) 打开 (&O) ( D)打开 (#O) 32 若在窗体模块的声明部分声明了如下自定义类型和数组 Private Type Tem Score As Integer StrName As String End Type Dim Student(5)As Tem 则下面的
17、输出语句中正确的是 ( )。 ( A) Print Student Score(2), Student StrName(2) ( B) PrintStudent Score Student StrName ( C) Print Student(2) Score Student(2) StrName ( D) Print Score(2), StrName(2) 33 窗体上有两个名称分别为 Text1、 Text2的文本框,一个名称为 Commandl的命令按钮。设有如下的类型声明: Type Person name As String*8 major As String*20 End Typ
18、e 当单击命令按钮时,将两个文本框中的 内容写入一个随机文件 Test dat中。设文本框中的数据已正确地赋值给 Person类型的变量 p。则能够正确地把数据写入文件的程序段是 ( )。 ( A) Open“c: Test dat”For Random As#1 Put#1, 1, P Close#1 ( B) Open“c: Test dat”For Random As#1 Get#1, 1, p Close#1 ( C) Open“c: Test dat”For Random As#1 Len=Len(p) Put#1, 1, p Close#1 ( D) Open“c: Test da
19、t”For Random As#1 Len=Len(p) Get#1, 1, p Close#1 34 函数过程 F1的功能是:如果参数 a为奇数,则返回值为 1,否则返回值为 0。以下能正确实现所述功能的代码的是 ( )。 ( A) Function F1(a As Integer) Ifa Mod 2=0 Then Return 0 Else Return 1 End If End Function ( B) Function F1(a As Integer) Ifa Mod 2=0 Then F1=0 Else F1=1 End If End Function ( C) Function
20、 F1(a As Integer) Ifa Mod 2=0 Then F1=1 Else F1=0 End If End Function ( D) Function F1(a As Integer) If a Mod 2b)And(cd)的结果为假,所以 x的值为 20。 21 【正确答案】 B 【试题解析】 本题考查累加算法。题目中 sum为求和项,初值为 0, t为每一项的值,变化规律为后一项是前一项的 i倍, i的变化为从 1到 3,由于 t的初值为1,因此求和为 1*1+1*2+2*3。 22 【正确答案】 B 【试题解析】 本题考查文本框的常见事件。文本框中常见的事件主要有:当改变
21、文本框的 Text属性时会触发 Change事件;当在文本框中输入时触发 KeyPress事件,并可返回一个 KeyAscii参数;当控件失去 焦点时触发 LostFocus事件;当控件获得焦点时触发 GotFoeus事件。 23 【正确答案】 D 【试题解析】 本题考查 Array函数。利用 Array对数组各元素赋值,声明的数组必须是可变数组,并且其类型只能是 Variant。也可以对数组进行赋值,但是赋值号左边的数组只能声明为 Variant的可变数组或简单变量,同时数组必须有存储空间。 24 【正确答案】 D 【试题解析】 本题考查累加运算。 s为求和项, a(i)*j为每一项, i的
22、变化为 4到1, j的变化为 10的倍数。因此求和 s为: 4*1+3*10+2*100+1*1 000,结果为1234。 25 【正确答案】 D 【试题解析】 本题考查控件数组。建立控件数组以后,数组中的每个元素依靠Index属性来区分,名称相同。题目中程序运行时,不要单击哪个命令按钮,窗体的标题都会改成 “Myform2”。 26 【正确答案】 D 【试题解析】 本题考查过程。一般在 VB中控件本身的事件过程名称为 “控件名事件 ”,另外还可以自定义过程,主要有 Sub子过程和 Function函数过程,过程可以嵌套调用,但不可以嵌套定义。静态过程中所有的局 部变量默认为静态变量。 27
23、【正确答案】 B 【试题解析】 本题考查变量。局部变量如果使用 Dim声明,随过程的调用而分配存储单元,每次调用都对变量初始化,过程体结束,变量的内容自动消失,并释放存贮单元;如果使用 Static声明,则每次调用过程,变量保持原来的值。本题在 F函数被调用 3次的过程中,变量 c每次都保留前一次的值,而 b则每次调用都初始化为 0。 28 【正确答案】 A 【试题解析】 本题考查键盘事件。 KeyPreview属性用于设置是否在控件的键盘事件之前激活窗体的键盘事件。 KeyPress(KeyAscii As Integer)事件是在对象具有焦点时,按下键盘上的键时触发的事件,其中的 KevA
24、scii参数是所按键的 AscII的代码,每个字符的大、小写形式都是不同的键代码。而 chr()可返回 ASCII码对应的字符。 KeyDown(Keycode As Integer, Shift as Integer)事件有两个参数,其中, Keycode参数是表示所按键的位置信息的代码,只要按下键,就返回该键的位置信息,不区分大小写,一律作为大写字符解释。本题的功能为输入 A时,KeyDown事件输出 大写字符 A,而 KeyPress事件则输出小写字符 a。 29 【正确答案】 C 【试题解析】 本题考查 MDI窗体。一个应用程序仅可以拥有一个 MDI窗体,可以有多个子窗体,所有的子窗体
25、必须在父窗体之内显示,在父窗体界面上可以放置菜单、工具栏或图片框,但是不允许放置命令按钮。 30 【正确答案】 B 【试题解析】 本题考查菜单事件。菜单建立以后,对于每个菜单项要进行编写程序,才可以进行处理,单击 “保存 ”命令时,代码窗体自动出现事件过程: Private sub save_Click() EndSub 在程序之间加上 Text1的 Text属性改变代码即可。 31 【正确答案】 C 【试题解析】 访问键就是菜单项中加了下划线的字母,只要同时按下 键和加了下划线的字母键,就可以选择相应的菜单项。快捷键和访问键都是在设计菜单时直接指定。设置访问键时,必须在要设置为访问键的字母前
26、面加上一个 “&”。 32 【正确答案】 A 【试题解析】 在标准模块中可以声明自定义类型,该类型由 _rype关键字声明,在声明中要定义类型的所有域。若用自定义类型声明一个变量,则该 变量拥有若干域,取得每个域的值需要用 “变量名域名 ”的形式。作为一个自定义类型的数组,首先要取出某个数组元索然后才能访问该元素的某个域,所以要想访问Student(2)的域,需要使用 student(2) Score和 Studenc(2) StrName。 33 【正确答案】 C 【试题解析】 34 【正确答案】 B 【试题解析】 本题考查程序的基本算法。定义函数过程时,要求计算结束以后,把函数的返回值存放
27、在过程名中,返回给调用函数。题目中 a为奇数,条件为aMod 2=0时,返回 0,否则返 回 35 【正确答案】 A 【试题解析】 对于 Do型循环结构,首先看条件判断在循环体的前面还是后面,如果是先判断条件,则有可能一次也不执行循环体:如果是后判断条件,则无论条件是什么,至少执行一次循环体。在 Until循环中条件为 False时执行循环体,条件为 True时退出循环;在 While循环中条件为 True时执行循环体,条件为False时退出循环。本题是一个比较简单的 Do循环,计算从 1到 10的立方和。 36 【正确答案】 根结点 【试题解析】 树型结构具有特点为:每个结点只有一个前件,称
28、 为父结点,没有前件的结点只有一个,称为树的根结点,简称为树的根;每一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点;一个结点所拥有的后件个数称为树的结点度;树的最大层次称为树的深度。 37 【正确答案】 软件工程管理 【试题解析】 软件工程研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。软件工程管理包括软件管理学、软件工程经济学、软件心理学等内容。 38 【正确答案】 层 次模型 【试题解析】 在数据模型中,用二维表表示关系模型,用有向图表示网状模型,用树型结构表示层次
29、模型。 39 【正确答案】 事务型 【试题解析】 典型的数据流类型有两种:变换型和事务型。 40 【正确答案】 物理独立性 【试题解析】 数据的独立性一般分为物理独立性与逻辑独立性两种。 物理独立性:指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理结构包括存储结构、存取方式等改变时,如存储设备的更换、物理存储的更换、存取方式改变等,应用程序都不用改变; 逻辑独立性:指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,如修改数据模式、增加新的数据类型、改变数据间联系等,用户程序都可以不变。 41 【正确答案】 5+(a+b)*2 【试题解析】 本题考查数学
30、式与表达式之间的转化。 VB中一个表达式写在同一行,不可以省略运算符。括号必须成对出现。 42 【正确答案】 追加 (或 Append) 【试题解析】 本题考查文件的打开方式。以追加的方式打开文件时,每次写入的记录存放在文件的末尾。 43 【正确答案】 3 【试题解析】 本题考查子过程的调用时的参数变化。 ByVal是传值调用的关键字,传值调用的时候形参的改变不会影响到实参。 44 【正确答案】 ByVal nAs Integer Staticj As Integer 【试题解析】 本题考查参数的传递和静态局部变量。 Sum函数在窗体单击事件中调用 5次并用来求和,因此每一次求和结果应当保留,所以借助静态变量实现。同时要求传递的形参变化不应影响到实参,因此采用传值调用。 45 【正确答案】 Input (NotEOF(1) 【试题解析】 本题考查文件的操作。程序首先要以读文件的方式 (Input)打开文件,题中说明这是个顺序文件,那么如果文件指针没有到文件尾 (EOF(1)盼值为False),就要从文件中读出数据,所以循环条件应以是否到文件尾为依据,判断是否继续循环。 46 【正确答案】 i=j i=i,上部分矩阵的行标大于列标 ij。注意每输出矩阵的一行就输出 一个回车。