vb考前模拟试题2 |
全国计算机等级考试二级Visual Basic语言程序设计考前冲刺试卷(2) 一、选择题(每题2分,共35题,70分) (1)下列选项中,不是一个算法的基本特征的是( )。 A)完整性 B)可行性 C)有穷性 D)拥有足够的情报 (2)下列数据结构中,属于非线性的是( )。 A)线性表 B)队列 C)树 D)栈 (3)下列叙述中错误的是( )。 A)线性表是由n个元素组成的一个有限序列 B)线性表是一种线性结构 C)线性表的所有结点有且仅有一个前件和后件 D)线性表可以是空表 (4)按照“先进先出”组织数据的数据结构是( )。 A)队列 B)栈 C)双向链表 D)二叉树 (5)下列关于线性链表的描述中正确的是( )。 A)存储空间不一定连续,且各元素的存储顺序是任意的 B)存储空间不一定连续,且前件元素一定存储在后件元素的前面 C)存储空间必须连续,且各前件元素一定存储在后件元素的前面 D)存储空间必须连续,且各元素的存储顺序是任意的 (6)某二叉树共有60个叶子结点与50个度为1的结点,则该二叉树中的总结点数为( )。 A)148 B) (7)下列数据结构中,能用二分法进行查找的是( )。 A)顺序存储的有序线性表 B)结性链表 C)二叉链表 D)有序线性链表 (8)最简单的交换排序方法是( )。 A)快速排序 B)选择排序 C)堆排序 D)冒泡排序 (9)对于长度为n的线性表,在最坏情况下,下列各种排序法所对应的比较次数中,正确的是( )。 A)冒泡排序为n /2 B)冒泡排序为n D)快速排序为n D)快速排序为n(n-1)/2 (10)结构化程序设计的3种基本结构是( )。 A)过程、子程序和分程序 B)顺序、选择和重复 C)递归、堆栈和队列 D)调用、返回和转移 (11)下面有( )对象不能作为容器。 A)Frame B)From C)PictureBox D)Image (12)关于自定义数据类型,下面叙述中不正确的是( )。 A)自定义数据类型必须在窗体模块或标准模块的通用声明段进行声明 B)在窗体模块中定义自定义数据类型时必须使用Private关键字 C)自定义数据类型只能在窗体模块的通用声明段进行声明 D)自定义数据类型中的元素的数据类型可以是系统提供的基本数据类型或已声明的自定义数据类型 (13)8.6787E+8写成普通的十进制数是( )。 A)86787000 B) (14)设x=4,y=8,z=7,则以下表达式的运算结果是( )。 x<y And (Not y>z) Or z<x A)1 B) (15)将文本框的( )属性设置为True时,文本框可以输入或显示多行文本,且会自动换行。 A)Text B)ScrollBars C)MultiLine D)Enabled (16)在窗体Form1上放一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写一个事件过程。要求程序运行以后,如果在文本框中输入一个字符,则把命令按钮的标题设置为“VB等级考试二级”。以下正确实现上述操作的事件过程是( )。 A)Private Sub Text1_Change() Command1.Caption= " VB等级考试二级" End Sub B)Private Sub Command1_Click() Caption= " VB等级考试二级" End Sub C)Private Sub Form1_Click() Text1.Caption= " VB等级考试二级" End Sub D)Private Sub Command1_Click() Text1.Text= " VB等级考试二级" End Sub (17)以下( )控件可以使图形根据按控件大小而改变的大小。 A)图片框 B)标签框 C)图像框 D)框架 (18)在窗体上画一个名称为Text1的文本框,然后画一个名称为Hscroll1的滚动条,其Min和Max属性分别为0和1000。程序运行后,如果移动滚动框,则在文本框中显示滚动条的当前值。以下能实现上述操作的程序是( )。 A)Private Sub Hscroll1_Change() B)Private Sub Hscroll1_Click() Text1.Text=HScroll1.Value Text1.Text=HScroll1.Value End Sub End Sub C)Private Sub Hscroll1_Change() D)Private Sub Hscroll1_Click() Text1.Text=Hscroll1.Caption Text1.Text=Hscroll1.Caption End Sub End Sub (19)下列程序段的执行结果为( )。 x = Int(Rnd + 4) Select Case x Case 5 Print "A Class" Case 4 Print "B Class" Case 3 Print "C Class" Case Else Print "D Class" End Select A)A Class B)B Class C)C Class D)D Class (20)以下能够正确退出循环的是( )。 A)i=10 B)i=1 Do Do i=i+1 i=i+1 Loop Until i<10 Loop Until i=10 C)i=10 D)i=1 Do Do i=i+1 i=i-3 Loop Until i<0 Loop Until i=0 (21)下列程序执行后,其输出结果为( )。 Dim a(5) For i = 0 To 4 a(i) = i + 1 m = i + 1 If m = 3 Then a(m - 1) = a(i - 2) Else a(m) = a(i) If i = 2 Then a(i - 1) = a(m - 3) a(4) = i Print a(i); Next i A)1 1 1 4 4 B)1 2 3 4 1 C)1 2 1 4 4 D)1 1 1 4 1 (22)编写如下事件过程: Private Sub Form_Activate() Dim score(1 To 3) As Integer Dim i As Integer,t As Variant For i = 3 To 1 Step -1 score(i) = 2 * i Next i For Each t In score Print t; Next End Sub 程序运行后窗体上显示( )。 A)6 4 2 B)2 4 (23)设有如下程序: Option Base 0 Private Sub Form_Click() Dim a Dim i As Integer a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9) For i = 0 To 3 Print a(5 - i); Next End Sub 程序运行后,单击窗体,则在窗体上显示的是( )。 A)4 3 2 1 B)5 4 3 (24)在窗体上有一个名称为Text1的文本框和一个名称为Command1的命令按钮,并编写有如下事件过程: Private Sub Command1_Click() Dim i As Integer,n As Integer For i=0 To 50 i=i+3 n=n+1 If i>10 Then Exit For Next Text1.Text=Str(n) End Sub 程序运行后,单击命令按钮,在文本框中显示的值是( )。 A)2 B) (25)在窗体上画一个名称为Text1的文本框,然后画三个单选按钮,并用这三个单选按钮建立一个控件数组,名称为Option1,程序运行后,如果单击某个单选按钮,则文本框中的字体将根据所选择的单选按钮切换,如图所示。请选择空白处合适的语句( )。 Select Case ___________ Case 0 : a = "宋体" Case 1 : a = "黑体" Case 2 : a = "楷体_GB2312" End Select Text1. ___________= a End Sub A)Option Text B)Index Text C)Index Font D)Option Font (26)设有如下通用过程: Public Sub Fun(a() As Integer, x As Integer) For i = 1 To 5 x = x + a(i) Next End Sub 在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim arr(5) As Integer, n As Integer For i = 1 To 5 arr(i) = i + i Next Fun arr, n Text1.Text = Str(n) End Sub 程序运行后,单击命令按钮,则在文本框中显示的内容是( )。 A)30 B)25 C)20 D)15 (27)在窗体上画一个文本框,然后编写如下事件过程: Private Sub Textl_KeyPress(KeyAscii As Integer) Dim char As String char=Chr(KeyAscii) KeyAscii=Asc(UCase(char)) Textl.Text=String(6, KeyAscii) End Sub 程序运行后,如果在键盘上输入字母“a”,则文本框中显示的内容为( )。 A)a B)A C)aaaaaa D)AAAAAA (28)以下对文件分类的划分不正确的是( )。 A)文件分为程序文件和数据文件 B)文件分为有结构文件和无结构文件 C)文件分为ASCII文件和二进制文件 D)文件分为顺序文件和随机文件 (29)在窗体上有一个名称为Command1的命令按钮,并编写有如下事件过程: Private Sub Command1_Click() Dim rec As animal Open "c:\vbTest.dat" For Random As #1 Len=Len(rec) rec.animalName="cat" rec.aColor="White" Put #1,,rec Close #1 End Sub 记录类型定义如下: Private Type animal animalName As String*20 aColor As String*10 End Type 下列叙述中正确的是( )。 A)记录类型animal不能在Form1中定义,必须在标准模块中定义 B)如果文件c:\vbTest.dat不存在,则Open命令执行失败 C)由于Put命令中没有指明记录号,因此每次都把记录写到文件的末尾 D)语句"Put #1,,rec"将animal类型的两个数据元素写到文件中 (30)以下事件过程的功能是:从已存在于磁盘上的顺序文件Num1.txt中读取数据,计算读出数据的平方值,将该数据及其平方值存入新的顺序文件Num2.txt中。则在以下横线处合适的语句是( )。 Private Sub Form_Click() Dim X As Single, y As Single Open "Num1.txt" For Input As #1 Open "Num2.txt" For Output As #2 Do While Not EOF(1) ___________ Print X y = X ^ 2 ___________ Print y Close #1, #2 End Sub A)Input #1,y Print #2,x,y B)Input #2,x Print #1,x,y C)Print #1,x Input #2,x,y D)Input #1,x Print #2,x,y (31)下列程序的执行结果为( )。 n = 0 j = 1 Do Until n > 2 n = n + 1 : j = j + n * (n + 1) Loop Print n; j A)0 1 B)3 (32)下列程序在运行时输出的结果是( )。 Option Base 1 Private Sub Form_Click() Dim x(10) For i = 1 To 10 x(i) = 10 - i + 1 Next i For i = 10 To 1 Step -2 Print x(i) Next i End Sub A)1 3 5 7 9 B)9 7 5 3 1 C)1 2 3 4 5 6 7 8 9 10 D)10 9 8 7 6 5 4 3 2 1 (33)运行下列程序时,输出的结果是( )。 Private Sub Form_Click() Dim x x = Array("Software", "and", "Hardware", "System") For i = LBound(x, 1) To UBound(x, 1) If Left(x(i), 1) = "S" Then Print x(i); Next i End Sub A)Software B)SoftwareSystem C)出错信息 D)SoftwareandHardwareSystem (34)窗体上命令按钮Command1的事件过程如下: Option Base 1 Private Sub Command1_Click() Dim a(4, 4) As Variant For i = 1 To 4 For j = 1 To 4 a(i, j) = (i - 1) * 3 + j Next j Next i For i = 3 To 4 For j = 3 To 4 Print a(i, j) Next j Next i End Sub 该程序执行后,输出结果是( )。 A)9 B) 10 10 12 11 12 12 10 9 13 13 13 12 (35)用Line Input语句从顺序文件读出数据时,每次读出一行数据。所谓一行是指遇到( )分隔符,即认为一行的结束。 A)文件结束符 B)回车符 C)空格 D)Tab字符 二、填空题(每空2分,共30分) (1)软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于___________中的一个阶段。 (2)结构化分析方法是面向___________进行分析的方法。 (3)常用的软件结构设计工具是结构图(SC),也称程序结构图。其中,用矩形表示___________,用带空心圆的箭头表示传递的是数据。 (4)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块,其中__________的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 (5)诊断和改正程序中错误的工作通常称为___________。 (6)以下程序的功能是将多维数组a(1 To m,1 To n)中的元素转移到一个名为b(1 To n)的一维数组中,请填写空白处,完成该程序。 Option Base 1 Private Sub Command1_Click() Dim a(1 To 4, 1 To 5):Dim b() ReDim ___________ For i = 1 To 4 For j = 1 To 5 a(i, j) = i * j Next j Next i Call Transf(a, 4, 5, b) End Sub Sub Transf(a(), m, n, b()) Dim x As Integer x = 1 For i = 1 To m For j = 1 To n b(x) =___________ x = x + 1 Next j Next i End Sub (7)在窗体上有一个名称为Label1的标签和一个名称为Timer1的计时器,并编写有如下几个事件过程: Private Sub Form_Load() Timer1.Enabled=False Timer1.Interval=___________ End Sub Private Sub Form_Click() Timer1.Enabled=___________ End Sub Private Sub Timer1_Timer() Label1.Caption=___________ End Sub 程序运行后,单击窗体,将在标签中显示当前时间,每隔1秒钟变换一次,请填空。 (8)引用列表框(List1)最后一个列表项应使用的语句是___________。 (9)在窗体上画一个驱动器列表框、一个目录列表框和一个文件列表框,其名称分别为Drivel、Dirl和Filel,为了使它们同步操作,必须触发___________事件和___________事件,在这两个事件中执行的语句分别为___________和___________。 参考答案 一、选择题 (1)A) (2)C) (3)C) (4)A) (5)A) (6)B) (7)A) (8)D) (9)D) (10)B) (11)D) (12)C) (13)B) (14)D) (15)C) (16)A) (17)C) (18)A) (19)B) (20)B) (21)C) (22)B) (23)C) (24)B) (25)C) (26)A) (27)D) (28)B) (29)B) (30)D) (31)C) (32)A) (33)B) (34)A) (35)B) 二、填空题 (1)软件开发 (2)数据流 (3)模块 (4)驱动模块 (5)调试 (6)b(20) a(i,j) (7)1000 True Time$() (8)List1.List(ListCount-1) (9)驱动器的Change事件 目录的Change事件 Dir1.Path = Drive1.Drive File1.Path = Dir1.Path |