1、国家二级( VB)机试模拟试卷 57及答案与解析 一、选择题 1 窗体上有一个由两个文本框组成的控件数组,名称为 Text1,并有如下事件过程: Private Sub Text1_Change(Index As Integer) Select Case Index Case 0 Text1(1).FontSize Text1(0).FontSize * 2 Text1(1).Text Text1(0).Text Case 1 Text1(0).FontSize Text1(1).FontSize / 2 Text1(0).Text Text1(1).Text Case Else MsgBox
2、 “执行 Else分支 “ End Select End Sub 关于上述程序,以下叙述中错误的是 ( )。 ( A) Index用于标识数组元素 ( B)本程序中 Case Else分支的语句永远不会被执行 ( C)向任何一个文本框输入字符,都会在另一个文本框中显示该字符 ( D)下标为 0的文本框中显示的字符尺寸将越来越小 2 设有如下程序: Option Base 1 Dim a(3, 4)As Integer, b(4, 3)As Integer Private Sub Command1_Click() 循环 1 For i 1 To 3 For j 1 To 4 b(j, i) a(
3、i, j) Next j Next i 循环 2 x b(1, 1) For i 1 To 4 For j 1 To 3 Print b(i, j); If x,样式 ,标题 ),注意 MsgBox函数带括号,有返回值。 MsgBox语句格式: MsgBox(,样式 ,标题 ),有无括号都可以,无返回值。故 A选项错误。 其中: 第 1个参数:提示内容是 必需的,不能省略。故 C选项正确。 第 2个参数:可选。整型表达式,缺省值 0,指定信息框中按钮数目、类型、图标类型、缺省按钮等。 第 3个参数:可选,如果省略,则标题栏并不为空默认显示它所属的工程名。故D选项错误。 执行 MsgBox语句时
4、出现信息框后,必须关闭信息框才可执行其他操作。故 B 选项错误。 18 【正确答案】 D 【试题解析】 本题定义的是一个整型的二维数组, 3 To 4指的是 3、 2、1、 0、 1、 2、 3、 4(共 8行 ),3 To 6指的是 3、 4、 5、 6(共 4列 ),因此数组元素个数是 84 32,故选 D。 19 【正确答案】 A 【试题解析】 定义函数过程的格式: Function 函数过程名 (形参表 )As函数返回值的数据类型 函数过程名表达式 End Function 说明: 形参的类型可以是任何数据类型,函数返回值的类型是调用函数后返回的数据类型,他们没有关系,互不影响。故选项
5、 A正确。 选项 B错误的原因是:函数过程中可以有多个 “函数过程名表达式 “这样的语句,但是最终函数只能有一个返回值。如果省略这条语句,函数过程则返回一个默认值,数值函数过程返回 0,字符串函数过程返 回空字符串。 选项 C错误的原因是:数组作为函数过程的参数时,这时数组名看作是一个符号地址,实参和形参之间传递的是地址,所以以传址方式传递。 选项 D错误的原因是:形参如果没指明数据类型,默认为 Variant类型。 20 【正确答案】 C 【试题解析】 过程定义时,形参除了可以是整型、单精度、双精度等数据类型外,还可以是控件或窗口等对象型。相对应的调用过程时实参也可以是一般数据类型、控件名或
6、窗体。故选项 A、 D正确。 调用过程时使用的实参的个数、类型、顺序应与过程中形参相同。故选项 B正确。 在过程调 用时,不只是函数过程能把过程中处理的信息传回到调用程序中, Sub过程也可以。 Sub过程中形参声明时前面有关键字 ByRef或省略 ByRef(默认 )时,实参和形参之间传递的是地址, Sub过程中形参的变化也会引起实参的变化,这样 Sub过程中处理的信息也可以传回调用程序中。故选项 C说法错误。 21 【正确答案】 C 【试题解析】 VB 中变量名的命名规则: 必须以字母或汉字开头 由字母、汉字、数字或下划线组成 不能使用 VB的保留字。本题中 x2 1中有 (减号 ),不是
7、下划线。 print是 VB 的保留字,也不能作 变量名。 2x以数字开头,也是错误的。故 C选项正确。 22 【正确答案】 A 【试题解析】 标准模块中只包含其他窗体模块中公用的一些变量、过程等代码,不包括窗体。故选项 A错误。 标准模块中用 Private 声明的过程属于私有过程,只能被它所在的模块中的其他过程调用,不能被工程中其他模块调用,用 Public声明的全局变量属于公用变量,可以被工程中的任何模块引用。标准模块的文件扩展名是 .bas 。 23 【正确答案】 A 【试题解析】 因为 Rnd 函数产生的随机数范围是大于等于 0 而小于 1。要产生30 50(含 30和 50)之间的
8、随机整数,可先产生 0 (50 30),即 0 20之间的随机整数,然后在这个基础上再加上 30。 Rnd*20生成 0 20之间的随机数中不包括 20,所以要用 Int(Rnd*21)可产生 020之间的随机整数,然后加上 30,综合起来就是 Int(Rnd*21 30),故 A选项正确。 24 【正确答案】 C 【试题解析】 如果窗体是活动的,那么在窗体上按下鼠标右键 (尚未松手抬起 ),即会触发 Form_MouseDown 事件,松手抬起后,要先触发 Form_MouseUp 事件,然后 再触发 Form_Click 事件。如果窗体原先是非活动的,还会触发Form_GotFocus 事
9、件,并且它最先发生。 Form_Load 事件是窗体显示之前,加载时触发,单击窗体时不触发。故 A选项错误。 用鼠标左键单击窗体标题栏时,不会执行 Form_Click 事件过程。故 B 选项错误。 装入窗体后,每次显示该窗体时或窗体成为活动窗体时,都会执行 From_Active窗体的激活事件。故 D选项错误。 25 【正确答案】 C 【试题解析】 A选项错误原因:当以 Output方式打开一个不存在的顺序文件时, Open 语 句会首先创建该文件,然后再打开它,系统不会出错。 B 选项错误原因:以 Append 方式打开文件后,可将内存中的数据追加到顺序文件的尾部,可进行写操作,不能进行读
10、操作。 D选项错误原因: VB 中三种可访问的文件有:顺序文件、随机文件和二进制文件,不同文件打开的方式是不同的。 C选项中随机文件中的每一行称为一条记录,每条记录的长度相同,通过记录号来定位和查找指定记录。故 C选项正确。 26 【正确答案】 D 【试题解析】 本题中, Click是控件的名称, MouseDown 是鼠标按下事件,当用鼠标左键或右键单 击 Click 控件时就会触发 MouseDown 事件,执行 MouseDown事件过程。故选 D。 27 【正确答案】 B 【试题解析】 运行程序,单击命令按钮后,执行 Command1_Click 事件过程代码,文本框 Text1 中显
11、示 “程序设计 “,并且文本框 Text1获得焦点,此时焦点在Text1中;当 Text1 获得焦点就会触发它的 Got_Focus 事件,执行 Got_Focus 事件过程,结果文本框 Text1中显示 “等级考试 “。故 B 选项正确。 28 【正确答案】 C 【试题解析】 A选项中 Option1.Value可作为一个条件表达式,它返回的是单选按钮 Value属性的属性值,根据属性值就可判断出单选按钮是否被选中; B选项中Option1 等价于 Option1.Value; D选项与 A选项等价,故 A、 B、 D选项均与程序中语句等价; C选项中 Value是属性名,前面必须加控件名才
12、能用,不能单独使用,故 C选项错误。 29 【正确答案】 A 【试题解析】 水平滚动条的 Max和 Min 属性值可以是 0 32767中任意值。当MaxMin 属性值时,滚动块向右移动 Value属性值增加,向左移动 Value属性值减 少;反之,当 Max= Line2.Y1 Then s = - s End If End Sub 程序结束 参考答案 第 1个?处填入: True 第 2个?处填入: Line1.Y1 第 3个?处填入: Shape1.Height 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)【操作步骤】 步骤 1:打开本题工程文件。 步骤 2:分析并编写程
13、序代码。 程序提供代码 Dim a(100) As Integer Private Sub Command1_Click() Dim k As Integer Open App.Path Text1.Text Close #1 End Sub 程序结束 参考答案 Private Sub Command2_Click() 考生编写 Dim k As Long Dim m As Long Dim q As Long Dim p As Long Dim r As Long Dim n As Long For k = 1 To 100 If a(k) Mod 2 = 0 Then m = m + a(
14、k) q = q + 1 Else n = n + a(k) p = p + 1 End If Next k r = Int(m + n) / (p + q) + 0.5) m = Int(m / q + 0.5) n = Int(n / p + 0.5) Select Case Combo1.Text Case “所有偶数 “ Text1 = m Case “所有奇数 “ Text1 = n Case “所有数 “ Text1 = r End Select End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 四、综合应用题 43 【正确答案】 【操作步骤】 步骤 1:打开本
15、题工程文件。 步骤 2:编写程序代码。 参考 Private Sub Command1_Click() Dim a() As Long Dim i As Integer Dim n As Integer For i = 0 To Op1.Count - 1 If Op1(i).Value = True Then n = Val(Op1(i).Caption) Exit For End If Next ReDim a(n) a(1) = 1 a(2) = 1 For i = 3 To n a(i) = a(i - 1) + a(i - 2) Next Text1.Text = a(n) End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。