一、選擇題((1)一(20)每小題2分,(21)一(30)每小題3分,共30題,70分) 下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)涂 在答題卡的相應(yīng)位置上,答在試卷上不得分。 (1)以下不能在“工程資源管理器”窗口中列出的文件類型是 A).bas B).res C).fnn D).ocx (2)以下關(guān)于窗體的描述中,錯(cuò)誤的是 A)執(zhí)行UnloadFoMl語(yǔ)句后,窗體Fonnl消失,但仍在內(nèi)存中 B)窗體的Ioad事件在加載窗體時(shí)發(fā)生 C)當(dāng)窗體的Enabled屬性為False時(shí),通過(guò)鼠標(biāo)和鍵盤(pán)對(duì)窗體的操作都被禁止 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個(gè)字符組成的字符串 C)從字符串中取出n個(gè)字符 D)從字符串中第n個(gè)字符的位置開(kāi)始取子字符串 (6)將數(shù)學(xué)表達(dá)式Cos2(a+b)+5e2寫(xiě)成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)在窗體上畫(huà)一個(gè)命令按鈕,名稱為Commandl。單擊命令按鈕時(shí),執(zhí)行如下事件過(guò) 程: 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í)行如下語(yǔ)句: a=inutBox(”Today”,”TomorroW,”Yesterday”,,,"Day before yesterday",5) 將顯示一個(gè)輸入對(duì)話框,在對(duì)話框的輸入?yún)^(qū)中顯示的信息是 A)Today B)Tomorrow C)Yesterday D)Day before yesterday (9)表示滾動(dòng)條控件取值范圍最大值的屬性是 A)Max B)LargeChange C)Value D)Max—Min (10)在窗體上畫(huà)一個(gè)名稱為L(zhǎng)istl的列表框,一個(gè)名稱為L(zhǎng)abell的標(biāo)簽。列表框中顯示 若干城市的名稱。當(dāng)單擊列表框中的某個(gè)城市名時(shí),在標(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)錯(cuò)誤提示 C)北京 D)上海 (15)假定有以下函數(shù)過(guò)程: 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 在窗體上畫(huà)一個(gè)命令按鈕,然后編寫(xiě)如下事件過(guò)程: Prlvate Sub Commmldl_Click() Dim Str1 As String,Str2 As String Strl=inputbox(”請(qǐng)輸入一個(gè)字符串”) Str2=Fun(Strl) Print Str2 End Sub 程序運(yùn)行后,單擊命令按鈕,如果在輸入對(duì)話框中輸入字符串“abcdefg”,則單擊“確 定”按鈕后在窗體上的輸出結(jié)果為 A)abcdefg B)ABCDEFG C)gfedcba D)GFEDCBA (16)設(shè)有語(yǔ)句 open "c:\Test.Dat" For OutPut As#1 則以下錯(cuò)誤的敘述是 A)該語(yǔ)句打開(kāi)C盤(pán)根目錄下一個(gè)己存在的文件Test.Dat B)該語(yǔ)句在C盤(pán)根目錄下建立一個(gè)名為T(mén)est.Dat的文件 C)該語(yǔ)句建立的文件的文件號(hào)為1 D)執(zhí)行該語(yǔ)句后,就可以通過(guò)Print#語(yǔ)句向文件Test.Dat中寫(xiě)入信息 (17)以下敘述中錯(cuò)誤的是 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)于過(guò)程及過(guò)程參數(shù)的描述中,錯(cuò)誤的是 A)過(guò)程的參數(shù)可以是控件名稱 B)用數(shù)組作為過(guò)程的參數(shù)時(shí),使用的是“傳地址”方式 c)只有函數(shù)過(guò)程能夠?qū)⑦^(guò)程中處理的信息傳回到調(diào)用的程序中 D)窗體可以作為過(guò)程的參數(shù) (19)在窗體上畫(huà)一個(gè)名稱為T(mén)xtA的文本框,然后編寫(xiě)如下的事件過(guò)程: Private Sub Txta_KeyPress(keyascii as integer) End Sub 若焦點(diǎn)位于文本框中,則能夠觸發(fā)KeyPress事件的操作是 A)單擊鼠標(biāo) B)雙擊文本框 C)鼠標(biāo)滑過(guò)文本框 D)按下鍵盤(pán)上的某個(gè)鍵 (20)目錄列表框的Path屬性的作用是 A)顯示當(dāng)前驅(qū)動(dòng)器或指定驅(qū)動(dòng)器上的路徑 B)顯示當(dāng)前驅(qū)動(dòng)器或指定驅(qū)動(dòng)器上的某目錄下的文件名 c)顯示根目錄下的文件名 D)只顯示當(dāng)前路徑下的文件 (21)假定有如下事件過(guò)程: 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 則以下描述中錯(cuò)誤的是 A)該過(guò)程的功能是彈出一個(gè)菜單 B)popForm 是在菜單編輯器中定義的彈出式菜單的名稱 C)參數(shù)X、Y指明鼠標(biāo)的當(dāng)前位置 D)Button=2 表示按下的是鼠標(biāo)左鍵 (22)以下能夠正確計(jì)算n!的程序是 二級(jí)Visual Basic語(yǔ)言程序設(shè)計(jì)試卷第5頁(yè) (共15頁(yè)) 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)在窗體上畫(huà)一個(gè)名稱為Commandl的命令按鈕,再畫(huà)兩個(gè)名稱分別為L(zhǎng)abell、Label2 的標(biāo)簽,然后編寫(xiě)如下程序代碼: . 二級(jí)vlsudBM5c語(yǔ)言程序設(shè)計(jì)試卷第6頁(yè) (共15頁(yè)) 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)行后,單擊命令按鈕,則兩個(gè)標(biāo)簽中顯示的內(nèi)容分別是 A)5和3 B)25和3 C)25和6 D)5和6 (24)在窗體上畫(huà)一個(gè)名稱為Commandl的命令按鈕,一個(gè)名稱為L(zhǎng)abell的標(biāo)簽,然后 編寫(xiě)如下事件過(guò)程: 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)在窗體上畫(huà)一個(gè)名稱為Commandl的命令按鈕和三個(gè)名稱分別為L(zhǎng)abell、Label2、 Label3的標(biāo)簽,然后編寫(xiě)如下代碼: 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ù)三次單擊命令按鈕后,則三個(gè)標(biāo)簽中顯示的內(nèi)容分別是 A)10 10 10 B)30 30 30 C)30 30 10 D)10 30 30(26)設(shè)在窗體上有一個(gè)名稱為Commandl的命令按鈕,并有以下事件過(guò)程: PriVate Sub Commandl_C1ick() Static b As Variant b=Array(1,3,5,7,9) End Sub 此過(guò)程的功能是把數(shù)組b中的5個(gè)數(shù)逆序存放(即排列為9,7,5,3,1)。為實(shí)現(xiàn)此功 能,省略號(hào)處的程序段應(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 二級(jí)VlsualBM5c語(yǔ)言程序設(shè)計(jì)試卷第8頁(yè) (共15頁(yè)) (27)在窗體上畫(huà)一個(gè)名稱為Drivel的驅(qū)動(dòng)器列表框,一個(gè)名稱為Dirl的目錄列表框, 一個(gè)名稱為Filel的文件列表框,兩個(gè)名稱分別為L(zhǎng)abell、Label2,標(biāo)題分別為空白 和“共有文件”的標(biāo)簽。編寫(xiě)程序,使得驅(qū)動(dòng)器列表框與目錄列表框、目錄列表框 與文件列表框同步變化,并且在標(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)一個(gè)工程中包含兩個(gè)名稱分別為Forml、Form2的窗體,一個(gè)名稱為mdlFunc的標(biāo)準(zhǔn) 模塊。假定在Forml、Form2和mdlFunc中分別建立了自定義過(guò)程,其定義格式為: Forml中定義的過(guò)程: PriVate Sub frmfunctionl() End Sub Form2中定義的過(guò)程: Public Sub frmffunction2() End Sub mdlFunc中定義的過(guò)程: PubliC Sub mdlFunction() End Sub 在調(diào)用上述過(guò)程的程序中,如果不指明窗體或模塊的名稱,則以下敘述中正確的是 A)上述三個(gè)過(guò)程都可以在工程中的任何窗體或模塊中被調(diào)用 B)frmfunction2和mdlfunction過(guò)程能夠在工程中各個(gè)窗體或模塊中被調(diào)用 C)上述三個(gè)過(guò)程都只能在各自被定義的模塊中調(diào)用 D)只有mdlFunction過(guò)程能夠被工程中各個(gè)窗體或模塊調(diào)用(29)窗體上有兩個(gè)名稱分別為T(mén)extl、Text2的文本框,一個(gè)名稱為Commandl的命令 按鈕。運(yùn)行后的窗體外觀如圖所示。 設(shè)有如下的類型聲明 Type Person name As String*8 major As String*20 End Type 當(dāng)單擊“保存”按鈕時(shí),將兩個(gè)文本框中的內(nèi)容寫(xiě)入一個(gè)隨機(jī)文件Test29.dat中。設(shè) 文本框中的數(shù)據(jù)已正確地賦值給Person類型的變量p。則能夠正確地把數(shù)據(jù)寫(xiě)入文件 的程序段是 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)在窗體上畫(huà)一個(gè)名稱為CommonDialogl的通用對(duì)話框,一個(gè)名稱為Commandl的 命令按鈕。要求單擊命令按鈕時(shí),打開(kāi)一個(gè)保存文件的通用對(duì)話框。該窗口的標(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分) 請(qǐng)將每空的正確答案寫(xiě)在答題卡[1]一[15序號(hào)的橫線上,答在試卷上不得分。 (1)visual Basic中有一種控件組合了文本框和列表框的特性,這種控件是________ (2)Visual Basic提供的對(duì)數(shù)據(jù)文件的三種訪問(wèn)方式為隨機(jī)訪問(wèn)方式_____和二進(jìn)制訪問(wèn) 方式。 (3)執(zhí)行下面的程序段后,變量S的值為_(kāi)______。 S=5 For i =2.6 To 4.9 Step 0.6 S=S十1 Next i (4)為了在運(yùn)行時(shí)把d:\pic文件夾下的圖形文件a.jpg裝入圖片框Picturel,所使用的語(yǔ) 句為_(kāi)______。 (5)計(jì)時(shí)器控件能有規(guī)律的以一定時(shí)間間隔觸發(fā)_______事件,并執(zhí)行該事件過(guò)程中的 程序代碼。 (6)以下程序的功能是:生成20個(gè)200到300之間的隨機(jī)整數(shù),輸出其中能被5整除的 數(shù)并求出它們的和。請(qǐng)?zhí)羁铡?BR> Private Sub Commandl_C1ick() Fori=1To 20 x=Int(____________*200+100) If_______[7] =0 Then Print x 二級(jí)VIsualBMic語(yǔ)言程序設(shè)計(jì)試卷第12頁(yè) (共15頁(yè)) 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)在窗體上畫(huà)一個(gè)名稱為Commandl的命令按鈕,編寫(xiě)如下事件過(guò)程 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) 二級(jí)V1sualBMic語(yǔ)言程序設(shè)計(jì)試卷第13頁(yè) (共15頁(yè)) Nexti End Sub 程序運(yùn)行后,單擊命令按鈕,要求窗體上顯示的輸出結(jié)果為 456 34567 2345678 123456789 請(qǐng)?zhí)羁铡?9)在窗體上畫(huà)一個(gè)名稱為Combo1的組合框,畫(huà)兩個(gè)名稱分別Label1和Label2及Caption 屬性分別為“城市名稱”和空白的標(biāo)簽。程序運(yùn)行后,當(dāng)在組合框中輸入一個(gè)新項(xiàng) 后按回車鍵(ASCII碼為13)時(shí),如果輸入的項(xiàng)在組合框的列表中不存在,則自動(dòng) 添加到組合框的列表中,并在Label2中給出提示“已成功添加輸入項(xiàng)”如圖所示; 如果存在,則在Label2中給出提示“輸入項(xiàng)已在組合框中”。請(qǐ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é)果是________。