為了使廣大考生在備戰計算機等級考試時,更快的掌握相應知識點,下面是小編搜尋整理的全國計算機等級考試二級visualBasic筆試試卷,供參考練習,預祝考生們考出自己理想的成績!
一、選擇題((1)一(20)每小題2分,(21)一(30)每小題3分,共30題,70分)
下列各題A)、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項塗
在答題卡的相應位置上,答在試卷上不得分。
(1)以下不能在“工程資源管理器”視窗中列出的檔案型別是
A).bas B).res C).fnn D).ocx
(2)以下關於窗體的描述中,錯誤的是
A)執行UnloadFoMl語句後,窗體Fonnl消失,但仍在記憶體中
B)窗體的Ioad事件在載入窗體時發生
C)當窗體的Enabled屬性為False時,通過滑鼠和鍵盤對窗體的操作都被禁止
D)窗體的Height、width屬性用於設定窗體的高和寬
(3)下列可作為V2sualBasic變數名的是
A)A#A B)4A C)?xY D)constA
(4)設有如下的記錄型別
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=”張紅” =”張紅”
(5)函式String(n,“str”)的功能是
A)把數值型資料轉換為字串
B)返回由n個字元組成的字串
C)從字串中取出n個字元
D)從字串中第n個字元的位置開始取子字串
(6)將數學表示式Cos2(a+b)+5e2寫成Visual Basic的表示式,其正確的形式是
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。單擊命令按鈕時,執行如下事件過
程:
PrlVate Sub Commandl—C1icko
a$="software and hardware"
b$=Right(a$,8)
c$=Mid(a$,1,8)
Msgbox a$,,b$,c$,1
End Sub
則在彈出的資訊框的標題欄中顯示的資訊是
A)softWare and hardware B)software C)hardwafe D)1
(8)執行如下語句:
a=inutBox(”Today”,”TomorroW,”Yesterday”,,,"Day before yesterday",5)
將顯示一個輸入對話方塊,在對話方塊的輸入區中顯示的資訊是
A)Today B)Tomorrow C)Yesterday D)Day before yesterday
(9)表示滾動條控制元件取值範圍最大值的屬性是
A)Max B)LargeChange C)Value D)Max—Min
(10)在窗體上畫一個名稱為Listl的列表框,一個名稱為Labell的標籤。列表框中顯示
若干城市的名稱。當單擊列表框中的某個城市名時,在標籤中顯示選中城市的名稱。
下列能正確實現上述功能的程式是
A) Private Sub listl_Click() B)Private Sub Listl_C1ick()
Labell.Caption=lndex Labell.Nanle=Listl.listindex
End Sub .End Sub
程式執行後,如果單擊命令按鈕,則在窗體上顯示的內容是
A)空白 B)錯誤提示 C)北京 D)上海
(15)假定有以下函式過程:
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
程式執行後,單擊命令按鈕,如果在輸入對話方塊中輸入字串“abcdefg”,則單擊“確
定”按鈕後在窗體上的輸出結果為
A)abcdefg B)ABCDEFG C)gfedcba D)GFEDCBA
(16)設有語句
open "c:Test.Dat" For OutPut As#1
則以下錯誤的敘述是
A)該語句開啟C盤根目錄下一個己存在的檔案Test.Dat
B)該語句在C盤根目錄下建立一個名為Test.Dat的檔案
C)該語句建立的檔案的檔案號為1
D)執行該語句後,就可以通過Print#語句向檔案Test.Dat中寫入資訊
(17)以下敘述中錯誤的是
A)用Shell函式可以呼叫能夠在Windows下執行的應用程式
B)用Shell函式可以呼叫可執行檔案,也可以呼叫VisualBasic的內部函式
C)呼叫Shell函式的格式應為:<變數名>=Shell(……)
D)用Shell函式不能執行DoS命令
(18)以下關於過程及過程引數的描述中,錯誤的是
A)過程的引數可以是控制元件名稱
B)用陣列作為過程的引數時,使用的是“傳地址”方式
c)只有函式過程能夠將過程中處理的資訊傳回到呼叫的程式中
D)窗體可以作為過程的引數
(19)在窗體上畫一個名稱為TxtA的文字框,然後編寫如下的事件過程:
Private Sub Txta_KeyPress(keyascii as integer)
End Sub
若焦點位於文字框中,則能夠觸發KeyPress事件的操作是
A)單擊滑鼠 B)雙擊文字框
C)滑鼠滑過文字框 D)按下鍵盤上的某個鍵
(20)目錄列表框的Path屬性的作用是
A)顯示當前驅動器或指定驅動器上的路徑
B)顯示當前驅動器或指定驅動器上的某目錄下的檔名
c)顯示根目錄下的檔名
D)只顯示當前路徑下的檔案
(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)引數X、Y指明滑鼠的當前位置
D)Button=2 表示按下的是滑鼠左鍵
(22)以下能夠正確計算n!的程式是
二級Visual Basic語言程式設計試卷第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
的標籤,然後編寫如下程式程式碼:
. 二級vlsudBM5c語言程式設計試卷第6頁 (共15頁)
Private x As Integer
Private Sub Commandl—Click()
X=5:Y=3
Call proc(x,Y)
Labell.Caption=X
Label2.Caption=Y
End Sub
Private Sub proc(ByVal a As Integer,ByVal b As hteger)
x=a* a
Y=b十b
End Sub
程式執行後,單擊命令按鈕,則兩個標籤中顯示的內容分別是
A)5和3 B)25和3 C)25和6 D)5和6
(24)在窗體上畫一個名稱為Commandl的命令按鈕,一個名稱為Labell的標籤,然後
編寫如下事件過程:
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
. 程式執行後,單擊命令按鈕,則標籤中顯示的內容是
A)1 B)5 C)27 D)45
(25)在窗體上畫一個名稱為Commandl的命令按鈕和三個名稱分別為Labell、Label2、
Label3的標籤,然後編寫如下程式碼:
Private x As Integer
Private Sub Command1_C1ick()
Static y As Integer
Dimz As Integer
n=10
z=n十z
y=y十z
X=X十Z
ion=x
Label2.Caption=y
Label3.Caption=z
End Sub
執行程式,連續三次單擊命令按鈕後,則三個標籤中顯示的內容分別是
A)10 10 10 B)30 30 30 C)30 30 10 D)10 30 30(26)設在窗體上有一個名稱為Commandl的命令按鈕,並有以下事件過程:
PriVate Sub Commandl_C1ick()
Static b As Variant
b=Array(1,3,5,7,9)
End Sub
此過程的功能是把陣列b中的'5個數逆序存放(即排列為9,7,5,3,1)。為實現此功
能,省略號處的程式段應該是
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
(27)在窗體上畫一個名稱為Drivel的驅動器列表框,一個名稱為Dirl的目錄列表框,一個名稱為Filel的檔案列表框,兩個名稱分別為Labell、Label2,標題分別為空白和“共有檔案”的標籤。編寫程式,使得驅動器列表框與目錄列表框、目錄列表框與檔案列表框同步變化,並且在標籤Labell中顯示當前資料夾中檔案的數量。如圖所示。
能夠正確實現上述功能的程式是
A) Private Sub Dirl_Change() B)Private Sub Dir1_Change()
Filel.Path= =dir1.Path
End Sub End Sub
Private Sub Drivel_Change() Private Sub Drive1_Change()
Dirl.Path=Drivel.Drive Dirl.Path=e
Labell.Caption=Count Labell.Captlon=
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=
End Sub End Sub
(28)一個工程中包含兩個名稱分別為Forml、Form2的窗體,一個名稱為mdlFunc的標準
模組。假定在Forml、Form2和mdlFunc中分別建立了自定義過程,其定義格式為:
Forml中定義的過程:
PriVate Sub frmfunctionl()
End Sub
Form2中定義的過程:
Public Sub frmffunction2()
End Sub
mdlFunc中定義的過程:
PubliC Sub mdlFunction()
End Sub
在呼叫上述過程的程式中,如果不指明窗體或模組的名稱,則以下敘述中正確的是
A)上述三個過程都可以在工程中的任何窗體或模組中被呼叫
B)frmfunction2和mdlfunction過程能夠在工程中各個窗體或模組中被呼叫
C)上述三個過程都只能在各自被定義的模組中呼叫
D)只有mdlFunction過程能夠被工程中各個窗體或模組呼叫(29)窗體上有兩個名稱分別為Textl、Text2的文字框,一個名稱為Commandl的命令按鈕。執行後的窗體外觀如圖所示。
設有如下的型別宣告
Type Person
name As String*8
major As String*20
End Type
當單擊“儲存”按鈕時,將兩個文字框中的內容寫入一個隨機檔案Test29.dat中。設文字框中的資料已正確地賦值給Person型別的變數p。則能夠正確地把資料寫入檔案的程式段是
A)0pen”c:\Test29.dat" For Random As#1
Put #1,1,p
Close #1
B)Open "c:\" 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的命令按鈕。要求單擊命令按鈕時,開啟一個儲存檔案的通用對話方塊。該視窗的標題為"Save",預設檔名為“SaveFile”,在“檔案型別”欄中顯示*。則能夠滿足上述要求的程式是
A)Private Sub Command_C1ick()
Commondialogl.FileName=“Savefile”
er="All Files|*.*|(*)|*|(*).|*"
CommonDialogl.Filterindex=2
CommonDialogl.Dial0g.title="Save"
CommonDialogl.Action=2
End Sub
B)Private Sub Commandl—Click()
CommonDialogl.FileName="SaveFile"
CommonDiaLogl.Filter="A11 Files|*.*|(*)|*|*.doc|*.doc"
C0mmonDialogl.FilterIndex=1
CommonDialogl.DialogTitle="Save"
CommonDialogl.Action=2
End Sub
C)Private Sub Cmmandl_C1ick()
COmmonDialogl.FileName="Save"
CommonDialogl.FiLter="A11Files|*.*|(*)|*|(*)|*"
CommonDialogl.Filterindex=2
C0mmonDialogl.DialogTitle="SaveFile"
CommonDialogl.Action=2
End Sub
D)Private Sub Commandl_C1ick()
CommonDialogl.FileName="SaveFile"
CommonDialogl.Filter="All Files|*.*|(*)|*|(*)|*"
CommonDialogl.FilterIndex=1
CommonDialogl.DialogTitle=“Save”
CommonDialogl.Action=1
End Sub
二、填空題(每空2分,共30分)
請將每空的正確答案寫在答題卡[1]一[15序號的橫線上,答在試卷上不得分。
(1)visual Basic中有一種控制元件組合了文字框和列表框的特性,這種控制元件是________
(2)Visual Basic提供的對資料檔案的三種訪問方式為隨機訪問方式_____和二進位制訪問方式。
(3)執行下面的程式段後,變數S的值為_______。
S=5
For i =2.6 To 4.9 Step 0.6
S=S十1
Next i
(4)為了在執行時把d:pic資料夾下的圖形檔案a.jpg裝入圖片框Picturel,所使用的語句為_______。
(5)計時器控制元件能有規律的以一定時間間隔觸發_______事件,並執行該事件過程中的程式程式碼。
(6)以下程式的功能是:生成20個200到300之間的隨機整數,輸出其中能被5整除的數並求出它們的和。請填空。
Private Sub Commandl_C1ick()
Fori=1To 20
x=Int(____________*200+100)
If_______[7] =0 Then
Print x
二級VIsualBMic語言程式設計試卷第12頁 (共15頁)
S=S十 _________ [83
End If
Next i
Print “Sum=”:S
End Sub
(7)設有如下程式
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十20
End Sub
Sub p3(ByValx As Integer, ByVal y As Integer)
x=x十10
y=y十20
End Sub
該程式執行後,單擊窗體,則在窗體上顯示的內容是: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語言程式設計試卷第13頁 (共15頁)
Nexti
End Sub
程式執行後,單擊命令按鈕,要求窗體上顯示的輸出結果為
456
34567
2345678
123456789
請填空。(9)在窗體上畫一個名稱為Combo1的組合框,畫兩個名稱分別Label1和Label2及Caption
屬性分別為“城市名稱”和空白的標籤。程式執行後,當在組合框中輸入一個新項
後按回車鍵(ASCII碼為13)時,如果輸入的項在組合框的列表中不存在,則自動
新增到組合框的列表中,並在Label2中給出提示“已成功新增輸入項”如圖所示;
如果存在,則在Label2中給出提示“輸入項已在組合框中”。請在[12>、[13]和
[14>處將程式補充完整。
Private Sub Combol_________<12>(KeyAscii As integer)
1f KeyAscii=13 Then
Fori=0 To Combo1.listCount—1
1f Combo1.Text=______ [13] Ihen
Label2.Caption=”輸入項己在組合框中”
ExIt Sub
End lf
Next i
Label2.Caption=“已成功新增輸入項”
Combo1.______ [14] CombO1.Text
End lf
End Sub
(10)設有如下程式
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
程式執行後,輸出結果是________。
答案:
一、選擇題
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:pica.jpg")
(5) Timer
(6) Rnd和x Mod 5和x
(7) 30和70
(8) "123456789"
(9) KeyPress和(i)和AddItem
(10) 5