2022年计算机等级考试二级语言笔试试题含答案.docx
2003年9月全国计算机等级考试二级VB语言笔试试题含答案一、 选择题(1)(20)每小题2分,(21)(30)每小题3分,共70分)(1)以下叙述中错误的是A)Visual Basic 是事件驱动型可视化编程工具B)Visual Basic应用程序不具有明显的开始和结束语句C)Visual Basic工具箱中的所有控件都具有宽度(Width)和高度(Height)属性D)Visual Basic中控件的某些属性只能在运行时设置(2)以下叙述中错误的是A)在工程资源管理器窗口中只能包含一个工程文件及属于该工程的其他文件B)以.BAS为扩展名的文件是标准模块文件C)窗体文件包含该窗体及其控件的属性D)一个工程中可以含有多个标准模块文件(3)以下叙述中错误的是A)双击鼠标可以触发DblClick事件B)窗体或控件的事件的名称可以由编程人员确定C)移动鼠标时,会触发MouseMove事件D)控件的名称可以由编程人员设定(4)以下不属于Visual Basic系统的文件类型是A).frm B).bat C).vbg D).vbp(5)以下叙述中错误的是A)打开一个工程文件时,系统自动装入与该工程有关的窗体、标准模块等文件B)保存Visual Basic程序时,应分别保存窗体文件及工程文件C)Visual Basic应用程序只能以解释方式执行D)事件可以由用户引发,也可以由系统引发(6)以下能正确定义数据类型TelBook的代码是A)Type TelBook B)Type TelBookName As String*10 Name As String*10TelNum As Integer TelNum As IntegerEnd Type End TelBookC)Type TelBook D)Typedef TelBookName String*10 Name String*10TelNum Integer TelNum IntegerEnd Type TelBook End Type(7)以下声明语句中错误的是A)Const var1=123 B)Dim var2 = ABCC)DefInt a-z D)Static var3 As Integer(8)设窗体上有一个列表框控件Lis选中的列表项内容的是t1,且其中含有若干列表项。则以下能表示当前被A)List1.List B)List1.ListIndex C)List1.Index D)List1. Text(9)程序运行后,在窗体上单击鼠标,此时窗体不会接收到的事件是A)MouseDown B)MouseUp C)Load D)Click(10)设a=10,b=5,c=1,执行语句Print a > b > c后,窗体上显示的是A)True B)False C)1 D)出错信息(11)如果要改变窗体的标题,则需要设置的属性是A)Caption B)Name C)BackColor D)BorderStyle(12)以下能判断是否到达文件尾的函数是A)BOF B)LOC C)LOF D)EOF(13)如果一个工程含有多个窗体及标准模块,则以下叙述中错误的是A)如果工程中含有Sub Main过程,则程序一定首先执行该过程B)不能把标准模块设置为启动模块C)用Hide方法只是隐藏一个窗体,不能从内存中清除该窗体D)任何时刻最多只有一个窗体是活动窗体(14)窗体的MouseDown事件过程Form_MouseDown (ButtSingle)on As Integer, Shift As Integer, X As Single, Y As 有4个参数,关于这些参数,正确的描述是A)通过Button参数判定当前按下的是哪一个鼠标键B)Shift参数只能用来确定是否按下Shift键C)Shift参数只能用来确定是否按下Alt和Ctrl键D)参数x,y用来设置鼠标当前位置的坐标(15)设组合框Combo1中有3个项目,则以下能删除最后一项的语句是A)Combo1.RemoveItem TextB)Combo1.RemoveItem2C)Combo1.RemoveItem 3D)Combo1.RemoveItem Combo1.Listcount(16)以下关于焦点的叙述中,错误的是A)如果文本框的TabStop属性为False,则不能接收从键盘上输入的数据B)当文本框失去焦点时,触发LostFocus事件C)当文本框的Enabled属性为False时,其Tab顺序不起作用D)可以用TabIndex属性改变Tab顺序(17)如果要在菜单中添加一个分隔线,则应将其Caption属性设置为A)= B)* C)& D)-(18)执行语句Open "数据能够执行的操作是Tel.dat" For Random As #1 Len = 50后,对文件Tel.dat中的A)只能写,不能读 B)只能读,不能写C)既可以读,也可以写 D)不能读,不能写(19)在窗体上画一个本框,然后编写如下事件过名称为Command1的命令按钮和两程:个名称分别为Text1、Text2的文Private Sub Command1_Click()n = Text1.TextSelect Case nCase 1 To 20x = 10Case 2, 4, 6x = 20Case Is < 10x = 30Case 10x = 40End SelectText2.Text = xEnd Sub程序运行后,如果在文内容是本框Text1中输入10,然后单击命令按钮,则在Text2中显示的A)10 B)20 C)30 D)40(20)设有以下循环结构Do循环体Loop While <条件>则以下叙述中错误的是A)若"条件"是一个为0的常数,则一次也不执行循环体B)"条件"可以是关系表达式、逻辑表达式或常数C)循环体中可以使用Exit Do语句D)如果"条件"总是为True,则不停地执行循环体(21)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim num As Integernum = 1Do Until num > 6Print num;num = num + 2.4LoopEnd Sub程序运行后,单击命令按钮,则窗体上显示的内容是A)1 3.4 5.8 B)1 3 5C)1 4 7 D)无数据输出(22)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Dim a As Integer, s As Integera = 8s = 1Dos = s + aa = a1Loop While a <= 0Print s; aEnd Sub程序运行后,单击命令按钮,则窗体上显示的内容是A) 7 9 B) 34 0C) 9 7 D)死循环(23)设有如下通用过程:Public Function f(x As Integer)Dim y As Integerx = 20y = 2f = x * yEnd Function在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()Static x As Integerx = 10y=5y = f(x)Print x; yEnd Sub程序运行后,如果单击命令按钮,则在窗体上显示的内容是A)10 5 B)20 5C)20 40 D)10 40(24)设有如下通用过程:Public Sub Fun(a(), ByVal x As Integer)For i = 1 To 5x = x + a(i)NextEnd Sub在窗体上画一个名称为Text1的文本下的事件过程:框和一个名称为Command1的命令按钮,然后编写如Private Sub Command1_Click()Dim arr(5) As VariantFor i = 1 To 5arr(i) = iNextn = 10Call Fun(arr(), n)Text1.Text = nEnd Sub程序运行后,单击命令按钮,则在文本框中显示的内容是A)10 B)15 C)25 D)24(25)在窗体上画一个名称为Command1的命令按钮,然后编写如下代码:Option Base 1Private Sub Command1_Click()d = 0c = 10x = Array(10, 12, 21, 32, 24)For i = 1 To 5If x(i) > c Thend = d + x(i)c = x(i)Elsed = dcEnd IfNext iPrint dEnd Sub程序运行后,如果单击命令按钮,则在窗体上输出的内容为A)89 B)99 C)23 D)77(26)在窗体上画两个别为Label1、Label2、Labe显示"A"、"B"、"A*B"等文Label3 显示A*B的计算结果。当单击命令按钮"计算"时Label3中。以下不能实现上滚动条,名称分别为Hscroll1 l3、Label4、Label5、Label6,字信息,标签Label1、Label2分。如图所示。当移动滚动框时,对标签Label1、Label2中显示述功能的事件过程是、Hscroll2;六个标签,名称分其中标签Label 4 Label6分别显示其右侧的滚动条的数值,在相应的标签中显示滚动条的值的两个值求积,并将结果显示在A)Private Sub Command1_Click()Label3.Caption = Str(Val(Label1.Caption )*Val( Label2.Caption)End SubB)Private Sub Command1_Click()Label3.Caption = HScroll1.Value * HScroll2.ValueEnd SubC)Private Sub Command1_Click()Label3.Caption = HScroll1 * HScroll2End SubD)Private Sub Command1_Click()Label3.Caption = HScroll1. Text * HScroll2.TextEnd Sub(27)在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:Private Sub Command1_Click()For n = 1 To 20If n Mod 3 <> 0 Then m = m + n 3Next nPrint nEnd Sub程序运行后,如果单击命令按钮,则窗体上显示的内容是A)15 B)18 C)21 D)24(28)在窗体上画一个名称为Text1的文本框,并编写如下程序:Private Sub Form_Load()ShowText1.Text = ""Text1.SetFocusEnd SubPrivate Sub Form_MouY As Single)seUp(Button As Integer, Shift As Integer, X As Single, Print "程序设计"End SubPrivate Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)Print "Visual Basic"End Sub程序运行后,如果按"A"键,然后单击窗体,则在窗体上显示的内容是A)Visual Basic B)程序设计C)A程序设计 D)Visual Basic程序设计(29)设有如下程序:Private Sub Command1_Click()Dim sum As Double, x As Doublesum = 0n = 0For i = 1 To 5x = n / in = n + 1sum = sum + xNextEnd Sub该程序通过For循环计算一个表达式的值,这个表达式是A)1+1/2+ 2/3+3/4+4/5 B)1+1/2+2/3+3/4C)1/2+2/3+3/4+4/5 D)1+1/2+1/3+1/4+1/5(30)以下有关数组定义的语句序列中,错误的是A) Static arr1(3)arr1(1) = 100arr1(2) = "Hello"arr1(3) = 123.45B)Dim arr2() As IntegerDim size As IntegerPrivate Sub Command2_Click()size = InputBox("输入:")ReDim arr2(size)End SubC)Option Base 1Private Sub Command3_Click()Dim arr3(3) As IntegerEnd SubD)Dim n As IntegerPrivate Sub Command4_Click()Dim arr4(n) As IntegerEnd Sub二、填空题(每空2分,共30分)(1)执行下面的程序段后,i的值为1 ,s的值为 2 。s = 2For i = 3.2 To 4.9 Step 0.8s = s + 1Next i(2)把窗体的KeyPreview属性设置为True,然后编写如下两个事件过程:Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)Print Chr(KeyCode)End SubPrivate Sub Form_KeyPress(KeyAscii As Integer)Print Chr(KeyAscii)End Sub程序运行后,如果直接分别是 3 和 4 。按键盘上的"A"键(即不按住Shift键),则在窗体上输出的字符(3)在窗体上画一个标签(名称为L写如下几个事件过程:Label1)和一个计时器(名称为Timer1),然后编Private Sub Form_Load()Timer1.Enabled = FalseTimer1.Interval = 5End SubPrivate Sub Form_Click()Timer1.Enabled = 6End SubPrivate Sub Timer1_Timer()Label1.Caption = 7End Sub程序运行后,单击窗体,将在标签中填空。显示当前时间,每隔1秒钟变换一次(见图)。请14:54:41(4)在窗体上画一个Label1和Command1,然后编文本框、一个标签和一个命令按 钮,其名称分别为Text1、Command1写如下两个事件过程:Private Sub Command1_Click()S$ = InputBox("请输入一个字符串")Text1.Text = S$End SubPrivate Sub Text1_Change()Label1.Caption = UCase(Mid(Text1.Text, 7)End Sub程序运行后,单击命令"VisualBasic",则在标签按钮,将显示一个输入对话框,中显示的内容是 8 。如果在该对话框中输入字符串(5)在窗体上画一个列表框、一个Command1和Label1,通过属性窗口把列表、"第三个项目"、"第四个项目"。程序运钮,即可将所选择的项目删除,并在标签选择"第三个项目"的情况)。下面是实现命令按钮和一个标签,其名称分别为List1、框中的项目设置为:"第一个项目"、"第二个项目"行后,在列表框中选择一个项目,然后单击命令按中显示列表框当前的项目数,运行情况如图所示(上述功能的程序,请填空。Private Sub Command1_Click()If List1.ListIndex >= 9 ThenList1.RemoveItem 10Label1.Caption = 11ElseMsgBox "请选择要删除的项目"End IfEnd Sub第一个项目第二个项目 COMMAND1第三个项目 3(6)设有程序:Option Base 1Private Sub Command1_Click()Dim arr1, Max as Integerarr1 = Array(12, 435, 76, 24, 78 , 54, 866, 43)12 = arr1(1)For i = 1 To 8If arr1(i) > Max Then 13Next iPrint "最大值是: " MaxEnd Sub以上程序的功能是:用Array函数建组中元素的最大值。请填空。立一个含有8个元素的数组,然后查找并输出该数(7)以下程序的功能在文本框Text1中显示出来是:把当前目录下的顺序文件sm。请填空。text1.txt的内容读入内存,并Private Sub Command1_Click()Dim inData As StringText1.Text = ""Open ".smtext1.txt"14 As #1Do While 15Input #1, inDataText1.Text = Text1.Text & inDataLoopClose #1End Sub2003年9月全国计算机等级考试二级VB语言笔试试卷参考答案一、 选择题(1) C (2) A (3) B (4) B (5) C(6) A (7) B (8) D (9) C (10)B(11)A (12)D (13)A (14)A (15)B(16)A (17)D (18)C (19)A (20)A(21)B (22)C (23)C (24)A (25)C(26)D (27)C (28)D (29)C (30)D二、 填空题(1) 1 5.6 2 5(2) 3 A 4 a(3) 5 1000 6 True 7 Time(4) 8 BASIC(5) 9 0 10List1.ListIndex 11 List1.ListCount(6) 12 Max 13 Max = arr1(i)(7) 14 For Input 15 Not EOF(1)