1、国家二级 VB机试(选择题)模拟试卷 139及答案与解析 一、选择题 1 下列叙述中正确的是 ( A)数据结构中的数据元素可以是另一种数据结构 ( B)数据结构中的数据元素只能是另一种线性结构 ( C)数据结构中的数据元素只能是另一种非线性结构 ( D)以上说法均不正确 2 设数据元素集合为 A, B, C, D, E, F,下列关系为线性结构的是 ( A) R= (D,F),(E,C),(B,C),(A,B),(C,F) ( B) R= (D,E),(E,A),(B,C),(A,B),(C,F) ( C) R= (A,B),(C,D),(B,A),(E,F),(F,A) ( D) R= (D
2、,E),(E,A),(B,C),(F,B),(C,F) 3 设栈的存储空间为 S(1:m),初始状态为 top=m+1。经过一系列入栈与退栈操作后, top=m。现又在栈中退出一个元素后,栈顶指针 top值为 ( A) m+1 ( B) 0 ( C) m-1 ( D)产生栈空错误 4 设循环队列存储空间为 Q(1:50)。初始状态为 front=rear=50。经过一系列入队和退队操作后, front=14, rear=19,则该循环队列中的元素个数为 ( A) 46 ( B) 45 ( C) 6 ( D) 5 5 设二叉树中共有 15个结点,其中的结点值互不相同。如果该二叉树的前序序列与中序
3、序列相同,则该二叉树的深度为 ( A) 15 ( B) 6 ( C) 4 ( D)不存在这样的二叉树 6 下列各组的排序方法中,最坏情况下比较次数相同的是 ( A)冒泡排序与快速排序 ( B)简单插入排序与希尔排序 ( C)堆排序与希尔排序 ( D)快速排序与希尔排序 7 单元测试主要涉及的文档是 ( A)编码和详细设计说明书 ( B)确 认测试计划 ( C)需求规格说明书 ( D)总体设计说明书 8 下列关于数据库系统的叙述中正确的是 ( A)数据库的数据项之间无联系,记录之间存在联系 ( B)数据库中只存在数据项之间的联系 ( C)数据库的数据项之间以及记录之间都存在联系 ( D)数据库的
4、数据项之间以及记录之间都不存在联系 9 设有三张表,客户(客户号,姓名,地址),产品(产品号,产品名,规格,进价),购买(客户号,产品号,价格),其中表客户和表产品的关键字(键或码)分别为客户号和产品号,则表购买的关键字为 ( A)客户号,产品号 ( B)客户号 ( C)产品号 ( D)客户号,产品号,价格 10 有关系 R如下: 则运输 A B D 2(R)的结果为 ( A) (b,e, 1,2) ( B) (c,c,11,4) ( C) (a,a,2,2) ( D)空 11 Visual Basic窗体设计器的主要功能是 ( )。 ( A)画图 ( B)编写源程序代码 ( C)建立用户界面
5、 ( D)显示文字 12 程序运行时,当用鼠标点击滚动条两端的箭头按钮时,不会产生的结果是( )。 ( A)改变 Value属性的值 ( B)激活 Scroll事件 ( C)激活 Change事件 ( D)滚动框移动 13 已知文本框 Text1中输入了一篇英文短文,并编写了如下程序段: Str_x = Text1.Text n = Len(Str_x) m = 0 t = 0 For i = 1 To n w = UCase(Mid(Str_x, i, 1) If w = “A“ And w 20 ( B) 5-10 Or x20 ( C) x= 5 And x 20 ( D) 5 To 1
6、0: x20 18 编写如下程序代码: Private Sub Command1_Click() s = “Visual Basic“ x = Left(s, 1) For i = 2 To Len(s) z = Mid(s, i, 1) If z x Then x = z Next i Print x End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( )。 ( A) a ( B) V ( C) s ( D) u 19 设 a、 b、 c为 整型变量,其值分别为 4、 5、 6。以下程序段的输出结果是 ( )。 a = b: b = c: c = a Print a;
7、 b; c ( A) 5 6 4 ( B) 4 5 6 ( C) 5 6 5 ( D) 6 5 4 20 Visual Basic数据类型中,占用内存最小的是 ( )。 ( A) Integer ( B) Boolean ( C) Single ( D) Byte 21 当复选框的 Value属性值为 1时,表示 ( ) ( A)该复选框不可用 ( B)该复选框不可见 ( C)没有选中该复选框 ( D)选中该复选框 22 在窗体上画一个名称为 List1的列表框和一个名称为 Text1的文本框,然后编写如下两个事件过程: Private Sub Form_Load() List1.AddIte
8、m “100“ List1.AddItem “200“ List1.AddItem “300“ List1.AddItem “400“ Text1.Text = “ End Sub Private Sub List1_DblClick() a = List1.Text Print a + Text1.Text End Sub 程序运行后,在文本框中输入 “500“,然后双击列表框中的 “400“,则输出结果为( )。 ( A) 400500 ( B) 500400 ( C) 900 ( D) 0 23 在窗体上画一个文本框(名称为 Text1)和一个标签(名称为 Label1),程序运行后,在
9、文本框中每输入一个字符,都会立即在标签中显示文本框中字符的个数。以下可以实现上述操作的事件过程是 ( )。 ( A) Private Sub Text1_Change() Label1.Caption = Str(Len(Text1.Text) End Sub ( B) Private Sub Text1_Click() Label1.Caption = Str(Len(Text1.Text) End Sub ( C) Private Sub Text1_Change() Label1.Caption = Text1.Text End Sub ( D) Private Sub Label1_C
10、hange() Label1.Caption = Str(Len(Text1.Text) End Sub 24 以下叙述中,错误的是 ( ) ( A)在设计阶段不能调整通用对话框控件的大小 ( B)当文本框失去焦点时,触发其 LostFocus事件 ( C)可以将计时器控件的 Enabled属性设置为 False,使其不能自动触发 Timer事件 ( D)如果文本框的 TabStop属性值为 False,则不能接收从键盘上输入的数据 25 以下关于图片框控件的说法中,正确的是 ( )。 ( A)清空图片框控件中图形的方法之一是将其 Picture属性的值设置为 Null ( B)可以通过调用图
11、片框的 Print方法在图片框中输出文本 ( C)为使图像能自动适应图片框的大小,应将图片框的 Stretch属性设置为 False ( D)用 cls方法可以清除图片框中装入的图片 26 当复选框控件被选中(即复选框控件内显示 “标记)时,其 Value属性的值为( ) ( A) 0 ( B) 1 ( C) True ( D) False 27 对于复选框来说, Value属性可以设置为 0、 1或 2。其中 1表示选中该复选框。故 B选项正确 ( A) Combo1.RemoveItem Combo1.ListCount-1 ( B) Combo1.RemoveItem Combo1.In
12、dex ( C) Combo1.RemoveItem 3 ( D) Combo1.RemoveItem Combo1.ListIndex 28 设有一名称为 txtName的文本框,则下列能使其具有输入焦点的语句是 ( ) ( A) Focus=True ( B) txtName.SetFocus=True ( C) txtName.SetFocus ( D) txtName=SetFocus 29 编写如下 程序代码: Private Sub Command1_Click() Const n = 5 Dim arrx(n) As Integer For i = 1 To 5 arrx(i)
13、= i * i Next i Call swap(arrx(), n) For i = 1 To n Print arrx(i); Next End Sub Public Sub swap(a() As Integer, k As Integer) For i = 1 To k / 2 t = a(i) a(i) = a(k - i + 1) a(k - i + 1) = t Next End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( )。 ( A) 1 4 9 4 1 ( B) 4 1 9 25 16 ( C) 1 4 9 16 25 ( D) 25 16 9 4
14、1 30 如果在过程 A中用语句: Call proc(a, b) 调用下面的过程 Private Sub proc(b As Integer, ByVal a As Integer) a = a + 1 b = b * 2 End Sub 则调用结束后的结果是 ( )。 ( A)过程 A中变量 b的值变为原有值的 2倍 ( B)过程 A中变量 a的值变为原有值的 2倍 ( C)过程 A中变量 a的值变为原有值的 2倍, b的值等于原有值加 1 ( D)过程 A中变量 b的值变为原有值的 2倍, a的值等于原有值加 1 31 以下 Case子句中错误的是 ( )。 ( A) Case Is 1
15、0 And Is 10 ( C) Case 0 To 10 ( D) Case 3, 5, Is 10 32 设在程序开始处有语句: Option Base 0,则下面定义的数组中正好有 12个元素的是 ( )。 ( A) Dim s%( 3 , 2 ) ( B) Dim a%( 12 ) ( C) Dim s%( 3 , 4 ) ( D) Dim a%( -6 To 6 ) 33 在窗体上画一个名称为 Command1的命令按钮和一个名称为 Text1的 文本框,然后编写以下程序代码: Private Sub sub1(ByRef d(), ByRef m1 As Integer) Dim
16、i As Integer m1 = d(LBound(d) For i = LBound(d) + 1 To UBound(d) If m1 B“表示选择 A、 B两个属性中不相同的元组, D=2表示选择属性 D中元素不小于 2的元组,关系 “表示选择两个条件同时成立的元组。满足条件的元组只有 (b e 1 2)。故选 A选项。 11 【正确答案】 C 【试题解 析】 Visual Basic窗体设计器简称窗体 (Form),是应用程序最终面向用户的窗口,它对应于应用程序的运行结果。各种图形、图像、数据等都是通过窗体或窗体中的控件显示出来的,在设计应用程序时,窗体就像是一块画布,在这块画布上可
17、以画出组成应用程序的各个构件。故 C选项正确。 12 【正确答案】 B 【试题解析】 对滚动条的操作一般就是移动,滚动条事件有 Scroll事件和Change事件,故选项 A、 C和 D均正确;本题正确答案为 B 13 【正确答案】 D 【试题解析】 在变量 Str_x中存 放文本框中输入的一篇英文短文,通过 Len函数获得短文的长度,并将其长度赋值给变量 n。在外层 For循环中,循环变量 i从 1开始到 n结束。表达式 Mid(Str_x, i, 1)依次截取字符串 Str_x中第 i个字符,然后通过大写转换函数 UCase转换成大写字母赋值给变量 w。紧接着判断变量 w中存放的字符是否为
18、英文字母,若是,则通过变量 t判断该字符是否为该单词的第一个字符,若是第一个字符,则计数器变量 m加 1。程序最终的功能是统计一篇英文短文中单词的个数,故选项 D正确。 14 【正确答案】 A 【试题解析】 首先程 序通过转换函数 Val将文本框中输入的字符转换为数值,即变量 x的值为 28。 For循环中,循环变量 k的初始值为 2,终止值为 14, if语句用来判断 x的值是否能被 k整除,若能被 k整除,则将该值作为字符串保存到字符串变量 ch中,也就是说通过 For循环结构,找出 2到 14之间能整除 28的数,结果为 2, 4, 7, 14。故选项 A正确。 15 【正确答案】 A
19、【试题解析】 程序开头位置定义了一个模块级变量 a和两个全局变量 b和 c,在默认情况下,模块级变量对该模块的所有过程都是可见的,但是对其他模块中的代码不可见;全局变 量的作用于最大,可以在工程的每个模块、每隔过程中使用。本题中,程序先执行 Form_Load()再执行 Form_Click() 函数。当程序加载时先为变量赋初值,在 Form_Load事件中,又定义了局部变量 a,局部变量的作用于仅限于本过程,出了过程就不复存在了。当局部变量和模块级变量同名,且作用域发生重叠,局部变量会 “屏蔽 “模块级变量,所以在 Form_Load过程中,给变量 a赋值为 5,此处的变量 a是局部变量,而
20、不是模块级变量; b和 c也分别赋了值,此时赋的值就是全局变量的值, b=8、 c=10。当单击窗体时,程序 执行Form_Click过程,也定义了一个局部变量 b, b的初始值为 0,与全局变量 b同名且作用域发生重叠,局部变量会 “屏蔽 “全局变量,也就是说在 Form_Click过程中,输出的变量 b是局部变量,而变量 a和变量 c都是全局变量,全局变量 a的值为其初始值 0,全局变量 c的值为 10,所以最终输出的结果为 0 0 10,故选项 A正确。 16 【正确答案】 B 【试题解析】 Command2_Click过程中用 Static定义的变量 b属于静态局部变量,只能在定义的过
21、程中被使用,在其它过程中无法使用和访问,故 B选 项正确。 17 【正确答案】 A 【试题解析】 在 Select Case语句中, Case表达式列表可以有 3中形式: 1)表达式 ,表达式 ; 2)表达式 To表达式; 3) Is关系运算表达式;在一个 Select Case语句中, 3种形式可以混用。故只有 A选项正确,选项 B、 C、 D均错误。 18 【正确答案】 D 【试题解析】 Left(s, 1)表示截取字符串 s中最左边 1个字符,即 x=“V“; Len 英文全称 Length,中文意长度。 Len(s)测量字符串长度,函数返回值为 12; For循环中, 循环变量 i初始
22、值为 2,终止值为 12,每执行一次循环通过表达式 “Mid(s, i, 1)“将字符串 s中的第 i个元素取出来赋值给变量 z,再通过 if语句判断 z与 x的大小,使变量 x始终保存较大的元素,也就是说程序的功能为:通过 For循环遍历整个字符串 z,找出其中最大的字母,最后输出。注意:字符的比较其实比较的是字符的 ASCII码,所以字符串 s中最大字符为 “u“,故 D选项正确。 19 【正确答案】 C 【试题解析】 Print方法可以输出多个变量的值,各变量用分隔符(逗号、分号或空格)隔开。初始时 a=4, b=5, c=6;执行 a=b后, a的值为 5;执行 b=c后,b的值为 6
23、;执行 c=a后, c的值为 5;使用 Print方法输出结果为 5; 6; 5;故 C选项正确。 20 【正确答案】 D 【试题解析】 在 Visual Basic中,整数 (Integer)占用 2个字节;布尔 (Boolean)占用 2个字节;单精度浮点型 (Single)占用 4个字节;字节 (Byte)占用 1个字节;故 D选项正确。 21 【正确答案】 D 【试题解析】 对于复选框来说, Value属性可以设置为 0、 1或 2。其中: 10:表示没有选择该 复选框; 1:表示选中该复选框; 2:表示该复选框被禁止 (灰色 )故 D选项正确。 22 【正确答案】 A 【试题解析】
24、当加载窗体时,首先执行 Form_Load();列表框的 Text属性表示最后一次选中的表项的文本,双击列表框中的 “400“,表示选中 “400“选项,则在List1_DblClick事件中 a=“400“,在文本框中输入 “500“,通过 “Print a + Text1.Text“输出 “400500“。语句中的 “+“为字符串连接符,作用是将两个字符串连接为一个新串。故本题 A选项正确。 23 【正确答案】 A 【试题解析】 要想实现题中所叙述的功能,必须使用 Text1的 Change事件,故首先可以排除 B、 D;选项 C,在标签中显示的是文本框中的内容而非字符个数。故选项 C错误
25、。在标签中显示文本框中字符的个数可以使用, Label1.Caption= Str(Len(Text1.Text)语句,其中: Len函数可以获取文本框 Text1中所输入字符的个数,然后通过 Str转换函数,将数字转换成字符赋值给 Label1的 Caption属性,故本题正确答案为 A。 24 【正确答案】 D 【试题 解析】 文本框中 TabStop属性用来设置用户是否可以使用 Tab键来选定对象,当文本框的 Locked属性值为 False,则不能接收从键盘上输入的数据,故D选项错误; A、 B、 C选项均正确。 25 【正确答案】 B 【试题解析】 将图片框 Picture属性的值设
26、置为 Null并不能清空图片框控件中的图形,故 A选项错误;图片框是 “容器 “控件,可以作为父控件,并且可以通过Print方法接收文本,故 B选项正确; Stretch属性用于图像框,用来自动调整图像框中图形内容的大小,而非图片框,故 C选项错误; Cls方 法可以清除窗体或图片框中的信息,并将光标移动到对象的左上角 (0,0)处,故 D选项错误。本题正确答案为 B。 26 【正确答案】 B 【试题解析】 对于复选框来说, Value属性可以设置为 0、 1或 2。其中 1表示选中该复选框。故 B选项正确 27 【正确答案】 A 【试题解析】 ListCount属性列出组合框中表项的数量。组
27、合框中表项的排列从0开始,最后一项的序号为 ListCount-1,所以使用表达式 “Combo1.RemoveItem Combo1.ListCount-1“可以从组合框中删 除最后一项,故 A选项正确。 28 【正确答案】 C 【试题解析】 SetFocus是文本框中较常使用的方法:格式为: 对象 .SetFocus,该方法可以把输入光标(焦点)移动到指定的文本框中。故 C选项正确。 29 【正确答案】 D 【试题解析】 Visual Basic允许把数组作为实参传送到过程中,当用数组作为过程的参数时,使用的是 “传地址 “方式。本题中首先在 Command1_Click过程中定义一个数组
28、,并通过 For循环给数组中的元素赋值, arrx(1)=1; arrx(2)=4;arrx(3)=9; arrx(4)=16; arrx(5)=25;在 swap过程中,形参是数组,通过 For循环将数组首尾元素交换。当 i=1时, t=a(1)=1, a(1)=a(5)=25, a(5)=t=1, a(1)与 a(5)交换成功;当 i=2时, t=a(2)=4, a(2)=a(4)=16; a(4)=t=4, a(2)与 a(4)交换成功。循环执行 2次结束,由于是按地址传递,主调过程 Command1_Click中数组元素的值即发生了交换,数组元素输出结果为: 25 16 9 4 1。故
29、 D选项正确。 30 【正确答案】 B 【试题解析】 用 Call语句调用 Sub过程。如果形参前面有关键字 ByVal,则该参数以传值方式传送。调用结束后,变量 a的值变为原有值的 2倍,变量 b的值不变。故本题正确答案为 B。 31 【正确答案】 A 【试题解析】 Case表达式列表可以有以下几种形式: 1)以逗号隔开的一组值。故 D选项正确。 2)以 To关键字表示的一个范围。故 C选项正确。 3) Is 关系运算表达式。当用关键字 Is定义条件时,只能是简单的条件,不能用逻辑运算符将两个或多个简单条件组合在一起,故 A选项错误, B选项正确。本题正确 答案为A。 32 【正确答案】 A
30、 【试题解析】 Option Base语句用来指定数组的下标的默认下界, Option Base 0表示数组的默认下标下界为 0, A选项中,数组有 4行 (0 3)、 3列 (0 2),共有43=12个元素; B选项中,数组共有 (0 12)共计 13个元素; C选项中,数组有 4行 (0 3)、 5列 (0 4),共有 45=20个元素; D选项中,数组有 (-6 6)共计 13个元素;故 A选项正确。 33 【正确答案】 D 【试题解析】 程序的主要功能为:找出数组中的最大值并输出。 首先,在程序中定义一个数组变量 data,然后通过 Array函数给数组整体赋值。 LBound函数返回
31、数组某一维的下界, UBound函数返回数组某一维的上界。在子程序 sub1中,通过 ByRef方式将数组的首地址及变量 n的地址分别传给形参数组 d和变量 m1,此时形参数组 d和变量 m1与实参数组 data和变量 n1共享相同的地址空间。在Command_Click过程中语句 “Call sub1(data( ), n1)“调用子过程 sub1,并传递参数。在子过程 sub1中, LBound(d)=0(数组下标的下界值 ), UBound(d) = 5;m1=d(LBound(d)=d(0)=10。程序进入 For循环, i从 1开始执行到 5结束,当 i=1时, d(1)=20, 1
32、020为真, m1=d(1)=20;当 i=2时, d(2)=-20, 20-20为假;当i=3时, d(3)=50, 2050为真, m1=d(3)=50;当 i=4时, d(4)=15, 5015为假;当i=5时, d(5)=-5, 50-5为假。整个程序运行结束,最终 m1的值为 50,也就是说n1的值为 50,程序返回后将 n1的值显示在文本框 Text1中,故选项 D正确。 34 【正确答案】 B 【试题解析】 Command1_Click过程中两次调用 fun函数,第一次调用时,将 10传递给形参 n,在 fun函数过程中定义了一个静态变量 i, i的初始值为 0,并且变量i的结果
33、可以保留。 fun函数中 For循环的功能是对 1到 n之间的值进行累加,循环执行 10次, t的值为 1+2+3+10=55 ,将累加值通过变量 t返回到主调过程Command1_Click中进行输出,结果为 55;主调过程 Command1_Click第二次调用函数 fun,将 5传递给形参 n,此时静态变量 i保留了上次程 序执行的结果 55,再循环执行 5次, t的值为 55+1+2+3+4+5=70,将累加结果通过变量 t返回到主调过程 Command1_Click中进行输出,结果为 70。故选项 B正确。 35 【正确答案】 A 【试题解析】 过程中的 “CD1.Action=1“
34、用来建立 Open对话框,它与语句“CD1.ShowOpen“等价,故 A选项正确, C选项错误; Filter属性用来指定在对话框中显示的文件类型,用该属性可以设置多个文件类型,供用户在对话框的 “文件类型 “的下拉列表中选择。 FilterIndex属性用来指定 默认的过滤器,其默认值为一整数。过程中的 “CD1.FilterIndex = 2“语句用来指定将第二个过滤器作为默认显示的过滤器,所以在出现的对话框中,显示的是所有扩展名为 .jpg的文件,故 B选项错误;执行以上代码,只能打开选中的文件内容,并不能读取内容,故 D选项错误。本题正确答案为 A。 36 【正确答案】 C 【试题解
35、析】 动态设置菜单项标记可以使用 Checked属性,该属性有 True和False两种取值,当 Checked属性为 True时,表示菜单项前面有 “标记;Checked属性为 False时,菜单项前面没有 “标记;只有 C选项能够在显示和消失两种状态之间来回切换,故 C选项正确。 37 【正确答案】 B 【试题解析】 KeyPress事件为键盘事件,故 B选项正确; A、 C、 D均与鼠标拖放操作有关,故均正确。 38 【正确答案】 A 【试题解析】 KeyDown事件有两个参数,即 KeyCode和 Shift。其中, KeyCode是按键实际的 ASCII码, “A“的 KeyCode是 65; Shift是转换键,它指的是 3个转换键的状态,包括 Shift、 Ctrl和 Alt,这 3个键分别以 二进制表示,每个键有 3位,即 Shift键为 001, Ctrl键为 010, Alt键为 100。当按下 Ctrl键时, Shift参数的值为 010(十进制数 2)。故 A选项正确。 39 【正确答案】 D 【试题解析】 随机文件既可以随机存取也可以顺序存取,故 D选项错误; A、B、 C叙述均正确。 40 【正确答案】 C 【试题解析】 一个工程中可以包含一个或多个窗体,也能包含多个标准模块,故C选项错误;其它选项叙述均正确。本题答案为 C。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1