1、国家二级 VB机试(选择题)模拟试卷 135及答案与解析 一、选择题 1 下列关于算法复杂度叙述正确的是 ( A)最坏情况下的时间复杂度一定高于平均情况的时间复杂度 ( B)时间复杂度与所用的计算工具无关 ( C)对同一个问题,采用不同的算法,则它们的时间复杂度是相同的 ( D)时间复杂度与采用的算法描述语言有关 2 设有栈 S和队列 Q,初始状态均为空。首先依次将 A,B,C,D,E,F入栈,然后从栈中退出三个元素依次入队,再将 X,Y,Z入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退 队元素的顺序为 ( A) DEFXYZABC ( B) DEFXYZABC ( C)
2、 FEDXYZCBA ( D) DEFZYXABC 3 下列叙述中正确的是 ( A)有两个指针域的链表称为二叉链表 ( B)循环链表是循环队列的链式存储结构 ( C)带链的栈有栈顶指针和栈底指针,因此又称为双重链表 ( D)结点中具有多个指针域的链表称为多重链表 4 某二叉树共有 845个结点,其中叶子结点有 45个,则度为 1的结点数为 ( A) 400 ( B) 754 ( C) 756 ( D)不确定 5 软件需求分析阶段的主 要任务是 ( A)确定软件开发方法 ( B)确定软件开发工具 ( C)确定软件开发计划 ( D)确定软件系统的功能 6 下面对软件测试描述错误的是 ( A)严格执
3、行测试计划,排除测试的随意性 ( B)随机地选取测试数据 ( C)随机地选取测试数据 ( D)软件测试是保证软件质量的重要手段 7 结构化程序的三种基本控制结构是 ( A)顺序、选择和重复(循环) ( B)过程、子程序和分程序 ( C)顺序、选择和调用 ( D)调用、返回和转移 8 数据库中对概念模式内容进行说明的语言是 ( A)数据定 义语言 ( B)数据操纵语言 ( C)数据控制语言 ( D)数据宿主型语言 9 某个工厂有若干个仓库,每个仓库存放有不同的零件,相同零件可能放在不同的仓库中。则实体仓库和零件间的联系是 ( A)多对多 ( B)一对多 ( C)多对一 ( D)一对一 10 有三
4、个关系 R、 S和 T如下:则由关系 R和 S得到关系T的操作是 ( A)交 ( B)差 ( C)并 ( D)选择 11 表达式 5 * Sqr(25) + Sgn(4 4) 的值是 ( A) 29 ( B) 25 ( C) 26 ( D) 36 12 无论 X取何值,均能成立的表达式是 ( A) Int(X) = Abs(X) ( B) Int(X) = Abs(X) ( C) Int(X) Abs(X) 13 要求在窗体中定义一个变量 x,在本窗体所有过程中都可以访问它,而在其他模块中不能访问,则该变量的定义是 ( A)在本窗体的某个过程中写语句: Dim x ( B)在本窗体所有过程之前
5、写语句: Dim x ( C)在本窗体所有过程之前写语句: Public x ( D)在本窗体的所有过程中写语句: Dim x 14 以下叙述中错误的是 ( A)对象具有属性、方法等成员 ( B)对象可以识别预先定义的事件 ( C)一个对象中包含数据及其对这些数据的相关操作 ( D)对象的属性值一经初始化,则不能再改变 15 以下叙述中正确的是 ( A)影响窗体上某个文本框的 Tab顺序的属性是 TabStop ( B)语句 Me.Text = “Visual Basic“用于设置当前窗口的标题信息 ( C)用于获取文本框中当前被选中文本的属性为 SelText ( D)要获取水平滚动条中当前
6、滚动块的位置应使用其 Position属性 16 下面关于组合框 Cb1的叙述中正确的是 ( A)程序运行时,列表项可以多选 ( B)鼠标单击一个列表项后, Cb1.Text 的值等于 Cb1.List(Cb1.ListIndex)的值 ( C)利用 Selected属性可以判断哪个列表项被选中了 ( D)组合框不响应 Change事件 17 下面关于组合框 Cb1的叙述中正确的是 ( A)程序运行时,列表项可以多选 ( B)鼠标单击一个列表项后, Cb1.Text 的值等于 Cb1.List(Cb1.ListIndex)的值 ( C)利用 Selected属性可以判断哪个列表项被选中了 (
7、D)组合框不响应 Change事件 18 在列表框或组合框中,能够表示当前被选中列表项序号的是 ( A) ListIndex ( B) Index ( C) TopIndex ( D) List 19 要在程序运行过程中把 Command1按钮的标题修改为 “按钮 “,正确的做法是 ( A)在属性窗口中把 Command1按钮的 Caption属性改为 “按钮 “ ( B)在程序中执行语句: Command1.Caption = “按钮 “ ( C)在属性窗口中把 Command1按 钮的 Text属性改为 “按钮 “ ( D)在程序中执行语句: Command1.Text = “按钮 “ 2
8、0 文件列表框中用于设置或返回所选文件路径和文件名的属性是 ( A) File ( B) FilePath ( C) Path ( D) FileName 21 在窗体上画 2个名称分别为 Text1和 Text2的文本框,然后编写如下事件过程: Private Sub Form_Load() Show Text1.Text = “ABCDEF“ Text2.SetFocus End Sub Private Sub Text1_GotFocus() Text1.SelStart = 2 Text1.SelLength = 3 End Sub 运行程序,单击 Text1,该文本框中的内容为 (
9、A)显示 ABCDEF,且 BCD被选中 ( B)显示 ABCDEF,且 CDE被选中 ( C)显示 BCD ( D)显示 CDE 22 下面关于框架控件的叙述中正确的是 ( A)框架响应 Click事件 ( B)框架可以接受焦点 ( C)框架的标题是字符串,放在 Text属性中 ( D)可以在框架中输 入文本 23 通过语句 X = InputBox(“输入数据 “, “示例 “, “0“)对变体类型的变量 X输入数据,程序运行后,如果在对话框的输入区中输入数值 100并按回车键,则下列叙述中正确的是 ( A)变量 X的值是字符串 “0“ ( B)在 InputBox对话框标题栏中显示的是
10、“输入数据 “ ( C)输入对话框的输入区中的初始默认值为数值 0 ( D)变量 X的值是字符串 “100“ 24 下面说法中错误的是 ( A)使用 ReDim语句可以改变数组的维数 ( B)使用 ReDim语句可以改变数组的类型 ( C) 使用 ReDim语句可以改变数组的每一维的大小 ( D) ReDim语句可以使原数组中的内容被清除 25 若程序中有语句: y = proc(6),则 proc 应该是 ( A)一个 Function过程的名称 ( B)一个 Sub过程的名称 ( C)一个事件过程的名称 ( D)既可能是一个 Function过程的名称,也可能是一个 Sub过程的名称 26
11、 下列说法中正确的是 ( A)任何情况下都可以用标准工具栏的 “菜单编辑器 “按钮打开菜单编辑器 ( B)任何情况下都可以用标准工具栏的 “菜单编辑器 “按钮打开菜单编辑 器 ( C)任何情况下都可以用 “工具 “菜单中的 “菜单编辑器 “命令打开菜单编辑器 ( D)只有当某个窗体为当前活动窗体时,才能打开菜单编辑器 27 下面关于菜单的叙述中正确的是 ( A)弹出式菜单和下拉式菜单都可用菜单编辑器编辑 ( B)弹出式菜单不能有子菜单 ( C)菜单项可以响应 Click事件和 DblClick事件 ( D)有子菜单的菜单项不响应 Click事件 28 为了向 c盘根目录下的 Stud.txt文
12、件中添加数据而不破坏其原有数据,下列正确打开该文件的语句是 ( A) Open “c:Stud.txt“ For Output As #1 ( B) Open “c:Stud.txt“ For Append As #1 ( C) Open c:Stud.txt For Output As #1 ( D) Open c:Stud.txt For Append As #1 29 如果希望向一个顺序文件写入数据,但又要保留文件中的原有内容,应采取的文件打开方式是 ( A) Append ( B) Output ( C) Random ( D) Input 30 设有如下事件过程: Private S
13、ub Command1_Click() ch = “ABCDEFG“ n = Len(ch) k = 1 Do Print Mid(ch, k, 1); Mid(ch, n, 1); k = k + 1 n = n - 1 Loop Until k n End Sub 运行此过程所产生的输出是 ( A) AGBFCEDD ( B) AGBFCED ( C) GFEDCBA ( D) GAFBECD 31 为了计算下面的分段函数 (其中 x为整数 ) 某人编写了如下函数 Function fun(x As Integer)As IntegerDim y As IntegerSelect Case
14、 xCase x ( A)把 case x = 6 32 有如下事件过程: Private Sub Form_Click() Dim a As Long, b As Long Dim sum As Long Dim x As Integer a = 1 b = 1 For x = 1 To 11 Step 2 a = b * x _ s = s + a sum = sum + s Next x Print sum End Sub 以上程序的功能是,计算 1!+(1!+3!)+(1!+3!+5!)+(1!+3!+5!+11!) 的值并输出。程序不完整,在 _处应填入的内容是 ( A) b = a
15、 * (x + 1) ( B) a = a * (x - 1) ( C) a = a * (x + 1) ( D) b = a * x 33 下面程序的功能是找出这样一个三位整数:它等于每位数字的阶乘之和,例如145就是这样的数(即 145 = 1! + 4! + 5!) Private Sub Command1_Click() Dim x As Integer, i As Integer, j As Integer, k As Integer For i = 1 To 9 For j = 0 To 9 For k = 0 To 9 a = _ If a = fact(i) + fact(j)
16、 + fact(k) Then Print a End If Next k Next j Next i End Sub Function fact(n As Integer) As Long Dim x As Long x = 1 For k = 1 To n x = x * k Next k fact = x End Function 程序不完整,在横线上应填写的是 ( A) i * 100 + j * 10 + k ( B) i * 1000 + j * 100 + k * 10 ( C) i * 10 + j * 10 + k * 10 ( D) fact(0) + fact(1) +
17、fact(9) 34 有如下通用过程: Private Sub St(ByVal strX As String, strY As String) Dim Ts As String i = Len(strX) Do While i = 1 Ts = Ts + Mid(strX, i, 1) i = i - 1 Loop strY = Ts End Sub 在窗体上画一个命令按钮,其名称为 Command1,然后编写如下事件过程: Private Sub Command1_Click() Dim s1 As String, s2 As String s1 = “abcd“ Call St(s1,
18、s2) Print s2 End Sub 程序运行后,单击命令按 钮,输出结果是 ( A) abcd ( B) dabc ( C) dcba ( D) abdc 35 在窗体上画一个名称为 Command1的命令按钮,然后编写如下程序代码: Dim x As Integer Private Sub MySub() Static x As Integer Dim y As Integer x = x + 10 y = y + 10 Print “x=“; x; “y=“; y; End Sub Private Sub Form_Load() x = 50 End Sub Private Sub
19、Command1_Click() Call MySub MySub Print “x=“; x End Sub 程序运行时,单击 Command1,则在窗体上输出的结果是 ( A) x=10 y=10 x=60 y=10 x=60 ( B) x=60 y=10 x=70 y=10 x=70 ( C) x=60 y=10 x=70 y=10 x=50 ( D) x=10 y=10 x=20 y=10 x=50 36 在窗体上画个文 本框(名称分别为 Text1和 Text2),一个命令按钮(名称为Command1)。并定义以下记录类型和变量: Private Type Teacher ID As
20、 Integer Name As String * 10 End Type Dim Teach As Teacher 程序运行后,在 Text1中输入编号( ID),在 Text2中输入姓名( Name),然后单击命令按钮,则把两个文本框中的内容写入随机文件 d:f1.txt。以下能够正确实现上述功能的事件过程是 ( A) Private Sub Command1_Click() Open “d:f1.txt“ For Random As #1 Len = Len(Teach) Teach.ID = Val(Text1.Text) Teach.Name = Text2.Text Put #1,
21、 1, Teach Close #1 End Sub ( B) Private Sub Command1_Click() Open “d:f1.txt“ For Random As #1 Len = Len(Teach) Teach.ID = Val(Text1.Text) Teach.Name = Text2.Text Put #1, Teach.ID, Teach.Name Close #1 End Sub ( C) Private Sub Command1_Click() Open “d:f1.txt“ For Random As #1 Len = Len(Teach) Teach.ID
22、 = Val(Text1.Text) Teach.Name = Text2.Text Write #1, 1, Teach Close #1 End Sub ( D) Private Sub Command1_Click() Open “d:f1.txt“ For Random As #1 Len = Len(Teach) Teach.ID = Val(Text1.Text) Teach.Name = Text2.Text Write #1, Teach.ID, Teach.Name Close #1 End Sub 37 在窗体上画 2个名称分别为 Label1和 Label2的标签,然后编
23、写如下程序代码: Sub S(L As Label, ByVal a As Integer) L.Caption = “1234“ a = a * a End Sub Private Sub Form_Load() Label1.Caption = “ABCD“ Label2.Caption = 10 End Sub Private Sub Form_Click() Dim a As Integer a = Val(Label2.Caption) S Label1, a Label2.Caption = a End Sub 运行程序,单击窗体,在两个标签中显示的内容分别是 ( A) ABCD和
24、 10 ( B) 1234和 100 ( C) ABCD和 100 ( D) ABCD和 100 38 在窗体上画一个名称为 Command1的命令按钮,一个名称为 Text1的文本框数组(含个文本框,下标从开始),然后编写如下事件过程: Private Sub Command1_Click() Dim i As Integer, n As Integer For Each TextBox In Text1 Text1(i) = Text1(i).Index n = 10 * (n + Val(Text1(i).Text) i = i + 1 Next Print n End Sub 运行程序
25、,单击命令按钮 Command1,则在窗体上的输出结果是 ( A) 0123 ( B) 123 ( C) 1234 ( D) 1230 39 有如下通用过程: Function Fs(ByVal n As Long) As Long Dim k As Long k = 1 n = Abs(n) Do While n k = k * (n Mod 10) n = n 10 Loop Fs = k End Function 编写如下事件过程: Private Sub Form_Click() Dim a As Long Dim b As Long a = InputBox(“请输入一个数 “) a
26、 = CLng(A) b = Fs(A) Print b End Sub 程序运行后,单击窗体,在输 入对话框中输入 567,输出结果为 ( A) 56 ( B) 67 ( C) 210 ( D) 18 40 在窗体上画一个名称为 Command1的命令按钮,然后编写如下事件过程: Option Base 1 Private Sub Command1_Click() Dim a(3, 3) As Integer Dim i As Integer, j As Integer, s As Integer s = 0 For i = LBound(a, 1) To UBound(a, 1) For
27、j = LBound(a, 2) To UBound(a, 2) a(i, j) = (i - 1) * 3 + j If i = j Then s = s + a(i, j) End If Next j, i Print s End Sub 程序运行时,单击 Command1,则在窗体上输出的结果是 ( A) 15 ( B) 26 ( C) 34 ( D) 19 国家二级 VB机试(选择题)模拟试卷 135答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 算法的时间复杂度是指执行算法所需要的计算工作量,它与使用的计算机、程序设计语言以及算法实现过程中的许多细节无关, B选项正确,
28、D选项错误。最坏情况下的时间复杂度可以与平均情况的时间复杂度相同, A选项错误。不同的算法时间复杂度一般不相同, C选项错误。 2 【正确答案】 B 【试题解析】 栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。队列是指允许在一端进行插入,而在另一端进行删除的线性表。将A,B,C,D,E,F入栈后,栈中元 素为 ABCDEF,退出三个元素入队,队列元素为FED,将 X,Y,Z入栈后栈中元素为 ABCXYZ,全部入队后,队列元素为FEDZYXCBA,故 B选项正确。 3 【正确答案】 D 【试题解析】 双向链表与二叉链表均是有两个指针域的链表, A选项错误。在单链表的第一个结点前
29、增加一个表头结点,队头指针指向表头结点,最后一个结点的指针域的值由 NULL改为指向表头结点,这样的链表称为循环链表。循环队列是队列的一种顺序存储结构。循环链表与循环队列是两种存储结构, B选项错误。双向链表结点有两个指针域,指向前一个结点 的指针和指向后一个结点的指针,而带链的栈是单链表形式, C选项错误。故正确答案为 D选项。 4 【正确答案】 C 【试题解析】 在树结构中,一个结点所拥有的后件个数称为该结点的度,所有结点中最大的度称为树的度。对任何一棵二叉树,度为 0的结点(即叶子结点)总是比度为 2的结点多一个。二叉树共有 845个结点,度为 0的结点有 45个,度为1的结点数为 n1
30、, 度为 2的结点数为 n2,则 845=45+n1+n2,且 45= n2+1,则n1=756, C选项正确。 5 【正确答案】 D 【试题解析】 需求分析阶 段的工作可以分为个方面:需求获取、需求分析、编写需求规格说明书和需求评审,包括确定软件系统的功能, D选项正确。 A、 B、C选项均为开发阶段工作。 6 【正确答案】 B 【试题解析】 在测试之前制定测试计划,并严格执行,测试用例的选择不可随意,应选择有代表性的,尽可能发现迄今为止尚未发现的错误, A选项叙述正确, B选项叙述错误。测试根本目的是尽可能多地发现并排除软件中隐藏的错误, C选项叙述正确。软件测试是保证软件质量、可靠性的关
31、键步骤, D选项叙述正确。故正确答案为 B选项。 7 【正确答案】 A 【试题解析】 结构化程序的三种基本控制结构:顺序、选择和重复,故 A选项正确。 8 【正确答案】 A 【试题解析】 数据库管理系统为完成主要功能提供了相应的数据语言,它们是:数据定义语言,该语言负责数据的模式定义与数据的物理存取构建;数据操纵语言,该语言负责数据的操纵,包括查询与增、删、改等操作;数据控制语言,该语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。故A选项正确。 9 【正确答案】 A 【试题解析】 一般来说,实体集之间必须通过联系来建立联接关系,分为三类 :一对一联系( 1:1)、一对多联系
32、( 1:m)、多对多联系( m:n)。每个仓库存放有不同的零件,相同零件可能放在不同的仓库中,故实体仓库和零件间的联系是多对多, A选项正确。 10 【正确答案】 A 【试题解析】 用于查询的 3个操作无法用传统的集合运算表示,引入的运算为投影运算、选择运算、笛卡尔积。常用的扩充运算有交、除、连接及自然连接等。选择,从关系中找出满足给定条件的元组的操作称为选择,题目中无给定条件,故 D选项错误。差: R-S结果是属于 R但不属于 S的记录组成的集合, T中元组“c 3 2“同时属于 R和 S, B选项错误。并: R S是将 S中的记录追加到 R后面,T中元组少于 R,故 C选项错误。交: RS
33、结果是既属于 R又属于 S的记录组成的集合,与题目中结果相符,故 A选项正确。 11 【正确答案】 C 【试题解析】 Sgn(x)英文全称 Sign(x),是符号函数,即求变量 x的符号。注意其与变量 x的大小无关,仅与变量正负有关。 x为正数,返回 1; x为负数,返回 -1; x为 0,返回 0。运算符 在 VB中是乘方运算, 44等于 256,为正数,故Sgn(44)=1。 Sqr( X)是平方根函数,返回值为自变量的平方根, Sqr(25)等于5, 5*Sqr( 25)等于 25,故最后结果为 26,正确答案为选项 C。 12 【正确答案】 C 【试题解析】 Int(X)返回不大于 X
34、的最大整数; Abs(X)返回自变量 X的绝对值,无论 X是正数、 0还是负数,其 Int(X)一定小于等于其绝对值,故正确答案为选项 C。 13 【正确答案】 B 【试题解析】 选项 A,在本窗体的某个过程中写语句: Dim x,仅能在本窗体本过程中访问。选项 C,在本窗体所有过程之前写语句: public x,则在其他模块中均可访问。选项 D,在本窗体的所 有过程中写语句: Dim x,则为局部变量,仅能在本过程中访问它。故正确答案为 B选项。 14 【正确答案】 D 【试题解析】 Visual Basic应用程序可以以解释方式和生成可执行文件方式执行,故正确答案为选项 D。 15 【正确
35、答案】 D 【试题解析】 对象是具有特殊属性(数据)和行为方式(方法)的实体,既包含数据,又包含数据的操作方法,选项 A、 C正确;系统设计好的对象称为预定义对象,这些对象可以直接拿来使用, B选项正确;在 VB中,可以通过属性窗口和程序代码两种方式设置对象属性,属性窗 口设置方式在程序运行后不能通过属性窗口改变属性值,但是程序代码设置方式可以灵活地在程序运行期间改变对象的属性值。故正确答案为选项 D。 16 【正确答案】 C 【试题解析】 影响窗体上某个文本框的 Tab顺序的属性是 TabIndex, TabStop 属性指定是否能使用 Tab键将焦点移到控件上,故 A选项错误;控件名 .T
36、ext用来设置文本框中显示的内容,标签名 .Caption用来显示在标签标题中显示的文本,故 B选项错误;获取滚动条中当前滚动的位置应使用 Value属性,故 D选项错误。本题正确答案为 C选项。 17 【正确答案】 B 【试题解析】 在程序运行时,列表项只能单选,不能多选。故选项 A错误;无法利用 Selected属性来判断哪个列表项被选中了,组合框可以响应 Change事件。故选项 C和 D均错误;本题正确答案为 B。不同窗体中的控件可以完全一样,一个窗体可以访问其他窗体控件中的数据。故选项 D错误;本题正确答案为 B。 18 【正确答案】 A 【试题解析】 列表框或组合框中, ListI
37、ndex属性用于设置或返回当前被选择项目的索引号; List属性用来列出或设置列表项的内容。故正确答案为选项 A。 19 【正确答案】 B 【试题解析】 Caption:用来设置显示在按钮上的标题,在程序运行过程中修改按钮的标题应该使用, Command1.Caption = “按钮 “。故本题正确答案为 B。 20 【正确答案】 D 【试题解析】 Path属性返回要显示的文件所在的路径,其默认值为系统的当前工作路径; FileName属性主要用于返回在文件列表框中被选定文件的文件名。故正确答案为选项 D。 21 【正确答案】 B 【试题解析】 Form_Load方法即在 Form窗体加载时,
38、 Text1.Text的值被赋值为“ABCDEF“, Text2.SetFocus将光标定于文本框 Text2。 Text1_GotFocus方法即在Text1获得焦点时, Text1.SelStart = 2从本文框起始位置为 2,即 C的位置,Text1.SelLength = 3设置选中长度为 3。故正确答案为选项 B。 22 【正确答案】 A 【试题解析】 Frame控件中不能接收焦点,选项 B错误; Caption属性用来设置框架的标题文本,选项 C错误;框架控件是一个容器控件,可以在其上放置其他控件对象,但不能输入 文本,选项 D错误。故正确答案为选项 A。 23 【正确答案】 D
39、 【试题解析】 InputBox函数的格式为 InputBox (“提示文本 “, “对话框标题“, “默认值 “),输入数值 100,变量 X的值为字符串 “100“,标题栏中显示的是“示例 “,初始默认值为字符串 “0“,可见,选项 A、 B、 C错误,故正确答案为选项 D。 24 【正确答案】 B 【试题解析】 ReDim语句不能改变动态数组的数据类型,除非动态数组被声明为 Variant类型,故正确答案为选项 B。 25 【正确答案】 A 【试题解析】 VB中 Function过程才有返回值, Sub过程没有返回值,故正确答案为选项 A。 26 【正确答案】 D 【试题解析】 VB中菜
40、单编辑器是用来设计 VB应用程序中的菜单的,它可以在编程量很小的情况下完成交互式菜单的快速自定义和建立菜单,菜单即窗体,因此,只有当某个窗体为当前活动窗体时,才能打开菜单编辑器。选项 A、 B、 C错误,正确答案为选项 D。 27 【正确答案】 A 【试题解析】 弹出式菜单也可以有子菜单,选项 B错误;每一个菜单包括主菜单和子菜单都相当于一个命令按钮, 单击菜单项即触发该菜单项的 Click事件过程,选项 C、 D错误。故正确答案为选项 A。 28 【正确答案】 B 【试题解析】 文件打开格式为 Open 文件说明 For 方式 Access 存取类型 锁定 As # 文件号 Len = 记录
41、长度 。其中,输入输出方式中 Output指定文件顺序输出方式, Append方式指定文件顺序输出方式,并向文件的尾部追加写入数据。故本题正确答案为 B选项。 29 【正确答案】 A 【试题解析】 Input、 Output和 Append用于设置顺序 文件的打开方式, Input表示从打开的文件中读取数据; Output表示向打开的文件中写入数据,文件中原有的数据被覆盖; Append向打开的文件中添加数据,但文件中原有的数据被保留,新的数据以文件为开始进行添加。故正确答案为选项 A。 30 【正确答案】 A 【试题解析】 函数 Len(ch)返回字符串 ch的长度, Len( ch)= 7
42、;函数 Mid()表示向后截取一个字符,题目中 k=1,并且每次递增 1,所以 Mid(ch, k, 1)表示从ch字符串的第 1个字符开始,每次向后截取 1个字符; n= Len( ch)=7,并且 n每次递减 1,所以 Mid(ch, n, 1)表示从最后 1个字符开始,每次截取字符串 ch的 1个字符;直到判断条件 kn成立。故正确答案为选项 A。 31 【正确答案】 A 【试题解析】 多分支选择结构语句中,表达式列表中表达式的结构可以是值的形式,也可以是表达式 To的形式,还可以是 Is 关系运算表达式的形式,故正确答案为选项 A。 32 【正确答案】 A 【试题解析】 最简单的方法,
43、直接代入一些数字,如 x=1时, A: b=2a; B:a=0; C: a=2a; D: b=a; 再代入程序中,知 B选项不符合题意。当循环体执行了两次,即当 x=3时,再分别将 A、 C、 D的答案代入程序中,知 C和 D选项错误;另一种方法是,本程序的主要由累加和累乘两种运算结合在一起,分析内容,可知, a=b*x,实现的是记录单个数值,如 :1!、 3!、 5!、 7!等,空格处的功能,是要保存下一次阶乘的值,如7!等价于 a=b!*7, b的值应该是 b=a*( 7+1);故本题正确答案为 A。 33 【正确答案】 A 【试题解析】 本题中 fact()过程表示求得 n的阶乘,即 n
44、!;程序中, i、 j、 k分别表示该整数的百、十、个位上的数, 旨在使得 100 * i + 10 * j + k = i! + j! + k!。故正确答案为选项 A。 34 【正确答案】 C 【试题解析】 求字符串长函数 Len(s),英文全称: Length,返回字符串 s的长度,即所包含的字符的个数。 Do WhileLoop ,当程序开始执行时,先计算循环 “条件 “值,当条件为假时结束循环,否则执行循环体。字符串截取函数Mid$(s,n1,n2),从 s第 n1个字符开始,向后截取 n2个字符。 St过程中 strX前有ByVal,是按值传递,即 s1将值传给形参 strX; st
45、rY是按地址传递, s2把地址传给了形参 strY, strX的变化不引起 s1的变化,但 strY的变化却能改变 s2。程序开始执行时,先将字符变量 s1的值按值传递的方式传给了过程 St,i=Len(strX)=Len(s1)=4;执行 do while循环,循环条件 4=1为真,执行循环体,Mid(strX,4,1)=d, Ts = Ts + d = d, i=3;循环条件 3=1为真,执行循环体,Mid(strX,3,1)=c,Ts = Ts+d = dc, i=2;如此循环,知最后 strY=dcba,因 strY与 s2是按地 址传递的方式,故 strY值的变化也会引起 s2值的变
46、化,所以s2=strY=dcba;本题正确答案为 C。 35 【正确答案】 D 【试题解析】 dim定义的变量称为 “自动变量 “,当引用 Dim定义变量时,变量值会被重新设置(数值变量重新设置为 0,字符串变量被设置为空)。也就是说,下次再使用此变量,其值为初始值;而 static定义变量,每次引用该静态变量后,其值会继续保留,作为下一次引用时该变量的初始值。程序先定义了模块变量 x为整型,位置在事件之外;当程序开始运行时,首先加载窗体,得 x=50,然后监听命 令按钮事件,当用户点击了命令按钮,程序 Call MySub过程,会用 Call语句调用 Sub过程 MySub。在 MySub过
47、程中,定义了局部变量 y,和静态变量 x,位于过程内部, x=x+10=10, y=y+10=10,接着打印 x=10 y=10。注意,本过程执行完后,局部变量 y的值会被重新设置为 0,而 Static定义的变量 x,其值为 10;程序继续执行 MySub,第二次调用 MySub过程, x=x+10=10+10=20,y=y+10=0+10=10,接着打印 x=20 y=10;程序最后打印 x的值,用 static所定 义的变量 x,在过程内,其作用域范围被限定 ,其不会改变模块变量 x的值。故打印出来的结果是 x=50,也就是加载窗体后,对变量 x进行初始化后的值。故本题正确答案为 D。
48、36 【正确答案】 A 【试题解析】 向顺序文件写操作格式: Write#文件号,表达式,题目要求为随机文件,故选项 C和 D均错误;向随机文件写操作格式: Put #文件名, 记录号 ,变量,选项 B是将 Text2中输入姓名写入到随机文件中,而不是将两个文本框的内容写入,故选项 B错误。本题正确答案为 A。 37 【正确答案】 D 【试题解 析】 本题中 Label2.Caption的值 a为 ByVal按值传递,当过程调用结束后,参数所占用的存储空间也同时被释放, a的值不变,但是 Label1.Caption的传递方式为默认传递方式( ByRef),对形参的改变会影响实参,即Label
49、1.Caption会被修改为 “1234“。故正确答案为选项 D。 38 【正确答案】 D 【试题解析】 控件数组是指由一组相同类型的控件组成。数组中的每一个控件都有唯一的索引号( Index)。分析该程序,在 For EachNext 结构中,语句“Text1(i)=Text(i).Index“,实际上是将每个索引( Index)的值赋予每个控件元素的 Text值。第一次执行时, n=0, Text1(0) = Text(0).Index,n=10*(0+Val(Text1(0).Text)=10*(0+0)=0, i=2。第二次执行时, Text1(1) = Text(1).Index, n=10*(0+Val(Text1(1).Text)=10*(0+1)=10, i=3。第三次执行时,Text1(2) = Text(2).Index, n=10*(10+Val(Text1(2).Text)=10*(10+2)=120, i=4。第四次执行时, Text1(3) = Text(3).Index,n=10*(120+Val(Text1(3).Text)=10*(120+3)=1230, i=5。循环结束。故最后