国家二级VB机试(选择题)模拟试卷478
选择题
1.下列描述中正确的是(D)
A. 一个逻辑数据结构只能有一种存储结构
B. 数据的逻辑结构属于线性结构,存储结构属于非线性结构
C. 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D. 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
解析:数据的逻辑结构是指数据集合中各数据元素之间所固有的逻辑关系;数据的存储结构是在对数据进行处理时,各数据元素在计算机中的存储关系。数据的存储结构是指数据的逻辑结构在计算机中的表示,一种逻辑结构可以表示成多种存储结构;而采用不同的存储结构,其数据处理的效率是不同的。
2.下列叙述中正确的是(C)
A. 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B. 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C. 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D. 上述三种说法都不对
解析:在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈项指针的变化而动态变化,遵循后进先出的规则。
3.下列叙述中正确的是(C)
A. 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B. 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C. 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D. 上述三种说法都不对
解析:在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则。
4.以下说法中正确的是(D)
A. 事件过程也是过程,只能由其他过程调用
B. 事件过程的过程名是由程序设计者命名的
C. 事件过程通常放在标准模块中
D. 事件过程是用来处理由用户操作或系统激发的事件的代码
解析:所谓的事件过程是指当对象响应事件后,实现执行操作的一段程序代码。一个对象拥有一个或多个事件,因此可以使用一个或多个事件过程对用尸或系统事件做出响应。事件过程通常放在窗体模块中,其事件过程名均是已经事先定义好的名字,通常是用来处理由用户操作或系统激发的事件的代码,也可以由其他过程调用。
5.在一个容量为15的循环队列中,若头指针front=6,尾指针rear=9,则循环队列中的元素个数为(B)
A. 2
B. 3
C. 4
D. 5
解析:循环队列中,rear表示尾指针,front表示头指针,当有元素入队时,real=Tear+1,而元素出队的时候,front=front+1,当rear值大于front值时,队列中的元素个数为rear-front,当rear的值小于front时,列队中的元素个数为rear—front+m(m表示队列的容量)。
6.下列合法的Visual Basic数值变量是(B)
A. BianLiang
B. aBCD&
C. S$
D. 2.5D-3
解析:在VB中,变量名的第一个字符必须是英文字母,最后一个字符可以是类型说明符,且变量名只能由字母、数字、下划线组成,故A和D选项错误;B选项最后一位是长整型类型说明符;C选项最后一位是定长字符串的类型说明符,结合题目要求是数值变量,知C选项错误,故选B。
7.某二叉树共有7个结点,其叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)(D)
A. 3
B. 4
C. 6
D. 7
解析:根据二叉树的性质,度为0的结点(即叶子结点)总是比度为2的结点多一个。题目中的二叉树的叶子结点为1,因此度为2的结点的数目为0,故该二叉树为7层,每层只有一个结点。
8.下列选项中不符合良好程序设计风格的是(D)
A. 源程序要文档化
B. 数据说明的次序要规范化
C. 避免滥用goto语句
D. 模块设计要保证高耦合、高内聚
解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑思路。程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。可以认为,著名的“清晰第一、效率第二”的论点已成为当今主导的程序设计风格。良好的程序设计风格主要应注重和考虑下列几个因素:①源程序文档化,包括下列三个方面:A)符号的命名应具有一定的含义;B)正确的注释能够帮助读者理解程序;C)视觉组织,可以在程序中利用空格、空行、缩进等技巧使程序层次清晰。②数据说明的方法,包括下列三个方面:A)数据说明的次序规范化;B)说明语句中变量安排有序化;C)使用注释来说明复杂数据的结构。③语句的结构应该简单直接,不应该为提高效率而把语句复杂化。④输入和输出方式和风格应尽可能方便用户的使用。
9.某二叉树共有13个结点,其中有4个度为1的结点,则叶子结点数为(B)
A. Private Type Student
sno As String * 10
sn As String * 20
End Student
B. Private Type Student
sno As String * 10
sn As String * 20
End Type
C. Public Type Student
sno As String * 10
sn As String * 20
End Type Student
D. Public Typedef Student
sno As String * 10
sn As String * 20
End Type
解析:用户定义数据类型可以用Type语句来定义。格式是:Type 数据类型名 数据类型元素名 AS 类型名 数据类型元素名 AS 类型名….End Type 。选项中符合上面格式的,只有B项,其余项都错误。故正确答案为B选项。
10.为达到把a、b中的值交换后输出的目的,某人编程如下:
Private Sub Command1_Click()
a%=10:b%=20
Call swap(a,b)
Print a,b
End Sub
Private Sub swap(ByVal a As Integer,ByVal b As Integer)
c=a:a=b:b=c
End Sub
在运行时发现输出结果错了,需要修改。下面列出的错误原因和修改方案中正确的是(C)
A. 调用swap过程的语句错误,应改为:Call swap(a,b)
B. 输出语句错误,应改为:print\\
C. 过程的形式参数有错,应改为swap(ByRef a Integer,ByRefb Integer)
D. swap中3条赋值语句的顺序是错误的,应改为a=b:b=c:c=a
解析:本题考查函数参数传递。VB有两种参数传递方式:传值ByVal和传地址ByRef,ByVal方式形参的修改不会影响到实参,ByRef方式修改形参相当于修改实参。题目要求在调用swap过程后,修改形参影响实参,参数应该使用ByRef方式。
11.以下数据结
本文档预览:3600字符,共15300字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载