1、全国计算机等级考试二级 VB 自测试卷一、 选择题(第小题 2 分,共 70 分)下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的。(1) 下列叙述中正确的是 A) 算法的效率只与问题的规模有关,而与数据的存储结构无关B) 算法的时间复杂度是指执行算法所需要的计算工作量C) 数据的逻辑结构与存储结构是一一对应的D) 算法的时间复杂度与空间复杂度一定相关 (2) 在结构化程序设计中,模块划分的原则是 A) 各模块应包括尽量多的功能B) 各模块的规模应尽量大C) 各模块之间的联系应尽量紧密D) 模块内具有高内聚度、模块间具有低耦合度(3) 下列叙述中正确的是 A) 软件测试的主要目
2、的是发现程序中的错误B) 软件测试的主要目的是确定程序中错误的位置C) 为了提高软件测试的效率,最好由程序编制者自己来完成软件的测试工作D) 软件测试是证明软件没有错误(4) 下面选项中不属于面向对象程序设计特征的是 A)继承性 B)多态性 C)类比性 D)封装性(5) 下列对队列的叙述正确的是 A) 队列属于非线性表B) 队列按“先进后出”原则组织数据C) 队列在队尾删除数据D) 队列按“先进先出”原则组织数据(6) 对下列二叉树 进行前序遍历的结果为A)DYBEAFCZX B)YDEBFZXCAC)ABDYECFXZ D)ABCDEFXYZ(7)某二叉树中有 n 个度为 2 的结点,则该二
3、叉树中的叶子结点数为 A)n+1 B)n-1 C)2n D)n/2(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是 A)并 B)交 C)投影 D)笛卡儿乘积(9)在 ER 图中,用来表示实体之间联系的图形是 A)矩形 B)椭圆形 C)菱形 D)平行四边形(10)下列叙述中错误的是 A)在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是解决数据共享问题C)数据库技术是指己有数据管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(11)下面可以正确定义 2 个整形变量和 1 个字符串变量的语句的是 A)Dim n,m AS Interger,s
4、AS String B)Dim a%,b$,c AS StringC)Dim a AS Integer,b,c AS String D)Dim x%,y AS Integer,z AS String(12)下列表述中不能判断 x 是否为偶数的是 A)x/2=Int(x/2) B)x Mod 2=0 C)Fix(x/2)=x/2 D)x2=013)设在名称为 Myform 的窗体上只有 1 个名称为 C1 的命令按钮,下面叙述中正确的是 A)窗体的 Click 事件过程的过程名是 Myform_ClickB)命令按钮的 Click 事件过程名是 C1_ClickC)命令按钮的 Click 事件过
5、程的过程名是 Command1_Click(14)设窗体上有 1 个滚动条,要求单击滚动条右端的按钮一次,滚动条移动一定的刻度值,决定此刻度的属性是 A)Max B)Min C)SmallChange D)LargeChang(15)1 个二维数组可以存放 1 个矩形.在程序开始有语句 Option Base 0,则下面定义的数组中正好可以存放 1 个 4*3 矩阵(即只有 12 个元素)的是 A)Dim a(-2 To 0,2) AS Integer B)Dim a(3,2) AS IngegerC)Dim a(4,3)AS Ingeger D)Dim a(-1 To -4,-1 To -3
6、)AS Integer(16)若设置了文本框的属性 PasswordChar=”$”,则运行程序时向文本框中输入 8 个任意字符后,文本框中显示的是 A)8 个”$” B)1 个”$” C)8 个”*” D)无任何内容(17)设在窗体上有 1 个名称为 Combo1 的组合框,含有 5 个项目,要删除最后一项,正确的语句是 A)Combo1.RemoveItem Combo1.Text B) Combo1.RemoveItem 4C) Combo1.RemoveItem Combo1.ListCount D) Combo1.RemoveItem 5(18)工程中有 2 个窗体,名称分别为 Fo
7、rm1.Form2,Form1 为启动窗体,该窗体上有命令按钮 Command1,要求程序运行后单击该命令按钮时显示 Form2,则按钮的 Click 事件过程应该是 A)Private Sub Command1_Click( ) B) Private Sub Command1_Click( )Form2.Show Form2.VisibleEnd Sub End SubC) Private Sub Command1_Click( ) D)Private Sub Command1_Click( )Load Form2 Form2.LoadEnd Sub End Sub(19)若在某窗体模块中有
8、如下事件过程 Private Sub Command1_Click(Index AS Integer)End Sub则以下叙述中正确的是A) 此事件过程与不带参数的事件过程没有区别B) 有 1 个名称为 Command1 的窗体,单击此窗体则执行此事件过程C) 有 1 个名称为 Command1 的控件数组,数组中有多个不同类型控件D) 有 1 个名称为 Command1 的控件数组,数组中有多个相同类型控件(20)以下循环语句中在任何情况下都至少执行一次循环体的是 A)Do While B)While 循环体 循环体Loop WendC)Do D)Do Until 循环体 循环体Loop U
9、ntil Loop(21)在窗体上有 1 个名为 Cd1 的通用对话框,为了在运行程序时打开保存文件对话框,则在程序总应使用的语句是 A)Cd1.Action=2 B)Cd1.Action=1C)Cd1.ShowSave=Ture D)Cd1.ShowSave=0(22)下面关于菜单的叙述中错误的是 A)各级菜单中的所有菜单项的名称必须唯一B)同一子菜单中的菜单项名称必须唯一,但不同子菜单中的菜单项名称可以相同C)弹出式菜单也用菜单编辑器编辑(23)已知有下面的过程 Private Sub proc1(a As Integer,b As String,Optional x As Boolean
10、)End Sub正确调用此过程的语句是A)Call procl(5) B)Call proc1 5,”abc”,FalseC)proc1(12,”abc”,True) D)proc1 5, “abc”(24)在窗体上有一个文件名称为 Text1 的文本框和 1 个名称为Command1 的命令按钮,要求在程序执行时,每单击命令按钮一次,文本框向右移动一定距离。下面能够正确实现上述功能的程序是 A)Private Sub Command1_Click() B) Private Sub Command1_Click()Text1.Left=100 Text1.Left= Text1.Left-10
11、0End Sub End Sub C)Private Sub Command1_Click() D) Private Sub Command1_Click()Text1.Move Text.Left+100 Text1.Move.Text.LeftEnd Sub End Sub(25)某人创建了 1 个工程,其中的窗体名称为 Form1;之后又添加了 1个名为 Form2 的窗体,并希望程序执行时先显示 Form2 窗体,那么,他需要做的工作是 A)在工程属性对话框中把“启动对象”设置为 Form2B)在 Form1 的 Load 事件过程中加入语句 Load Form2C)在 Form2 的
12、 Load 事件过程中加入语句 Form2.ShowD)在 Form2 的 TabIndex 属性设置为,把 Form1 的 TabIndex 属性设置为(26)窗体上有个名称为 Text1 的文本框和个名称为 Command1的命令按钮。要求程序运行时,单击命令按钮,就可以把文本框中的内容写到文件 out.txt 中,每次写入的内容附加到文件原有内容之后。下面能够实现上述功能的程序是 A)Private Sub Command1_Click() B) Private Sub Command1_Click()Open “out.txt” For Inpit As#1 Open “out.txt
13、” For Outpit As#1Print #1,Text1.Text Print #1,Text1.TextClose #1 Close #1End Sub End SubC) Private Sub Command1_Click() D) Private Sub Command1_Click()Open “out.txt” For Append As#1 Open “out.txt” For Random As#1Print #1,Text1.Text Print #1,Text1.TextClose #1 Close #1End Sub End Sub(27)为计算 1+3+5+99
14、的值,某人编程如下k=1s=0While k”ThenOpen CommonDialog1.FileName For Input As#1End IfEnd Sub下面关于这两种算法的叙述中正确的是 A) 显示打开文件对话框后若未选择或输入任何文件名,则算法 2 会出错,算法 1 不会B) 显示打开文件对话框后若未选择或输入任何文件名,则算法 1 会出错,算法 2 不会C) 两种算法的执行结果完全一样D) 算法 1 允许输入的文件名中含有空格,而算法 2 不允许(30)窗体上有 1 个名称为 List 的列表框,其中已经输入了若干个项目(如图所示):还有 2 个文本框,名称分别为 Text1、
15、Text2, 1个名称为 Command1 的命令按钮,并有以下程序Private Sub Command1_Click()Dim str As String, s As String, k As Integers=Text1:Str=”For k=List1.ListCount-1 to 0 Step-1If InStr(List.List(k),s)0 then str=str&List.List(k)&” ”Next kIf str=”ThenText2=”没有匹配的项目”ElseText2=strEnd IfEnd Sub 程序运行时,在 Text1 中输入“京”,单击命令按钮,则在T
16、ext2 中显示的内容是 A) 京 B) 北京 南京C) 南京 D) 没有匹配的项目(31)在窗体上画 1 一个名称为 Command1 的命令按钮,并编写以下程序Private Sub Command1_Click()Print fun(“ABCDEFG”)End SubFunction fun(st As String) As String stlen=Len(st)temp=”For k =stlen to 1 step -1Temp=temp & mid(st,k,1)Next kfun=tempEnd Function程序运行时,单击命令按钮,则窗体上显示的是 A)ABCDEFG B
17、)AGBFCE C)GFEDCBA D)AGBFCED 过程(34)在窗体上从左到右有 Text1、Text2 两个文本框(见图),要求程序运行时,在 Text1 中输入 1 个分数后按回车键,则判断分数的合法性,若分数为 0100 中的 1 个数,周围光标移到 Text2 中;否则光标不动,并弹出对话框显示“分数错”,下面程序中正确的是 A)Private Sub Text1_KeyPress(KeyAscii AS Integer)If KeyAscii=13 Then 回车符的 ACSII 码是 13a=Val(Text1)If a=0 or a=0 And a100 ThenText2
18、.SetFocusElseText1. SetFocus :MsgBox(“分数错”)End IfEnd IfEnd SubD) Private Sub Text1_KeyPress(KeyAscii AS Integer)If KeyAscii=13 Then 回车符的 ACSII 码是 13a=Val(Text1)If a=0 And a=100 Thentext2.SetFocusElseText1. SetFocus: MsgBox(“分数错”)End IfEnd IfEnd Sub(35)在窗体上画 2 个命令按钮,名称分别为 Command1、command2,并编写如下程序Const n=5,m=4Dim a(m,n)Private Sub Command1_Click()K=1