2012年9月全国计算机二级VB考试真题 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2012年9月全国计算机二级VB考试真题 二级VB 一、选择题(每小题2分,共70分)
(11)以下叙述叙述中错误的是 A)vbp是工程文件,一个工程可以包括.bas文件 B).frm文件是窗体文件,一个窗体可以包含.bas文件 C) vbp是工程文件,一个工程可以由多个.frm文件组成 D).vbg文件是工程组文件,一个工程组可以由多个工程组成 (12)以下叙述中错误的是 A)在Visual Basic的窗体中,一个命令按钮是一个对象 B)事件是能够被对象识别的状态变化或动作 C)事件都是由用户的键盘操作或鼠标操作触发 D)不同的对象可以具有相同的方法 (13)设x=3.3, y=4.5, 表达式x-Int(x)+Fix(y)的值是 A)3.5 B)4.8 t C)4.3 D)4.7 (14)窗体上有一令名称为Command1的命令按钮, 其中部分代码如下: Private Sub Command1_Click() Dim a(10)As Integer Dim n As Integer ... ... Call calc(a, n) ... ... End Sub calc过程的首行应该是 A)Sub talc(x()As Integer, n As Integer) B)Public Sub calc(x() As Integer) C)Private Sub calc(a(n) As Integer, n As Integer) D)Public Sub calc(a As Integer, n As Integer) (15)设有如下程序: Sub f(x As Integer,ByVal y As Integer) x=2*x y=y+x End Sub Private Sub Command1_Click() Dim a As Integer,b As Integer a=6:b=35 Call f(a, b) Print a, b End Sub 程序运行后, 单击命令按钮Command1, 输出结果为 A)6 47 B)12 (16)以下叙述中正确的是 A)窗体及窗体上所有控件的事件过程代码都保存在窗体文件中 B)在工程中只有启动窗体可以建立菜单 c)窗体名称必须与窗体文件的名称相同 D)程序一定是从某个窗体开始执行的 (17)窗体上有一个名称为Command1的命令按钮, 其单击事件过程代码如下: Private Sub Command1_Click() Static x As Variant n=0 x=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) while n<=4 x(n)=x(n+5) Print x(n); n=n+1 Wend End Sub 运行程序, 单击命令按钮Command1, 窗体上显示的是 A)1 2 3 4 5 B)6 7 8 9 (18)窗体上有一个名称为Label1的标签和一个名称为Command1的命令按钮。命令按钮的单击事件过程如下: Private Sub Command1_Click() x=InputBox("输入x:", , 0) y=InputBox("输入y:", , 0) Label1.Caption=x+y End Sub 运行程序, 单击命令按钮, 在输入对话框中分别输入2、3, 运行的结果是 A)程序运行有错误, 数据类型不匹配 ’ B)程序运行有错误。InputBox函数的格式不时 C)在Labell中显示5 1 D)在Labell中显示23 (19)窗体上有一个名称为Shape1的形状控件和由三个命令按钮组成的名称为cmdDraw的控件数组。窗体外观如图所示(从上到下的3个命令按钮的下标值分别为0、1、2)。有事件过程如下: Private Sub cmdDraw_Click(Index As Integer) Select Case Index Case 0 Shape1.Shape=0 Case 1 Shape1.Shape=1 Case 2 Shape1.Shape=3 End Select End Sub 当单击"画圆"命令按钮时, 会执行cmdDraw_Click事件过程。以下叙述中正确的是 A)Case 2分支有错, 此Case后面表达式的值应该与赋给Shape1.Shape的值一致 B)程序运行有错, 控件数组的下标应该从1开始 C)Index是形状控件的参数 D)程序正常运行.形状控件被显示为圆形 (20)如果一个正整数从高位到低位上的数字依次递减, 则称其为降序数<如:9632是降序数, 而8516则不是降序数)。现编写如下程序, 判断输入的正整数是否为降序数。 Private Sub Command1_Click() Dim n As Long Dim flag As Boolean n=InputBox("输入一个正整数") s=Trim(Str(n)) For i=2 To Len(s) If Mid(s, i-1, 1)<Mid(S, i, 1) Then Exit For Next i If i=Len(s) Then flag=True Else flag=False If flag Then Print n; "是降序数" Else Print n; "不是降序数" End If End Sub . 运行以上程序, 发现有错误, 需要对给flag变量赋值的If语句进行修改。以下正确的修改是 A)If i=Len(s)+1 Then flag=False Else flag=True B)If i=Len(s)+1 Then flag=True Else flag=False C)If i=Len(s)-1 Then flag=False Else flag=Tihe D)If i=Len(s)-1 Then flag=True Else flag=False (21)现有以下程序: Private Sub Command1_Click() c1=0 c2=0 For i=1 To 100 If i Mod 3=0 Then c1=c1+1 Elself i Mod 7=0 Then c2=c2+1 End If Next Print c1+c2 End Sub 此程序运行后输出的是在1~100范围内 A)同时能被3和7整除的整数个数 B)能被3或7整除的整数个数(同时被3和7整除的数只记一次) C)能被3整除, 而不能被7整除的整数个数 D)能被7整除, 而不能被3整除的整数个数 (22)设菜单编辑器中各菜单项的属性设置如下表所示:
针对上述属性设置, 以下叙述中错误的是 A)属性设置有错, 存在"标题"与"名称"重名现象 B)运行程序, 序号为"3"的菜单项不显示 C)运行程序, 序号为"4"的菜单项不显示 D)运行程序, 序号为"5"的菜单项前显示"√" (23)窗体上有一个名称为Command1的命令按钮, 并有如下程序: Private Sub Commandl_Click() x=15 Do While x>0 x=x-3 x=IIf(Int(x/5)=x/5, x+2, x) Print x End Sub 程序运行后, 单击命令按钮Command1, 输出结果为 A)0 B) (24)以下关于通用对话框的叙述中, 错误的是 A)若没有指定InitDir属性值, 则起始目录为当前目录 B)用一个通用对话框控件可以建立几种不同的对话框 C)FileTitle属性指明了文件对话框中所选择的文件名。 D)文件对话框用属性Filterlndex指定默认过滤器, 它是一个从0开始的整数 (25)窗体上有一个名称为Command1的命令按钮, 并有如下程序: Private Sub Command1_Click() Dim m As Integer, n As Inleger m=InputBox("输入第一个数") n=InputBox("输入第二个数") Do While m<>n Do While m>n m=m-n Loop Do While n>m n=n-m Loop Loop Print m End Sub 该程序的功能是 A)求数值m和n的最大公约数 B)求数值m和n的最小公倍数 C)求数值m和n中的较大数 D)求数值m和n中的较小数 (26)窗体上有一个名称为Command1的命令按钮, 其单击事件过程及有关函数过程如下: Private Sub Command1_Click() Dim n As Integer n=add(5,10) Print n End Sub Function add(v1 As Integer, v2 As Integer, Optional v3)As Integer If Not IsMissing(v3)Then add=v1+v2+v3 Else add=v1+v2 End If End Function 运行程序, 单击命令按钮, 以下叙述中正确的是。 A)程序不能正常运行, 因为函数add的参数定义有错 B)程序不能正常运行, 因为函数定义与函数调用语句的参数个数不匹配 C)程序能正常运行, 结果是在窗体上显示15 D)程序能正常运行, 结果是在窗体上显示510v3 (27)目录列表框Path属性所表示的含义是. A)当前驱动器或指定驱动器上的路径 B)当前驱动器或指定驱动器上的某目录下的文件列表 C)根目录下的文件列表 D)指定路径下的文件列表 (28)以下关于函数过程的叙述中错误的是 A)函数过程一定有返回值 B)函数过程一定有参数 C)函数过程可以在窗体模块和标准模块中定义。 D)函数过程参数的类型与返回值的类型无关 (29)在窗体上画一个名称为C6mmand1的命令按钮, 然后编写如下程序 Public Enum S a=4 b=3 End Enum Private Sub Command1_Click() Dim x As Integer x=a If x>=3 Then MsgBox "Pass!" End Sub 运行程序, 其结果是 A)运行错误, 因为Enum定义有错 B)运行错误, 因为x=a类型不匹配 C)运行正常结束, 不显示任何信息 D)运行正常, 显示内容为"Pass!"的信息框 (30)设有如下程序: Option Base 1 Private Sub Form_Click() Dim a(5) As String, i As Integer For i=1 To 5 a(i)=Chr(Asc("A")+i) Call f(a,i) Next i End Sub Sub f(ta() As String, n As Integer) Dim i As Integer For i=1 To n Print ta(i); Next i End Sub 对上述程序, 以下叙述中正确的是 A)程序有错, 因为在过程f的定义中数组参数格式不正确 B)程序可正常运行, 输出内容的第一行是一个字母"A" C)程序可正常运行, 输出内容的第一行是一个字母"B" D)程序可正常运行, 输出内容的第一行是数字65 (31)窗体上有二个名称为Picture1的图片框控件, 一个名称为Timer1的计时器控件, 其Interval属性值 为1000。要求每隔5秒钟图片框右移100。现编写程序如下: Private Sub Timer1_Timet() Static n As Integer n=n+1 If (n/5)=Int(n/5) And Picture1.Left<Form1.Width Then Picturet.Left=Picture1.Left+100 End If End Sub 分析以上程序, 以下叙述中正确的是 A)程序中没有设置5秒钟的时间, 所以不能每隔5秒移动图片框一次 B)此程序运行时图片框位置保持不动 C)此程序运行时图片框移动方向与题目要求相反 D)语句条件中的"Picture1.Left<Form1.Width"用于限制图片框移动的范围 (32)窗体上有一个名称为Command1的命令按钮, 其事件过程如下: Private Sub Command1_Click() Dim i As Integer, j As Integer, k As Integer Dim S As Double s=0: i=1: j=0: k=-1 Do While i<6 s=s+k*(j/i) i=i+1 j=j+1 k=-k print s End Sub 以上程序所计算的表达式是 A)1/2-2/3+3/4-4/5 B)-1/2+2/3-3/4+4/5 C)1-1/2+2/3-3/4+4/5 D)-1+1/2-2/3+3/4-4/5 33)窗体上有一个名称为Command1的命令按钮,其单击事件过程如下: Private Sub Command1_Click() Dim a,b(2,3) as initeger a=Array(3,7,5,11,31,43,17,62,9,23,37,41) i=0 do while i<=Ubound(a) for j=0 to 2 for k=0 to 3 b(j,k)=a(i) i=i+1 next print b(2,2) End Sub 运行程序,窗体上显示的是 A)43 B) (34) 窗体上有一个名称为Command1的命令按钮,其单击事件过程如下: Private Sub Command1_Click() Dim s as string Open “C:\File1.txt” For Input As #1 Open “C:\File2.txt” For OutPut As #2 Do while not Eof(1) Input #1,s Input #2,s Close #1,#2 End Sub 关于以上程序,以下叙述中错误的是 A) 程序把File1.txt文件的内容存放在File2.txt文件中 B) 程序中打开了两个随机文件 C) 程序中打开了两个顺序文件 D) “EOF(1)”中的” (35)以下关于文件与文件相关操作的叙述中错误的是 A)以Append方式打开的文件可以进行读写操作 B)文件记录的各个字段的数据类型可以不同 C)随机文件各记录的长度是相同的 D)随机文件可以通过记录号直接访问文件中的指定记录 二、填空题(每空2分,共30分) (6)窗体上有从左到右4个单选按钮组成的控件数组Opt1,下标从0开始,程序运行时,单击命令按钮”选择”(名称为Command1),则在标签Label1中显示所选中的信息,如图所示 以下是完成上述功能的程序,请填空 Private Sub Command1_Click() For i=0 to 3 if Opt1(i).value=true then Call f(___【6】___) End If Next End Sub Private Sub f(x as Control) Label1.Caption=”您选择的是:” & ___【7】___.Caption End Sub (7)窗体上有一个名称为List1的列表框, 列表框中有若干数据项, 列表框的Style属性为1#有一个名称Label2的标签,还有一个名称为Command1, Caption属性为"计算"的命令按钮(见图)。运行程序,在列表框中选中某些数据项后,单击命令按钮, 则可以计算所选数据之和, 并将结果显示在标签Label2中,以下是实现上述功能的程序, 请填空 Private Sub Command1_Click() s=0 For i=0 To List1.ListCount-1 If ___【8】___ =True Then s=s+___【9】___ End If Next Label2.Caption=___【10】___ End Sub (8)以下程序的功能是从随机产生的20个20~200(含20和 200)的整数中, 找出能够同时被3和5整除的数的最大值, 并显示 出来。请填空。 Option Base 1 Private Sub Command1_Click() Dim a(20) As Integer m=0 For i=1 To 20 a(i)=Int(Rnd*___【11】___)+20 If a(i) Mod 3=0] ___【12】___ a(i) Mod 5=0 Then If a(i)>m Then m=a(i) End If Next If ___【13】___ Then print "没有满足条件的数" Else Print "满足条件的数是";m End lf End Sub 9.窗体上画一个名称为Timer1的计时器控件, 其Enabled属性值设为False, Interval属性值设为100。要求程序运行后, 当鼠标在窗体上移动时, 沿鼠标经过的轨迹画出一系列半径为100的小圆。其效果如图所示.以下是实现上述功能的程序,请填空 Dim a As Integer, b As Integer Private Sub Form____【14】___ (Button As Integer, Shift As Integer, x As Single, Y as single) a=X b=Y Timer1.Enabled= ___【15】___ End Sub Private Sub Timer1_Timer() Form1.Circle(a, b), 100 '以(a, b)为圆心画一个半径为100的圆 End Sub
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||