VB笔试模拟试卷123 (题后含答案及解析)
题型有:1. 选择题 2. 填空题
选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1. 下列说法中错误的是(    )。
A.在同一模块不同过程中的变量可以同名
B.不同模块中定义的全局变量可以同名
C.引用另一模块中的全局变量时,必须在变量名前加模块名
D.同一模块中不同级的变量可以同名
正确答案:D
解析:变量可以分为3类:局部变量、模块变量、全局变量。在同一模块不同过程中的变量叫
做局部变量,其作用域是它所在的过程,所以不同过程中的局部变量可以同名;模块变量的作用范围是整个窗体或模块,引用其他模块中的模块变量时,必须加上模块名;当同一个模块内的不同过程使用相同的变量时,必须声明窗体层的变量,当然不能有重名。 
2. 下列数据结构中,属于非线性的是(    )。
A.线性表
B.队列
C.树
D.栈
正确答案:C
解析:线性结构,是指数据元素只有一个直接前件元素和直接后件元素。线性表是线性结构。栈和队列是指对插入和删除操作有特殊要求的线性表,树是非线性结构。 
3. 下列叙述中错误的是(    )。
A.线性表是由n个元素组成的一个有限序列
B.线性表是一种线性结构
C.线性表的所有结点有且仅有一个前件和后件
D.线性表可以是空表
正确答案:C
解析:线性表是一种线性结构,由n(n≥0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以C是错误的。 
4. 按照“先进先出”组织数据的数据结构是(    )。
A.队列
B.栈
C.双向链表
D.二叉树
正确答案:A
解析:队列是一种特殊的线性表,只允许在表的一端插入元素,在表的另一端删除元素,插入元素的一端叫“队尾”,删除元素的一端叫“队头”,先插入的元素先被删除,是按“先进先出”的原则组织数据的。 
5. 下列关于线性链表的描述中正确的是(    )。
A.存储空间不一定连续,且各元素的存储顺序是任意的
B.存储空间不一定连续,且前件元素一定存储在后件元素的前面
C.存储空间必须连续,且各前件元素一定存储在后件元素的前面
D.存储空间必须连续,且各元素的存储顺序是任意的
正确答案:A
解析:线性表的链式存储结构中的结点空间是动态生成的,它们在内存中的地址可能是连续的,也可能是不连续的。 
6. 某二叉树共有60个叶子结点与50个度为1的结点,则该二叉树中的总结点数为 (    )。
A.148
B.169
C.182
D.198
正确答案:B
解析:叶子结点总是比度为2的结点多一个。所以,具有60个叶子结点的二叉树有 59个度为2的结点。总结点数=60个叶子结点+59个度为2的结点+50个度为1的结点= 169个结点。 
7. 下列数据结构中,能用二分法进行查的是(    )。
A.顺序存储的有序线性表
B.结性链表
C.二叉链表
D.有序线性链表
正确答案:A
解析:二分法查只适用于顺序存储的有序线性表,对于顺序存储的非有序线性表和线性链表,都只能采用顺序查。 
8. 简单的交换排序方法是(    )。
A.快速排序
B.选择排序
C.堆排序
D.冒泡排序
正确答案:D
解析:所谓的交换类排序方法是指借助数据元素之间的互相交换进行排序的一种方法,包括冒泡排序和快速排序,冒泡排序是一种最简单的交换排序方法,它通过相邻元素的交换,逐步将线性表变得有序。 
9. 对于长度为n的线性表,在最坏情况下,下列各种排序法所对应的比较次数中正确的是(    )。
A.冒泡排序为n/2
B.冒泡排序为n
C.快速排序为n
D.快速排序为n(n-1)/2
正确答案:D
解析:在最坏情况下,冒泡排序和快速排序的比较次数都是n(n-1)/2。 
10. 结构化程序设计的3种基本结构是(    )。
A.过程、子程序和分程序
B.顺序、选择和重复
C.递归、堆栈和队列
D.调用、返回和转移
正确答案:B
解析:程序的3种基本控制结构包括顺序、选择和重复(循环),这3种结构就足以表达出各种其他形式的结构。 
11. 下列(    )标识符不能作为Visual Basic的变量名。
A.ABCabe
B.b1234
C.28wed
D.crud
正确答案:C
解析:给变量命名时应遵循4个原则:①名字只能由字母、数字和下划线组成;②第一个字符必须是英文字母,最后一个字符可以是类型说明符;③名字的有效字符为255个;④不能使用Visual Basic中的保留字作为变量名。 
12. 用Print方法在Form1窗体中显示出4个#号的正确代码为(    )。
A.Debug.Print####
B.Print####
C.Form1_Print####
D.Form1_Print####
正确答案:D
解析:分析题目可知有两个要求:一是输出4个#号;二是在Form1窗体中。A选项实现的是在立即窗口中输出4个#号;B选项实现的是在默认的对象中输出4个#号;C选项语法不对;只有D选项是完全正确的。 
13. 在文本框中输入字符时,通过(    )事件过程可以得到字符的ASCII码值。
A.Change
B.GotFocus
C.KeyPress
D.LostFocus
正确答案:C
解析:当文本框获得焦点,按下键盘上的某个键时,将触发文本框的KeyPress事件。eyPtess事件带有一个KeyCode参数,可以通过该参数获取按键的ASCII码值。 
14. 文本框TextBox中的内容若要设置为用户不能修改,应设置(    )属性。
A.Locked
B.MultiLine
C.PasswordChar
D.ScrollBar
正确答案:A
解析:Locked属性用来指定文本框是否可以被编辑。当设置为False时,可以编辑文本框中的文本;当设置为True时,可以滚动和选择控件中的文本,但在运行时不能编辑。 
15. 只能用来显示文本信息的控件是(    )。
A.文本框
B.标签
C.图片框
D.图像框
正确答案:B
解析:在标签中只能显示文本,不能进行编辑;而在文本框中既可显示文本,也可以编辑文本;图片框和图像框是用来显示图形的基本控件。 
16. 对象名.Cls方法对(    )控件有效。
A.窗体、图像框
B.窗体、图片框
C.屏幕、窗体
D.图像框、图片框
正确答案:B
解析:Cls方法清除运行时Form或PictureBox打印时所生成的图形和文本。 
17. 下列叙述不正确的是(    )。
A.命令按钮的默认属性为Caption
B.标签的默认属性为Caption
printformC.复选框的默认属性为Value
D.滚动条的默认属性为Value
正确答案:A
解析:命令按钮的默认属性是Value,该属性为True时,表示已选择该按钮;为False (缺省值)表示没有选择该按钮。如果在代码中设置Value属性值为True,则会激活该按钮的Click事件。 
18. 如果文本框的Locked属性设置为True,则下列说法中正确的是(    )。
A.此时在属性窗口中不可以修改文本框的Text属性值
B.运行时用户不可以在界面上修改文本框中的内容
C.在程序代码中不可以修改文本框的内容,如不可以使用语句Text1.Text=“aaa”
D.以上均不正确
正确答案:B
解析:该属性主要用来指定在程序运行时文本框是否可以被编辑。当设置为False时,可以编辑文本框中的文本:当设置为True时,可以滚动和选择控件中的文本,但不能编辑。当然,在设计阶段,在属性窗口中或者在程序代码中可以修改控件的文本。 
19. 如果A为整数且|A|>=10,则打印“OK”,否则打印“Error”,表示这个条件的单行格式If语句是(    )。
A.If Int(A)=A And Sqr(A)>=10 Then Print OK Else Print Error
B.If Fix(A)= A And Abs(A)>=10 Then Print OK Else Print Error
C.If Int(A)=A And(A>=10,A<=-10)Then Print OK Else Print Error
D.If Fix(A)=A And A>=10,And A<=10 Then Print OK Else Print Error
正确答案:B
解析:解答本题考生需了解题中用到的3个函数的作用,Int和Fix都会删除参数的小数部分而返回剩下的整数。Abs函数返回参数的绝对值,其类型和参数相同。而Int和Fix的不同之处在于,如果参数为负数,则Int返回小于或等于参数的第一个负整数,而Fix则会返回大于或等于参数的第一个负整数。 
20. 运行下述语句后,输出的结果是(    )。    Option Base 1    Dim a    i=1    a = Array(1,-2,
9,0,-1,9)    Do        k = a(i)        For m = 10 To k Step -2 n=k+m        Next m        Print n + m        i=i+1    Loop While Abs(m + n)<>27
A.3 27-8
B.3-8 27
C.-8 27 3
D.-8 3 27
正确答案:B
解析:本程序中,外层循环是Do…Loop While循环,内层循环是for循环。程序执行过程如下。 ①当i=1,k=a(i)=1,for循环执行5次,n=3,m=0;Print n+m→输出3;i=i+1=2。②当i=2,k=a(i)=-2,for循环执行7次,n=-4,m=-4;Print n+m→输出-8;i=i+1=3。③当 i=3,k=a(i)=9,for循环执行1次,n=19,m=8;Print n+m→输出27;i=i+1=4;此时条件成立,退出Do循环。 

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。