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 AS String B)Dim a
4、%,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事件过程的过程名是Command1_Click(14)设窗体上有1个滚动
5、条,要求单击滚动条右端的按钮一次,滚动条移动一定的刻度值,决定此刻度的属性是 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)AS Integer(16)若设置了文本框的属性PasswordChar=”$”,则运行程
6、序时向文本框中输入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个窗体,名称分别为Form1.Form2,Form1为启动窗体,该窗体上有命令按钮Command1,要求程序运行后单击该命令按钮时显示Form2
7、,则按钮的Click事件过程应该是 A)Private Sub Command1_Click( ) B) Private Sub Command1_Click( ) Form2.Show Form2.Visible End Sub End SubC) Private Sub Command1_Click( ) D)Private Sub Command1_Click( ) Load Form2 Form2.Load End Sub End Sub(19)若在某窗体模块中有如下事件过程 Private Sub Command1_Click(Index AS Integer)End Sub则以下叙
8、述中正确的是A) 此事件过程与不带参数的事件过程没有区别B) 有1个名称为Command1的窗体,单击此窗体则执行此事件过程C) 有1个名称为Command1的控件数组,数组中有多个不同类型控件D) 有1个名称为Command1的控件数组,数组中有多个相同类型控件(20)以下循环语句中在任何情况下都至少执行一次循环体的是 A)Do While B)While 循环体 循环体 Loop WendC)Do D)Do Until 循环体 循环体 Loop Until Loop(21)在窗体上有1个名为Cd1的通用对话框,为了在运行程序时打开保存文件对话框,则在程序总应使用的语句是 A)Cd1.Act
9、ion=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)End Sub正确调用此过程的语句是A)Call procl(5) B)Call proc1 5,”abc”,FalseC)proc1(12,”abc
10、”,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-100 End Sub End Sub C)Private Sub Command1_Click() D) Private Sub Command1_Click()
11、 Text1.Move Text.Left+100 Text1.Move.Text.Left End Sub End Sub(25)某人创建了1个工程,其中的窗体名称为Form1;之后又添加了1个名为Form2的窗体,并希望程序执行时先显示Form2窗体,那么,他需要做的工作是 A)在工程属性对话框中把“启动对象”设置为Form2B)在Form1的Load事件过程中加入语句 Load Form2C)在Form2的Load事件过程中加入语句Form2.ShowD)在Form2的TabIndex属性设置为,把Form1的TabIndex属性设置为(26)窗体上有个名称为Text1的文本框和个名称为
12、Command1的命令按钮。要求程序运行时,单击命令按钮,就可以把文本框中的内容写到文件out.txt中,每次写入的内容附加到文件原有内容之后。下面能够实现上述功能的程序是 A)Private Sub Command1_Click() B) Private Sub Command1_Click() Open “out.txt” For Inpit As#1 Open “out.txt” For Outpit As#1 Print #1,Text1.Text Print #1,Text1.Text Close #1 Close #1End Sub End SubC) Private Sub Co
13、mmand1_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的值,某人编程如下k=1s=0While k=99k=k+2 : s=s+kWend Print s在调试时发现运行结果有错误,需要修改。下列错误原因和修改方案中正确的是 A) While Wend循环语句错误,应
14、改为For k=1 To 99 Next kB) 循环条件错误,应改为Whlie k99C) 循环前的赋值语句k=1错误,应改为k=0D) 循环中两条赋值语句的顺序错误,应改为s=s+k : k=k+2(28)下面程序在调试时出现了死循环Private Sub Command1_Click() n=InputBox(“请输入一个整数”) Do If n Mod 2=0 Then n=n+1 Else n=n+2 End If Loop Until n=1000End Sub下面关于死循环的叙述中正确的是 A) 只有输入的n是偶数时才会出现死循环,否则不会B) 只有输入的n是奇数时才会出现死循环
15、,否则不会C) 只有输入的n是大于1000的整数时才会出现死循环,否则不会D) 输入任何整数都会出现死循环(29)在窗体上有1个名称为CommonDialog1的通用对话框和1个名称为Command1的命令按钮,以及其他一些控件。要求在程序运行时,单击Command1按钮,则显示打开文件对话框,并在选择或输入了1个文件名后,就可以打开该文件。以下是Command1_Click事件过程的两种算法算法1:Private Sub Command1_Click() CommonDialog1.ShowOpen Open CommonDialog1.FileName For Input As#1End
16、Sub算法2:Private Sub Command1_Click() CommonDialog1.ShowOpen If CommonDialog1.FileName”Then Open CommonDialog1.FileName For Input As#1 End IfEnd Sub下面关于这两种算法的叙述中正确的是 A) 显示打开文件对话框后若未选择或输入任何文件名,则算法2会出错,算法1不会B) 显示打开文件对话框后若未选择或输入任何文件名,则算法1会出错,算法2不会C) 两种算法的执行结果完全一样D) 算法1允许输入的文件名中含有空格,而算法2不允许(30)窗体上有1个名称为Li
17、st的列表框,其中已经输入了若干个项目(如图所示):还有2个文本框,名称分别为Text1、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-1 If InStr(List.List(k),s)0 then str=str&List.List(k)&” ”Next kIf str=”Then Text2=”没有匹配的项目”Else Text2=st
18、rEnd IfEnd Sub程序运行时,在Text1中输入“京”,单击命令按钮,则在Text2中显示的内容是 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 -1 Temp=temp & mid(st,k,1)Next kfun=tempEnd Fu
19、nction程序运行时,单击命令按钮,则窗体上显示的是 A)ABCDEFG B)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码是13 a=Val(Text1) If a=0
20、 or a=0 And a=100 Then Text1.SetFocus Else Text2. SetFocus: MsgBox(“分数错”) End If End IfEnd SubC) Private Sub Text1_KeyPress(KeyAscii AS Integer)If KeyAscii=13 Then 回车符的ACSII码是13a=Val(Text1)If a100 ThenText2.SetFocusElseText1. SetFocus :MsgBox(“分数错”)End IfEnd IfEnd SubD) Private Sub Text1_KeyPress(Ke
21、yAscii AS Integer)If KeyAscii=13 Then 回车符的ACSII码是13 a=Val(Text1) If a=0 And a=100 Then text2.SetFocus Else Text1. SetFocus: MsgBox(“分数错”) End If End IfEnd Sub(35)在窗体上画2个命令按钮,名称分别为Command1、command2,并编写如下程序Const n=5,m=4Dim a(m,n)Private Sub Command1_Click()K=1For i=1 To mFor j=1 To na(i,j)=kk=k+1Next
22、jNext iPrivate Sub Command2_Click()Summ=0For i=1 To m For j=1 To n If i=1 Or i=m Then Summ=summ+a(i,j) Else If j=1 Or j=n Then Summ=summ+a(i,j) End If End If Next jNext iPrint summEnd Sub过程Command1_Click()的作用是二维数组a 中存放1个 m行n列的矩阵;过程Command2_Click()的作用是 A) 计算矩阵外围一圈元素的累加和B) 计算矩阵除外一圈以外的所有元素的累加和C) 计算矩阵第1
23、列和最后一列元素的累加和D) 计算矩阵第1行和最后一行元素的累加和二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题纸上115序号的横线上,答在试卷上,答在试卷上不得分,注意:以命令关键字填空的必须写完整(1)在深度为7的满二叉树中,度为2的结点个数为_。(2)软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于_ 测试。(3)在数据库系统中,实现各种数据管理功能的核心软件称为_(4)软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 _阶段。(5)在结构化分析使用的数据流图(DFD)中,利用 _ 对其中的图形元素进行确切解释。(7)下面程序的
24、功能是把文件file11.txt中重复字符去掉后(即若有多个字符相同,则只保留1个)写入文件file2.txt。请填空。Private Sub Command1_Click()Dim inchar AS String,temp AS String,outchar AS StringOutchar=” ”Open=”file1.txt” For Input AS #1Open=”file2.txt” For Output AS _ n=LOF( _ )inchar=Input$(n,1)For k=1 To n temp=Mid(inchar,k,1) If InStr(outchar,temp
25、)= _ Then outchar=outchar & temp End IfNext kprint #2, _close #2close #1End Sub(8)在窗体上先画1个名为Text1的文本框和平个名为Label1的标签,再画1个名为OP1的有4个单选按钮数组,其Index属性按季度顺序为03(见图1)。在文件sales.txt中按月份顺序存有某企业某年12个月的销售额。要求在程序执行时,鼠标单击1个单选按钮,则Text1中显示相应季度的销售总额,并把相应的文字显示在标签上。图2是单击“第3季度”单选按钮产生的结果。请填空。Dim sales(12) As LongPrivate S
26、ub Form_Load()open “sales.txt” For Input AS #1For k=1 To 12Input #1,sales(k)Next kClose #1End Sub Private Sub _ (Index AS Integer)Dim sum AS Long ,k AS Ingeger,month AS Ingegersum=0month=Index* _For k=1 To 3month=month+1sum=sum+sales(month)Next kLabel1.Caption=Opl(Index). _ & “销售总额:”Text1=sumEnd Sub
27、(9)某人编写如下函数来判断a是否为素数,若是,则函数返回True;否则返回FalseFunction Prime(a As Integer)AS BooleanDim k As Interger,isprime AS BooleanIf a2 Then isprime=FalseElse isprime=True k=2 Do While k If a Mod k=0 Then isprime=False : exit do ELSE k=k+1 End IF LOOPEnd If prime=isprimeEnd Function在测试时发现有1个非素数也被判断为素数,这个错判的数是 _ 2007年4月二级全国计算机等级考试二级VB笔试参考答案一、选择:1-10 bdacd cabca 11-20 ddbcb abadc21-30 abdca cddbc31-35 ccada 二.填空题 (1)【答案】 63 (2)【答案】黑盒(3)【答案】数据库管理系统(4)【答案】开发(5)【答案】数据字典(6)【答案】0(7)【答案】 N-1(8)【答案】#2(9)【答案】1(10)【答案】0 (11)【答案】outchar(12)【答案】 op1_click (13)【答案】3(14)【答案】 caption(15)【答案】 4