1、国家二级 VB机试(选择题)模拟试卷 130及答案与解析 一、选择题 1 设数据元素的集合 D= 1,2,3,4,5 ,则满足下列关系 R的数据结构中为线性结构的是 ( A) R= (1,2), (3,4), (5,1) ( B) R= (1,3), (4,1), (3,2), (5,4) ( C) R= (1,2), (2,3), (4,5) ( D) R= (1,3), (2,4), (3,5) 2 下列叙述中正确的是 ( A)链表结点中具有两个指针域的数据结构可以是线性结构,也可 以是非线性结构 ( B)线性表的链式存储结构中,每个结点必须有指向前件和指向后件的两个指针 ( C)线性表的
2、链式存储结构中,每个结点只能有一个指向后件的指针 ( D)线性表的链式存储结构中,叶子结点的指针只能是空 3 一个栈的初始状态为空。现将元素 A,B,C,D,E依次入栈,然后依次退栈三次,并将退栈的三个元素依次入队(原队列为空),最后将队列中的元素全部退出。则元素退队的顺序为 ( A) ABC ( B) CBA ( C) EDC ( D) CDE 4 某二叉树的中序序列为 DCBAEFG,后序序列为 DCBGFEA,则该二叉树的深度(根结点在第 1层)为 ( A) 5 ( B) 4 ( C) 3 ( D) 2 5 软件生命周期是指 ( A)软件产品从提出、实现、使用、维护到停止使用退役的过程
3、( B)软件的需求分析、设计与实现 ( C)软件的开发与管理 ( D)软件的实现和维护 6 某系统结构图如下图所示 该系统结构图的深度是 ( A) 1 ( B) 2 ( C) 3 ( D) 4 7 下面属于应用软件的是 ( A)学生成绩管理系统 ( B) UNIX操作系统 ( C)汇编程序 ( D)编译程序 8 将 E-R图转换 为关系模式时, E-R图中的属性可以表示为 ( A)属性 ( B)键 ( C)关系 ( D)域 9 有两个关系 R与 S如下,由关系 R和 S得到关系 T,则所使用的操作为( A)并 ( B)自然连接 ( C)除法 ( D)交 10 优化数据库系统查询性能的索引设计属
4、于数据库设计的 ( A)需求分析 ( B)概念设计 ( C)逻辑设计 ( D)物理设计 11 isual Basic集成环境的 “工程 “菜单(部分)如图所示。为了编写全局变量和通用过程,要为当前工程创建一个新的 .bas文件,为此,应在菜单中选择的 是( A)添加窗体 ( B)添加 MDI窗体 ( C)添加模块 ( D)添加类模块 12 如果在程序中直接使用了没有声明的变量,则它的数据类型是 ( A)字符串型 ( B)整型 ( C)逻辑型 ( D)变体型 13 为了判断字符串变量 ch中是否是一个大写字母,需要编写这样一个表达式:当ch中字符为大写字母时,表达式的值为 True,否则为 Fa
5、lse。下面能正确实现这一目的的表达式是 ( A) A b, a, b) c, c, IIf(a b, a, b) ( B) x = IIf(IIf(a b, a, b) c, IIf(a b, a, b), c) ( C) x = IIf(a c, IIf(a b, a, b), c) ( D) x = IIf(a b, IIf(a 10 ( D) Do Until x = 10 x = x + 1 18 下面过程定义框架中正确的是 ( A) Function fun(x As Control) End Function ( B) Function fun(ByVal a() As Inte
6、ger) As Long End Function ( C) Sub proc(x As Integer) As Integer End Sub ( D) Sub proc(Optional x As Long, y As Integer) End Sub 19 设有下面的类型和变量定义, Private Type Rec name As String score(5) As Integer End Type Dim student As Rec 则下面正确的 语句是 ( A) student = “张三 “ ( B) student.score(2) = 75 ( C) student(3)
7、.score = 69 ( D) score(4) = 77 20 写文件语句 Print # 与 Write # 的区别之一是 ( A) Write # 用于写二进制文件; Print # 用于写文本文件 ( B) Print # 既可以写顺序文件,也可以写随机文件; Write # 则只能写顺序文件 ( C) Print # 写到文件的每个数据项之间自动添加 “, “字符;而 Write # 没有 ( D) Write # 写到文件的每个数据项之间自动添加 “, “字符;而 Print # 没有 21 下面不响应键盘事件的对象是 ( A)窗体 ( B)按钮 ( C)复选框 ( D)标签 2
8、2 下面关于单选按钮和复选框的叙述中正确的是 ( A)单选按钮被选中则它的 Value属性为 True;复选框被选中则它的 Value属性为 True ( B)单选按钮被选中则它的 Value属性为 1;复选框被选中则它的 Value属性为 1 ( C)单选按钮被选中则它的 Value属性为 True;复选框被选中则它的 Value属性为 2 ( D)单选按钮被选中则它的 Value属性为 True;复选框被选中则它的 Value属性为 1 23 设窗体、框架、图片框( PictureBox)、图像框( Image)的名称分别是Form1、 Frame1、 Picture1、 Image1,有
9、下面 4条语句: Form1.Print “VB“ Frame1.Print “VB“ Picture1.Print “VB“ Image1.Print “VB“ 其中正确的是 ( A) 和 ( B) 和 ( C) 和 ( D) 和 24 在窗体上画一个 Text1文本框和一个 HScroll1水平滚动条,然后编写以下程序并运行: Private Sub Form_Load() HScroll1.Max = Text1.Width * 2 HScroll1.Value = Text1.Width HScroll1.Width = HScroll1.Max End Sub Private Sub
10、 HScroll1_Change() Text1.Width = HScroll1.Value End Sub 下面叙述中错误的是 ( A)拖动滚动条的滚动块,可以改变文本框的宽度 ( B)窗体刚显示时滚动条的宽度是文本框宽度的 2倍 ( C)文本框的宽度最多可以增加到窗体刚显示时自身宽度的 2倍 ( D)窗体刚显示时滚动块的位置在滚动条的最左边 25 在窗体上画 Text1、 Text2两个文本框,并编写如下程序: Private Sub Form_Load() Text2.PasswordChar = “$“ End Sub Private Sub Text1_Change() Text2
11、.Text = Text1.Text End Sub 运行程序,在 Text1文本框中输入 “ABCDEFG“,则产生的结果是 ( A)在 Text2中同步显示与 Text1同样内容 ( B)在 Text2中同步显示 “abcdefg“ ( C)在 Text2中同步显示与 Text1中字符数量相同的 “$“ ( D)在 Text1中显示 “$“,而在 Text2中不显示任何内容 26 在窗体上画一个 Timer1计时器控件和一个 Shape1形状控件,并编写如下程序 Private Sub Form_Load() Timer1.Interval = 1000 Timer1.Enabled =
12、True End Sub Private Sub Timer1_Timer() If Shape1.Shape = 1 Then Shape1.Shape = 3 Else Shape1.Shape = 1 End If End Sub 运行程序,则看到的结果是 ( A)交替显示正方形和圆形,每秒交替一次 ( B)交替显示矩形和椭圆形 ,每秒交替一次 ( C)显示正方形,每秒闪烁一次 ( D)显示椭圆形,每秒移动一次 27 下面可以识别功能键 F1的事件是 ( A) KeyPress事件和 KeyDown事件 ( B) KeyPress事件和 KeyUp 事件 ( C) KeyDown事件和
13、KeyUp事件 ( D) KeyPress事件 28 下面关于列表框 Selected属性的叙述中正确的是 ( A) Selected属性是个字符数组 ( B) Selected属性一个数组,用来表示哪些列表项被选中 ( C) Selected属性是一个逻辑型变量, 当选中一个列表项时, Selected属性被设置为 True ( D) Selected属性为 1时表示列表框中有列表项被选中 29 下面关于菜单的叙述中错误的是 ( A)弹出式菜单也用菜单编辑器编辑 ( B)弹出式菜单中的某个菜单项也可以有自己的子菜单 ( C)把弹出式菜单的最高级菜单项的 Visible属性设置为 True,可
14、以弹出该弹出式菜单 ( D)用菜单编辑器可以同时编辑下拉式菜单和弹出式菜单 30 在窗体上画一个 Text1文本框和一个 CD1通用对话框控件,并编写下面程序: Private Sub Command1_Click() CD1.Flags = 1 Or 256 CD1.Action = 4 If CD1.Color = 0 Then Text1.ForeColor = CD1.Color End If End Sub 运行程序并单击命令按钮,下面叙述中正确的是 ( A)弹出的是颜色对话框 ( B)弹出的是打开文件对话框 ( C)把代码 CD1.Action = 4 改为 CD1.ShowCol
15、or 效果是一样的 ( D)在弹出的对话框中选了一 个颜色并单击 “确定 “ 按钮后,会改变文本框中文本的颜色 31 有下面的程序段: A = 1.2 B = 321 C = Len(Str(A) + Str(B) Print C 执行上面的程序段,输出结果是 ( A) 5 ( B) 6 ( C) 7 ( D) 8 32 编写如下程序: Private Sub Form_Click() a = 0 For i = 1 To 20 Step 3 a = a + i 5 Next i Print a End Sub 运行程序,单击窗体,输出结果为 ( A) 11 ( B) 12 ( C) 13 (
16、 D) 14 33 设有如下程序: Private Sub Form_Click() Dim a As String a = InputBox(“输入一个字符串 “) For i = Len(a) To 1 Step -1 Print Mid(a, i, 2); Next i End Sub 运行程序,单击窗体,在输入对话框中输入 ABCD,单击 “确定 “按钮,输出结果是 ( A) DCBA ( B) AABBCCDD ( C) DDCCBBAA ( D) DCDBCAB 34 有如下程序: Private Sub Form_Click() Dim x As String Dim n As
17、Integer x = InputBox(“输入一个英文单词(全部大写) “) n = Len(x) For i = 2 To n c = Asc(Mid(x) + 32 Mid(x, i, 1) = Chr(c) Next i Print x End Sub 以上程序的功能是,从键盘上输入一个由大写字母组成的英文单词,保留第一个字母为大写,把后面的字母全变成小写。程序中有错误,应做的修改是 ( A)把 Mid(x)改为: Mid(x, 1) ( B)把 Mid(x)改为: Mid(x, i +1, 1) ( C)把 Mid(x)改为: Mid(x, i, 1) ( D)把 Mid(x)改为:
18、 Mid(x, i - 1, 1) 35 有如下通用过程: Sub Sa(a As Integer, b As Integer) b = a t = a / b b = t Mod b End Sub 在窗体上画一个 Command1命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim x As Integer, y As Integer x = 5 y = 4 Sa x, y Print x; y End Sub 运行程序,单击命令按钮,输出结果是 ( A) 1 1 ( B) 5 4 ( C) 1 4 ( D) 5 1 36 有如下程 序: Pr
19、ivate Sub Form_Click() Dim S As Integer, N As Integer S = 0 Do S = (S + 1) * (S + 2) N = N + 1 Loop Until S = 30 Print N; S End Sub 运行程序,单击窗体,输出结果是 ( A) 2 42 ( B) 3 182 ( C) 4 220 ( D) 1 30 37 编写如下程序: Private Sub Form_Click() Dim a(5) As Integer, b(3) As Integer Dim k As Integer k = 1 For i = 1 To 5
20、 a(i) = i Next i For i = 1 To 3 b(i) = 2 * a(i) Next i For i = 1 To 3 k = k + b(i) * 2 Next i Print k End Sub 运行程序,单击窗体,输出结果是 ( A) 31 ( B) 32 ( C) 25 ( D) 30 38 在窗体上画 1个命令按钮和 2个文本框,其名称分别为 Command1、 Text1和Text2,然后编写如下事件过程: Private Sub Command1_Click() n = 0 a = Val(Text1.Text) While a 0 n = n + a Mod
21、 10 a = a 10 Wend Text2.Text = Str(n) End Sub 程序运行后,在 Text1中输入 2468,单击 Command1按钮,则在 Text2中显示的是 ( A) 20 ( B) 2468 ( C) 8642 ( D) 10 39 有如下程序: Private Sub Form_Click() Dim B As String Dim m As Integer, Dec As Integer B = InputBox(“请输入一个二进制数 “) m = Len(B) For i = 1 To m Dec = Dec * 2 + Val( _ ) Next i
22、 Print Dec End Sub 以上程序的功能是,从键盘上输入一个二进制数,把它转换为等值的十进制数并输出。程序不完整,在 _ 处应填入的内容是 ( A) Left(B, i) ( B) Mid(B, i, 1) ( C) Right(B, i) ( D) Str(B) 40 有如下程序代码: Function Sum(n As Integer) Static k As Integer k = k + n + 1 Sum = k End Function Private Sub Form_Click() Dim i As Integer Dim s As Integer For i =
23、1 To 3 s = s + Sum(i) Next i Print s End Sub 运行程序,单击窗体,输出结果为 ( A) 6 ( B) 9 ( C) 12 ( D) 16 国家二级 VB机试(选择题)模拟试卷 130答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构。不同时满足以上两个条件的数据结构就称为非线性结构。 A选项中有两个根节点 3和 5故错误。 B选项根节点为 5,排列顺序为 54132, B选项正确。 C选项有两个根节点 1和 4,故错误。 D选
24、项有两个根节点 1和 2,故错误。 2 【正确答案】 A 【试题解析】 双向链表与树形结构的节点均可以包含两个指针域,但前者为线性结构后者为非线性结构, A选项正确。双向链表含有 指向前件和指向后件的两个指针, C选项错误。线性链表,就是指线性表的链式存储结构。由于这种链表中,每个节点只有一个指针域,故又称为单链表, B选项错误。二叉树为非线结构,叶子节点没有后件但是可以有指向前件的指针, D选项错误。 3 【正确答案】 C 【试题解析】 栈所有的插入与删除都限定在表的同一端进行。入栈运算即在栈顶位置插入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。队列指允许在一端进行插入,而在另一端进行
25、删除的线性表。习惯上称往队列的队尾插入一个元素为入队运算,称从队列的队头删除一个元素为退 队运算。元素入栈后为ABCDE,退栈并入队后,队中元素为 EDC。退队时从队头开始,顺序为 EDC,C选项正确。 4 【正确答案】 B 【试题解析】 深度,定义一棵树的根节点所在的层次为,其他节点所在的层次等于它的父节点所在的层次加,树的最大层次称为树的深度。二叉树遍历可以分为 3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。二叉树的后序序列为 DCBGFEA, A为根节点。中序序列为 D
26、CBAEFG,可知 DCB为左子树节点, EFG为右子树节点。同理 B为 C父节点 ,C为 D父节点。同理 E为 F根节点, F为 G根节点。故二叉树深度为 4层。 B选项正确。 5 【正确答案】 A 【试题解析】 通常把软件产品从提出、实现、使用、维护到停止使用、退役的过程称为软件生命周期, A选项正确。 6 【正确答案】 C 【试题解析】 深度表示控制的层数。题目中系统共有 3层, C选项正确。 7 【正确答案】 A 【试题解析】 计算机软件按功能分为应用软件、系统软件、支撑软件(或工具软件)。系统软件 是管理计算机的资源,提高计算机的使用效率,为用户提供各种服务的软件,如操作系统、数据库
27、管理系统、编译程序、汇编程序和网络软件等, B、 C、 D均为系统软件。应用软件为了应用于特定的领域而开发的软件, A选项正确。 8 【正确答案】 A 【试题解析】 采用 E-R方法得到的全局概念模型是对信息世界的描述,并不适用于计算机处理,为了适合关系数据库系统的处理,必须将 E-R图转换成关系模式。下表为 E-R模型和关系模型的对照表。由表中可知 A选项正确。9 【正确答案】 C 【试题解析】 常用的扩充运算有交、除、 连接及自然连接等。并: RS是将 S中的记录追加到 R后面。交: RS结果是既属于 R又属于 S的记录组成的集合。上述两种操作中,关系 R与 S要求有相同的结构,故 A、
28、D选项错误。自然连接:去掉重复属性的等值连接。自然连接要求两个关系中进行,比较的是相同的属性,并且进行等值连接,可知 B选项错误。除运算可以近似地看作笛卡尔积的逆运算。当 时,则必有 ,称为除以的商。设关系有属性 1, 2, , n,关系有属性 n-s+1, n-s+2, , n,此时有: M1.M2, , N-S() M1.M2, , n-s( M1.M2, , n-s() )。由 S中有属性 A和 A1, T中属性为 B和 B1,在 R元组中找到对应于 S中两个元组的 T中元组为 f 3与 n 2。 R中最后一个元组与 S中无对应关系,所以在 T中也不会出现。 C选项正确。 10 【正确答
29、案】 D 【试题解析】 数据库设计的 4个阶段为:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段。为一个给定的逻辑模型选取一个最适合应用要求的物理结构的过程,就是数据库的物理设计。数据库物理设计的主要目标是对数据内部物理结构作调整并选择合理的 存取路径,以提高数据库访问速度及有效利用存储空间。一般 RDBMS中留给用户参与物理设计的内容大致有索引设计、集簇设计和分区设计。 D选项正确。 11 【正确答案】 C 【试题解析】 .bas文件是基本模块文件,故应该在菜单上选择添加模块,故选择C项。 12 【正确答案】 D 【试题解析】 字符串、整型和逻辑型数据必须先声明再使用,而变体型变量可
30、以存储系统内定义的所有数据类型,可以直接使用不需声明。故选择 D项。 13 【正确答案】 B 【试题解析】 题目中的 Not、 And、 Or属于 逻辑运算符, 、 b, a, b) 实际上是选择 a和 b中较大的数, A项语句意思是如果a, b之间的最大数大于 c,那么将 c赋值给 x,否则将 a、 b的最大数赋值给 x,显然 x不是这三个数的最大数,故 A项错误。 B项意思是果 a, b的最大数大于c,那么将 a、 b的最大数赋值赋值给 x,否则将 c赋值给 x,那么得到的 x是这三个数的最大数,故 B项正确。同理,得到 C项和 D项错误。 15 【正确 答案】 C 【试题解析】 Publ
31、ic主要用在标准模块中定义全局变量或数组,全局变量只能在标准模块中声明,不能在过程或窗体模块中声明。而在过程中主要用 Dim和Static,其中 Static用于过程中定义静态变量及数组变量,故 A和 D项错误。用Array函数对一个数组进行赋值的过程是把一个数据集合读入到数组中,格式为数组变量名 =Array(数组元素值),其中数组变量不能是某一个具体的数据类型,只能是变体类型,故 B项错误, C项正确。 16 【正确答案】 C 【试题解析】 strName中的姓名是否 姓 “李 “Left( s, n)是截取字符串 s左边的n个字符; Right( s, n)是截取字符串 s右边的 n个字
32、符; Mid( s, n)是从字符串 s的第 n个字符开始,截取后面的所有字符; Len( s)是字符串 s的长度。Len(“李 “)为 1。 A项是判断字符串 strName第一个字符是否是 “李 “,即 strName中的姓名是否姓 “李 “, A项正确。 B项是判断 strName最后一个字符是否是 “李“, C项是判断的 strName整个字符串是否是 “李 “, D项不符合 VB变量使用规范,故 B、 C和 D项都错误。 17 【正确答案】 C 【试题解析】 题目中的程序是先检验 x= 30时,退出循环。第一次执行循环体,s=1*2=2, N=1;第二次循环, s=3*4=12, N
33、=2;第三次循环, s=13*14=182,N=3,此时 S = 30,退出循环。故选 B项。 37 【正确答案】 C 【试题解析】 通过 For循环,对整型数组 a和 b分别赋值, a=1, 2, 3, 4,5, b=2, 4, 6, k是在原值基础上再加 b每个元素值得两倍,故k=1+2*2+4*2+6*2=25,故选 C项。 38 【正确答案】 A 【试题解析】 程序主要是将文本框中输入的数值,将其每位数累加起来。 Val是将文本框的文本转化为数值。当输入 2468时,第一次执行循环, n=0+8, a=246;第二次执行循环体, n=8+6=14, a=24;第三次执行循环体, n=1
34、4+4=18, a=2;第四次执行循环体, n=18+2=20, a=0,此时不符合循环条件,退出循环。 Str(n)将n=20,整数 20转换为字 符串,故文本框 Text2的文本显示为 20。故选 A项。 39 【正确答案】 B 【试题解析】 Val是将字符串转化为数值。 A项是截取左边的 i个字符,利用Val,得到数值的左边前 i位数字; B项是截取第 i个字符,利用 Val,得到数值的第 i位数字; C项是截取右边的 i个字符,利用 Val,得到数值的右边前 i位数字; D项是整个字符串,利用 Val,转换为数字。根据题意应该选择 B项,利用For循环,将输入二进制数的从首位到末位,转换为十进制数。 40 【正确答案】 D 【试题解析】 当用 Static定义 k时,如果没有退出程序,每次引用静态变量的数组后,其值将继续保留,作为下次引用时该变量的初始值。当 i=1时,调用 sum( 1), k=0+1+1=2, s=0+2=2;当 i=2时,调用 sum( 2), k=2+2+1=5,s=2+5=7;当 i=3时,调用 sum( 3), k=5+3+1=9, s=7+9=16。退出 For循环,输出 s为 16,故选 D项。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1