1、国家二级 VB机试(选择题)模拟试卷 20 及答案与解析 一、选择题 1 下列关于线性链表的叙述中,正确的是 ( )。 ( A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 ( B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 ( C)进行插入与删除时,不需要移动表中的元素 ( D)以上说法均不正确 2 下列叙述中正确的是 ( )。 ( A)循环队列是队列的一种链式存储结构 ( B)循环队列是队列的一种顺序存储结构 ( C)循环队列是非线性结构 ( D)循环队 列是一种逻辑结构 3 软件测试的目的是 ( )。 ( A)评估软件可靠性 ( B)发现并改
2、正程序中的错误 ( C)改正程序中的错误 ( D)发现程序中的错误 4 在软件开发中,需求分析阶段产生的主要文档是 ( )。 ( A)软件集成测试计划 ( B)软件详细设计说明书 ( C)用户手册 ( D)软件需求规格说明书 5 结构化程序所要求的基本结构不包括 ( )。 ( A)顺序结构 ( B) GOTO跳转 ( C)选择 (分支 )结构 ( D)重复 (循环 )结构 6 下面描述中错误的是 ( )。 ( A)系统总体结构图支持软件系统的详细设计 ( B)软件设计是将软件需求转换为软件表示的过程 ( C)数据结构与数据库设计是软件设计的任务之一 ( D) PAD图是软件详细设计的表示工具
3、7 下列关于数据库设计的叙述中,正确的是 ( )。 ( A)在需求分析阶段建立数据字典 ( B)在概念设计阶段建立数据字典 ( C)在逻辑设计阶段建立数据字典 ( D)在物理设计阶段建立数据字典 8 数据库系统的三级模式不包括 ( )。 ( A)概念模式 ( B)内模式 ( C)外模式 ( D)数据模式 9 在黑盒测 试方法中,设计测试用例的主要根据是 ( )。 ( A)程序内部逻辑 ( B)程序外部功能 ( C)程序数据结构 ( D)程序流程图 10 在软件设计中不使用的工具是 ( )。 ( A)系统结构图 ( B) PAD图 ( C)数据流图 (DFD图 ) ( D)程序流程图 11 以下
4、叙述中正确的是 ( )。 ( A)在属性窗口只能设置窗体的属性 ( B)在属性窗口只能设置控件的属性 ( C)在属性窗口可以设置窗体和控件的属性 ( D)在属性窗口可以设置任何对象的属性 12 下列打开 “代码窗口 “的操作中错误 的是 ( )。 ( A)按 F4键 ( B)单击 “工程资源管理器 “窗口中的 “查看代码 “按钮 ( C)双击已建立好的控件 ( D)执行 “视图 “菜单中的 “代码窗口 “命令 13 要求如果 x被 7除余 2,则输出 x的值,下列语句中不能实现此功能的语句是( )。 ( A) If x mod 7 2 Then Print x ( B) If x (x7)*
5、7 2 Then Print x ( C) If x (x / 7)* 7 2 Then Print x ( D) If x Int(x / 7)* 7 2 Then Print x 14 表达式 Sgn(0.25)的值是 ( )。 ( A) 1 ( B) 0 ( C) 1 ( D) 0.5 15 以下关于 VB文件的叙述中,错误的是 ( )。 ( A)标准模块文件不属于任何一个窗体 ( B)工程文件的扩展名为 .frm ( C)一个工程只有一个工程文件 ( D)一个工程可以有多个窗体文件 16 设 x为一整型变量,且情况语句的开始为: Select Case x,则不符合语法规则的Case子
6、句是 ( )。 ( A) Case Is20 ( B) Case 1 To 10 ( C) Case 0 Is And IS 20 ( D) Case 2, 3, 4 17 语句 Dim Arr( 2 To 4)As Integer 所定义的数组的元素个数为 ( )。 ( A) 7个 ( B) 6个 ( C) 5个 ( D) 4个 18 为了使窗体左上角不显示控制框,需设置为 False的属性是 ( )。 ( A) Visible ( B) Enabled ( C) ControlBox ( D) Caption 19 以下说法中正确的是 ( )。 ( A)事件过程也是过程,只能由其他过程调用
7、 ( B)事件过程的过程名是由程序设计者命名的 ( C)事件过程通常放在标准模块中 ( D)事件过程是用来处理由用户操作或系统激发的事件的代码 20 设有语句: Open “c: Test.Dat“ For Output As #1 则以下叙述中错误的是 ( )。 ( A)该语句打开 C盘根目录下的一个文件 Test.Dat,如果该文件不存在则出错 ( B)该语句打开 C盘根目录下一个名为 Test.Dat的文件,如果该文件不存在则创建该文件 ( C)该语句打开文件的文件号为 1 ( D)执行该语句后,就可以通过 Print #语句向文件 Test.Dat中写入信息 21 以下关于事件、事件驱
8、动的叙述中,错误的是 ( )。 ( A)事件是可以由窗体或控件识别的操作 ( B)事件可以由用户的动作触发 ( C)一个操作动作只能触发一个事件 ( D)事件可以由系统的某个状态的变化而触发 22 要删除列表框中最后一个列表项,正确的语句是 ( )。 ( A) List1.RemoveItem ListCount ( B) List1.RemoveItem List1.ListCount ( C) List1.RemoveItem ListCount 1 ( D) List1.RemoveItem List1.ListCount 1 23 使用 Line控件在窗体上画一条从 (0,0)到 (6
9、00,700)的直线,则其相应属性的值应是 ( )。 ( A) X1 0, X2 600, Y1 0, Y2 700 ( B) Y1 0, Y2 600, X1 0, X2 700 ( C) X1 0, X2 0, Y1 600, Y2 700 ( D) Y1 0, Y2 0, X1 600, X2 700 24 设有窗体的 Form_MouseMove事件过程如下: Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If(Button And 3) 3 Then
10、Print “检查按键 “ End If End Sub 关于上述过程,以下叙述中正确的是 ( )。 ( A)按下鼠标左键时,在窗体上显示 “检查按键 “ ( B)按下鼠标右键时,在窗体上显示 “检查按键 “ ( C)同时按下鼠标左、右键时,在窗体上显示 “检查 按键 “ ( D)不论做何种操作,窗体上都不会显示 25 确定图片框 Picture1在窗体上位置的属性是 ( )。 ( A) Width和 Height ( B) Left和 Top ( C) Width和 Top ( D) Height和 Left 26 以下不属于单选按钮的属性是 ( )。 ( A) Caption ( B) N
11、ame ( C) Min ( D) Enabled 27 对于列表框控件 List1,能够表示当前被选中列表项内容的是 ( )。 ( A) List1.Text ( B) List1.Index ( C) List1.ListIndex ( D) List1.List 28 当文本框中的内容发生改变时所触发的事件是 ( )。 ( A) KeyUp ( B) Change ( C) LostFocus ( D) GotFocus 29 关于 KeyPress事件,以下叙述中正确的是 ( )。 ( A)在控件数组的控件上按键盘键,不能触发 KeyPress事件 ( B)按下键盘上任一个键时,都能触
12、发 KeyPress事件 ( C)按字母键时,拥有焦点的控件的 KeyPress事件会被触发 ( D)窗体没有 KeyPress事件 30 窗体上有一个名称为 Text1的文本框;一个名称为 Timer1的计时器控件,其Interval属性值为 5000, Enabled属性值是 True。 Timer1的事件过程如下: Private Sub Timer1_Timer() Static flag As Integer If flag 0 Then flag 1 flag flag If flag 1 Then Text1.ForeColor &HFF& &HFF&为红色 Else Text1
13、.ForeColor &HC000& &HC000&为绿色 End If End Sub 以下叙述中正确的是 ( )。 ( A)每次执行此事件过程时, flag的初始值均为 0 ( B) flag的值只可能取 0或 1 ( C)程序执行后,文本框中的文字每 5秒改变一次颜色 ( D)程序有逻辑错误, Else分支总也不能被执行 31 下面程序运行时,若输入 “Visual Basic Programming“,则在窗体上输出的是( )。 Private Sub Command1_Click() Dim count(25)As Integer, ch As String ch UCase(Inp
14、utBox(“请输入字母字符串 “) For k 1 To Len(ch) n Asc(Mid(ch, k,1) Asc(“A“) If n 0 Then count(n) count(n) 1 End If Next k m count(0) For k 1 To 25 If m、 和键等,其他键 KeyPress事件不能识别。 D选项错误原因:窗体也有 KeyPresss 事件。故 C选项正确。 30 【正确答案】 C 【试题解析】 程序中 flag 被定义为 Static变量,它的值只在第一次执行事件过程时为 0,以后每次执行计时器事件过程它的值都会保留上次过程中运算后的值,之后它的值是
15、 1或 1。文本框控件的 ForeColor属性表示文本框中文字的颜色,计时器控件的 Interval 属性为 5000,即计时器 间隔为 5秒钟一次,每次调用就会交替改变文本框中文字的颜色。因此 C选项正确。 31 【正确答案】 D 【试题解析】 根据题中的程序代码可知, ch 为输入字符串的大写状态,第一个For循环是依次取出字母, n为取出字母与 “A“字符的 ASCII码差值,然后再赋给数组 count();第二个 For循环是找出数组 count()中的最小值,因此,最后窗体上输出的结果为 3,即选项 D。 32 【正确答案】 C 【试题解析】 默认情况下, InputBox 的返回
16、值是一个字符串,因此程序中 a“123“, b “456“, b a “456“ “123“ “456123“。因此 C选项正确。另外,使用字符连接运算符 “ “时,如果连接的是字符串和数值,可根据返回值类型判断,若返回值类型为字符串,则它将数值转换成字符串后与另一字符串连接成新字符串返回;若返回值类型为数值,则它要求字符串中只能包含数字,而不能有其他字符,否则报 “类型不匹配 “的错误。 33 【正确答案】 B 【试题解析】 程序中 Ucase函数将输入的字母转换为大写,然后通过 Select多分支控制语句选择输出不同信息,当输入字母在 “A“到 “C“之间时,显示 “考核通过! “,输入的
17、是 “D“时显示 “考核不通过! “,如果输入的是 “A“到 “D“之外的其他字符则显示 “输入数据不合法! “。程序中输入字母 “B“,因此会显示 “考核通过! “。 34 【正确答案】 C 【试题解析】 当用 Dim语句定义数组时,该语句把数值数组中的全部元素都初始化为 0,而把字符串数组中的全部元素都初始化为空串。因此 color数组中的元素初始值都为 0,没有空值,过程调用不会失败。 C选项叙述错。 35 【正确答案】 C 【试题解析】 程序中过程 Fun 的 Do循环的功能是从参数字符串中依 次取出后半部分的字符组成一个字符串,然后这个字符串再重复一次由函数返回。函数 Len用于返回
18、字符串的长度,过程中字符串的长度做为 Do循环的结束条件。 Mid是字符串中部截取函数,用来从指定位置开始截取指定个数的字符。过程中使用Mid(xStr, i 1, 1),通过循环依次取出字符串后半部分的字符。函数返回的字符串经 Lcase函数转换为小写然后显示在文本框中。程序中做为 Fun 过程参数的字符串为 “ABCDEF“,经处理返回并转为小写后为 “defdef“。 36 【正确答案】 A 【试题解析】 窗体的 KeyPreview 属性用于设置或获取一个值,该值只是判断按键事件传递到具有焦点的控件前,窗体是否将接收此事件,该属性设为 True时,窗体将会接收按键事件。因此在文本框中输
19、入 “VB“时,会先触发Form_KeyPress()事件,该事件将输入的字符保存到窗体模块变量 SaveAll中,然后才会显示在文本框中。当单击命令按钮时, Lcase函数将变量 SaveAll 中的字符串 “VB“转换为小写,为 “vb“,然后与原字符串连接,即 “vb“ “VB“,显示在文本框中则为 “vbVB“。 37 【正确答案】 D 【试 题解析】 本题考查的是动态变量与静态变量。原来的程序中无法使变量 n的值保持到下一次的使用,只有 D选项符合要求,将 n定义为静态局部变量,在程序执行到该对象的声明处时被首次初始化,每次执行后 n的值都会被保存到内存中,所以答案 D是正确的;而
20、A选项只是对 n 赋初值,所以 A选项没有意义; B选项和 C选项都没有达到改进的目的。 38 【正确答案】 A 【试题解析】 在 Do循环语句中程序大致执行过程如下: s 103, a 9; s103 93, a 8; s 10 93 83, a 7; ,依此类推,因此正确 的答案为A。 39 【正确答案】 B 【试题解析】 过程 f中形参变量 x没有指定传递方式,则默认按地址传递,会影响实参值。而变量 y在按钮事件过程和 f过程中都是局部变量只在本过程中起作用。因此执行 y f(x)后, x值在过程中被改变为 20,而 y被赋为过程返回值 40。因此程序窗体上会显示 20和 40。 40 【正确答案】 C 【试题解析】