精品文档
2008年9月全国计算机等级考试二级VB笔试试题 一. 选择题(每小题2分,共70分)
(11)在设计窗体时双击窗体的任何地方,可以打开的窗口是 A)代码窗口 B)属性窗口 C)工程资源管理器窗口 D)工具箱窗口 (12)若变量a未事先定义直接使用(例如:a=0),则变量a的类型是 A)Integer B) String C) Boolean D)Variant
(13)为把圆周率的近似值3.14159存储在变量pi中,应该把变量pi定义为
A)Dim pi As Integer B)Dim pi(7)As Ingeter C)Dim pi As Single D)Dim pi As Ingeter
^^
2的值是表达式2*3 2-4*2/2+3(14)A)30 B)23 C)49 D)48
(15)以下不能输出“Program”的语句是
A)Print Mid(“VBProgram”,3,7) B)Print Right(“VBProgram”,7) C) Print Mid(“VBProgram”,3) D) Print Left(“VBProgram”,7)
(16)窗体上有一个名称为Frame1的框架(如图)。若要把框架显示的“Frame1”改为汉字“框架”,下面正确的语句是 A)Frame1.Name=”框架” B)Frame1.Caption=”框架” C)Frame1.Text=”框架” D)Frame1.Value=”框架” (17)以下叙述中错误的是
A)在通用过程中,多个形参数之间可以用逗号作为分隔符B)在Print方法中,多个输出项之间可以用逗号作为分隔符 C)在Dim语句中,所定义的多个变量可以用逗号作为分隔符D)当一行中有多个语句时,可以用逗号作为分隔符 (18)设窗体上有一个列表框控件List1,含有若干列表项,以下能表示当前被选中的列表项内容的是 A)List1.List B)List1.ListIndex C)List1.Text D)List1.Index
(19)设a=4,b=5,c=6,执行语句Printa StrInput=InputBox(“请输入字符串”,“字符串对话框”,“字符串”) 将显示输入对话框。此时如果直接单击”确定”按钮,则定量StrInput的内容是 A)请输入字符串通 B) 字符串对话框 C) 字符串 D)以上说法都不对 (21)窗体上有Command1、Command2两个命令按钮。现编写以下程序: Option Base 0 Dim a() As Integer, m As Integer Private Sub Command1_Click() m=InputBox(“请输入一个正整数”) ReDim a(m) End Sub Private Sub Command2_Click() m=InputBox(“请输入一个正整数”) ReDim a(m) End Sub 运行程序时,单击Command1后输入整数10,再单击Command2后输入整数5,则数组a中元素的个数是 A)5 B)6 C)10 D)11 (22)在窗体上画一个命令按钮和一个标签,其名称分别为Command1和Label1.然后编写如下事件过程: Prvate Sub Command1_Click() Counter=0 For i=1 To 4 For j=6 To 1 Step -2 Counter=Counter+1 Next j Nexti Label1.Caption=Str(Counter) End Sub 程序运行后,单击命令按钮,标签中显示的内容是 精品文档. 精品文档 A)11 B)12 C)16 D)20 (23)在窗体上画一个名为Command1的命令按钮,然后编写以下程序: Prvate Sub Command1_Click() Dim M(10) As Integer For k=1 To10 M(k)=12-k Next k X=8 Print M(2+M(X)) End Sub 运行程序,单击命令按钮,在窗体上显示的是 A)6 B)5 C)7 D)8 (24)以下关于过程及过程参数的描述中,错误的是 A)调用过程时可以用控件名称作为实际参数 B)用数组作为过程的参数时,使用的是”传地址”方式 C)只有函数过程能够将过程中处理的信息传回到调用 的程序中 D)窗体(Form)可以作为过程的参数 (25)在窗体上画一个名称为Command1的命令按钮,再画两个名称分别为Label1、Label2的标签,然后编写如下程序代码: Private X As Integer Private Sub Command1_Click() X=5:Y=3 Call proc(X,Y) Label1.Caption=X Label2.Caption=Y End Sub Private Sub proc(a As Integer,ByVal b As Integer) a=a*a b=b+b End Sub 程序运行后,单击命令按钮,则两个标签中显示的内容分别是 A)25和3 B)5和3 C)25和6 D)5和6 (26)在窗体上有两个名称为 Text1、Text2的文本框,一个名称为Command1的命令按钮,设有如下的类型和变量声明: Private Type person name as String*8 major as String*20 End Type Dim p As Person 设文本框中的数据已正确地赋值给Person类型的变量p,当单击“保存”按钮时,能够正确地把变量中的数据写入随机文件Text2.dat中的程序段是 A)Open”c:\\Test2.dat”For Output As #1 B)Open”c:\\Test2.dat”For RandomAs #1 Put #1,1,p Get #1,1,p Close #1 Close #1 C)Open”c:\\Test2.dat”For Random As #1 Len=Len(p) D)Open”c:\\Test2.dat”For Random As #1 Len=Len(p) Put #1,1,p Get #1,1,p Close #1 Close #1 (27)在窗体上画一个名称为Text1的文本框和一个名称为Command1的命令按钮,然后编写如下事件过程: Prvate 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) 3 C)4 D)5 精品文档. 精品文档 (28)假定有以下循环结构 Do Until 条件表达式 循环体 Loop 则以下正确的描述是 A)如果“条件表达式”的值是0,则一次循环体也不执行 B)如果“条件表达式”的值不为0,则至少执行一次循环体 C)不论“条件表达式”的值是否为“真”至少要执行一次循环体 D)如果“条件表达式”的值恒为0,则无限次执行循环体 (29)在窗体上画一个命令按钮,然后编写如下事件过程: dim i,num Randomize Do For i=1 to 1000 num=Int(Rnd*100) Print num Select Case num Case 12 Exit For case 58 Exit Do case 65,68,92 End End Select Next i Loop 上述事件过程执行后,下列描述中正确的是 A)Do 循环执行的次数为1000次 B)在For循环中产生的随机数小于或等于100 C)当产生的随机数为12时结束所有循环 D)当产生的随机数为65、68或92时窗体关闭、程序结束 30、在窗体上画一个名为Command1的命令按钮,然后编写如下代码: Option Base 1 Private Sub Command1_Click() Dim a a=Array(1,2,3,4) j=1 For i=4 to 1 Step -1 s=s+a(i)*j J=j*10 Next i Print s End sub 运行以上程序,其输出结果是 A) 1234 B) 12 C) 34 D) 4321 31、设有如下通用过程: Public Function Fun(xStr As String) As String Dim tStr As String ,strl As Integer tStr=”” strl=Len(xStr) i=1 Do While i<=strl/2 tStr=tStr& Mid(xStr,i,1)& Mid(xStr,strl-i+1,1) i=i+1 loop fun=tStr End function 在窗体上画一个名称为Command1的命令按钮,然后编写如下的事件过程: Private Sub Command1_Click() Dim S1 As String S1=”abcdef” Print Ucase(fun(S1)) END SUB 精品文档. 精品文档 程序运行后,单击命令按钮,输出结果是 A)BCDEF B) abcdef C) AFBECD D) DEFABC 32、某人为计算n!(0 Dim p As Long P=1 For k=n-1 to 2 step -1 P=p*k Next k Fun=p End function 在调试时发现该函数过程产生的结果是错误的,程序需要修改,下面的修改方案中有3中是正确的,错误的方案是 A)把 p=1 改为 p=n B)把 for k=n-1 to 2 step -1 改为 for k=1 to n-1 C)把 for k=n-1 to 2 step -1 改为 for k=1 to n D)把 for k=n-1 to 2 step -1 改为 for k=2 to n 33、假定有以下函数过程: Public Function Fun(s As String) As string Dim s1 As string s1=”” For i=1 to len(s) S1=Ucase(mid(s,I,1))+S1 Next i Fun=s1 End function 在窗体上画一个命令按钮,然后编写如下事件过程: Private Sub Command1_Click() Dim str1 As String,str2 as string S1=inputbox(“请输入一个字符串”) S2=FUN(S1) Print s2 END SUB 程序运行后,单击命令按钮,如果在输入对话框中输入字符串“abcdefg”,则单击“确定”按钮后在窗体上输出结果为 A)BCDEFG B)Abcdefg C)GFEDCB D)A gfedcba 34、为计a^n 的值,某人编写了函数power 如下: Public Function power(a as interger,n as integer) As long Dim p As Long P=a For k= 1 to n P=p*a Next k power=p End function 在调试时发现错误,例如Print power(5,4)的输出应该是625,但实际输出是3125,程序需要修改,下面的修改方案中有3个是正确的,错误的一个是 A)把 for k=1 to n 改为 for k=2 to n B)把 p=p*a 改为 p=p^n C) 把 for k=1 to n 改为 for k=1 to n-1 D)把 p=a 改为 p=1 35)某人编写了如下的程序 Private sub Command1_click()