1、国家二级( VB)机试模拟试卷 18及答案与解析 一、选择题 1 算法一般都可以用哪几种控制结构组合而成 ( )。 ( A)选择、分支、递归 ( B)顺序、循环、选择 ( C)循环、递归、选择 ( D)顺序、选择、嵌套 2 用链表表示线性表的优点是 ( )。 ( A)花费的存储空间较顺序存储少 ( B)没有明显优势 ( C)便于插入和删除操作 ( D)便于随机存取操作 3 在下列几种排序方法中,要求内存量最大的是 ( )。 ( A)冒泡排序 ( B)插入排序和选择排序 ( C)归 并排序 ( D)快速排序 4 下面不属于软件工程 j三要素的是 ( )。 ( A)需求 ( B)方法 ( C)工具
2、 ( D)过程 5 下列不属于结构化分析的常用工具的是 ( )。 ( A)数据流图 ( B)流程图 ( C)数据字典 ( D)判定树和判定表 6 在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是( )。 ( A)路径的集合 ( B)选择的集合 ( C)操作的集合 ( D)目标的集合 7 在数据管理技术发展过程中,文件系统与数据库系统的主要区别 是数据库系统具有 ( )。 ( A)数据较低的冗余度 ( B)数据共享度高 ( C)特定的数据模型 ( D)专门的数据管理软件 8 下列说法中,不属于数据模型所描述的内容的是 ( )。 ( A)数据结构 ( B)数据操作 ( C)数据
3、约束 ( D)数据管理 9 用二维表的形式表示实体和实体间联系的数据模型是 ( )。 ( A)关系模型 ( B)层次模型 ( C)网状模犁 ( D)数据模型 10 在数据库设计中,将 E-R图转换成关系数据模型的过程属于 ( )。 ( A)需求 分析阶段 ( B)概念设计阶段 ( C)逻辑设计阶段 ( D)物理设计阶段 11 以下合法的 VB变量名是 ( )。 ( A) _x ( B) 2y ( C) a#b ( D) x 1 x 12 以下关于 VB特点的叙述中,错误的是 ( )。 ( A) VB中一个对象可有多个事件过程 ( B) VB应用程序能以编译方式运行 ( C) VB应用程序从 F
4、orm Load事件过程开始执行 ( D)在 VB应用程序中往往通过引发某个事件导致对对象的操作 13 有如下语句序列: Dim a, b As Integer Print a Print b 执行以上语句序列,下列叙述中错误的是 ( )。 ( A)输出的 a值是 0 ( B)输出的 b值是 0 ( C) a是变体类型变量 ( D) b是整型变量 14 以下关于控件数组的叙述中,错误的是 ( )。 ( A)各数组元素共用相同的事件过程 ( B)各数组元索通过下标进行区别 ( C)数组可以由不同类型的控件构成 ( D)符数组元素具有相同的名称 15 以下关于 VB文件的叙述中,正确的是 ( )。
5、 ( A)标准模块文件的扩展 名是 frm ( B) VB应用程序可以被编译为 exe文件 ( C)一个工程文件只能含有 -个标准模块文件 ( D)类模块文件的扩展名为 bas 16 以下自定义数据类型的语句中,正确的是 ( )。 ( A) Type student ID As String*20 name As String*10 age As Integer End student ( B) Type student ID As String*20 name As String*10 age As Integer End Type ( C) Type student lD As Strin
6、g name As String age As Integer End student ( D) Type ID As String*20 name As String*10 age As Integer End Type student 17 设: a=12, b=5, c=7,表达式 x=(a c+a Mod b)+Int(1 3 5)的值是 ( )。 ( A) 5 ( B) 6 ( C) 7 ( D) 9 18 在程序中要使用 Array函数给数组 arr赋初值,则以下数组变鞋定义语句中错误的是 ( )。 ( A) Static arr ( B) Dim arr(5) ( C) Dim
7、arr() ( D) Dim arr As Variant 19 以下关于变量作用域的叙述中错误的是 ( )。 ( A)在窗体模块的声叫部分声明的 Private变量,其作用域是窗体内的所有过程 ( B)在标准模块的声明部分声明的 Private变量,其作用域是模块内的所有过程 ( C)在窗体模块的声明部分声明的 Pubilc变量,其作用域是本窗体的所有过程 ( D)在标准模块的声叫部分声明的 Pubilc变量,其作用域是应用程序的所有过程 20 下面关于文件叙述中错误的是 ( )。 ( A) VB数据文件需要先打开,再进行处理 ( B)随机文件每个记录的长度是同定的 ( C)小论是顺序文件还
8、是随机文件,都是数据文件 ( D)顺序文件的记录是顺序存放的,可以按记录号直接访问某个记录 21 符要使文 本框能够输入多行文本,应该设置的属性是 ( )。 ( A) MultiIine ( B) WordWrap ( C) ScrolIBars ( D) AutoSize 22 以下关于命令按钮的叙述中正确的是 ( )。 ( A)命令按钮上可以显示图片 ( B)命令按钮能够分别响应单击、双击事件 ( C)程序运行时,不能改变命令按钮上的文字 ( D)若命令按钮的 Cancel属性设为 True,焦点在其他控件上时,按下回车键与单击该按钮的效果相同 23 窗体上有一个名称为 VScrolll的
9、垂直滚动条,要 求程序运行时,滚动块的初始位置在最下端,应该使 VScrolll Value的值等于 ( )。 ( A) VScroll1 LargeChange ( B) VScroll1 SmalICange ( C) VScrolll Max ( D) VScrolll Min 24 设窗体名称为 frml。以下叙述中正确的是 ( )。 ( A)运行程序时,能够加载窗体的事件过程是 frml_Load ( B)运行程序时,能够加载窗体的事件过程是 Forml_Load ( C)程序运行中用语句: frml Name=“New”可以更改窗体名称 ( D)程序运行中朋语句: frm1 cap
10、tion “新标题 ”可以改变窗体的标题 25 设运行程序时弹出的菜单如图所示关于该菜单,以下叙述中错误的是 ( )。( A)菜单中能够显示分隔线是因为该菜单项的标题为 “ ” ( B)分隔线对应的菜单项的 Name属性可以为空 ( C) “退出 ”菜单项的有效性属性被设为: False ( D)使用 PoptlpMenu方法能够显示如图所示的菜单 26 窗体上有一个列表框控件 Listl。以下叙述中错误的是 ( )。 ( A) Listl中有 ListCount 1个列表项 ( B)当 Listl Selected(i)=True,表明第 i项被选中 ( C)设置某些属性,可以使列表框显示多
11、列数据 ( D) Listl Text的值是最后一次被选中的列表项文本 27 以下关于单选按钮和复选框的叙述中,正确的是 ( )。 ( A)单选按钮和复选框都能从多个选项中选择一项 ( B)单选按钮和复选框被选中时,选中控件的 Value属性值为 True ( C)是否使用框架控件将单选按钮分组,对选项没有影响 ( D)是否使用框架控什将复选框分组,对选项 没有影响 28 窗体的 Mouseup事件过程如下: Private Sub Form MouseUp(Button As Integer, Shift As: Integer, X As Single,Y As Single) End S
12、ub 关于以上定义,以下叙述中错误的是 ( )。 ( A)根据 shift参数,能够确定使用转换键的情况 ( B)根据 x、 Y参数可以确定触发此事件时鼠标的位置 ( C) Button参数的值是在 MouseUp事件发生时,系统自动产生的 ( D) MouselJp是鼠标向上移动时触发的事件 29 窗体上有一个名称为 CDl的通用对话框,一个名称为 Commandl的命令按钮,相应的事件过程如下: Private Sub Commandl Click () CDI Fiher=“AII Filel* * Text File * txtl Word * Doc” CDl Filterlndex
13、=2 CDI FileName=“E: Test ppt” CDl InitDir=“E: Test ppt” CDl ShowOpen End Sub 关于上述程序,以下叙述中正确的是 ( )。 ( A)初始过滤器为 “* *” ( B)指定的初始目录为 “E: ” ( C)以上程序代码实现打开文件的操作 ( D)由于指定文什类型是 ppt,所以导致打开文件的操作失败 30 编写如下程序: Private Sub Commandl Click() Dim i As Integer, j As Integer n=InputBox(“输入一个大于 1的正整数 ”) For i=2 To n F
14、or j=2 To Sqr(i) If i Mod i=0 Then Exit For Next j If jSqr(i)Then Print I Next I End Sub 该程序的功能是 ( )。 ( A)判断 n是否为素数 ( B)输出 n以内所有的奇数 ( C)输出 n以内所有的偶数 ( D)输出 n以内所有的素数 31 以下程序的功能是随机产生 10个两位的整数: Option Base 1 Private Sub Commandl Click() Dim a(10)As Integer Dim i As Integez Randomize For i=l To 10 a(i)=i
15、nt(Rnd*100)+1 Print a(i) Next I End Sub 运行以上程序,发现有错误,需要对产生随机数的语句进行修改。以下修改正确的是 ( )。 ( A) a(i)=Int(Rnd*100) ( B) a(i)=Int(Rnd*90)+10 ( C) a(i)=hat(Rnd*100)+10 ( D) a(i)=Int(Rnd*101) 32 在窗体上画一个名称为 Commandl的命令按钮,编写如下事件过程: Private Sub Commandl Click() n=0 For i=0 To 10 X=2*i-l Tf X Mod 3=0 Then n=n+1 Nex
16、t 1 Print n End Sub 运行程序,单击命令按钮,则窗体上显示的是 ( )。 ( A) l ( B) 3 ( C) 5 ( D) 7 33 窗体上有名称为 Commandl的命令按钮,名称分别为 Labell、 Label2、 Label3的标签。编写如下程序: Private X As Integer Private Sub Commandl Click() Static Y As Integer Dim z As Integer n=5 Z=Z+n Y Y+n x=x+Y Labe11=X Label2=Y Label3=Z End Sub 运行程序,连续 3次单击命令按钮后
17、, 3个标签中分别显示的是 ( )。 ( A) 5 5 5 ( B) 15 10 5 ( C) 15 15 15 ( D) 30 15 5 34 命令按钮 Commandl的事件过程如下: Private Sub Commandl_Click() Dim arr(5, 5)As Integer Dim i As Integer, j As Integer For i=1 To 4 Forj=2 To 4 arr(i, j)=i+j Next j Next I Print arr(1, 3)+arr(3, 4) End Sub 执行上述过程,输 出结果是 ( )。 ( A) 6 ( B) 17
18、( C) 11 ( D) 12 35 现有程序如下: Option Base l Prirate Sub Form Click() Dim x(5, 6)As Integer, y(5)As Integer For i=1 To 5 For j=1 To 6 x(i, j)=Int(Rnd*9+1) Next j Next I Call f(5, 6, x, Y) For i=1 To 5 Print Y(i); Next 1 End Sub Sub f(m As Integer, n As Integer, a()As Integer, b()As Integer) For i=l To m
19、 b(i)=0 For j=1 To n b(i)=b(i)+a(i, j) Next i Next i End Sub 关于上述程序,以下叙述中正确的 是 ( )。 ( A)调用过程语句有错,参数不匹配 ( B)程序有错,数组下标越界 ( C) y数组中保存的是 x数组每行数据之和 ( D) X数组中数据的取值范围是 1-10 36 窗体上有一个名称为 Labell的标签、一个名称为 Timerl的计时器,其 Enabled和 Interval属性分别为 True和 1000。编写如下程序: Dim n As Integer Private Sub Timerl_Timer() ch=Chr
20、(n+Asc(“A”) Labell Caption ch n=n+1 n=n Mod 4 End Sub 运行程序,将在标签中( ) ( A)不停地依次显示字符 “A”、 “B”、 “C”、 “D”,直至窗体被关闭 ( B)依次显示字符 “A”、 “B”、 “C”、 “D”各一次 ( C)每隔 1秒显示字符 “A”一次 ( D)每隔 1秒依次显示 26个英文字母中的一个 37 窗体上有一个名称为 Commandl的命令按钮,一个名称为 Textl的文本框。编写如下程序: Private Sub Commandl Click() Dim X As Integer x=Val(InputBox(
21、“输入数据 ”) Textl=Str(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 对于上述程序,以下叙述中错误 的是 ( )。 ( A)语句 fun=n有错,因为 n是整型, fun没有定义类型 ( B)运行程序,输入值为 5时,文本框中显示 655 ( C)运行程序 ,输入值为 6时,文本框中显示 42 ( D) ByRef表示参数按址传递 38 设工程文件中包名称分别为 Forml、
22、Form2的两个窗体,且 Forml的菜单属性设置如下: 窗体 FormI 中的程序如下: Dim Flag As Boolean Private Sub Form Load() Flag=True End Sub Private Sub nlnul Click(index As Integer) If Index=1 Then If Flag=True Then Form2 show mnul(1) Caption=“隐藏窗体 2” Flag=False Else Form2 Hide mnul(1) Caption=“显示窗体 2” Flag=True End If End If If I
23、ndex=2 Then End End Sub 关于上述程序,以下叙述中错误的是 ( )。 ( A) Index属性的值可以用来区分控件数组元素 ( B) Index为 l的菜单项的标题可能会改变 ( C)两个名称均为 Mnul的菜单项构成一个控件数组 ( D)语句 Form2 Hide将 Form2卸载 39 有如下程序: Private Sub Commandl Click() Dim i As Integer, j As Integer Dim Sum As Integer n=l Do j 1 Do sum=sum+j j=j+1 Print j; Loop Until j3 n=n+
24、2 Loop Until n10 Print sum End Sub 运行上述程序,外层 Do循环执行的次数为 ( )。 ( A) 4 ( B) 5 ( C) 7 ( D) 10 40 以下过程的功能是从数组中寻找最大值: Private Sub FindMax(a()As Integer, ByRef Max As Integer) Dim s As Integer f As Integer Dim i As Integer s=LBound(a) f=UBotlnd(a) Max=a(s) For i=s To f If a(i)MaxThen Max=a(i) Next End Sub
25、以下关于上述过程的叙述中,错误的是 ( )。 ( A)语句 Call FindMax(a, m)可以调用该过程,其中的 a是数组, m是 Integer类型变量 ( B) For循环次数等于 a数组的元素数 ( C)过程末尾应该增加一条返回最大值的语句 FindMax=Max ( D)参数 Max用于存放找到的最大值 二、基本操作题 41 (1)在名称为 F0rml的窗体上添加一个标签 (名称为 Labell,标题为空白,BorderStyle属性为 1, Visible属性为 False)、一个文本框 (名称为 Textl, Text属性初始内容为空 )和一个命令按钮 (名称为 Comman
26、dl,标题为 “显示 ”),如图 l所 示。然后编写命令按钮的 Click事件过程。程序运行后,在文本框中输入 “计算机等级考试 ”,然后单击命令按钮,则文本框消失,并在标签内显示文本框中的内容。程序运行后的窗体如图 2所示。要求程序中小得使用仟何变量。注意:存盘时必须放在考生文件夹下,工程文件名保存为 sjtl vbp,窗体文件名保存为sjtl frm。 (2)在名称为 Forml的窗体上添加一个文本框 (名称为 Textl)和一个水平滚动条 (名称为 HScrolll),如图 1所示。在属性窗 中对滚动设置如下属性:编写适当的事件过程。程序运行后,通过改变滚 动条上的刻度值,则可扩大或缩小
27、文本框的高度,并使得文本框的宽度始终是其高度的1 2倍。程序运行后的窗体如图 2所示。要求程序中不得使用任何变量。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 Sjt2 vbp,窗体文件名保存为 sjt2 frm。 三、简单应用题 42 (1)在考生文件夹下有一个工程文件 sjt3 vbp,含有两个窗体,名称分别为。ForTnl、 Form2。其中, Forml上有两个控件 (图像框和计时器 )和一个菜单项 “操作 ”,含有三个子菜单 (如图 l所示 )。 Form2 上有一个,名称为 Commandl、标题为“返回 ”的命令按钮 (如图 2所示 )。要求当单击 “窗体 2”菜单命令
28、时, Forml隐藏,Form2显示。单击 “动画 ”菜单命令时,使小汽车开始移动,一移到窗口的右边界时自动跳到窗体的左边界重新开始移动。单击 “退出 ”菜单命令时,结束程序运行。请去掉程序中的注释符,把程序中的 ?改为正确的内容。 注意:考生不得修改窗体文件中已经存在的程序。最后程序按原文件名存盘。 (2)在考生文件夹下有一个程文件 sjt4 vbp。其窗体上已有部分控件,请按照图 l所示添加框架和单选按钮。要求:添加两个框架,名称分 别为 Framel、 Frame2,在 Framel 中添加一个名为 Optionl的单选按钮数组,含两个单选按钮,标题分别为 “古典音乐 ”、 “流行音乐
29、”,在 Frame2中添加两个单选选按钮,名称分别为 Option2、 Option3,标题分别为 “篮球 ”、 “羽毛球 ”。用运行程序时, “占典音乐 ”和 “蓝球 ”单选按钮初始状态为选中状态。单击 “选择 ”按钮,将把选中的单选钮的标题显示在标签 Label2 中,如图 2所示。如果 “音乐 ”或“体育 ”未被选中,相应的单选按钮不可用。 要求:按照题目要求添加控件,去掉程序中的注释符,把程序 中的 ?改为正确的内容。 注意:不能修改程序的其他部分和控件属性。最后将修改后的文件按原义件名存盘。 四、综合应用题 43 在考生文件夹下有一个工程文件 sjt5 vbp,其窗体上有两个标题分别
30、为 “读数据 ”和 “统计 ”的命令按钮。请添加两个标签,其名称分别是 Labell 和 Label2,标题分别为 “单词的平均长度为 ”和 “最长单词的长度为 ”;再添加两个名称分别为 Textl和 Text2, Text属性为空的文本框,如图所示。程序功能如下: 如果单击 “读数据 ”命令按钮,则将考生文件夹下 in5 dat文件的内容读到 变量 s中 (此过程已给出 ); 如果单击 “统计 ”按钮,则自动统汁变量 s(s中仅含有字母和空格,而空格是用来分隔不同单词的 )中每个单词的长度,并将所有单词的平均长度 (四舍五入取整 )在 Textl文本框内显示,将最长单词的长度在 Text2文
31、本框内显示。 “读数据 ”命令按钮的 click事件过程已经给出,请为 “统计 ”命令按钮编写适当的事件过程,实现上述功能。 注意:考生不得修改窗体文件中已经存在的控件和程序,在结束程序之前,必须进行统计,且必须通过单击窗体右上角的 “关闭 ”按钮结束程序,否则无成绩。最后,程序按原文件名存盘。 国家二级( VB)机试模拟试卷 18答案 与解析 一、选择题 1 【正确答案】 B 【试题解析】 算法的控制结构给出了算法的基本框架,它不仅决定了算法中各操作的执行顺序,而且也直接反映了算法的设计是否符合结构化原则。一个算法一般都可以用顺序、循环、选择三种基本控制结构组合而成。本题答案为 B。 2 【
32、正确答案】 C 【试题解析】 链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。本题答案为 C。 3 【正 确答案】 C 【试题解析】 快速排序的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录继续进行排序,以达到褴个序列有序;插入排序的基本操作是指将无序序列中的各元素依次插入到已经有序的线性表中,从而得到一个新的序列;选择排序的基本思想是:扫描整个线性表,从中选出最小的元素,将它交换到表的最
33、前面 (这是它应有的位置 ),然后对剩下的子表采用同样的方法,直到表空为止;归并排序是将两个或两个以上的有序表组合成一个新的有序表。 本题答案为 C。 4 【正确答案】 A 【试题解析】 软件工程包括 3个要素,即方法、工具和过程。本题答案为 A。 5 【正确答案】 B 【试题解析】 结构化分析的常用工具有数据流图、数据字典、判定树和判定表。而 PAD流程图是常见的过程设计工具中的图形设计。本题答案为 B。 6 【正确答案】 A 【试题解析】 软件的白盒测试方法是把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。本题答
34、案为 A。 7 【正确答案】 C 【试题解析】 在文件系统中,相互独立的记录其内部结构的最简单形式是等长同格式记录的集合,易造成存储空间大量浪费,不方便使用。而在数据库系统中,数据是结构化的,这种结构化要求在描述数据时不仅描述数据本身,还要描述数据间的关系,这正是通过采用特定的数据模型来实现的。本题答案为 C。 8 【正确答案】 D 【试题解析】 数据模型所描述的内容有 3个部分,它们是数据结构、数据操作和数据约束。其中,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要是描述在相应数据结构上的 操作类型与操作方式。本题答案为 D。 9 【正确答案】 A 【试
35、题解析】 层次模型是最早发展出来的数据库模型。它的基本结构是树形结构,这种结构方式在现实世界中很普遍,如家族结构、行政组织机构,它们自顶向下、层次分明。关系模型:用二维表的形式表示实体和实体问联系的数据模型。关系模型的特点:关系模型与非关系模型不同,它是建立在严格的数学概念基础上的。关系模型的概念单一,无论实体或实体之间的联系都用关系表示。存取路径对用户透明。关系必须是规范化的关系。本题答案为 A。 10 【正确答案】 C 【试 题解析】 数据库的逻辑设计主要工作是将 E-R图转换成指定的 RDBMS 中的关系模式。 11 【正确答案】 D 【试题解析】 VB 中变量的命名规则为: 必须以字母
36、或汉字开头 由字母、汉字、数字或下划线组成 不能使用 VB的保留字。 -x不能以一下划线开头,不合法; 2y不能以数字开头,不合法; a#b 中有 #,不合法; D选项符合命名规则,故D选项正确。 12 【正确答案】 C 【试题解析】 VB 应用程序不一定从 From Load事件开始执行,它是由工程中启动对象决定先从哪儿开始执行。故 C选项错误。 13 【正确答案】 A 【试题解析】 任何变量在被声明后都会有一个初始值。一般情况下,数值型变量的初始值为 0;字符串变量的初始值为空字符串;变体型变量的初始值为空值,即Null 值;布尔型的初始值为假,即 False。本题中变量 a定义时没有声明
37、数据类型,默认为 Variant变体型变量,默认值是 Null;变量 b 定义为整型变量,默认值为 0。所以输出 a为空白, b 为 0。故 A选项错误。 14 【正确答案】 C 【试题解析】 控件数组是由类型相同的控件组成,具有相同的名称,用下标Index属性区分各数组元 素,它们共用相同的事件过程。故 C选项错误。 15 【正确答案】 B 【试题解析】 标准模块文件的扩展名是 bas,不是 frm,故 A选项错误。一个工程中可以包含一个或多个标准模块文件,故 C选项错误。类模块文件的扩展名为 cls,不是 bas。故 D选项错误。 B选项正确。 16 【正确答案】 B 【试题解析】 自定义
38、数据类型的语法结构是: Type自定义类型名 (下标 )As (下标 )As End Type 其中,成员可以定义为定长的或不定长字符串,也可定义为数组。 本题中, B选项符合语法规则,故 B 选项正确。 17 【正确答案】 A 【试题解析】 按算术运算符优先级从高到低顺序依次计算:、 Mod,结果为 5,故选 A。 18 【正确答案】 B 【试题解析】 用 Array函数可以给 Variant类型的动态数组赋值;也可给Variant类型的变量赋值,此时该变量也看作是一个 Variant类型的动态数组。 例如: Dim a()As Variant, b As Variant a=Array(1
39、, “abc, 3): b=Array(5, 6) 本题中 A、 D选项是把 arr都定义为 Variant型的变量, C选项是把 arr定义为动态数组,这都可以用 Array函数给 arr数组赋初值; B选项定义了一个 Variant型的一维固定数组 arr, Array函数不能给固定数组赋初值,故 B 选项错误。 19 【正确答案】 C 【试题解析】 在窗体模块中声明的 Public变量,其作用域是应用程序的所有过程,故 C选项错误。但用时注意:变量名前要加窗体名,否则不能被其他模 块的过程引用,只能被本模块内的所有过程引用。 20 【正确答案】 D 【试题解析】 顺序文件的记录是顺序存放
40、的,先写入的记录存放在文件的最前面,后写入的依次往后面存放,最后写入的记录放在文件的最后面。如果访问某条记录。要先访问前面的记录,才能访问后面的记录,不能按记录号直接访问。故 D选项错误。 21 【正确答案】 A 【试题解析】 文本框控件的 MultiLine属性如果设置为 False,则在文本框中只能输入单行文本;当设置为 True时,可以使用多行文本,即在文本框中输入或输出文本时可以换 行,并在下 行接着输入或输出。 22 【正确答案】 A 【试题解析】 按钮控件的 Picture属性可以给命令按钮指定一个图形。按钮的标题由属性 Caption设置,可以在程序中动态指定。当一个命令按钮的
41、Cancel属性被设置为 True时,按 ESC键与单击该命令按钮的作用相同。命令按钮能够响应单击事件,但不能响应双击事件。 23 【正确答案】 C 【试题解析】 滚动条的 Value属性表示滚动框在滚动条上的当前位置,默认值为0,即在滚动条的左端或顶端,如果 Value的值等于 Max属性的值时,则 滚动框在滚动条的最右端或底端。 24 【正确答案】 D 【试题解析】 一个控件的事件过程由控件的实际名字 (Name属性 )、下划线和事件名称组成,而窗体事件过程由 “Form”、下划线和事件名组成。因此,不管窗体名称是什么,窗体加载事件过程总是 Form Load。窗体的名称即 Name属性在
42、程序运行时不可以更改,窗体的标题即 Caption属性则可以在程序运行时更改。 25 【正确答案】 B 【试题解析】 在设计菜单时,如果在菜单标题栏输入 “ ”,则可以在菜单中加入一条分隔线,菜单中每一个菜单项 ,包括分隔线,都要有一个名称,即 Name属性不能为空。菜单项有效性属性设为 Flase时,则该项显示为灰色不可用状态。可以使用 PopupMenu 的方法显示弹出式菜单,格式为: PopupMenu菜单名。 26 【正确答案】 A 【试题解析】 列表框控件的列表项个数即为 ListCount属性值。如果列表项的某项被选中,则该项的 Selected 属性值为 True。列表框控件的
43、Columns 属性用来确定列表框的列数。 Text属性的值为最后一次选中的表项的文本,不能直接修改Text属性。 27 【正确答案】 D 【试题解析】 复选框按钮可以同时选择多个,而在一组单选按钮中,只能选择其中的一个。单选按钮被选中时,其 Value属性值为 True,如果没有被选中其Value值为 False,复选框的 Value属性可以设置为 0、 l和 2,分别代表没选中、选中和禁用。单选按钮一般用框架进行分组,每个框架内的单选按钮的操作不影响其他组的按钮,而复选框是否分组对选项没有影响。 28 【正确答案】 D 【试题解析】 MouselJp 事件是鼠标松开时触发的事件过程,事件过
44、程的 Button参数值由系统产生,为被按下的键 , Shift参数表示 Shift、 Ctrl 和 Alt键的状态,x、 Y参数表示光标的当前位置。 29 【正确答案】 B 【试题解析】 通用对话框的 Fihedndex 属性值表示默认的过滤器,值为 2表示初始过滤器为过滤器中的第 2个,即 “* txt”。 InitDir属性表示打开对话框时的初始目录。 ShowOpen 方法表示显示打开文件对话框。打开文件通用对话框只是返回选中的文件,具体如何操作文件需要另行编程决定,因此不会导致文件打开失败。 30 【正确答案】 D 【试题解析】 假设输入 2、 4、 9进行 验证,输入 2时程序会输
45、出 2,输入 4时,程序会输出 2、 3,可见程序不是判断 n是否为素数,所以 A不对。由前面验证可知,程序也不是输出 n以内的所以奇数或偶数,所以 B、 c也不对。如果输入 9时,程序会输出 2、 3、 5、 7,说明程序是输出 n 以内的所有素数,所以 D正确。 31 【正确答案】 B 【试题解析】 由 Rnd函数生成的随机数在 0 1之间,包括 0但不包括 1,所以有可能产生 0,与题目要求的两位的整数不符。所以语句 a(i)=Int(Rnd*100)+l 需要修改为 a(i)=Int(Rnd$90)+10,这样就能正 确产生丽位的整数了。 32 【正确答案】 B 【试题解析】 Mod
46、是取模运算符,即求运算两数相除的余数。每次循环中 x的值分别是 -1, 1, 3, 5, 7, 9, 1 l, 13, 15, 17, 19,其中与 3求模为 0的数有3、 9、 15共 3个,因此 n=n+1会执行 3次,最终 n=3。 33 【正确答案】 D 【试题解析】 变量 x被定义为窗体模块变量,它在整个窗体模块中有效。 Click事件中变量 y定义为 Static,即静态变量,它的值在每调用过程时都会保留上次的值。每次单击按钮标签中显示的值即 x、 y、 z的值是 : 第一次, n=5, z=z+n=0+5=5, y=y+n=0+5=5, x=x+y=0+5=5; 第二次, n=5
47、, z=z+n=0+5=5, y=y+n=5+5=l0, x=x+y=5+10=15; 第三次, n=5, z=z+n=0+5=5, y=y+n=10+5=15, x=x+y=15+15=30; 因此 3次单击命令按钮后, 3个标签中分别显示的是 30 15 5。 34 【正确答案】 C 【试题解析】 当用 Dim语句定义数组时,该语句把数组中的全部元素都初始化为 0,而把字符串 数组中的全部元素都初始化为空字符串。程序中利用 For循环为数组 arr的部分元素赋值这些元素的第一维范围是 1 4,第二维的范围是 2 4,值为两维下标的和。程序要输出 an(1, 3)+arr(3, 4)的值,
48、arr(1, 3)值为 1+3=4,arr(3, 4)值为 3+4=7。 4+7=ll,因此程序输出结果为 11。 35 【正确答案】 C 【试题解析】 程序利用 For循环为数组 x的 5行 6列元素以随机整数赋值,随机数的范围是从 1到 9。过程 f的功能是计算二维数组 a()的每一行中元素值的和,每一行的和存放在另一个数组 b()中,最后程序输出这些和值。因此 C正确。 36 【正确答案】 A 【试题解析】 Asc函数返回字符的 ASCII, Chr函数将数值转换成相应的 ASCII码字符。计时器间隔 Interval属性设置为 1000,则计时器事件每 1秒钟发生一次。 n的值每次调用
49、计时器事件过程都会加 l, n=n Mod 4又会使 n值只能为 0、l、 2、 3,因此程序运行后每 1秒 Label1 标签将依次显示 “A”、 “B”、 “C”、 “D”。 37 【正确答案】 A 【试题解析】 过程 fun 的功能是将传入的值运算后返回,当传入数 值为 3的整数倍时返回该值的 2倍,否则返回该值的平方。过程 Fun 的参数指定为 ByRef 方式,即按址传递,因此会影响实参的值。 str函数是将数值转换为字符串。过程fun定义时没有指明返回类型因此默认为 Variant类型,它可以表示任何值,因此A选项的说法不正确。 38 【正确答案】 D 【试题解析】 程序中菜单 Mnul是一个控件数组,它们以 Index 属性值作为数组下标来区分符元素。在菜单单击事件中, Flag值为真时,显示 Form2,同时把索引为 l的菜单项标越改为 “隐藏窗体 2”,然后把 Fl