1、国家二级( VB)机试模拟试卷 146及答案与解析 一、选择题 1 一个栈的初始状态为空。现将元素 1、 2、 3、 4、 5、 A、 B、 c、 D、 E依次入栈,然后再依次出栈,则元素出栈的顺序是 ( )。 ( A) 12345ABCDE ( B) EDCBA54321 ( C) ABCDEl2345 ( D) 54321 EDCBA 2 下列叙述中正确的是 ( )。 ( A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构 ( B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况 ( C)在循环 队列中,只需要队尾指针就能反映队列中元素的动态变化情况 ( D)循环队列
2、中元素的个数是由队头指针和队尾指针共同决定 3 在长度为 n的有序线性表中进行二分查找,最坏情况下需要比较的次数是 ( )。 ( A) O(n) ( B) O(n2) ( C) D(log2n) ( D) D(nlog2n) 4 下列叙述中正确的是 ( )。 ( A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的 ( B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构 ( C)顺序存储结构能存储有序 表,链式存储结构不能存储有序表 ( D)链式存储结构比顺序存储结构节省存储空间 5 数据流图中带有箭头的线段表示的是 ( )。 ( A)控制流 ( B)事件驱动 (
3、 C)模块调用 ( D)数据流 6 在软件开发中,需求分析阶段可以使用的工具是 ( )。 ( A) N-S图 ( B) DFD图 ( C) PAD图 ( D)程序流程图 7 在面向对象方法中,不属于 “对象 ”基本特点的是 ( )。 ( A)一致性 ( B)分类性 ( C)多态性 ( D)标识唯一性 8 一间宿舍可住多个学生,则 实体宿舍和学生之间的联系是 ( )。 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 9 在数据管理技术发展的三个阶段中,数据共享最好的是 ( )。 ( A)人工管理阶段 ( B)文件系统阶段 ( C)数据库系统阶段 ( D)三个阶段相同 10 有三个
4、关系 R、 S和 T如下:由关系 R和 S通过运算得到关系 T,则所使用的运算为 ( )。 ( A)笛卡尔积 ( B)交 ( C)并 ( D)自然连接 11 以下不能输出 “Program”的语句是 ( )。 ( A) Print Mid(“VBProgram“, 3, 7) ( B) PTint Right(“VBPmgram“, 7) ( C) Print Mid(“VBProgram“, 3) ( D) Print Left(“VBProgram“, 7) 12 以下叙述中错误的是 ( )。 ( A)在通用过程中,多个形式参数之间可以用逗号作为分隔符 ( B)在 Print方法中,多个输
5、出项之间可以用逗号作为分隔符 ( C)在 Dim语句中,所定义的多个变量可以用逗号作为分隔符 ( D)当一行中有多个语句时,可以用逗号作为分隔符 13 设 a=4, b=5, c=6,执行语句 Print a“XYZ“ ( B) VisualBasic“visualbasic“ ( C) the=“there“ ( D) Integer“Int”,返回 False。 选项 B中两个字符串不完全一样,有大写和 小写的字符,不等。所以返回True。故 B选项正确。 20 【正确答案】 B 【试题解析】 UCase(kft(a$, 7)是从字符串 a的左边向右取出 7个字符,然后再全部转换为大写字母
6、,结果是: “VISUAL “: Right$(a$, 12)是从字符串 a的右边向左取出 12个字符,结果为 ” Programming”, &是字符串连接符,把“VISUAL Programming“连接在一起,合成字符串“VISUAL Programming“,并把它赋给字符串变量 c,所以字符串变量 c的值就是合成的字符串。故 B选 项正确。 21 【正确答案】 C 【试题解析】 Liistl的 List属性是设置或返回列表框中的列表项内容; ListIndex属性设置或返回当前选中的列表项的索引值; Index属性是用来区分列表框控件数组中各 List控件; Text属性设置或返回当
7、前所选中列表项的文本内容。故选 C。 22 【正确答案】 A 【试题解析】 根据题意可知,在文本框中输入字符这个动作使标签上显示的内容发生变化,说明是文本框触发了某事件,排除 D选项;文本框中每输入一个字符,标签中立即就会发生变化,故是 Change事 件,排除 B选项;标签中显示的是文本框中字符的个数,不是输入的内容,排除 C选项。故 A选项正确。 23 【正确答案】 D 【试题解析】 单选按钮控件的 Value属性值为 True表示被选中, False表示未被选中;复选框控件的 Value属性值为 0表示未选中, 1表示选中, 2表示禁止。本题中是单选按钮和复选框都被选中,故 D选项正确。
8、 24 【正确答案】 A 【试题解析】 B选项错误原因:窗体有自己的 KeyPress事件过程; C选项错误原因: KeyPress事件过程中的 KeyAscii参数 返回按键的 ASCII码值,大小写字母返回值不同;而 KeyDown事件过程中的 KeyCode参数返回的是按键代码,大小写字母返回值相同。故按下的键相同时, keyAscii和 KeyCode参数不一定返回相同值; D选项错误原因: KeyPress事件中的 KeyAscii参数不能省略。 A选项正确。 25 【正确答案】 D 【试题解析】 命令按钮控件数组中各控件用相同的名称和同一 Click事件过程,大小也一样,但是为了区
9、分它们,各控件的 Index属性值是不同的。故 D选项错误。 26 【 正确答案】 B 【试题解析】 当菜单项的 Enabed属性值设置为 False时,菜单项只是变为无效项,不可用,不会删除该菜单项。故 B选项错误。 27 【正确答案】 C 【试题解析】 调用通用对话框的 ShowOpen方法,只是显示文件 “打开 ”对话框,如果 ShowOpen方法后面没有其他处理文件的代码,就不能实现打开文件的功能。故选项 C错误。 28 【正确答案】 C 【试题解析】 Caption属性是设置或返回控件的标题。组合框没有 Caption属性。故选 C。 29 【正确答案】 D 【试题解析】 FontU
10、nderline属性设置文字是否有下划线; FontBold属性是设置文字是否加粗; Fontltalic属性是设置文字是否斜体;没有 FontSlope属性。故选D。 30 【正确答案】 C 【试题解析】 题目变量 x定义 Static,即每次进入 Timer事件过程时, x都会保留上次的值,从而实现每执行一次 Timer1_Timer事件过程 x的值都在原有基础上增加 1。程序中判断调用 Timer事件过程 10次后,重置 Shapel的 top值为 0,即回到起点。控件 Shapel的 Top属性是距离窗体顶的位置,数值越大距离越远,因此 Shapel会由上向下移动。 31 【正确答案】
11、 D 【试题解析】 题目中变量 a被定义为 Variant类型, Variant是一种特殊的数据类型,除了定长 String数据及用户定义类型外,可以包含任何种类的数据。变量a被赋值为字符串数组,数组默认下标从 0开始,因此元素 a(3)的值为 “four”。 32 【正确答案】 C 【试题解析】 题目中过程 s的功能是实现一个数的阶乘,而题目是求 1到 lO的阶乘的和,则程序空缺处应该是过程 s返回值的累加,因此就 应该为 y=y+s(i)。 33 【正确答案】 D 【试题解析】 控件数组的 Index属性作为控件数组的下标,用于标识数组元素。题目中程序功能是当任一个文本框内容改变时设置第
12、2个文本框的字号是第 1个文本框字号的 2倍,同时两个文本框显示相同文字。假如用户没有使用控件数组的 Index属性的默认值程序将执行到 Else分支。 34 【正确答案】 B 【试题解析】 Dim用于在标准模块、窗体模块或过程中定义变量或数组。程序可以正常运行, x中保存的是数组 b元素中的最大值。 35 【正确答案】 A 【试题解析】 记录类型的定义必须放在模块的声明部分,当在标准模块中定义时,关键字 Type前可以有 Public(默认 )或 Private,而如果在窗体模块中定义,则必须在前面加上关键字蹦 vate。 Open语句中使用 For Random表示文件以随机方式存取。 P
13、ut语句的语法为: Put#文件号, 记录号 ,变量。其中 “变量 ”是除对象变量和数组变量外的任何变量。 36 【正确答案】 D 【试题解析】 程序是一个双层 For循环,外层循环变量的值决定内层 For循环的次数。 当 i=1时,内层循环 1次, s=1, p=1; 当 i=2时,内层循环 2次, s=1+1+2=4, p=1*4=4; 当 i=3时,内层循环 3次, s=4+1+2+3=10, p=4*10=40: 当 i=4时,内层循环 4次, s=10+1+2+3+4=20, p=40*20=800。 37 【正确答案】 A 【试题解析】 题目程序的功能为,当单击命令按钮时, Tex
14、t1失去焦点,激发Text1的 LostFocus事件,在此事件中,程序判断文本框中字符串是否为“BASIC”,如果是则退出事件过程,继续执行命令按钮的单击 事件过程,文本框中显示 “VisualBasic”,如果不是则文本框内容置空,焦点返回到文本框中等待输入,不会执行命令按钮的单击事件过程。题目中输入了 “Basic”,与 “BASIC”不符,因此文本框置空,焦点回到文本框中。 38 【正确答案】 D 【试题解析】 Right(x, 11)是从字符串变量 x右边取 11个字符,即“Programming”,这个字符串存入变量 a中。 Mid(x, 7, 5)是从字符串变量 x的第7个字符开
15、始取 5个字符,即 “Basic,此字符串存入变量 b中。 MsgB似的格式为: MsgBox(Prompt, Button, Title),参数中只有 Prompt是必需的,如果省略 Button则显示一个确定按钮,因此题目显示的消息框有一个确定按钮,标题是“Basic”,信息是 “Programming”。 MsgBox的返回值是一个与所选按钮有关的整数。 39 【正确答案】 A 【试题解析】 在 Form1窗体模块中 x被定义为全局变量,这使得它的值可以在其他模块中通过 “过程名变量名 ”的形式被引用。而变量 y在标准模块中被定义为全局变量,则它可以在工程的每个模块,每个过程中使用。因此
16、程序运 行时, x赋值为 1, y赋值为 5,它们的值都可以在 Form2中引用。 40 【正确答案】 D 【试题解析】 x是用户定义的一种变量类型,可以使用它来声明变量。InputBox(”)函数的提示信息为 ”,即为空,因此弹出的对话框中没有提示信息。在程序中通过比较输入的数被 2整除和被 2除的值是否相等来判定它是否为偶数,如果是那么 y b的值就是 y a的值的平方。 Fix函数是取整函数,它会删除小数部分,直接取表达式的整数部分,不四舍五入,因此 D选项错。 二、基本操作题 41 【正确答案】 (1)步骤 1:新 建一个 “输入 ”、最大化按钮不可用的窗体,相关属性设置如表 1所示。
17、 步骤 2:向窗体中添加一个框架控件和两个选项按钮,并设置好相关属性,如表 2所示。步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:新建一个空白窗体。 步骤 2:添加一个标签控件,设置好该控件的相关属性值,如表 3所示。步骤 3:添加一个水平滚动条,设置控件的相关属性,如表 4所示。 步骤 4:双击水平滚动条,打开代码编辑窗口,在代码编辑窗口指定位置编写以下代码。 编写程序代码。 参考答案 Private Sub HScroll1 Chanqe() Label1 FonrSize=HScroll1 Value End Sub 步骤 5:调试并运行程序,关闭程序后按题目要求
18、存盘。 【试题解析】 (1)新建一个空白窗体,添加一个框架控件和两个单选按钮控件,设置窗体和控件的相关属性值。 (2)新建一个空白窗体,添加一个标签控件和一个水平滚动条控件,设置好该控件的相关属性,最后通过水平滚动条的 change事件,将标签控件的 fontSize属性设置为滚动条的 value值。 三、简单应用题 42 【正确答案】 (1)步骤 1:打 开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Option Base 1 Private Sub Command1_Click() Dim arrN(20)As Integer Dim Aver As Single Dim
19、 Sum As Integer i Randomize For i=1 To 20 arrrN(i)=Int(Rnd*?) Next i Sum=? For i=1 To 20 Sum=? Next i Aver=? Print Aver End Sub 程序结束 参考答案 第 1个 ?处填入: 1000 第 2个 ?处填入: 0 第 3个 ?处填入: Sum+arrN(i) 第 4个 ?处填入: Sum 20 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 (2)步骤 1:打开本题工程文件。 步骤 2:分析并编写程序代码。 程序提供代码 Sub SaveData() Open App
20、Path&“ “&“outtxt txt“For Output As #1 Print #1 Text1 Text Close #1 End Sub Function Fun() End Function Private Sub Command1_Click() d=Fun() Text1 Text=d SaveData End Sub 程序结束 参考答案 Function Fun() Dim s As Integer i As Integer For i=0 To 200 If i Mod 3=0 Then s=s+i End If Next i Fun=s End Function 步骤 3:调试并运行程序,关闭程序后按题目要求存盘。 【试题解析】 (1)表达式 Int(Rnd*1000)可生成 0 1000范围内随机整数。根据题意求出 20个随机整数的平均值,须用 For循环语句逐一将数组中的各元素累 加到变量 Sum,然后求出平均值。 (2)判断 0 200范围内的数能不能被 3整除,须使用求余运算符 Mod,如果余数不为 0,则表示该数不能被整除。并需要设置一个变量,以累计不能被 3整除的数的和。 四、综合应用题 43 【正确答案】 步骤 1:打开本题项目工程。