2003年4月全國計(jì)算機(jī)等級考試二級VB語言筆試試題及答案

字號:

一、選擇題((1)一(20)每小題2分,(21)一(30)每小題3分,共30題,70分)
     下列各題A)、B)、C)、D)四個選項(xiàng)中,只有一個選項(xiàng)是正確的,請將正確選項(xiàng)涂
     在答題卡的相應(yīng)位置上,答在試卷上不得分。
     (1)以下不能在“工程資源管理器”窗口中列出的文件類型是
     A).bas B).res C).fnn D).ocx
     (2)以下關(guān)于窗體的描述中,錯誤的是
     A)執(zhí)行UnloadFoMl語句后,窗體Fonnl消失,但仍在內(nèi)存中
     B)窗體的Ioad事件在加載窗體時發(fā)生
     C)當(dāng)窗體的Enabled屬性為False時,通過鼠標(biāo)和鍵盤對窗體的操作都被禁止
     D)窗體的Height、width屬性用于設(shè)置窗體的高和寬
     (3)下列可作為V2sualBasic變量名的是
     A)A#A B)4A C)?xY D)constA
     (4)設(shè)有如下的記錄類型
     Type Student
     numberAs string
     name As String
     age As Integer
     End Type
     則正確引用該記錄類型變量的代碼是
     A) Student.name=”張紅” B) Dim As Student
     s.name=”張紅”
     C) Dim s As Type Student D) Dim s As Type
     S.name=”張紅” s.Dame=”張紅”
     (5)函數(shù)String(n,“str”)的功能是
     A)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符串
     B)返回由n個字符組成的字符串
     C)從字符串中取出n個字符
     D)從字符串中第n個字符的位置開始取子字符串
     (6)將數(shù)學(xué)表達(dá)式Cos2(a+b)+5e2寫成Visual Basic的表達(dá)式,其正確的形式是
     A)Cos(a+b)A2十5。exp(2) B)Cos^2(a+b)+5*exp(2)
     C)Cos(a+b)^2十5*ln(2) D)Cos^2(a+b)+5*ln(2)
     (7)在窗體上畫一個命令按鈕,名稱為Commandl。單擊命令按鈕時,執(zhí)行如下事件過
     程:
     PrlVate Sub Commandl—C1icko
     a$="software and hardware"
     b$=Right(a$,8)
     c$=Mid(a$,1,8)
     Msgbox a$,,b$,c$,1
     End Sub
     則在彈出的信息框的標(biāo)題欄中顯示的信息是
     A)softWare and hardware B)software C)hardwafe D)1
     (8)執(zhí)行如下語句:
     a=inutBox(”Today”,”TomorroW,”Yesterday”,,,"Day before yesterday",5)
     將顯示一個輸入對話框,在對話框的輸入?yún)^(qū)中顯示的信息是
     A)Today B)Tomorrow C)Yesterday D)Day before yesterday
     (9)表示滾動條控件取值范圍值的屬性是
     A)Max B)LargeChange C)Value D)Max—Min
     (10)在窗體上畫一個名稱為Listl的列表框,一個名稱為Labell的標(biāo)簽。列表框中顯示
     若干城市的名稱。當(dāng)單擊列表框中的某個城市名時,在標(biāo)簽中顯示選中城市的名稱。
     下列能正確實(shí)現(xiàn)上述功能的程序是
     A) Private Sub listl_Click() B)Private Sub Listl_C1ick()
     Labell.Caption=list1.listlndex Labell.Nanle=Listl.listindex
     End Sub .End Sub
     程序運(yùn)行后,如果單擊命令按鈕,則在窗體上顯示的內(nèi)容是
     A)空白 B)錯誤提示 C)北京 D)上海 (15)假定有以下函數(shù)過程:
     Function Fun(S As String) As String
     Dim s1 As String
     For i=1 To Len(S)
     s1=UCase(Mid(S,i,1))十s1
     Next i
     Fun=s1
     End Function
     在窗體上畫一個命令按鈕,然后編寫如下事件過程:
     Prlvate Sub Commmldl_Click()
     Dim Str1 As String,Str2 As String
     Strl=inputbox(”請輸入一個字符串”)
     Str2=Fun(Strl)
     Print Str2
     End Sub
     程序運(yùn)行后,單擊命令按鈕,如果在輸入對話框中輸入字符串“abcdefg”,則單擊“確
     定”按鈕后在窗體上的輸出結(jié)果為
     A)abcdefg B)ABCDEFG C)gfedcba D)GFEDCBA
     (16)設(shè)有語句
     open "c:\Test.Dat" For OutPut As#1
     則以下錯誤的敘述是
     A)該語句打開C盤根目錄下一個己存在的文件Test.Dat
     B)該語句在C盤根目錄下建立一個名為Test.Dat的文件
     C)該語句建立的文件的文件號為1
     D)執(zhí)行該語句后,就可以通過Print#語句向文件Test.Dat中寫入信息
     (17)以下敘述中錯誤的是
     A)用Shell函數(shù)可以調(diào)用能夠在Windows下運(yùn)行的應(yīng)用程序
     B)用Shell函數(shù)可以調(diào)用可執(zhí)行文件,也可以調(diào)用VisualBasic的內(nèi)部函數(shù)
     C)調(diào)用Shell函數(shù)的格式應(yīng)為:<變量名>=Shell(……)
     D)用Shell函數(shù)不能執(zhí)行DoS命令
     (18)以下關(guān)于過程及過程參數(shù)的描述中,錯誤的是
     A)過程的參數(shù)可以是控件名稱
     B)用數(shù)組作為過程的參數(shù)時,使用的是“傳地址”方式
     c)只有函數(shù)過程能夠?qū)⑦^程中處理的信息傳回到調(diào)用的程序中
     D)窗體可以作為過程的參數(shù)
     (19)在窗體上畫一個名稱為TxtA的文本框,然后編寫如下的事件過程:
     Private Sub Txta_KeyPress(keyascii as integer)
     End Sub
     若焦點(diǎn)位于文本框中,則能夠觸發(fā)KeyPress事件的操作是
     A)單擊鼠標(biāo) B)雙擊文本框
     C)鼠標(biāo)滑過文本框 D)按下鍵盤上的某個鍵
     (20)目錄列表框的Path屬性的作用是
     A)顯示當(dāng)前驅(qū)動器或指定驅(qū)動器上的路徑
     B)顯示當(dāng)前驅(qū)動器或指定驅(qū)動器上的某目錄下的文件名
     c)顯示根目錄下的文件名
     D)只顯示當(dāng)前路徑下的文件 (21)假定有如下事件過程:
     PriVate Sub Form_MouseDown(button As Integer,Shift As Integer, x As Single,Y As
     Single)
     If Button=2 then
     PopupMenu popForm
     End if
     End Sub
     則以下描述中錯誤的是
     A)該過程的功能是彈出一個菜單
     B)popForm 是在菜單編輯器中定義的彈出式菜單的名稱
     C)參數(shù)X、Y指明鼠標(biāo)的當(dāng)前位置
     D)Button=2 表示按下的是鼠標(biāo)左鍵
     (22)以下能夠正確計(jì)算n!的程序是
     二級Visual Basic語言程序設(shè)計(jì)試卷第5頁 (共15頁)
     A) Private Sub Commandl_ClicK()
     n=5:x=1
     Do
     X=x*1
     i=i十1
     Loop While i<n
     Print x
     End Sub
     B) Private Sub Commandl_Click()
     n=5: x=1:i=1
     Do
     X=X*1
     i=i十1
     Loop While i<n
     Print x
     End Sub
     C)Private Sub Commandl_Click()
     n=5:x=1:i=1
     Do
     X=X*1
     i=i十1
     Loop while i<=n
     Print x
     End Sub
     D)Private Sub Commandl_C1ick()
     n=5:x=1:i=1
     Do
     X=X*l
     i=i十1
     loop While i>n
     Print x
     End Sub
     (23)在窗體上畫一個名稱為Commandl的命令按鈕,再畫兩個名稱分別為Labell、Label2
     的標(biāo)簽,然后編寫如下程序代碼:
     . 二級vlsudBM5c語言程序設(shè)計(jì)試卷第6頁 (共15頁)
     Private x As Integer
     Private Sub Commandl—Click()
     X=5:Y=3
     Call proc(x,Y)
     Labell.Caption=X
     Label2.Caption=Y(jié)
     End Sub
     Private Sub proc(ByVal a As Integer,ByVal b As hteger)
     x=a* a
     Y=b十b
     End Sub
     程序運(yùn)行后,單擊命令按鈕,則兩個標(biāo)簽中顯示的內(nèi)容分別是
     A)5和3 B)25和3 C)25和6 D)5和6
     (24)在窗體上畫一個名稱為Commandl的命令按鈕,一個名稱為Labell的標(biāo)簽,然后
     編寫如下事件過程:
     Private Sub Commandl_C1ick()
     S=0
     For i=1 T0 15
     x=2*i一1
     1f x Mod 3=0 Then s=s十1
     Nexti
     Labell.Caption=s
     End Sub
     . 程序運(yùn)行后,單擊命令按鈕,則標(biāo)簽中顯示的內(nèi)容是
     A)1 B)5 C)27 D)45
     (25)在窗體上畫一個名稱為Commandl的命令按鈕和三個名稱分別為Labell、Label2、
     Label3的標(biāo)簽,然后編寫如下代碼:
     Private x As Integer
     Private Sub Command1_C1ick()
     Static y As Integer
     Dimz As Integer
     n=10
     z=n十z
     y=y(tǒng)十z
     X=X十Z
     Labell.Caption=x
     Label2.Caption=y
     Label3.Caption=z
     End Sub
     運(yùn)行程序,連續(xù)三次單擊命令按鈕后,則三個標(biāo)簽中顯示的內(nèi)容分別是
     A)10 10 10 B)30 30 30 C)30 30 10 D)10 30 30(26)設(shè)在窗體上有一個名稱為Commandl的命令按鈕,并有以下事件過程:
     PriVate Sub Commandl_C1ick()
     Static b As Variant
     b=Array(1,3,5,7,9)
     End Sub
     此過程的功能是把數(shù)組b中的5個數(shù)逆序存放(即排列為9,7,5,3,1)。為實(shí)現(xiàn)此功
     能,省略號處的程序段應(yīng)該是
     A)For i=0 To 5-1\2
     tmp=b(i)
     b(i)=b(5-i-1)
     b(5-i-1)=tmp
     Next
     B)for i=0 To 5
     tmp=b(i)
     b(i)=b(5-i-1)
     b(5-i-1)=tmp
     Next
     C) For i=0 T0 5\2
     tmp=b(i)
     b(i)=b(5-i-1)
     b(5-i-1);tmp
     Next
     D)For i=1 T0 5\2
     tmp=b(i)
     b(i)=b(5一i一1)
     b(5—i—1)=tmp
     Next
     二級VlsualBM5c語言程序設(shè)計(jì)試卷第8頁 (共15頁) (27)在窗體上畫一個名稱為Drivel的驅(qū)動器列表框,一個名稱為Dirl的目錄列表框,一個名稱為Filel的文件列表框,兩個名稱分別為Labell、Label2,標(biāo)題分別為空白和“共有文件”的標(biāo)簽。編寫程序,使得驅(qū)動器列表框與目錄列表框、目錄列表框與文件列表框同步變化,并且在標(biāo)簽Labell中顯示當(dāng)前文件夾中文件的數(shù)量。如圖所示。
     能夠正確實(shí)現(xiàn)上述功能的程序是
     A) Private Sub Dirl_Change() B)Private Sub Dir1_Change()
     Filel.Path=Dir1.path Filel.path=dir1.Path
     End Sub End Sub
     Private Sub Drivel_Change() Private Sub Drive1_Change()
     Dirl.Path=Drivel.Drive Dirl.Path=Drivel.Drive
     Labell.Caption=Filel.listCount Labell.Captlon=file1.list
     End Sub End Sub
     C)Private Sub Dirl_Change() D) Private Sub Dirl_Change()
     Filel.Path=Dirl.Path filel.Path=Dir1.Path
     Labell.Caption=Filel.ListCount Labell.Caption=Filel.List
     End Sub End Sub
     Private Sub Drivel_Change() Private Sub Drivel_Change()
     Dirl.Path=Drivel.Drlve Dir1.Path=Drivel.DrlVe
     Labell.Caption=Filel.ListCount Labell.Caption=Filel.list
     End Sub End Sub  (28)一個工程中包含兩個名稱分別為Forml、Form2的窗體,一個名稱為mdlFunc的標(biāo)準(zhǔn)
     模塊。假定在Forml、Form2和mdlFunc中分別建立了自定義過程,其定義格式為:
     Forml中定義的過程:
     PriVate Sub frmfunctionl()
     End Sub
     Form2中定義的過程:
     Public Sub frmffunction2()
     End Sub
     mdlFunc中定義的過程:
     PubliC Sub mdlFunction()
     End Sub
     在調(diào)用上述過程的程序中,如果不指明窗體或模塊的名稱,則以下敘述中正確的是
     A)上述三個過程都可以在工程中的任何窗體或模塊中被調(diào)用
     B)frmfunction2和mdlfunction過程能夠在工程中各個窗體或模塊中被調(diào)用
     C)上述三個過程都只能在各自被定義的模塊中調(diào)用
     D)只有mdlFunction過程能夠被工程中各個窗體或模塊調(diào)用(29)窗體上有兩個名稱分別為Textl、Text2的文本框,一個名稱為Commandl的命令按鈕。運(yùn)行后的窗體外觀如圖所示。
     設(shè)有如下的類型聲明
     Type Person
     name As String*8
     major As String*20
     End Type
     當(dāng)單擊“保存”按鈕時,將兩個文本框中的內(nèi)容寫入一個隨機(jī)文件Test29.dat中。設(shè)文本框中的數(shù)據(jù)已正確地賦值給Person類型的變量p。則能夠正確地把數(shù)據(jù)寫入文件的程序段是
     A)0pen”c:\Test29.dat" For Random As#1
     Put #1,1,p
     Close #1
     B)Open "c:\Test29.dat" For Random As #1
     Get#1,1,p
     C10se #1
     C)open "c\Test29.dat" For Random As #1 Len=Len(p)
     Put #1,1,p
     Close #1
     D)Open "c:\Test29.dat " For Random As #1=Len(p)
     Get #1,1,p
     CloSe #1
     (30)在窗體上畫一個名稱為CommonDialogl的通用對話框,一個名稱為Commandl的命令按鈕。要求單擊命令按鈕時,打開一個保存文件的通用對話框。該窗口的標(biāo)題為"Save",缺省文件名為“SaveFile”,在“文件類型”欄中顯示*.txt。則能夠滿足上述要求的程序是
     A)Private Sub Command_C1ick()
     Commondialogl.FileName=“Savefile”
     Commondialogl.filter="All Files|*.*|(*.txt)|*.txt|(*.doc).|*.doc"
     CommonDialogl.Filterindex=2
     CommonDialogl.Dial0g.title="Save"
     CommonDialogl.Action=2
     End Sub
     B)Private Sub Commandl—Click()
     CommonDialogl.FileName="SaveFile"
     CommonDiaLogl.Filter="A11 Files|*.*|(*.txt)|*.txt|*.doc|*.doc"
     C0mmonDialogl.FilterIndex=1
     CommonDialogl.DialogTitle="Save"
     CommonDialogl.Action=2
     End Sub
     C)Private Sub Cmmandl_C1ick()
     COmmonDialogl.FileName="Save"
     CommonDialogl.FiLter="A11Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"
     CommonDialogl.Filterindex=2
     C0mmonDialogl.DialogTitle="SaveFile"
     CommonDialogl.Action=2
     End Sub
     D)Private Sub Commandl_C1ick()
     CommonDialogl.FileName="SaveFile"
     CommonDialogl.Filter="All Files|*.*|(*.txt)|*.txt|(*.doc)|*.doc"
     CommonDialogl.FilterIndex=1
     CommonDialogl.DialogTitle=“Save”
     CommonDialogl.Action=1
     End Sub 二、填空題(每空2分,共30分)
     請將每空的正確答案寫在答題卡[1]一[15序號的橫線上,答在試卷上不得分。
     (1)visual Basic中有一種控件組合了文本框和列表框的特性,這種控件是________
     (2)Visual Basic提供的對數(shù)據(jù)文件的三種訪問方式為隨機(jī)訪問方式_____和二進(jìn)制訪問方式。
     (3)執(zhí)行下面的程序段后,變量S的值為_______。
     S=5
     For i =2.6 To 4.9 Step 0.6
     S=S十1
     Next i
     (4)為了在運(yùn)行時把d:\pic文件夾下的圖形文件a.jpg裝入圖片框Picturel,所使用的語句為_______。
     (5)計(jì)時器控件能有規(guī)律的以一定時間間隔觸發(fā)_______事件,并執(zhí)行該事件過程中的程序代碼。
     (6)以下程序的功能是:生成20個200到300之間的隨機(jī)整數(shù),輸出其中能被5整除的數(shù)并求出它們的和。請?zhí)羁铡?BR>     Private Sub Commandl_C1ick()
     Fori=1To 20
     x=Int(____________*200+100)
     If_______[7] =0 Then
     Print x
     二級VIsualBMic語言程序設(shè)計(jì)試卷第12頁 (共15頁)
     S=S十 _________ [83
     End If
     Next i
     Print “Sum=”:S
     End Sub
     (7)設(shè)有如下程序
     Private Sub Form_Click()
     Dim a AS Integer,b As integer
     a=20:b=50
     pla,b
     p2a,b
     p3a,b
     Print"a=";a,"b=";b
     End Sub
     Sub pl(x As Integer,ByVal y As Integer)
     x=x十10.
     v=v十20
     End Sub
     Sub p2(byVal x As Integer, y As Integer)
     x=x十10
     y=y(tǒng)十20
     End Sub
     Sub p3(ByValx As Integer, ByVal y As Integer)
     x=x十10
     y=y十20
     End Sub
     該程序運(yùn)行后,單擊窗體,則在窗體上顯示的內(nèi)容是:a=______和b=______。
     (8)在窗體上畫一個名稱為Commandl的命令按鈕,編寫如下事件過程
     PRiVate Sub Commandl_C1icK()
     Dim As String
     a=_____[11]
     For i =1 To 5
     Print Space(6—i);Mid$3(a,6—i,2*i—1)
     二級V1sualBMic語言程序設(shè)計(jì)試卷第13頁 (共15頁)
     Nexti
     End Sub
     程序運(yùn)行后,單擊命令按鈕,要求窗體上顯示的輸出結(jié)果為
     456
     34567
     2345678
     123456789
     請?zhí)羁铡?9)在窗體上畫一個名稱為Combo1的組合框,畫兩個名稱分別Label1和Label2及Caption
     屬性分別為“城市名稱”和空白的標(biāo)簽。程序運(yùn)行后,當(dāng)在組合框中輸入一個新項(xiàng)
     后按回車鍵(ASCII碼為13)時,如果輸入的項(xiàng)在組合框的列表中不存在,則自動
     添加到組合框的列表中,并在Label2中給出提示“已成功添加輸入項(xiàng)”如圖所示;
     如果存在,則在Label2中給出提示“輸入項(xiàng)已在組合框中”。請?jiān)赱12>、[13]和
     [14>處將程序補(bǔ)充完整。
     Private Sub Combol_________<12> (KeyAscii As integer)
     1f KeyAscii=13 Then
     Fori=0 To Combo1.listCount—1
     1f Combo1.Text=______ [13] Ihen
     Label2.Caption=”輸入項(xiàng)己在組合框中”
     ExIt Sub
     End lf
     Next i
     Label2.Caption=“已成功添加輸入項(xiàng)”
     Combo1.______ [14] CombO1.Text
     End lf
     End Sub (10)設(shè)有如下程序
     Private sub search(a()As variant,ByVal key As Variant,index%)
     Dim I%
     ForI=LBound(a)To UBound(a)
     If key=a(I) Then
     index=I
     Exit Sub
     End If
     Next I
     Index=-1
     End Sub
     Private Sub Form_Load()
     Show
     Dtm b() As Variant
     Dim n As Integer
     b=Array(1,3,5,7,9,11,13,15)
     Call search(b,11,n)
     Printt n
     End Sub
     程序運(yùn)行后,輸出結(jié)果是________。
    2003年4月全國計(jì)算機(jī)等級考試二級Visual Basic筆試答案
    一、選擇題
    1-5:DADBB 6-10:ACCAD 11-15:DBBDD
    16-20:ABCDA 21-25:DCBBC 26-30:CCDCA
    二、填空題
    (1) 組合框
    (2) 順序訪問方式
    (3) 9
    (4) Picture1.picture=LoadPicture("d:\pic\a.jpg")
    (5) Timer
    (6) Rnd和x Mod 5和x
    (7) 30和70
    (8) "123456789"
    (9) KeyPress和Combo1.List(i)和AddItem
    (10) 5