1、国家二级( VB)机试模拟试卷 129及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)数据的存储结构会影响算法的效率 ( B)算法设计只需考虑结果的可靠性 ( C)算法复杂度是指算法控制结构的复杂程度 ( D)算法复杂度是用算法中指令的条数来度量的 2 设数据集合为 D=1, 2, 3, 4, 5,下列数据结构 B=(D, R)中为非线性结构的是 ( )。 ( A) R=(1, 2), (2, 3), (3, 4), (4, 5) ( B) R=(1, 2), (2, 3), (4, 3), (3, 5) ( C) R=(5, 4), (4, 3), (3, 2), (2,
2、 1) ( D) R=(2, 5), (5, 4), (3, 2), (4, 3) 3 某二叉树共有 150个结点,其中有 50个度为 1的结点,则 ( )。 ( A)不存在这样的二叉树 ( B)该二叉树有 49个叶子结点 ( C)该二叉树有 50个叶子结点 ( D)该二叉树有 51个叶子结点 4 循环队列的存储空间为 Q(1: 50),初始状态为 front=rear=50。经过一系列正常的人队与退队操作后, front=rear=25,此后又正常地插入了一个元素,则循 环队列中的元素个数为 ( )。 ( A) 51 ( B) 50 ( C) 49 ( D) 1 5 下列排序方法中,最坏情况
3、下时间复杂度 (即比较次数 )低于 O(n2)的是 ( )。 ( A)快速排序 ( B)简单插入排序 ( C)冒泡排序 ( D)堆排序 6 下列描述正确的是 ( )。 ( A)软件测试是指动态测试 ( B)软件测试可以随机地选取测试数据 ( C)软件测试是保证软件质量的重要手段 ( D)软件测试的目的是发现和改正错误 7 下列选项中属于软件设计建模工具的是 ( )。 ( A) DFD图 (数据流程图 ) ( B)程序流程图 (PFD图 ) ( C)用例图 (USE_CASE图 ) ( D)网络工程图 8 数据库 (DB)、数据库系统 (DBS)和数据库管理系统 (DBMS)之间的关系是 ( )
4、。 ( A) DB包括 DBS和 DBMS ( B) DBMS包括 DB和 DBS ( C) DBS包括 DB和 DBMS ( D) DBS、 DB和 DBMS相互独立 9 医院里有不同的科室,每名医生分属不同科室,则实体科室与实体医生间的联系是 ( )。 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 10 有三个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 ( )。 ( A)投影 ( B)选择 ( C)交 ( D)差 11 计算 z的值,当 x大于等于 y时, z=x;否则 z=y。下列语句中错误的是 ( )。 ( A) If x =y Then z=
5、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 12 在 Visual Basic中,所谓 “文件 ”指的是 ( )。 ( A)内存中的全部程序和数据 ( B)内存中的全部指令 ( C)存放在外部介质上的数据的集合 ( D)用打印机打印出来的程序清单 13 下列合法的 Visual Basic变量名是 ( )。 ( A) 3A ( B) A+3 ( C) A3 ( D) Abs 14 函数调用: String(n, “str“)的结果是 ( )。 ( A
6、)返回由 n个 “s”组成的字符串 ( B)把数值型数据 n转换成字符串 ( C)从字符串中取出 n个字符 ( D)从字符串中第 n个字符的位置开始取子字符串 15 Open语 句中以 Input方式打开一个顺序文件,以便从该文件读取数据。以下叙述中正确的是 ( )。 ( A)可以不必考虑文件是否存在 ( B)要打开的必须是一个要建立的文件 ( C)可以在打开时指定文件是否存在 ( D)要打开的必须是一个已存在的文件 16 下列关于工程的叙述中错误的是 ( )。 ( A)在工程中可以设置某个窗体为启动窗体 ( B)一个工程可以有多个窗体模块 ( C)一个工程可以有多个标准模块 ( D)一个工程
7、中不能没有窗体模块,但可以没有标准模块 17 下列表达式中值为 False的是 ( )。 ( A) Integer “Int“ ( B) VisualBasic “visual“ ( C) XYZ “XYz“ ( D) 123 “ABC“ 18 设 a=5, b=10,执行语句 c=Int(b-a)*Rnd+a)+1后, c中数值的范围是 ( )。 ( A) 5 10 ( B) 6 9 ( C) 6 10 ( D) 5 9 19 下列声明中正确的是 ( )。 ( A) Dim a()As Boolean ReDim a(8, 5) ( B) Dim a() ReDim a(5)As Integ
8、er ( C) Dim a(3)As Integer ReDim a(5) ( D) Dim a() ReDim a() 20 下列关于文件的叙述中错误的是 ( )。 ( A)以 Input方式打开文件时,如果文件不存在,则建立一个新文件 ( B)顺序文件各记录的长度可以不同 ( C)使用 Append方式打开文件时,文件指针被定位到文件尾 ( D)随机文件打开后,既可以读,也可以写 21 下列说法中正确的是 ( )。 ( A)如果窗体上有多个控件,程序运行时只有一个是活动控件 ( B)只能通过拖 拉控件左下角的小方块来同时在高度和宽度上缩放控件 ( C)只能通过拖拉控件右上角的小方块来同时在
9、高度和宽度上缩放控件 ( D)程序运行时,在窗体上非活动控件是隐藏的 22 为了使组合框能识别双击 (DblClick)事件,应把它的 Style属性设置为 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 23 为了使文本框 Text1中的文本不能被编辑,但能滚动和选择,下列正确的设置为 ( )。 ( A) Text1 Locked=True ( B) Text1 Loeked=False ( C) Text1 Enabled=False ( D) Text1 Enabled=True 24 下列叙述中错误的是 ( )。 ( A)列表框和简单组合框都可以响应 Change事件
10、 ( B)列表框和组合框都有 Text属性 ( C)列表框和组合框都有 Style属性 ( D)列表框和组合框都有 List属性 25 为了在形状控件中填充图案,应设置的属性是 ( )。 ( A) BorderColor ( B) BackStyle ( C) FillStyle ( D) BorderStyle 26 利用属性 窗口为窗体的下面 4个属性设置了值,其中错误的设置是 ( )。 ( A) Name属性的值设置为 Form ( B) Caption属性的值设置为 Form ( C) ControlBox属性的值设置为 False ( D) Enabled属性的值设置为 False
11、27 图片框所不具有的功能是 ( )。 ( A)使其中的图片缩小,而图片内容保持完整 ( B)可以作为一个容器,里面放置其他控件 ( C)可以用 Print方法在其中显示字符串 ( D)在程序运行过程中为其加载图片 28 下列能够接受键盘输入的控件 是 ( )。 ( A)列表框 ( B)组合框 ( C)标签 ( D)框架 29 如果要把通用对话框作为颜色对话框使用,在程序运行过程中应该进行的操作是 ( )。 ( A)把通用对话框的 ShowColor属性设置为 True ( B)调用通用对话框的 ShowOpen方法 ( C)把通用对话框的 Action属性设置为 3 ( D)把通用对话框的
12、Action属性设置为 4 30 设窗体上有一个名称为 Text1的文本框,并有下面的程序代码: Private Sub Form_Load() KeyPreview=True End Sub Private Sub Form_KeyPress(KeyAscii As Integer) Print Chr(KeyAscii+1), End Sub Private Sub Text1_KeyPress(KeyAscii As Integer) Print Chr(KeyAscii) End Sub 程序运行后在文本框中输入字母 “D”,则窗体上显示的是 ( )。 ( A) D E ( B) E
13、D ( C) D ( D) E 31 在窗体上画一个名称为 Command1的 命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim S As Integer, N As Integer S=1 Do S=(S+1)*(S+2) N=N+1 Loop Until S =30 Print N; S End Sub 运行程序,单击命令按钮,输出结果是 ( )。 ( A) 2 56 ( B) 2 3 ( C) 5 12 ( D) 10 20 32 阅读程序: Private Sub Form_Click() Dim I As Integer, J As
14、Integer Dim S As Integer c=1 For I=1 To 2 For J=1 To 3 S=S+3 Next J Next I Print S End Sub 运行程序,单击窗体,输出结果是 ( )。 ( A) 16 ( B) 17 ( C) 18 ( D) 19 33 有一个数列,第一个数和第二个数分别为 0和 1,其后每一个数均为前两个数之和。下面是输出该数列中小于 10000的最大数的程序: Private Sub Form_Click() a=0 b=0 Do While b 10000 c=a+b a=b b=c Loop Print a End Sub 运行程
15、序,单击窗体,不能得到所需要的结果,说明程序有错误。以下正确的修改是 ( )。 ( A)把 b=0改为 b=1,同时把 b 10000改为 b 10000 ( B)把 b 10000改为 b=10000 ( C)把 a=0改为 a=1 ( D)把 a=0改为 a=1,同时把 b=0改为 b=1 34 在窗体上画一个名称为 Command1的命令按钮,然后编写如下程序: Private Sub Command1_Click() Dim a As Integer a=2 s=0 For i=1 To 3 s=s+Fun(a) Next i Print s End Sub Function Fun(
16、a As Integer) Static c b=0 b=b+1 C=c+1 Fun=a+b+C End Function 程序运行后,单击命令按钮,输出结果是 ( )。 ( A) 6 ( B) 9 ( C) 11 ( D) 15 35 有如下程序: Private Sub Form_Click() Dim i As Integer, a(10)As Integer Dim p(3)A sInteger k=5 For i=0 To 10 a(i)=i Next i For i=0 To 2 P(i)=a(i*(i+1) Next i For i=0 To 2 k=k+P(i)*2 Next
17、i Print k EndSub 运行程序,单击窗体,输出结果是 ( )。 ( A) 20 ( B) 21 ( C) 32 ( D) 56 36 窗体上有一个名称为 Picture1的图片框和一个名称为 Timer1的计时器控件,并有下面程序代码: Dim x, y Private Sub Form_Load() x=Picture1 Width*2 y=Picture1 Height*2 Timer1 Enabled=True Timer1 Interval=100 End Sub Private Sub Timer1_Timer() If Picture1 Width x Or Pictu
18、re1 Height y Then Picture1 Width=Picture1 Width+3 Picture1 Height=Picture1 Height+3 End If End Sub 程序运行后产生的效果是 ( )。 ( A)图片框尺寸不断变大,直到其高和宽都增加到原来的 2倍为止 ( B)图片框尺寸不断变大,并一直增加下去 ( C)图片框尺寸不断变大,直到其高和宽都增加到原来的 3倍为止 ( D)界面没有产生任何变化 37 下列程序段中没有错误的是 ( )。 ( A) x=6 For k=5 To 1 Step-1 x=x+1 Next Print x ( B) x=10 Wh
19、ile x 5 x=x-1 Loop Print x ( C) x=10 Do While x 5 x=x-1 End Do Print x ( D) x=6 Do While x 5 x=x+1 Loop Until x=10 Print x 38 有下列程序代码: Private Sub Command1-Click() Randomize Dim x(30)As Integer, s As Integer For k =1 To 30 x(k)=Int(Rnd*100) Next k For k=1 To 30 If x(k)Mod 2=1 Then s=s+x(k) End If Ne
20、xt k Print s End Sub 程序运行后的输出是 ( )。 ( A) 30个随机整数中所有个位数为 1的数之和 ( B) 30个随机整数中所有偶数的和 ( C) 30个随机整数的和 ( D) 30个随机整数中所有奇数的和 39 窗体上有 Text1、 Text2两个文本框,并编写了下面的程序代码: Private Sub Form_Click() x =29 Text1=fun(x) Do x=x+1 Loop Until IsPrime(x) Text2=x End Sub Private Function fun(ByVal x As Integer)As Integer Do
21、 x=x-1 Loop Until IsPrime(X) fun=x End Function Private Function IsPrime(x As Integer)As Boolean For k=2 To x 2 If x Mod k=0 Then IsPrime=False Exit Function End If Next k IsPrime=Tnle End Function 运行程序后单击窗体,则 Text1、 Text2中分别显示的是 ( )。 ( A) 23和 31 ( B) 23和 29 ( C) 30和 31 ( D) 29和 31 40 当前文件夹中设有一个文本文件
22、 File1 txt,并有下面程序代码: Private Sub Command1_Click() Dim ch As String Open“File1 txt“For Input As #1 Do While Not EOF(1) ch=Input(1, #1) If“A“ ch And ch “Z“Then Print“&“: End If Print ch; Loop Close #1 End Sub 上述代码运行时产生的结果是 ( )。 ( A)在窗体上原样显示文件中的所有内容 ( B)把文件中所有大写字母改为 “&”字符后显示,其他内容原样显示 ( C)把文件中的所有内容显示在窗体
23、上,但在每个大写字母前显示一个 “&”字符 ( D)把文件中所有大写字母改为 “&”字符后显示,小写字母原样显示,其他字符不显示 二、基本操作题 41 在名称为 Form1,标题为 “组合框 ”的窗体上画 1个名称为 Combo1的组合框,利用属性窗口设置适当属性使其在程序刚开始运 行时的界面如图所示。注意:存盘时必须存放在考生文件夹下,工程文件名为 sit1 vbp,窗体文件名为 sit1 frm。42 在名称为 Form1的窗体上画一个名称为 Image1的图像框,并通过属性窗口为其装入考生文件夹中的图标文件 CARS ico;再画一个名称为 Timer1的计时器,一个名称为 Comman
24、d1、标题为 “开始 ”的命令按钮,如图所示。要求:通过属性窗口设置适当的属性,再编写适当的事件过程,使得程序运行时,单击 “开始 ”按钮,图片可以每 0 2秒向右移动 50。注意:程序中不得使用变量,每个事件过程中 只能写一条语句。存盘时必须存放在考生文件夹下,工程文件名为 sjt2 vbp,窗体文件名为 sjt2 frm。 三、简单应用题 43 在考生文件夹下有一个工程文件 sjt3 vbp。其窗体文件上有一个标题为 “得分 ”的框架,在框架中有一个名称为 Text1的文本框数组,含 6个文本框控件;文本框Text2用来输入难度系数。程序运行时,在左边的 6个文本框中输入 6个得分,输入难
25、度系数后,单击 “计算分数 ”按钮,则可计算出最后得分并显示在文本框 Text3中 (如图所示 )。计算方法:去掉 1个最高得分和 1个最低得分,求剩下得分 的平均分,再乘以 3,再乘以难度系数。最后结果保留到第 2位小数,不四舍五入。注意:文件中已经给出了所有控件和程序,但程序不完整,请去掉程序中的注释符,把程序中的 ?改为正确的内容,考生不能修改程序中的其他部分和各控件的属性。最后把修改后的文件按原文件名存盘。 44 在考生文件夹下有一个工程文件 sjt4 vbp。窗体上的控件如图所示。程序运行时,若选中 “累加 ”单选按钮,则 “10”、 “12”菜单项不可用,若选中 “阶乘 ”单选按钮
26、,则 “1000”、 “2000”菜单项不可用 (如图所示 )。选中菜单中的一个菜单项后,单击 “计算 ”按钮,则相应的计算结果在文本框中显示 (例如,选中 “累加 ”和 “2000”,则计算 1+2+3+2000 ,选中 “阶乘 ”和 “10”,则计算 10!)。单击 “存盘 ”按钮则把文本框中的结果保存到考生文件夹下的 out4 dat文件中。要求:编写 “计算 ”按钮的Click事件过程。注意:不得修改已经存在的程序,在结束程序运行之前,必须用“存盘 ”按钮存储计算结果,否则无成绩。最后,程序按原文件名存盘。四、综合应用题 45 考生文件夹下有工程文件 sjt5 vbp和数据文件 in5
27、 txt。 in5 txt中有多条 记录,每条记录占一行,含 4个数据项,数据项的含义依次是:姓名、数学成绩、语文成绩、英语成绩。 窗体上按钮 “读取数据 ”的功能是把 in5 txt中的所有记录读到数组 a中 (每个数组元素中有一条记录 );按钮 “排序 ”的功能是按总分从大到小排序,结果仍放在数组 a中;按钮 “保存 ”的功能是存盘,其代码已经给出,不能修改。 请将事件过程中的注释符去掉,把 ?改为正确的内容,并编写 “排序 ”按钮的事件过程。 注意:考生不得修改窗体文件中已经存在的控件和程序,必须运行程序,并依次按下 “读入数据 ”、 “排序 ”、 “保存 ”按钮,否则无成绩, 最后将程
28、序按原文件名存盘。 国家二级( VB)机试模拟试卷 129答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 算法的基本特征包括可行性、确定性、有穷性、足够的初始信息,算法的设计必须考虑算法的复杂度, B选项错误。算法的复杂度是指该算法所需要的计算机资源的多少,即时间和空间的资源,分为时间复杂度和空间复杂度。算法控制结构在具体实现中影响程序执行时间,与算法复杂度无关, C选项错误。算法的时间复杂度是用算法所执行的基本运算次数来度量的,而不是算法中指令的条数, D选项错误。数据的存储结构与 算法的复杂度有关,会影响算法的效率。 A选项正确。 2 【正确答案】 B 【试题解析】 一个非空的
29、数据结构如果满足以下两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件,称为线性结构。不同时满足以上两个条件的数据结构就称为非线性结构。 B选项中,由 (2, 3)、 (4, 3)可知,结点 3有两个前件 2和 4,为非线性结构,故选择 B选项。 3 【正确答案】 A 【试题解析】 在树结构中,一个结点所拥有的后件个数称为该结点的度。对任何一棵二叉树,度为 0的结点 (即叶子结点 )总是比度为 2的结点多一个。二叉树中有150个结点,设叶子结点个数为 n0,度为 1的结点个数为 50,设度为 2的结点个数为 n2。 150=n0+50+n2且 n0=n2+1,则 n0=5
30、0 5, n2=49 5。由于结点个数必须是整数,所以不存在这样的二叉树,故选择 A选项。 4 【正确答案】 D 【试题解析】 循环队列是队列的一种顺序存储结构,用队尾指针 rear指向队列中的队尾元素,用排头指针 front指向排头元素的前一个位嚣。入队运算时,队尾指针进 1(即 rear+1),然后在 rear指针指向的位置插入新元素。当 front=rear=25时可知队列空或者队列满,此后又正常地插入了一个元素说明之前队列为空,所以插入操作之后队列里只有一一个元素。 D选项正确。 5 【正确答案】 D 【试题解析】 对长度为 n的线性表排序,下表为常用排序方法最坏情况的时间复杂度。 时
31、间复杂度低于 O(n2)的排序算法是堆排序, D选项正确。 6 【正确答案】 C 【试题解析】 软件测试有多种方法,根据软件是否需要被执行,可以分为静态测试和动态测试, A选项叙述错误。软件测试应在测试之前制定测试计划,并严格执行,排除测试随意性,并且需要设计正确的测试用例, B选项叙述错误。软件测试就是在软件投入运行之前,尽可能多地发现软件中的错误,改正错误是调试的过程, D选项叙述错误。软件测试是保证软件质量的重要手段, C选项正确。 7 【正确答案】 B 【试题解析】 结构化分析方法的常用工具有数据流程图 (DFD)、数据字典 (DD)、判定表、判定树。常用的过程设计建模工具如下 所述:
32、图形工具 (PFD图、 NS图、 PAD图、 HIPO)、表格工具 (判定表 )、语言工具 (PDL)。用例图 (USE_CASE图 )用于对系统、子系统或类的功能行为进行建模。网络工程图用于网络设备布线。属于软件设计建模工具的是程序流程图 (PFD图 ), B选项正确。 8 【正确答案】 C 【试题解析】 数据库 (DB)是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库管理系统 (DBMS)是数据库的机构,它是一个系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。数据库系统由如下几部分组成:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台,这些
33、构成了一个以数据库管理系统为核心的完整的运行实体。数据库系统(DBS)包括数据库 (DB)与数据库管理系统 (DBMS), C选项正确。 9 【正确答案】 B 【试题解析】 实体集之间通过联系来建立联接关系,可以分为三类:一对一联系(1: 1)、一对多联系 (1: m)、多对多联系 (m: n)。每个科室有多名医生,但每个医生只能在一个科室里,故实体科室和实体医生之间的联系是一对多, B选项正确。 10 【正确答案】 D 【试题 解析】 投影是指从关系模式中指定若干个属性组成新的关系。从关系中找出满足给定条件的元组的操作称为选择。这两种操作运算均是对单个关系进行,不是两个关系之间的运算, A、
34、 B选项错误。交: RnS结果是既属于 R又属于 S的记录组成的集合, RnS得到一个元组,按照属性 ABC的顺序是 c32, C选项错误。差: RS结果是属于 R但不属于 S的记录组成的集合, RS得到三个元组,按照属性 ABC的顺序是 a34、 b21、 e42, D选项正确。 11 【正确答案】 A 【试题解析】 根据题意,使用 If-Then-Else结构,正 确的表达方式为: Ifx =y Then z=x Else z=y,故 A选项表达错误, B、 C、 D均是上述表达的等价形式。 12 【正确答案】 C 【试题解析】 在计算机科学技术中,常用 “文件 ”这一术语来表示输入输出操
35、作的对象。所谓 “文件 ”,是指记录在外部介质上的数据的集合。所以 C选项叙述正确。 13 【正确答案】 C 【试题解析】 变量是一个名字,给变量命名时应遵循以下规则。 名字的第一个字符必须是英文字母,最后一个字符可以是类型说明符;故 A选项错误。 名字只能由字母、数字和下画线组成 ;选项中 B选项含有非法字符 “+”,故 B选项错误。 名字的有效字符为 255个。 不能用 Visual Basic的保留字作为变量,但可以把保留字嵌入变量名中。 Abs是系统的函数名 (求绝对值函数 Abs()为保留字,不能作为变量名。故 D选项错误。 所以 C选项正确。 14 【正确答案】 A 【试题解析】
36、string(n,字符串 ),第一个参数 n表示返回由 n个指定字符所组成的字符串,第二个参数可以是 ASCII码,也可以是字符串。当为 ASCII码时,返回由该 ASCII码所对应的 n个字符;当为字符串时,返回 由该字符串中第一个字符所组成的 n个相同字符的字符串。故 A选项正确。 15 【正确答案】 D 【试题解析】 打开顺序文件,可以使用 Open语句。它的格式如下。 Open pathname ForInput|Output|AppendAs#filenumberLen=buffersize 其中, Input表示从打开的文件中读取数据。以这种方式打开文件时,文件必须存在,否则会产生
37、错误。 Output表示向打开的文件中写入数据。以这种方式打开文件时,文件中原有的数据将被覆盖,新的数据将从文件开头 开始写入。如果文件不存在,则创建一个新文件。 Append表示向打开的文件中添加数据。以这种方式打开时,文件中原有的数据将被保留,新的数据将从文件末尾开始添加。如果文件不存在,则创建一个新文件。故 D选项正确。 16 【正确答案】 D 【试题解析】 一个工程可以有多个标准模块,也可以有多个窗体模块和类模块,所有模块都属于同一个工程,但每个模块又相对独立,用一个单独的文件保存,一个工程可以含有多个标准模块,但 Sub Main过程只能有一个,即通常所说的启动窗体,故 D选项叙述错
38、误。 17 【正确答案】 B 【试题解析】 字符串进行关系运算时,比较的依据是对应位置字符的 ASCII码值大小,若对应位置相同,则往后依次比较,数字字符的 ASCII码值小于大写字母的 ASCII码值,大写字母的 ASCII码值小于小写字母的 ASCII码值,故 B选项的结果为 False。 18 【正确答案】 C 【试题解析】 Rnd英文全称 Random,意随机数, Rnd函数可以产生随机小数,范围在 0, 1之间。取整函数 Int(x),英文全称为 Integer,返回不大于自变量 x的最大整数部分,表达式 Int(b-a)*Rnd+a)+1=Int(5*Rnd+5)+1,其中 5木
39、Rnd+5取值在 0+5, 5+5=5, 10之间, Int(5*Rnd+5)+1能产生 6, 10之间的随机整数,故C选项正确。 19 【正确答案】 A 【试题解析】 动态数组以变量作为下标值,在程序运行过程中完成定义,通常分为两步:首先在窗体层、标准模块或过程中用 Dim或 Public声明一个没有下标的数组 (括号不能省略 ),当使用 Dim定义数组时,如省略 “As类型名称 ”,则数组默认为 Variant:型。然后在过程中用 ReDim语句定义带下标的数 组,可以使用ReDim语句反复地改变数组的元素以及维数的数目,但是不能将一个数组定义为某种数据类型之后,再使用 ReDim将该数组
40、改为其他数据类型,除非是 Variant所包含的数组。故 A选项符合条件。 20 【正确答案】 A 【试题解析】 对一个数据文件进行读、写、修改或增加数据之前,必须先用Open语句打开或建立该文件。如果以 Input方式打开的文件不存在,则产生 “文件未找到 ”错误;如果为输出 ()utput)、附加 (Append)或随机 (Random)访问方式打开的文件不存在,则建立相应的文件; 故 A选项表述错误。在顺序文件中,每个记录可以具有不同的长度,不同记录中字段的长度也可以不一样,故 B选项叙述正确。用 Append方式打开一个文件后,文件指针指向文件的末尾,而如果用其他几种方式打开文件,则文
41、件指针都指向文件的开头,故 C选项叙述正确。打开随机文件后,用户既可以读文件也可以向文件中写入数据,故 D选项叙述正确,所以答案为 A选项。 21 【正确答案】 A 【试题解析】 窗体运行时,只能有一个控件是活动控件,故 A叙述正确,控件的缩放和移动,可以通过拖拉控件边框上的 8个黑色小方块来调整控件的大小 ,也可以通过属性窗口,改变控件的位置和大小,故 B、 C选项叙述均错误,程序运行时,在窗体上虽然不能对非活动控件进行操作,但是也不会对其进行隐藏,故D选项叙述错误,所以答案为 A选项。 22 【正确答案】 B 【试题解析】 style属性是组合框的一个重要属性,其取值为 0、 1、 2,它
42、决定了组合框 3种不同的类型。 Style属性被设置为 0时,组合框称为 “下拉式组合框 ”,可以输入文本或从下拉列表中选择表项。 Style属性被设置为 1时,组合框被称为 “简单组合框 ”,它由可输入文本的编辑区和一个标准列表框组 成。它识别 DblClick事件。 Style属性被设置为 2时,组合框被称为 “下拉式列表框 ”,可以通过下拉式箭头选择列表框中的项目。 所以答案为 B选项。 23 【正确答案】 A 【试题解析】 在文本框控件中, Locked属性用来指定文本框是否可以被编辑。当设置为 False(默认值 )时,可以编辑文本框的文本;当设置值为 True时,可以滚动和选择控件
43、中的文本,但不能编辑,故 A选项正确。 24 【正确答案】 A 【试题解析】 列表框和组合框都有 Text、 Style和 List属性,故 B、 C、 D选 项均正确。列表框中无 Change事件,但组合框中有 Change事件,故 A选项叙述错误。所以答案为 A选项。 25 【正确答案】 C 【试题解析】 FillStyle属性的设置值决定了形状控件内部的填充图案,可以取以下 8种值。 0-Solid(实心 ) 1-Transparent(透明 ) 2-Horizontal Line(水平线 ) 3-Vertical Line(垂直线 ) 4-Upward Diagonal(向上对角线 )
44、 5-Downward Diagonal(向下对角线 ) 6-Cross(交叉线 ) 7-Diagonal Cross(对角交叉线 ) 故 C选项正确。 26 【正确答案】 A 【试题解析】 窗体的 Name属性是用来定义对象的名称。 Form为系统的关键字,不可以用于设置为窗体的 Name属性,故 A选项错误。 27 【正确答案】 A 【试题解析】 图片框中的 AutoSize属性设置为 True时,图片框会根据装入的图形的大小调整其大小。但是,如果图形的大小超过图片框所在的窗体时,则只能显示部分图形,因为窗体本身无法自动调整大小。故 A选项错误。 28 【正确答案】 B 【试 题解析】 列
45、表框显示可滚动的数值列表,用户可以从中选择一个或多个选项。不能接受键盘输入,故 A选项错误。当组合框的 Style属性设置为 l时,此时的组合框称为 “简单组合框 ”(SimpleComboBox),它由可输入文本的编辑区和一个标准列表框组成,可以接受键盘输入,故 B选项正确。标签控件仅能用于显示文本,故 C选项错误。框架可以用来对其他控件进行分组,以便用户识别功能上的区分,故 D选项错误。所以答案为 B选项。 29 【正确答案】 C 【试题解析】 通用对话框所需要的 Action属性值和方法如下表所示。通 用对话框中的 Action属性为 3时或者使用 ShowColor方法,可将通用对话框
46、的类型设置为颜色对话框,通用对话框没有ShowColor属性只有 ShowColor方法。所以 C选项正确, A、 B、 D选项均错误。 30 【正确答案】 B 【试题解析】 在 Form_Load事件中,设置窗体的 KeyPreview属性为 True,表示窗体比其内部的其他控件优先获得键盘事件的激活权,故本题中,Form_KeyPress事件会优先于 text1_KeyPress事件而执行,所以第一次输出Form_KeyPress事 件执行的结果 “E”,然后再执行 Text1_KeyPress事件,输出结果 “D”,所以 B选项正确。 31 【正确答案】 A 【试题解析】 本题主要考核
47、Do循环控制结构。 Do语句块 Exit DoLoop Until循环条件表达式的使用方法,在 until结构中,当 Until后面的循环条件表达式的结果为 False时,执行循环,当为 True时,结束循环。整型变量 N默认的初始值为0,循环执行时,各变量的值如下表所示。所以 A选项正确。 32 【正确答案】 C 【试题解析】 本题考查二重 For循环的执 行情况,由题意可知,循环变量 I控制外层循环,循环变量 J控制内层循环,外层循环每执行一次时,内层循环都需要执行 3次 (因为 J的取值分别为 1、 2、 3),整型变量 N默认的初始值为 0,各循环变量及变量 s的值如下表所示。 所以
48、C选项正确。 33 【正确答案】 A 【试题解析】 本题的是使用 Do While循环计算斐波那契数列的各项问题,题目中要求,数列的第一项和第二向别是 0和 1,变量 a和变量 b,分别表示数列的前两项,所以变量 b应该赋值为 1,在 While循环条件中,当循环条件为真时,执行循环语句,否则结束循环。 故 A选项的修改是正确的。 34 【正确答案】 D 【试题解析】 Function过程和 Sub过程有一个很重要的区别, Function过程可以带返回值,而 Sub过程不可以。本题的 Command1_Click()过程中,使用 For循环结构调用函数过程 Fun,并将 Fun带回的计算结果
49、进行累加, Command1_Click()事件过程中 For循环共执行 3次,循环执行情况及各变量的值如下表所示。本题中 Fun函数过程中定义的变量 c是静态局部变量,可以保留上次程序执行后的结果,最后输出变量 s的值为 15,所以 D选项 正确。 35 【正确答案】 B 【试题解析】 本题考查利用 For循环给数组元素赋值,在事件过程中定义了两个整型数组, a和 p,第一个 For循环,给 a数组中的每个元素赋值,循环共执行 11次, a(O)=Oa(1)=la(2)=2a(10)=10 ;利用第二个 For循环给数组 p中的元素赋值,循环共执行了 3次,p(0)=a(0*(0+1)=a(0)=0p(1)=a(1*(1+1)=a(2)=2p(2)=a(2*(2+1)=a(6)=6;利用第三个 For循环对数组 p中的元素进行计算并将累加结果保存到变 量 k中,循环执行 3次, k=5+p(0)*2+p(1)*2+p(2)*2=5+4+12=21,故最终变量 K的值为