1、国家二级 VB机试(选择题)模拟试卷 63及答案与解析 一、选择题 1 下列链表中,其逻辑结构属于非线性结构的是 ( A)二叉链表 ( B)循环链表 ( C)双向链表 ( D)带链的栈 2 设循环队列的存储空间为 Q(1: 35),初始状态为 front=rear=35。现经过一系列入队与退队运算后, front=15, rear=15,则循环队列中的元素个数为 ( A) 15 ( B) 16 ( C) 20 ( D) 0或 35 3 下列关于栈的叙述中,正确的是 ( A)栈底元素一定是最后入栈的元素 ( B)栈顶 元素一定是最先入栈的元素 ( C)栈操作遵循先进后出的原则 ( D)以上说法均
2、错误 4 在关系数据库中,用来表示实体间联系的是 ( A)属性 ( B)二维表 ( C)网状结构 ( D)树状结构 5 公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是 ( A) 1: 1联系 ( B) m: 1联系 ( C) 1: m联系 ( D) m: n联系 6 ( A)选择 ( B)投影 ( C)自然连接 ( D)并 7 数据字典( DD) 所定义的对象都包含于 ( A) 数据流图( DFD图 ) ( B)程序流程图 ( C)软件结构图 ( D)方框图 8 软件需求规格说明书的作用不包括 ( A)软件验收的依据 ( B)用户与开发
3、人员对软件要做什么的共同理解 ( C)软件设计的依据 ( D)软件可行性研究的依据 9 下面属于黑盒测试方法的是 ( A)语句覆盖 ( B)逻辑覆盖 ( C)边界值分析 ( D)路径覆盖 10 下面不属于软件设计阶段任务的是 ( A)软件总体设计 ( B)算法设计 ( C)制定软件确认测试计划 ( D)数据库设计 11 以下合法的 VB变量名是 ( A) _a ( B) yPrint ( C) a-b ( D) Type 12 以下关于 VB特点的叙述中,错误的是 ( A) VB采用事件驱动的编程机制 ( B) VB程序能够以解释方式运行 ( C) VB程序能够以编译方式运行 ( D) VB程
4、序总是从 Form_Load事件过程开始执行 13 有如下数据定义语句: Dim a, b As Integer Dim x%, y as Integer 执行上述语句后,不是整型变量的是 ( A) a ( B) b ( C) x ( D) y 14 以下关于数组的叙述中,错误的是 ( A) Variant类型的数组中各数组元素的类型可以不同 ( B)各数组元素可以是不同类型的控件 ( C)各数组元素通过下标进行区别 ( D)各数组元素具有相同的名称 15 以下关于 VB文件的叙述中,正确的是 ( A)标准模块文件的扩展名是 .frm ( B)一个 .vbg文件中可以包括多个 .vbp文件 (
5、 C)一个 .vbp文件只能含有一个标准模块文件 ( D)类模块文件的扩展名为 .bas 16 以下表达式与 Int(3.5)的值相同的是 ( A) CInt(3.5) ( B) Val(3.5) ( C) Fix(3.5) ( D) Abs(3.5) 17 设: a = 2, b = 8, c = 6, d = 3,表达式 a b And Not (c d) Or d c的值是 ( A) 1 ( B) 0 ( C) True ( D) False 18 数学式 y2 x =10在 VB中应表示为 ( A) y * y x And 10 x And x = 10 ( C) Sqr(y) x O
6、r x x Or x = 10 19 设在一个工程的窗体中有如下代码: Public x As Integer Private Sub Form_Load() Dim y As Integer End Sub 在该工程的标准模块的声明部分有如下代码: Public a As Integer Private b As Integer 关于上述代码,以下叙述中错误的是 ( A)变量 x的作用域是整个工程 ( B)变量 y的作用域是 Form_Load过程 ( C)变量 a的作用域是整个工程 ( D)变量 b的作用域是整个标准模块 20 以下关于文件的叙述中,错误的是 ( A)顺序文件有多种打开文件
7、的方式 ( B)读取顺序文件的记录时,只能从头至尾逐记录进行 ( C)顺序文件中各记录的长度是固定的 ( D)随机文件一般占用空间比较小 21 以下不属于 VB控件的是 ( A)框架 ( B)点 ( C)直线 ( D)形状 22 窗体上有一个名称为 Command1的命令按钮,一个名称为 Text1的文本框,其Text属性值为 “VB Programming“。运行程序后,选中 其中的 “VB“,并执行如下事件过程: Private Sub Command1_Click() Text1.SelText = “C+“ End Sub 则文本框中显示的内容为 ( A) VB ( B) VB Pro
8、gramming ( C)文本框被清空 ( D) C+ Programming 23 窗体上有一个名称为 VScroll1的垂直滚动条,为了设定单击滚动条两端箭头时的 Value增量值,应设置的属性是 ( A) LargeChange ( B) SmallChange ( C) Max ( D) Min 24 设窗体名称为 frmTest,为了在程序代码中将窗体的标题改为 “等级考试 “,其代码应该是 ( A) frmTest.Caption = “等级考试 “ ( B) Form1.Caption = “等级考试 “ ( C) frmTest.Title = “等级考试 “ ( D) For
9、m1.Title = “等级考试 “ 25 要将单选按钮 Opt1设为被选中,应设置的属性是 ( A) Value ( B) Selected ( C) Enabled ( D) SetFocus 26 窗体上有一 个名称为 Combo1的组合框,为了引用 Combo1中最后一个列表项,应使用的表达式是 ( A) Combo1.List(ListCount) ( B) Combo1.List(Combo1.ListCount - 1) ( C) Combo1.List(ListCount - 1) ( D) Combo1.List(Combo1.ListCount) 27 对于文本框 Text
10、1,能够获得按键的 ASCII码值的事件过程是 ( A) Text1_KeyUp ( B) Text1_KeyPress ( C) Text1_Click ( D) Text1_Change 28 命令按钮 Command1的 MouseUp事件过程结构如下: Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) End Sub 则以下叙述中错误的是 ( A) X、 Y参数表示的是 Command1左上角在 窗体中的位置 ( B) Button参数用于确定按下的鼠标
11、键 ( C) Shift参数用于确定是否按下了 Alt、 Ctrl或 Shift键 ( D) MouseUp表示抬起鼠标按键时触发的事件 29 通用对话框 Filter属性的作用是 ( A)设置对话框的标题 ( B)指定对话框所选择的文件名 ( C)指定对话框的打开方式 ( D)指定对话框中显示的文件类型 30 以下关于菜单的叙述中错误的是 ( A)对于同一窗体中的菜单,各菜单项的名称必须唯一 ( B)对于同一窗体中的菜单,各菜单项的标题必须唯一 ( C) 菜单中各菜单项可以是控件数组元素 ( D)弹出式菜单的编辑、定义在菜单编辑器中进行 31 窗体上有一个名称为 Command1的命令按钮,
12、其单击事件过程如下: Private Sub Command1_Click() For i = 3 To 1 Step -1 Sum = 0 For j = 1 To i Sum = Sum + i * j Next Next Print Sum End Sub 运行程序时, 单击命令按钮,则窗体上显示的是 ( A) 1 ( B) 6 ( C) 18 ( D) 25 32 以下能够正常结束循环操作的程序段是 ( A) i = 5 Do i = i + 1 Loop Until i 0 i = i - 2 Loop ( D) i = 0 Do While i 1 And j 1 Then a(i
13、, j) = a(a(i - 1, j - 1), a(i, j - 1) + 1 Else a(i, j) = i * j End If Next Next Print a(2, 2); a(3, 3) End Sub 运行程序,单击命令按钮,窗体上显示的是 ( A) 1 3 ( B) 2 1 ( C) 2 2 ( D) 3 3 35 窗体上有一个名称为 Command1的命令按钮,并有如下程序代码: Private Sub Command1_Click() Static a a = 1: b = 2: c = 3 Call f(a, b, c) Print a; b; c End Sub
14、Sub f(ByVal x, ByRef y, z) x = x + 1 y = y + 1 z = z + 1 End Sub 运行程序,单击命令按钮,窗体上显示的是 ( A) 1 3 3 ( B) 1 3 4 ( C) 2 3 3 ( D) 2 3 4 36 窗体上 有一个名称为 Command1的命令按钮,单击该按钮时所实现的功能 是产生 10个随机整数,然后从键盘输入一个整数,查找该数在数组中的位置。若找到,输出该数的位置;若没有找到,给出相应的提示。该命令按钮的单击事件过程如下: Private Sub Command1_Click() Dim a(10) As Integer Di
15、m x As Integer For i = 1 To 10 a(i) = Int(Rnd * 100) Next x = InputBox(“输入 100以内的整数: “) p = 0 For i = 1 To 10 If a(i) = x Then p = i Exit For End If Next If p = 0 Then Print “没有找到与输入数据相同的数! “ Else Print Str(x) + “在数组中的位置是 “ + Str(p) End If End Sub 对于上述事件过程,以下叙述中正确的是 ( A)本程序实际产生的随机数是 0-99 ( B)若产生的随机数
16、中有相同数,则 p是其中最后一个数的位置 ( C)程序有错, p的初值设置不对 ( D)程序有错, InputBox函数产生的数据与 x的类型不匹配 37 窗体上有一个名称为 Command1的命令按钮,其单击事件过程如下: Private Sub Command1_Click() Dim s As Double s = 0: i = 1 Do While i a(i, j) Then y = a(i, j) Next s = s + a(i, i) Next Print x, y, s End Sub 关于以上程序,以下叙述中错误的是 ( A)二维数组元素的值是不大于 99的随机整数 ( B
17、)计算结果 x是二维数组各元素中的最大数 ( C)计算结果 y是二维数组各元素中的最小数 ( D)计算结果 s是二维数组各行第一个元素之和 39 窗体上有一个名称为 Text1的文本框,一个名称为 Command1的命令按钮。命令按钮的单击事件过程如下: Private Sub Command1_Click() Dim x1 As Integer, x2 As Integer, x3 As Integer s = Trim(Text1.Text) strLen = Len(s) For i = 1 To strLen c = Mid(s, i, 1) Select Case c Case “0
18、“ To “9“ x1 = x1 + 1 Case “A“ To “Z“ x2 = x2 + 1 Case “a“ To “z“ x3 = 3 + 1 Case Else x4 = x4 + 1 End Select Next Print “x1“; x1, “x2“; x2, “x3“; x3, “x4“; x4 End Sub 以下关于上述程序的叙述中,正确的是 ( A) s是去掉文本框中字符串末尾的空格 ( B) Select Case c有误, Case后应该是一个表达式 ( C)各 Case分支条件有误,不能用 To表示字符的取值区间 ( D) x4是字符串中非字母、非数字字符的个数
19、 40 窗体上有一个名称为 Command1的命令按钮。要求编写程序,把文件 f1.txt的内容写到文件 f2.txt中,然后将 f1.txt删除。命令按钮的单击事件过程如下: Private Sub Command1_Click() Open “c:f1.txt“ For Input As #1 Open “c:f2.txt“ For Output As #2 Do While Not EOF(2) Line Input #1, str1 Print #2, str1 Loop Close Kill “c:f1.txt“ End Sub 该程序运行时发生错误,应该进行的修改是 ( A)打开
20、f1.txt应该使用 Output 方式,打开 f2.txt 应该使用 Input 方式 ( B) Not EOF(2)应该改为 Not EOF(1) ( C) Line Input应改为 Get ( D) Close语句改为 Close All 国家二级 VB机试(选择题)模拟试卷 63答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。带链的栈可以用来收集计算机存储空间中所有空闲的存储结点,是线性表。在单链表中的结点中增加一个指针域指向它的直接前件,这样的链表,就称为双向链表(一个结点中含有两个
21、指针),也是线性链表。循环 链表具有单链表的特征,但又不需要增加额外的存贮空间,仅对表的链接方式稍做改变,使得对表的处理更加方便灵活,属于线性链表。二叉链表是二叉树的物理实现,是一种存储结构,不属于线性结构。答案为 A选项。 2 【正确答案】 D 【试题解析】 在循环队列中,用队尾指针 rear指向队列中的队尾元素,用排头指针 front指向排头元素的前一个位置。在循环队列中进行出队、入队操作时,头尾指针仍要加,朝前移动。只不过当头尾指针指向向量上界时,其加操作的结果是指向向量的下界。由于入队时尾指针向前追赶头指针,出队时头 指针向前追赶尾指针,故队空和队满时,头尾指针均相等。答案为 D选项。
22、 3 【正确答案】 C 【试题解析】 栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。栈的修改是按后进先出的原则进行的。因此,栈称为先进后出表,或 “后进先出 “表,所以选择C。 4 【正确答案】 B 【试题解析】 关系模型实体间的联系采用二维表来表示,简称表。选项 C为网状模型实体间的联系,选项 D为层次模型实体间的联系,选项 A属性刻画了实体 5 【正确答案】 C 【试题解析】 两个实体集间的联系实际上是实体集间的函数关系,主要有一对一联系( 1:1)、一对多联系( 1:m)、多对一联系( m:1)、多对多联系( m:n)。
23、对于每一个实体部门,都有多名职员,则其对应的联系为一对多联系( 1:m),答案选 C。 6 【正确答案】 A 【试题解析】 由关系 R到关系 S为一元运算,排除 C和 D。关系 S是关系 R的一部分,是通过选择之后的结果,因此选 A。 7 【正确答案】 A 【试题解析】 在数据流图中,对所有元素都进行了命名,所有名字的定义集中起来就构成了数据 字典。因此选 A,而 B, C, D都不符合。 8 【正确答案】 D 【试题解析】 软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。 软件需求规格说明书有以下几个方面的作用。 便于用户、开发人员进行理解和交流, B正确; 反映出用户
24、问题的结构,可以作为软件开发工作的基础和依据, C正确; 作为确认测试和验收的依据, A正确。 9 【正确答案】 C 【试题解析】 黑盒测试不关心程序内部的逻辑,只是根据程序的功能说明来设计测试用例。在使用黑盒测试法时,手头只需要有程序功能说明就可以了 。黑盒测试法分等价类划分法、边界值分析法和错误推测法,答案为 C。而 A、 B、 D均为白盒测试方法。 10 【正确答案】 C 【试题解析】 从技术观点上看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。所以 A、 B、 D正确, C为软件测试阶段的任务。 11 【正确答案】 B 【试题解析】 变量的命名规则是: 必须以字母开头,由字
25、母、汉字、数字或下划线组成; 不能在变量名中出现句点 “.“、空格或者嵌入字符,例如!、 、 #、$、 %、 如果没有字符被选中 ,则为零长度字符串 (“)。由题意知,选中 “VB“,返回 “C+“,所以结果为 “C+ Programming“。 23 【正确答案】 B 【试题解析】 SmallChange属性表示当用户单击滚动条两端的箭头时, Value属性值的增加或减小的量,默认值为 1。 24 【正确答案】 A 【试题解析】 窗体的标题设置方法:窗体名 .Caption=新设置的标题名,由题 意知,选项 A正确。 25 【正确答案】 A 【试题解析】 要将单选按钮 Opt1设为被选中,应
26、设置的属性是 Value。设置单选按钮在执行时的两种状态: True:表示选中,运行时该单选按钮的圆圈中出现一个黑点。 False(默认值 ):表示未选中。 26 【正确答案】 B 【试题解析】 组合框中的 List属性用来列出表项的内容。该属性保存了列表框中所有数组的值,可以通过下标访问数组中的值 (下标从 0开始 ),其格式为: 组合框 List(下标 ),特别注意的是 “下标 “相当于索引值,指示着表项中某一项 表中内容的位置,第 1项的索引值为 0,第 2项为 1,依次类推,这个参数非常重要不可省略。组合框中列表项的排列是从 0开始,最后一项的索引值应为 ListCount1。 27
27、【正确答案】 B 【试题解析】 KeyPress事件:用户按下并且释放一个会产生 ASCII码的键时被触发。此事件只对会产生 ACSII码的按键有反应,包括数字、大小写的字母、Enter、 Backspace、 Esc、 Tab等,对于如方向键这样的不会产生 ASCII码的按键, KeyPress事件就不会被触发。 28 【正确答案】 A 【试题解析】 X, Y用来表示鼠标光标当前在窗体上的 X、 Y轴坐标。 29 【正确答案】 D 【试题解析】 通用对话框 (CommonDialog)提供诸如打开文件、保存文件、设置打印选项、选择颜色和字体、显示帮助等操作的一组标准对话框,该控件运行时不可见
28、。通用对话框的 DialogTitle属性用于返回或设置该对话框标题栏上所显示的文本; Action属性用于设置被打开对话的类型;当通用对话框显示为 “打开 “或 “另存为 “类型时,其 FileName属性用于返回或设置所选文件的路径和文件名,Filter(过 滤器 )属性用于指定在对话框的文件列表中显示文件的类型。 30 【正确答案】 B 【试题解析】 对于同一窗体中的菜单,各菜单项的标题不须唯一。 31 【正确答案】 A 【试题解析】 i初值为 3,步长为 -1,即循环中 i值分别为 3,2,1, j的 for循环中,步长为 1。注意 Sum = 0语句。每次执行以 j为变量的 for循
29、环前 Sum被清0。因此 Sum只在 i=1的循环有值。选 A)。 32 【正确答案】 C 【试题解析】 A中循环体内 i=i+1, i永远不会小于 0; B中 i的初值为 5,执行语句 i = i + 2后不会等于 1。 D中 i 0条件不满足,退出循环。选C)。 33 【正确答案】 D 【试题解析】 Command1_Click()中通过嵌套循环给数组 a元素赋初值,执行完后 a( 1,1) =2, a( 2, 2) =4, a( 3,3) =6, a( 4,4) =8; Call f(a, b)语句调用子函数 Sub f(x() As Integer, ByRef y As Intege
30、r)。该函数内 For循环把 a数 组中一维下标和二维下标相同的元素值相加。值为 20,选 D)。 34 【正确答案】 D 【试题解析】 a是个整形的二维数组。通过 For循环给数组 a元素赋值。 i 1 并且 j 1时执行 a(i, j) = a(a(i - 1, j - 1), a(i, j - 1) + 1语句,否则执行 a(i, j) = i * j,因此执行完第一个大循环后,数组 a中的元素值分别是: a( 1,1) = 1, a( 1,2) = 2, a( 1,3) = 3。以此类推,可知 a( 2,2) =3, a( 3,3) =3。选 D)。 35 【正确答案】 B 【试题解析
31、】 子函数 Sub f(ByVal x, ByRef y, z)中 x值通过值传递, y, z是传引用,子函数执行后 b, c值会被加 1。而 a值维持不变。选 B)。 36 【正确答案】 A 【试题解析】 Rnd生成的随机数为 0-1的小数,乘以 100后取整后范围为 0-99,选 A)。 37 【正确答案】 D 【试题解析】 WhileLoop 循环。 i初值为 1,把 i值代入 i / (i + 1)语句可得公式为 1/2+2/3+3/4+4/5+5/6,选 D)。 38 【正确答 案】 D 【试题解析】 程序首先通过 For循环给数组 a元素赋值。取随机数函数返回的值介于 0和 1之间
32、。乘以 100后取整介于 0和 99。故 A)正确。接下来对 x和 y赋初值( a的第一个元素),在循环内部进行数据大小的比较,把当前比 x大的存入x,比 y小的存入 y,循环结束后, x中存储的是最大值, y中存储的是最小值。故B), C)对。 s中存储一维和二维下标相同的数组元素的和。选 D)。 39 【正确答案】 D 【试题解析】 Trim函数是去掉字符串前面和后面的空格, A)错。 Select Case语句的测试表达式 ,可以是算术表达式或字符表达式,其值应是数字或字符型, B)错。 Case语句可以是连续的范围:界 1 To 界 2 ,如: 12 To 20, C)错。 x4是排除
33、了字符串中字母、数字字符的个数的和。选 D)。 40 【正确答案】 B 【试题解析】 Open打开文件时,可以用三种模式,即 OutPut:打开一个文件,将对该文件进行写操作; Input:打开一个文件,将对该文件进行读操作;Append:打开一个文件,将在该文件末尾追加记录。 Do While循环应该判断 1#文件的结尾,即 Do While Not EOF(1),不是结尾的话把内容写到 2#文件中。 Line Input语句为从已打开的顺序文件中读出一行并将它分配给 String变量。 Close语句后面有文件号,就关闭这个文件,否则就关闭所有打开的文件。此题中应该关闭所有的文件。选 B)。