1、国家二级( VB)机试模拟试卷 32及答案与解析 一、选择题 1 以下可以作为 “容器 “的控件是 ( A)框架 ( B)图像框 ( C)标签 ( D)命令按钮 2 判断单选按钮是否被选中的属性为 ( A) Selected ( B) Checked ( C) Value ( D) Index 3 对于某些控件,只要将其 Style属性设置为 1,则可以在该控件上使用 Picture属性显示图片。以下不具备这一使用规则的控件是 ( A)命令按钮 ( B)单选按钮 ( C)复选按钮 ( D)框架 4 编写如下程序 : Private Sub Command1_Click() Dim x As S
2、tring, y As String x = Right(“abcd“, 2) y = Mid(“dcba“, 2, 3) If x y Then Print x + y Else Print y + x End If End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( A) cdcba ( B) cbacd ( C) cbacd ( D) cbcd 5 编写如下程序: Private Sub Command1_Click() For i = 1 To 4 Print Space(12 - 3 * i); For j = 1 To i Print j; Next j F
3、or k = i - 1 To 1 Step -1 Print k; Next k Print Next i End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( A) 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 ( B) 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 ( C) 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 ( D) 1 2 3 4 3 2 1 1 2 3 2 1 1 2 1 1 6 编写如下程序: Private Sub Command1_Click() Dim m As Integer, n As
4、 Integer m = 2 : n = 1 Select Case m Case 1 Select Case n Case 1 Print “AAA“ Case 2 Print “BBB“ End Select Case 2 Print “CCC“ End Select End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( A) AAA ( B) BBB ( C) CCC ( D) 1 7 编写如下程序: Private Sub Command1_Click() Dim n As Integer Static s As Integer For n = 1 To 3 s
5、= s + n Next Print s End Sub 程序运行后,第三次单击命令按钮 Command1时,输出结果为 ( A) 3 ( B) 6 ( C) 9 ( D) 18 8 编写如下程序: Private Sub Command1_Click() Dim x As Integer, y As Integer x = 10 y = 20 Call fun1(x, y) Print x; y End Sub Private Function fun1(ByVal m As Integer, n As Integer) As Integer m = m * m n = n + n End
6、Function 程序运行后,单击命令按钮 Command1,输出结果为 ( A) 10 25 ( B) 10 40 ( C) 100 25 ( D) 100 40 9 编写如下程序: Private Sub Command1_Click() Dim x As Integer, y As Integer x = 1: y = 1 Do y = x * y If y 10 Then Print x, y Exit Do Else x = x + 3 End If Loop While x 0 k = k + 1 arr(k) = d Mod r d = d r Loop End Sub 程序运行
7、后,单击命令按钮 Command1,输出结果为 ( A) 1 1 0 0 ( B) 0 0 1 1 ( C) 0 1 0 1 ( D) 1 0 1 0 12 编写如下程序: Private Sub Command1_Click() Dim n As Long, s As String n = InputBox(“输入一个数 “) Do While n 1 And j 1 Then a(i, j) = a(a(i - 1, j - 1), a(i, j - 1) + 1 Else a(i, j) = i * j End If Next j Next i For i = 1 To 3 For j
8、= 1 To 3 Print a(i, j); Next j Print Next i End Sub 程序运行后,单击命令按钮 Command1,输出结果为 ( A) 1 2 3 2 3 1 3 2 3 ( B) 1 2 3 2 1 1 3 1 1 ( C) 1 2 3 2 0 0 3 0 0 ( D) 1 2 3 2 2 2 3 3 3 14 下列叙述中正确的是 ( A)有且只有一个根结点的数据结构一定是线性结构 ( B)每一个结点最多有一个前件也最多有一个后件的数据结构一定是线性结构 ( C)有且只有一个根结点的数据结构一定是非线性结构 ( D)有且只有一个根 结点的数据结构可能是线性结
9、构,也可能是非线性结构 15 下列叙述中错误的是 ( A)在双向链表中,可以从任何一个结点开始直接遍历到所有结点 ( B)在循环链表中,可以从任何一个结点开始直接遍历到所有结点 ( C)在线性单链表中,可以从任何一个结点开始直接遍历到所有结点 ( D)在二叉链表中,可以从根结点开始遍历到所有结点 16 某二叉树共有 13个结点,其中有 4个度为 1的结点,则叶子结点数为 ( A) 5 ( B) 4 ( C) 3 ( D) 2 17 设栈的顺序存储空间为 S(1: 50),初始状态为 top=0。现经过一系列入栈与退栈运算后, top=20,则当前栈中的元素个数为 ( A) 30 ( B) 29
10、 ( C) 20 ( D) 19 18 结构化程序包括的基本控制结构是 ( A)主程序与子程序 ( B)选择结构、循环结构与层次结构 ( C)顺序结构、选择结构与循环结构 ( D)输入、处理、输出 19 程序测试的目的是 ( A)执行测试用例 ( B)发现并改正程序中的错误 ( C)发现程序中的错误 ( D)诊断和改正程序中的错误 20 下面属于系统软件的是 ( A)财务管理系统 ( B)数据库管理 系统 ( C)编辑软件 Word ( D)杀毒软件 21 在关系 A(S, SN, D)和 B(D, CN, NM)中, A的主关键字是 S, B的主关键字是 D,则 D是 A的 ( A)外键 (
11、码 ) ( B)候选键 (码 ) ( C)主键 (码 ) ( D)元组 22 有两个关系 R, S如下,由关系 R和 S通过运算得到关系 T,则所使用的操作为( A)并 ( B)自然连接 ( C)笛卡尔积 ( D)差 23 在数据库管理系统提供的数据语言中,负责数据模式定义的是 ( A)数据定义语言 ( B)数据管理语言 ( C)数据操纵语言 ( D)数据控制语言 24 以下可作为 Visual Basic合法变量名的是 ( A) A3#1 ( B) Basic ( C) Tab ( D) D%3 25 表达式 Sgn(15.6) + Int(-16.8) 的值是 ( A) 17 ( B) -
12、15 ( C) 18 ( D) -16 26 语句 x = x + 1 的正确含义是 ( A)变量 x 的值等于表达式 x + 1 的值 ( B)将变量 x 的值存放到变量 x + 1 中 ( C)将变量 x 的值加 1后赋予变量 x ( D)将变量 “ x + 1“ 的值存放 到变量 x中 27 在下列数组定义语句中,数组元素个数与其他三个数组不同的是 ( A) Option Base 1 Dim A(4, 5) ( B) Dim B(4, 5) ( C) Static C(3, 4) ( D) Dim D(-1 To 2, 1 To 5) 28 设 x = 2,并有以下程序段: If x
13、* x = ( D) Mod 30 以下关于 Select Case语句的叙述中,正确的是 ( A) Select Case语句中的测试表达式可以是任何形式的表达式 ( B) Select Case语句中的测试表达式只能是数值表达式或字符串表达式 ( C)子句 Case中的表达式可以是逻辑表达式 ( D)不是所有的 Select Case语句都能用 If语句代替 31 在 Open语句中可以用 Output和 Append两种方式打开顺序文件,其主 要区别是 ( A) Output总是从文件的第一个记录开始写,而 Append在文件最后一个记录后面添加数据 ( B) Output在文件最后一个
14、记录后面添加数据,而 Append总是从文件的第一个记录开始写 ( C) Output和 Append都只能从文件的第一个记录开始写数据 ( D) Output和 Append都可以在文件的最后一个记录后面添加数据 32 在 For的二重循环中,内外循环的循环控制变量名 ( A)必须相同 ( B)相同或不相同均可 ( C)不能相同 ( D)没有任何限制 33 设 strA = “ABCDEFGHIJK“, 则语句 Print Right(strA, 2) + String(4, strA) 的输出结果是 ( A) HIABCD ( B) JKAAAA ( C) ABHIJK ( D) ABEF
15、GH 34 在窗体上画一个列表框,其名称为 List1,通过属性窗口输入若干数据项,如图1所示。 请编写一个事件过程,程序运行后,如果单击窗体,则把数据项 “New item“加到列表框中,如图 2所示。以下能实现该操作的事件过程是 ( A) Private Sub Form_Click() List1.AddItem “New item“, 3 End Sub ( B) Private Sub Form_Click() List1.AddItem “New item“, 2 End Sub ( C) Private Sub Form_Click() List1.AddItem 3, “New
16、 item“, 2 End Sub ( D) Private Sub Form_Click() List1.AddItem 2, “New item“, 2 End Sub 35 下列说法中正确的是 ( A)通过适当的设置,可以在程序运行期间,让计时器控件显示在窗体上 ( B)在列表框中不能进行多项选择 ( C)通过设置适当的属性,可以把列表框中的项目按字母从大到小排序 ( D)框架也有 Click和 DblClick事件 36 为了把 ActiveX控件加到工具箱中,首先应采取的操作是 ( A)执行 “工程 “菜单中的 “部件 “命令 ( B)执行 “视图 “菜单中的 “工具箱 “命令 (
17、C)执行 “工具 “菜单中的 “选项 “命令 ( D)执行 “工程 “菜单中的 “引用 “命令 37 下列不能接收焦点的控件是 ( A)列表框 ( B)框架 ( C)图片框 ( D)复选框 38 下列关于菜单的说法中,错误的是 ( A)与控件一样,每个菜单项也有自己的属性和事件 ( B)除了 Click事件之外,菜单项还能响应其他事件,如 DblClick等 ( C)菜单项的快捷键不能任意设置 ( D)程序运行时,若菜单项的 Enabled属性为 False,则该菜单项变成灰色 39 在窗体上画一个名称为 CommonDialog1的通用对话框,以下语句中正确的是 ( A) CommonDia
18、log1.Filter = “All Files|*.*|Picture(*.bmp)|*.bmp“ ( B) CommonDialog1.Filter = All Files|*.*|Picture(*.bmp)|*.bmp ( C) CommonDialog1.Filter=“All Files“|“*.*“|“Picture(*.bmp)“|“*.bmp“ ( D) CommonDialog1.Filter=All Files|*.*|Picture(*.bmp)|*.bmp 40 在窗体上画一个名称为 Text1 的文本框,然后编写如下事件过程: Private Sub Text1_K
19、eyPress(KeyAscii As Integer) End Sub 假定焦点位于文本框中,则以下能触发 KeyPress 事件的操作是 ( A)在窗体上单击鼠标 ( B)双击文本框 ( C)用鼠标滑过文本框 ( D)按下键盘上的某个键 二、基本操作题 41 (1)在标题为 “列表框 ”、名称为 Form1的窗体上添加一个 名称为 List1的列表框,通过属性窗口输入 4个列表项: “数学 ”、 “语文 ”、 “历史 ”、 “地理 ”,列表项形式采用复选框形式,如图所示。列表框的宽为 1100,高不限。 注意:存盘时必须存放在考生文件夹下,工程文件名保存为 sjt1 vbp,窗体文件名保存
20、为 sjt1.frm。(2)在名称为 Form1的窗体上建立一个名称为 “menul”、标题为 “文件 ”的弹出式菜单,其含有三个菜单项,它们的标题分别为: “打开 ”、“关闭 ”、 “保存 ”,名称分别为 “m1”、 “m2”、 “m3”。再添加一个命令按钮,名称为“Commandl”、标题为 “弹出菜单 ”。要求:编写命令按钮的 Click事件过程,使程序运行时,单击 “弹出菜单 ”按钮可弹出 “文件 ”菜单 (如图所示 )。 注意:程序中不得使用变量,事件过程中只能写一条语句。 存盘时必须存放在考生文件夹下,工程文件名保存为 sjt2 vbp,窗体文件名保存为 sjt2 frm。 三、简
21、单应用题 42 (1)在考生目录下有一个工程文件 sjt3 vbp,窗体文件中已给出所有控件和部分程序,如图所示。 要求: 利用属性窗口设置适当的属性,使 text1、 text2中数据右对齐。 请编写适当的程序完成 以下功能:在 Text1中输入 40(度数 ),选择一个单选按钮,单击 “计算 ”按钮,则根据所选择的单选按钮,计算出相应的正弦、余弦值 (保留 3位小数,第 4位截去, 取 3 14159),并显示在 Text2中。 注意:考生不得修改窗体文件中已经存在的程序,在结束程序运行之前,必须进行一种计算,在 Text1中输入 的必须是 40,必须用窗体右上角的关闭按钮结束程序,否则无
22、成绩。最后,程序按原文件名存盘。 (2)在考生文件夹下有一个工程文件 sjt4 vbp,窗体上已经给出所有控件。程序运行时,单击 “开始 ”按钮,则汽车图标向右运动;单击 “停止 ”按钮则汽车停止运动;移动滚动条上的滚动框,可以改变汽车的运动速度 (滚动框向右移动,速度减慢 )。如图所示。要求: 去掉程序中的注释符,把程序中的 “?”改为正确的内容。 提示:窗体上有一个计时器,计时器的事件过程每执行一次,汽车向右移动 10,程序通过改变计时器控件的 Interval属 性来改变汽车的运动速度。 注意:不得修改控件的属性。最后,按原文件名存盘。 四、综合应用题 43 在考生文件夹下有一个工程文件
23、 sjt5 vbp,窗体上有两个图片框,名称为 P1、P2,分别用来表示信号灯和汽车,其中在 P1中轮流装入 “黄灯 .ico”、 “红灯 ico”、 “绿灯 ico”文件来实现信号灯的切换;还有两个计时器 Timer1和Timer2, Timer1用于变换信号灯,黄灯 1秒,红灯 2秒,绿灯 3秒; Timer2用于控制汽车向左移动。运行时,信号灯不断变换,单击 “开车 ”按钮后,汽车开始移动,如果移动到信 号灯前或信号灯下,遇到红灯或黄灯,则停止移动,当变为绿灯后继续移动。 在窗体中已经给出了全部控件和程序,但程序不完整,要求阅读程序并去掉程序中的注释符,把程序中的 “?”改为正确的内容,
24、使其实现上述功能,但不能修改程序中的其他部分,也不能修改控件的属性。最后把修改后的文件以原文件名存盘。 国家二级( VB)机试模拟试卷 32答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 窗体控件、框架控件和图片框控件可以作为其他控件的容器。选A)。 2 【正确答案】 C 【试题解析】 Value属性值决定单选按钮的选中状态: 0为未选、 1为选中、 2为不可用 (以灰色呈现 )。选 C)。 3 【正确答案】 D 【试题解析】 框架控件不具备 Style属性。选 D)。 4 【正确答案】 A 【试题解析】 Right(“abcd“, 2)从字串的右边截取 2个字符 “cd“, Mi
25、d(“dcba“, 2, 3)从第二个字符开始截取 3个字符 “cba“然后判断 x和 y的大小。选 A)。 5 【正确答案】 C 【试题解析】 Print Space(12 - 3 * i)语句为打印空格符。根据变量 i的值变化,打印的个数不同。 For循环的执行根据变量值进行相应的打印。选 C)。 6 【正确答案】 C 【试题解析】 Select Case语句后面跟的是条件。根据条件执行相应的分支语句。m=2,因此执行 Select Case m中的 Case 2分支语句。选 C)。 7 【正确答案】 D 【试题解析】 Static修饰的变量在事件退出后保留原值。三次单击命令按钮Comma
26、nd1相当于对 s进行了三次累加赋值。选 D)。 8 【正确答案】 B 【试题解析】 函数 fun1(ByVal m As Integer, n As Integer)中 m通过 ByVal指定为值传递, n为引用传递。传递给该函数的实参会被改变。选 B)。 9 【正确答案】 C 【试题解析】 x初值为 1。第一次先执行循环然后判断条件。在循环体中, x被加 3,执行完第 2次时 x=7。执行第三次时, y=28,满足条件 y10,执行 Exit Do跳出循环。选 C)。 10 【正确答案】 D 【试题解析】 单击命令按钮 Command1,触发 Command1_Click()事件, Pri
27、nt语句连续输出文本框 Text1和 Text2的 text值。选 D)。 11 【正确答案】 A 【试题解析】 sub1函数对全局数组 arr元素赋初值, sub1函数参数传递均为默认的引用传递。因此执行完后 n值被修改。 Command1_Click()事件中的 For循环对 arr数组元素进行倒序输出。选 A)。 12 【正确答案】 B 【试题解析】 Print语句对输入的数值 n=123456进行处理并打印。第一条语句打印 n的十位数,第二条语句打印 n的个位数。然后 n被求余。 13 【正确答案】 A 【试题解析】 第一个 For循环对数 组 a(3, 3)元素赋初值。根据循环体内的
28、条件数组元素获得初值。第二个 For循环进行数组元素的打印。选 A)。 14 【正确答案】 D 【试题解析】 一个非空的数据结构如果满足以下两个条件:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件,称为线性结构,故 A、 B和C选项都错误;不同时满足以上两个条件的数据结构就称为非线性结构,其中树形结构只有一个根结点, D选项正确。 15 【正确答案】 C 【试题解析】 线性单链表就是指线性表的链式存储结构,这种结构只能从一个节点遍历到其后的 所有节点,故 C选项叙述错误;在单链表的第一个节点前增加一个表头节点,队头指针指向表头节点,所以可以从任何一个节点开始直接遍历到所有节点,
29、最后一个节点的指针域的值由 NULL改为指向表头节点,这样的链表称为循环链表;双向链表是指链表节点含有指向前一个节点的指针和指向后一个节点的指针,所以可以从任何一个节点开始直接遍历到所有节点;二叉树链表中节点指针由父节点指向子节点,可以从根节点开始遍历到所有节点,所以选项A、 B、 D叙述均正确。 16 【正确答案】 A 【试题解析】 在树结构中,一个节点所拥有的后件个 数称为该节点的度。对任何一棵二叉树,度为 0的节点(即叶子节点)总是比度为 2的节点多一个。二叉树中有 13个节点,设叶子节点个数为 n0,度为 1的节点个数为 4,设度为 2的节点个数为 n2。 13=n0+4+n2且 n0
30、=n2+1,则 n0=5, n2=4。 A选项正确。 17 【正确答案】 C 【试题解析】 栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。入栈运算即在栈顶位置插入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。当栈为空时,栈顶指针 top=0,经过入栈和退栈运算,指针始终指向栈顶元素 。 top=20,则当前栈中有 20个元素, C选项正确。 18 【正确答案】 C 【试题解析】 结构化程序包括的基本控制结构只有三种,即顺序结构、选择结构与循环结构, C选项正确。 19 【正确答案】 C 【试题解析】 测试的目的是发现软件中的错误,但是,暴露错误并不是软件测试的最终目的,测
31、试的根本目的是尽可能多地发现并排除软件中隐藏的错误, C选项正确。 20 【正确答案】 B 【试题解析】 计算机软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。系统软件是管理计算机的资源, 提高计算机的使用效率,为用户提供各种服务的软件,如操作系统、数据库管理系统、编译程序、汇编程序和网络软件等, B选项正确。 A、 C、 D选项为应用软件。 21 【正确答案】 A 【试题解析】 二维表中的一行称为元组。候选键(码)是二维表中能唯一标识元组的最小属性集。若一个二维表有多个候选码,则选定其中一个作为主键(码)供用户使用。表 M中的某属性集是表的候选键或者主键,则称该属性集为表的外键(码
32、)。 A中属性集 D是 B的主关键字,故 D是 A的外键(码), A选项正确。 22 【正确答案】 D 【试题 解析】 常用的扩充运算有交、除、连接及自然连接等。并: RS是将 S中的记录追加到 R后面。差: R-S结果是属于 R但不属于 S的记录组成的集合。交: RS结果是既属于 R又属于 S的记录组成的集合。差运算 -S:关系 R中两条记录其中 (b 1 n1)不属于 S,所以 R-S=T。 D选项正确。 23 【正确答案】 A 【试题解析】 数据库管理系统提供了相应的数据语言,它们是:数据定义语言,该语言负责数据的模式定义与数据的物理存取构建;数据操纵语言,该语言负责数据的操纵,包括查询
33、与增、删、改等操作;数据控制语言,该语言 负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。 A选项正确。 24 【正确答案】 B 【试题解析】 在 VB中,变量名只能由字母、数字、下划线组成,故 A和 D错误;保留字不能作为变量名, C选项中 Tab为保留字,故 C错误; B选项符合变量的命名规则,故选 B。 25 【正确答案】 D 【试题解析】 Sgn( x)为符号函数,返回值为变量 x的符号,当 x为正数,返回1,则 Sgn(15.6)=1; Int( x)是取整函数,返回值为不大于自变量 x的最大整数,Int(-16.8)=-17,则知表 达式 Sgn(15.6) + I
34、nt(-16.8)值为 -16,故选 D。 Sgn(x)英文全称 Signal(x),即求变量 x的符号。注意其与变量 x为大小无关,仅与变量正负有关。 x为正数,返回 1; x为负数,返回 -1; x为 0,返回 0。 15.6为正数,故Sgn(15.6)=1。 Int(x)英文全称 Integer(x),Integer中文意为整数, Int(x)为取整函数,细分为上取整和下取整, Int(-16.8)下取整,结果为 -16,如果为 Int(16.8)结果则为 16。记忆法则:拆上补下(变量 x大小 0就拆掉小数点之后 的数,小于 0则给其补一些)。所以表达式 Sgn(15.6) + Int
35、(-16.8)值为 -16,故选 D。 26 【正确答案】 C 【试题解析】 根据变量的定义,表达式的意思是将变量 x的值加 1后赋予变量 x故选 C。 27 【正确答案】 B 【试题解析】 选项 A的以下标从 1开始,共有 20个元素;选项 A, Option Base 1,指定当前二维数组下标均从 1开始,共有 4*5=20个元素;默认情况下,数组下标从 0开始,故 B选项元素个数为 5*6=30个, C选项共有 4*5=20个元素; D选项第一维下界 为 -1,第一维上界为 2,第二维下界为 1,第二维上界为 5,共元素个数为 20个,故选择 B。 28 【正确答案】 A 【试题解析】
36、IF语句 x*x 6 Then a = 1 End If Select Case a Case 1 P1.Picture = LoadPicture(“黄灯 .ico“) Case 2, 3 P1.Picture = LoadPicture(“红灯 .ico“) Case 4, 5, 6 P1.Picture = LoadPicture(“绿灯 .ico“) If b Then Timer2.Enabled = True End Select End Sub Private Sub Timer2_Timer() If (a P1.Left And P2.Left P1.Left + P1.Width) Or P2.Left = 100 Then Timer2.Enabled = False Else P2.Move P2.Left - 10, P2.Top, P2.Width, P2.Height End If End Sub 程序结束 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。