1、国家二级( VB)机试模拟试卷 175及答案与解析 一、选择题 1 下列叙述中正确的是 ( )。 ( A)栈是 “先进先出 ”的线性表 ( B)队列是 “先进后出 ”的线性表 ( C)循环队列是非线性结构 ( D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 2 支持子程序调用的数据结构是 ( )。 ( A)栈 ( B)树 ( C)队列 ( D)二叉树 3 某二叉树有 5个度为 2的结点,则该二叉树中的叶子结点数是 ( )。 ( A) lO ( B) 8 ( C) 6 ( D) 4 4 下 列排序方法中,最坏情况下比较次数最少的是 ( )。 ( A)冒泡排序 ( B)简单选择排序
2、( C)直接插入排序 ( D)堆排序 5 软件按功能可以分为:应用软件、系统软件和支撑软件 (或工具软件 )。下面属于应用软件的是 ( )。 ( A)编译程序 ( B)操作系统 ( C)教务管理系统 ( D)汇编程序 6 下面叙述中错误的是 ( )。 ( A)软件测试的目的是发现错误并改正错误 ( B)对被调试的程序进行 “错误定位 ”是程序调试的必要步骤 ( C)程序调试通常也称为 Debug ( D)软 件测试应严格执行测试计划,排除测试的随意性 7 耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 ( )。 ( A)提高耦合性降低内聚性有利于提高模块的独立性 ( B)降低耦
3、合性提高内聚性有利于提高模块的独立性 ( C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 ( D)内聚性是指模块间互相连接的紧密程度 8 数据库应用系统中的核心问题是 ( )。 ( A)数据库设计 ( B)数据库系统设计 ( C)数据库维护 ( D)数据库管理员培训 9 有两个关系 R、 S如下: 由关系 R通过运算得到关系 S,则所使用的运算为 ( )。 ( A)选择 ( B)投影 ( C)插入 ( D)连接 10 将 ER图转换为关系模式时,实体和联系都可以表示为 ( )。 ( A)属性 ( B)键 ( C)关系 ( D)域 11 下列叙述中正确的是 ( )。 ( A) MsgBo
4、x语句的返回值是一个整数 ( B)执行 MsgBox语句并出现信息框后,不用关闭信息框即可执行其他操作 ( C) MsgBox语句的第一个参数不能省略 ( D)如果省略 MsgBox语句的第三个参数 (Title),则信 息框的标题为空 12 语句 Dim a(一 3 To 4, 3 To 6)As Integer定义的数组的元素个数是 ( )。 ( A) 18 ( B) 28 ( C) 21 ( D) 32 13 以下关于函数过程的叙述中,正确的是 ( )。 ( A)函数过程形参的类型与函数返回值的类型没有关系 ( B)在函数过程中,过程的返回值可以有多个 ( C)当数组作为函数过程的参数时
5、,既能以传值方式传递,也能以传址方式传递 ( D)如果不指明函数过程参数的类型,则该参数没有数据类型 14 以下关于过程及过程参 数的描述中,错误的是 ( )。 ( A)过程的参数可以是控件名称 ( B)调用过程时使用的实参的个数应与过程形参的个数相同 (假定不含可变参数 ) ( C)只有函数过程能够将过程中处理的信息返回到调用程序中 ( D)窗体可以作为过程的参数 15 以下变量名中合法的是 ( )。 ( A) x2-1 ( B) print ( C) str_n ( D) 2x 16 把数学表达式 表示为正确的 VB表达式应该是 ( )。 ( A) (5x+3) (2y一 6) ( B)
6、x*5+3 2*y一 6 ( C) (5*x+3)(2*y一 6) ( D) (x*5+3) (y*26) 17 下面有关标准模块的叙述中,错误的是 ( )。 ( A)标准模块不完全由代码组成,还可以有窗体 ( B)标准模块中的 Private过程不能被工程中的其他模块调用 ( C)标准模块的文件扩展名为 bas ( D)标准模块中的全局变量可以被工程中的任何模块引用 18 可以产生 30 50(含 30和 50)之间的随机整数的表达式是 ( )。 ( A) Int(Rnd*21+30) ( B) Int(Rnd*20+30) ( C) Int(Rnd*50一 Rnd*30) ( D) Int
7、(Rnd*30+50) 19 在程序运行时,下面的叙述中正确的是 ( )。 ( A)用鼠标右键单击窗体中无控件的部分,会执行窗体的 Form_Load事件过程 ( B)用鼠标左键单击窗体的标题栏,会执行窗体的 Form_Click事件过程 ( C)只装入而不显示窗体,也会执行窗体的 Form_Load事件过程 ( D)装入窗体后,每次显示该窗体时,都会执行窗体的 Form_Click事件过程 20 下列有关文件的叙述中,正确的是 ( )。 ( A)以 Output方式打 开一个不存在的文件时,系统将显示出错信息 ( B)以 Append方式打开的文件,既可以进行读操作,也可以进行写操作 ( C
8、)在随机文件中,每个记录的长度是固定的 ( D)无论是顺序文件还是随机文件,其打开的语句和打开方式都是完全相同的 21 若看到程序中有以下事件过程,则可以肯定的是,当程序运行时 ( )。 Private Sub Click_MouseDown(Button As Integer, Shift As Integer, X As Single,Y As Single) Print“VB Program“ End Sub ( A)用鼠标左键单击名称为 “Command1”的命令按钮时,执行此过程 ( B)用鼠标左键单击名称为 “MouseDown”的命令按钮时,执行此过程 ( C)用鼠标右键单击名称
9、为 “MouseDown”的控件时,执行此过程 ( D)用鼠标左键或右键单击名称为 “Click”的控件时,执行此过程 22 窗体上有名称为 Command1的命令按钮和名称为 Text1的文本框 Private Sub Command1_Click() Text1 Text=“程序设计 “ Text 1 SetFocus End Sub Private Sub Text1_GotFocus() Text1 Text=“等级考试 “ End Sub 运行以上程序,单击命令按钮后 ( )。 ( A)文本框中显示的是 “程序设计 ”,且焦点在文本框中 ( B)文本框中显示的是 “等级考试 ”,且焦
10、点在文本框中 ( C)文本框中显示的是 “程序设计 ”,且焦点在命令按钮上 ( D)文本框中显示的是 “等级考试 ”,且焦点在命令按钮上 23 设窗体上有名称为 Option1的单选按钮,且程序中有语句: If Option1 Value=True Then 下面诏句中与该语句不等价的是 ( )。 ( A) If Option1 Value Then ( B) If Option1=True Then ( C) If Value=True Then ( D) If Option1 Then 24 设窗体上有 1个水平滚动条,已经通过属性窗口把它的 Max属性设置为 1,Min属性设置为 100
11、。下面叙述中正确的是 ( )。 ( A)程序 运行时,若使滚动块向左移动,滚动条的 Value属性值就增加 ( B)程序运行时,若使滚动块向左移动,滚动条的 Value属性值就减少 ( C)由于滚动条的 Max属性值小于 Min属性值,程序会出错 ( D)由于滚动条的 Max属性值小于 Min属性值,程序运行时滚动条的长度会缩为一点,滚动块无法移动 25 下列关于通用对话框 CommonDialogl的叙述中,错误的是 ( )。 ( A)只要在 “打开 ”对话框中选择了文件,并单击 “打开 ”按钮,就可以将选中的文件打开 ( B)使用 CommonDialogl ShowColor方法,可以显
12、示 “颜色 ”对话框 ( C) CancelError属性用于控制用户单击 “取消 ”按钮关闭对话框时,是否显示出错警告 ( D)在显示 “字体 ”对话框前,必须先设置 CommonDialogl的 Flags属性,否则会出错 26 在利用菜单编辑器设计菜单时,为了把组合键 “Alt+x”设置为 “退出 (x)”菜单项的访问键,可以将该菜单项的标题设置为 ( )。 ( A)退出 (X ) ( B)退出 (&X) ( C)退出 (X#) ( D)退出 (#X) 27 下面哪个属性肯定不是框架控件的属性 ( )。 ( A) Text ( B) Caption ( C) Left ( D) Enab
13、led 28 窗体上有一个名称为 Option1的单选按钮数组,程序运行时,当单击某个单选按钮时,会调用下面的事件过程: Private Sub Option1_Click(Index As Integer) End Sub 下面关于此过程的参数 Index的叙述中,正确的是 ( )。 ( A) Index为 1表示单选按钮被选中,为 0表示未选中 ( B) Index的值可正可负 ( C) Index的值用来区分哪个单选按钮被选中 ( D) Index表示数组中单选按钮的数量 29 设窗体中有一个文本框 Text1,若在程序中执行了 Text1 SetFocus,则触发( )。 ( A) T
14、ext1的 SetFocus事件 ( B) Text1的 GotFocus事件 ( C) Text1的 LostFocus事件 ( D)窗体的 GotFocus事件 30 窗体上有两个水平滚动条 HV、 HT,还有一个文本框 Text1和一个标题为 “计算 ”的命令按钮 Command1,并编写了以下程序: Private Sub Command1_Click() Call ealc(HV Value, HT Value)End Sub Public Sub ealc(x As Integer, y As Integer) Text1 Text=x*y End Sub 运行程序,单击 “计算
15、”按钮,可根据速度与时间计算出距离,并显示计算结果。 对以上程序,下列叙述中正确的是 ( )。 ( A)过程调用语句不对,应为 calc(HV, HT) ( B)过程定义语句的形式参数不对,应为 Sub cale(x As Control, y As Control) ( C)计算结果在文本框中显示出来 ( D)程序不能正确运行 31 现有如下程序: Private Sub Command1_Click() s=0 For i=1 To 5 s=s+f(5+i) Next Print s End Sub Public Function f(x As Integer) If x=10 Then
16、t=x+1 Else t=x+2 End If f=t End Function 运行程序,则窗体上显示的是 ( )。 ( A) 38 ( B) 49 ( C) 61 ( D) 70 32 窗体上有一个名称为 Picture1的图片框控件,一个名称为 Label1的标签控件,如图所示。 现有如下程序: Public Sub display(X As Control) If TypeOf x Is Label Then x Caption=“计算机等级考试 “ Else xPicture=LoadPicture(“pic jpg“) End IfEnd SubPrivate Sub Label1
17、_Click() Call display(Label1)End SubPrivate Sub Picture1_Click() Call display(Picture1)End Sub对以上程序,下列叙述中错误的是 ( )。 ( A)程序运行时会出错 ( B)单击图片框,在图片框中显示一幅图片 ( C)过程中的 x是控件变量 ( D)单击标签,在标签中显示一串文字 33 窗体上有两个名称分别为 Text1、 Text2的文本框。 Text1的 KeyUp事件过程如下: Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer)
18、 Dim c As String e=UCase(Chr(KeyCode) Text2 Text=Chr(Asc(c)+2) End Sub 当向文本框 Text1中输入小写字母 a时,文本框 Text2中显示的是 ( )。 ( A) A ( B) a ( C) C ( D) C 34 设窗体上有一个文本框 Text1和一个命令按钮 Command1,并有以 下事件过程: Private Sub Command1_Click() Dim s As String, ch As String s=“ For k=1 To Lea(Text1) ch=Mid(Text1, k, 1) s=ch+s
19、Next k Text1 Text=s End Sub 程序执行时,在文本框中输入 “Basic”,然后单击命令按钮,则 Text1中显示的是( )。 ( A) Basic ( B) cisaB ( C) BASIC ( D) CISAB 35 某人编写了如下程序,用来求 10个整数 (整数从键盘输入 )中的最大值: Private Sub Command1 Click() Dim a(10)As Integer, max As Integer For k=1 To 10 a(k)=InputBox(“输入一个整数 “) Next k max=0 For k=1 To 10 If a(k)ma
20、x Thcn max=a(k) End If Next k Print max End Sub 运行程序时发现,当输入 10个正数时,可以得到正确结果,但输入 10个负数时结果是错误的,程序需要修改。下面的修改中可以得到正确运行结果的是 ( )。 ( A)把 If a(k)max Then改为 If a(k),样式 ,标题 ),注意 MsgBox函数带括号,有返回值。 MsgBox语句格式: MsgBox(,样式 ,标题 ),有无括号都可以,无返回值。故 A选项错误。 其中: 第 1个参数:提示内容是必需的,不能省略。故 C选项正确。 第 2个参数:可选。整型表达式,缺省值 0,指定信息框中按
21、钮数目、类型、图标类型、缺省按钮等。 第 3个参数:可选,如果省略,则标题栏并不为空默认显示它所属的工程名。故 D选项错误。 执行 MsgBox语句时出现信息框后,必须关闭信息框才可执行其他操作。故 B选项错误。 12 【正确答案】 D 【试题解析】 本题定义的是一 个整型的二维数组,一 3 To 4指的是一 3、一 2、一 1、 0、 1、 2、 3、 4(共 8行 ), 3 To 6指的是 3、 4、 5、 6(共 4列 ),因此数组元素个数是 84=32,故选 D。 13 【正确答案】 A 【试题解析】 定义函数过程的格式: Function函数过程名 (形参表 )As函数返回值的数据类
22、型 函数过程名 =表达式 End Function 说明: 形参的类型可以是任何数据类型,函数返回值的类型是调用函数后返回的数据类型,他们没有关系,互不影响。故选项 A正 确。 选项 B错误的原因是:函数过程中可以有多个 “函数过程名 =表达式 ”这样的语句,但是最终函数只能有一个返回值。如果省略这条语句,函数过程则返回一个默认值,数值函数过程返回 0,字符串函数过程返回空字符串。 选项 C错误的原因是:数组作为函数过程的参数时,这时数组名看作是一个符号地址,实参和形参之间传递的是地址,所以以传址方式传递。 选项 D错误的原因是:形参如果没指明数据类型,默认为 Variant类型。 14 【正
23、确答案】 C 【试题解析】 过程定义时,形参除了可以是整型、 单精度、双精度等数据类型外,还可以是控件或窗口等对象型。相对应的调用过程时实参也可以是一般数据类型、控件名或窗体。故选项 A、 D正确。 调用过程时使用的实参的个数、类型、顺序应与过程中形参相同。故选项 B正确。 在过程调用时,不只是函数过程能把过程中处理的信息传回到调用程序中, Sub过程也可以。 Sub过程中形参声明时前面有关键字 ByRef或省略 ByRef(默认 )时,实参和形参之间传递的是地址, Sub过程中形参的变化也会引起实参的变化,这样 Sub过程中处理的信息也可以传回调用程序中。故选项 C说法错 误。 15 【正确
24、答案】 C 【试题解析】 VB中变量名的命名规则: 必须以字母或汉字开头 由字母、汉字、数字或下划线组成 不能使用 VB的保留字。本题中 x2一 l中有一 (减号 ),不是下划线。 print是 VB的保留字,也不能作变量名。 2x以数字开头,也是错误的。故 C选项正确。 16 【正确答案】 D 【试题解析】 VB数学表达式中的乘用 *表示,除用表示,表示一个整体的可加括号 ()。故 D选项正确。 17 【正确答案】 A 【试题解析】 标准模块中只包含其他窗体模块中公用的一些变量、 过程等代码,不包括窗体。故选项 A错误。 标准模块中用 Private声明的过程属于私有过程,只能被它所在的模块
25、中的其他过程调用,不能被工程中其他模块调用,用 Public声明的全局变量属于公用变量,可以被工程中的任何模块引用。标准模块的文件扩展名是 bas。 18 【正确答案】 A 【试题解析】 因为 Rnd函数产生的随机数范围是大于等于 0而小于 1。要产生30 50(含 30和 50)之间的随机整数,可先产生 0 (5030),即 0 20之间的随机整数,然后在这个基础上再加上 30。 Rnd*20生成 0 20之间的随机数中不包括 20,所以要用 Int(Rnd*21)可产生0 20之间的随机整数,然后加上 30,综合起来就是 Int(Rnd*21+30),故 A选项正确。 19 【正确答案】
26、C 【试题解析】 如果窗体是活动的,那么在窗体上按下鼠标右键 (尚未松手抬起 ),即会触发 Form_MouseDown事件,松手抬起后,要先触发 Form_MouseUp事件,然后再触发 Form_Click事件。如果窗体原先是非活动的,还会触发Form_GotFocus事件,并且它最先发生。 Form_Load事件 是窗体显示之前,加载时触发,单击窗体时不触发。故 A选项错误。 用鼠标左键单击窗体标题栏时,不会执行 Form_Click事件过程。故 B选项错误。 装入窗体后,每次显示该窗体时或窗体成为活动窗体时,都会执行 From_Active窗体的激活事件。故 D选项错误。 20 【正确
27、答案】 C 【试题解析】 A选项错误原因:当以 Output方式打开一个不存在的顺序文件时, Ppen语句会首先创建该文件,然后再打开它,系统不会出错。 B选项错误原因:以 Append方式打开文件后,可将内存中的数 据追加到顺序文件的尾部,可进行写操作,不能进行读操作。 D选项错误原因: VB中三种可访问的文件有:顺序文件、随机文件和二进制文件,不同文件打开的方式是不同的。 C选项中随机文件中的每一行称为一条记录,每条记录的长度相同,通过记录号来定位和查找指定记录。故 C选项正确。 21 【正确答案】 D 【试题解析】 本题中, Click是控件的名称, MouseDown是鼠标按下事件,当
28、用鼠标左键或右键单击 Click控件时就会触发 MouseDown事件,执行 MouseDown事件过程。故选 D。 22 【正确答案】 B 【试题解析】 运行程序,单击命令按钮后,执行 Command1_Click事件过程代码,文本框 Text1中显示 “程序设计 ”,并且文本框 Text1获得焦点,此时焦点在Text1中;当 Text1获得焦点就会触发它的 Got_Focus事件,执行 Got_Focus事件过程,结果文本框 Text1中显示 “等级考试 ”。故 B选项正确。 23 【正确答案】 C 【试题解析】 A选项中 Option1 Value可作为一个条件表达式,它返回的是单选按钮
29、 Value属性的属性值,根据属性值就可 判断出单选按钮是否被选中; B选项中 Option1等价于 Option1 Value; D选项与 A选项等价,故 A、 B、 D选项均与程序中语句等价; C选项中 Value是属性名,前面必须加控件名才能用,不能单独使用,故 C选项错误。 24 【正确答案】 A 【试题解析】 水平滚动条的 Max和 Min属性值可以是 0 32767中任意值。当MaxMin属性值时,滚动块向右移动 Value属性值增加,向左移动 Value属性值减少;反之,当 Max= 97 And ch =122 Then d(ch-96, 1)=Chr(ch) d(ch-96, 2)= d(ch-96, 2)+1 End If Next i End Sub 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 Calculate过程中利用 For循环逐个取出文本字符串 s中的字符,然后将所有字符使用 LCase函数转换为小写,小写字母的 ASCII码取值范围为 65到 90之间,再将每个字母及其出现的次数存储到二维数组 d中。