一、選擇題 ((1)~(20)每小題2分,(21)~(30)每小題3分,共70分下列各題 A)、
B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項填涂在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)設(shè)窗體上有一個文本框,名稱為text1,程序運行后,要求該文本框只能顯示信息,不能接受輸入的信息,以下能實現(xiàn)該操作的語句是
A.Text1.MaxLength=0
B.Text1.Enabled=Flase
C.Text1.Visible=Flase
D.Text1.Width=0
(2)以下能在窗體Form1的標(biāo)題欄中顯示“VisualBasic窗體"的語句是
A.Form1.Name="VisualBasic窗體"
B.Form1.Title="VisualBasic窗體"
C.Form1.Caption="VisualBasic窗體"
D.Form1.Text="VisualBasic窗體”
(3)在窗體上畫一個名稱為Text1的文本框,然后畫一個名稱為HScroll1的滾動條,其Min和Max屬性分別為0和100。程序運行后,如果移動滾動框,則在文本框中顯示滾動條的當(dāng)前值,如圖所示。
以下能實現(xiàn)上述操作的程序段是
A.Private Sub Hscroll1_Change()
Text1.Text=HScroll1.Value
End Sub
B.Private Sub Hscroll1_Click()
Text1.Text=HScroll1.Value
End Sub
C.Private Sub Hscroll1_Change()
Text1.Text=Hscroll1.Caption
End Sub
D.Private Sub Hscroll1_Click()
Text1.Text=Hscroll1.Caption
End Sub
(4)設(shè)菜單中有一個菜單項為"Open"。若要為該菜單命令設(shè)置訪問鍵,即按下Alt及字母O時,能夠執(zhí)行"Open"命令,則在菜單編輯器中設(shè)置“Open"命令的方式是
A.把Caption屬性設(shè)置為&Open
B.把Caption屬性設(shè)置為O&pen
C.把Name屬性設(shè)置為&Open
D.把Name屬性設(shè)置為O&pen
(5)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
x=InputBox("Input")
Select Case x
Case 1,3
Print "分支 1"
Case Is >4
Print "分支 2"
Case Else
Print "Else 分支 "
End Select
End Sub
程序運行后,如果在輸入對話框中輸入2,則窗體上顯示的是
A.分支1
B.分支2
C.Else分支
D.程序出錯
(6)以下關(guān)于MsgBox的敘述中,錯誤的是
A.MsgBox函數(shù)返回一個整數(shù)
B.通過MsgBox函數(shù)可以設(shè)置信息框中圖標(biāo)和按鈕的類型
C.MsgBox語句沒有返回值
D.MsgBox函數(shù)的第二個參數(shù)是一個整數(shù),該參數(shù)只能確定對話框中顯示的按鈕數(shù)量
(7)在窗體上畫一個名稱為Timer1的計時器控件,要求每隔0.5秒發(fā)生一次計時器事件,則以下正確的屬性設(shè)置語句是
A.Timer1.Interval=0.5
B.Timer1.Interval=5
C.Timer.Interval=50
D.Timer1.Interval=500
(8)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Static x As Integer
Cls
For i=1 To 2
y=y+x
x=x+2
Next
Print x,y
End Sub
程序運行后,連續(xù)三次單擊Command1按鈕后,窗體上顯示的是
A.4 2
B.12 18
C.12 30
D.4 6
(9)以下關(guān)于多重窗體程序的敘述中,錯誤的是
A.用Hide方法不但可以隱藏窗體,而且能清除內(nèi)存中的窗體
B.在多重窗體程序中,各窗體的菜單是彼此獨立的
C.在多重窗體程序中,可以根據(jù)需要指定啟動窗體
D.對于多重窗體程序, 需要單獨保存每個窗體
(10)以下關(guān)于文件的敘述中,錯誤的是
A.順序文件中的記錄一個接一個地順序存放
B.隨機文件中記錄的長度是隨機的
C.執(zhí)行打開文件的命令后,自動生成一個文件指針
D.LOF函數(shù)返回給文件分配的字節(jié)數(shù)
(11)以下敘述中錯誤的是
A.事件過程是響應(yīng)特定事件的一段程序
B.不同的對象可以具有相同名稱的方法
C.對象的方法是執(zhí)行指定操作的過程
D.對象事件的名稱可以由編程者指定
(12)以下合法的Visual Basic標(biāo)識符是
A.ForLoop
B.Const
C.9abc
D.a(chǎn)#x
(13)當(dāng)一個復(fù)選框被選中時,它的Value屬性的值是
A.3
B.2
C.1
D.0
(14)表達式 5 Mod 3+3\5*2的值是
A.0
B.2
C.4
D.6
(15)設(shè)x=4,y=8,z=7,以下表達式的值是
x z)Or z
A.1
B.-1
C.True
D.False
(16)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
a$="VisualBasic"
Print String(3,a$)
End Sub
程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是
A.VVV
B.Vis
C.sic
D.11
(17)設(shè)有如下程序段:
x=2
For i=1 To 10 Step 2
x=x+i
Next
運行以上程序后,x的值是
A.26
B.27
C.38
D.57
(18)以下敘述中錯誤的是
A.在KeyPress事件過程中不能識別鍵盤的按下與釋放
B.在KeyPress事件過程中不能識別回車鍵
C.在KeyDown和KeyUp事件過程中,將鍵盤輸入的"A"和"a"視作相同的字母
D.在KeyDown和KeyUp事件過程中,從大鍵盤上輸入的"1"和從右側(cè)小鍵盤上輸入的"1"被視作不同的字符
(19)執(zhí)行如下兩條語句,窗體上顯示的是
a=9.8596
Print Format(a,"$00,00.00")
A.0,009.86
B.$9.86
C.9.86
D.$0,009.86
(20)在窗體上畫一個名稱為CommandDialog1的通用對話框,一個名稱為Command1的命令按鈕。然后編寫如下事件過程:
Private Sub Command1_Click()
CommonDialog1.FileName =""
CommonDialog1.Filter="All file|*.*|(*.Do
C.|*.Doc|(*.Txt)|*.Txt"
CommonDialog1.FilterIndex=2
CommonDialog1.DialogTitle="VBTest"
CommonDialog1.Action=1
End Sub
對于這個程序,以下敘述中錯誤的是
A.該對話框被設(shè)置為“打開”對話框
B.在該對話框中指定的默認(rèn)文件名為空
C.該對話框的標(biāo)題為VBTest
D.在該對話框中指定的默認(rèn)文件類型為文本文件(*.Txt)
(21)設(shè)一個工程由兩個窗體組成,其名稱分別為Form1和Form2,在Form1上有一個名稱為Command1的命令按鈕。窗體Form1的程序代碼如下:
Private Sub Command1_Click()
Dim a As Integer
a=10
Call g(Form2,a)
End Sub
Private Sub g(f As Form,x As Integer)
y=IIf(x>10,100,-100)
f,Show
f.Caption=y
End Sub
運行以上程序,正確的結(jié)果是
A.Form1的Caption屬性值為100
B.Form2的Caption屬性值為-100
C.Form1的Caption屬性值為-100
D.Form2的Caption屬性值為100
(22)在窗體上畫一個名稱為Command1的命令按鈕,并編寫如下程序:
Private Sub Command1_Click()
Dim x As Integer
Static y As Integer
x=10
y=5
Call f1(x,y)
Print x,y
End Sub
Private Sub f1(ByRef x1 As Integer, y1 As Integer)
x1=x1+2
y1=y1+2
End Sub
程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是
A.10 5
B.12 5
C.10 7
D.12 7
(23)設(shè)有如下程序
Option Base 1
Private Sub Command1_Click()
Dim a(10)As Integer
Dim n As Integer
n=InputBox("輸入數(shù)據(jù)")
If n<10 Then
Call GetArray(a,n)
End If
End Sub
Private Sub GetArray(b()As Integer,n As Integer)
Dim c(10)As Integer
j=0
For i=1 To n
b(i)=CInt(Rnd()*100)
If b(i)/2=b(i)\2 Then
j=j+1
c(j)=b(i)
End If
Next
Print j
End Sub
以下敘述中錯誤的是
A.?dāng)?shù)組b中的偶數(shù)被保存在數(shù)組c中
B.程序運行結(jié)束后,在窗體上顯示的是c數(shù)組中元素的個數(shù)
C.GetArray過程的參數(shù)n是按值傳送的
D.如果輸入的數(shù)據(jù)大于10,則窗體上不顯示任何顯示
(24)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Option Base 1
Private Sub Command1_Click()
Dim a
a= Array(1,2,3,4,5)
For i=1 To UBound(a)
a(i)= a(i)+i-1
Next
Print a(3)
End Sub
程序運行后,單擊命令按鈕,則在窗體上顯示的內(nèi)容是
A.4
B.5
C.6
D.7
(25)閱讀程序
Option Base 1
Private Sub Form_Click()
Dim arr,Sum
Sum = 0
arr = Array(1,3,5,7,9,11,13,15,17,19)
For i=1 To 10
If arr(i)/3 = arr(i)\3 Then
Sum = Sum + arr(i)
End If
Next i
Print Sum
End Sub
程序運行后,單擊窗體,輸出結(jié)果為
A.13
B.14
C.27
D.15
(26)在窗體上畫一個名稱為File1的文件列表框,并編寫如下程序:
Private Sub File1_DblClick()
x=Shell(File1.FileName,1)
End Sub
以下關(guān)于該程序的敘述中,錯誤的是
A.x沒有實際作用,因此可以將該語句寫為:Call Shell(File1,FileName,1)
B.雙擊文件列表框中的文件,將觸發(fā)該事件過程
C.要執(zhí)行的文件的名字通過File1.FileName指定
D.File1中顯示的是當(dāng)前 驅(qū)動 器、當(dāng)前目錄下的文件
(27)在窗體上畫一個名稱為Label1、標(biāo)題為“VisualBasic考試”的標(biāo)簽,兩個名稱分別為Command1和Command2、標(biāo)題分別為“開始”和“停止”的命令按鈕,然后畫一個名稱為Timer1的計時器控件,并把其Interval屬性設(shè)置為500,如圖所示。
編寫如下程序:
Private Sub Form_Load()
Timer1.Enabled=False
End Sub
Private Sub Command1_Click()
Timer1.Enabled=True
End Sub
Private Sub Command2_Click()
Timer1.Enabled=False
End Sub
Private Sub Timer1_Timer()
If Label1.Left
Label1.Left = Label1.Left + 20
Else
Label1.Left=0
End If
End Sub
程序運行后單擊“開始”按鈕,標(biāo)簽在窗體中移動。
對于這個程序,以下敘述中錯誤的是
A.標(biāo)簽的移動方向為自右向左
B.單擊“停止”按鈕后再單擊“開始”按鈕,標(biāo)簽從停止的位置繼續(xù)移動
C.當(dāng)標(biāo)簽全部移出窗體后,將從窗體的另一端出現(xiàn)并重新移動
D.標(biāo)簽按指定的時間間隔移動
(28)執(zhí)行以下程序段
a$="abbacddcba"
For i=6 To 2 Step -2
X=Mid(a,i,i)
Y=Left(a,i)
z=Right(a,i)
z=UCase(X & Y & z)
Next i
Print z
輸出結(jié)果為
A.ABA
B.BBABBA
C.ABBABA
D.AABAAB
(29)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下程序:
Option Base 1
Private Sub Command1_Click()
Dim a As Variant
a=Array(1,2,3,4,5)
Sum=0
For i=1 To 5
Sum = sum+a(i)
Next i
x=Sum/5
For i =1 To 5
If a(i)>x Then Print a(i);
Next i
End Sub
程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是
A.1 2
B.1 2 3
C.3 4 5
D.4 5
(30)假定一個工程由一個窗體文件Form1和兩個標(biāo)準(zhǔn)模塊文件Model1及Model2組成。
Model1代碼如下:
Public x As Integer
Public y As Integer
Sub S1()
x =1
S2
End Sub
Sub S2()
y=10
Form1.Show
End Show
Model2的代碼如下:
Sub Main()
S1
End Sub
其中Sub Main被設(shè)置為啟動過程。程序運行后,各模塊的執(zhí)行順序是
A.Form1→Model1→Model2
B.Model1→Model2→Form1
C.Model2→Model1→Form1
D.Model2→Form1→Model1 二、填空題 (每空2分,共30分)
請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
(1)設(shè)有如下程序段:
a$="BeijingShanghai"
b$=Mid(a$,InStr(a$,"g")+1)
執(zhí)行上面的程序段后,變量b$的值為【1】 。
(2)以下程序段的輸出結(jié)果是【2】 。
num =0
While num<=2
num = num + 1
Wend
Print num
(3)窗體上有一個名稱為List1的列表框,一個名稱為Text1的文本框,一個名稱為Label1、Caption屬性為“Sum”的標(biāo)簽,一個名稱為Command1、標(biāo)題為“計算”的命令按鈕。程序運行后,將把1~100之間能夠被7整除的數(shù)添加到列表框中。如果單擊“計算”按鈕,則對List1中的數(shù)進行累加求和,并在文本框中顯示計算結(jié)果,如圖所示。以下是實現(xiàn)上述功能的程序,請?zhí)羁铡?BR> Private Sub Form_Load()
For i=1 To 100
If i Mod 7 =0 Then
【3】
End If
Next
End Sub
Private Sub Command1_Click()
Sum = 0
For i = 0 To 【4】
Sum = Sum + 【5】
Next
Text1.Text = Sum
End Sub
(4)本程序的功能是利用隨機數(shù)函數(shù)模擬投幣,方法是:每次隨機產(chǎn)生一個0或1的整數(shù),相當(dāng)于一次投幣,1代表正面,0代表反面。在窗體上有三個文本框,名稱分別是Text1、Text2、Text3,分別用于顯示用戶輸入投幣總次數(shù)、出現(xiàn)正面的次數(shù)和出現(xiàn)反面的次數(shù),如圖所示。程序運行后,在文本框Text1中輸入總次數(shù),然后單擊“開始”按鈕,按照輸入的次數(shù)模擬投幣,分別統(tǒng)計出現(xiàn)正面、反面的次數(shù),并顯示結(jié)果。以下是實現(xiàn)上述功能的程序,請?zhí)羁铡?BR> Private Sub Command1_Click()
Randomize
n = CInt(Text1.Text)
n1 = 0
n2 = 0
For I = 1 To 【6】
r = Int(Rnd*2)
If r = 【7】 Then
n1 = n1 + 1
Else
n2 = n2 + 1
End If
Next
Text2.Text = n1
Text3.Text = n2
End Sub
(5)閱讀程序:
Option Base 1
Private Sub Form_Click()
Dim a(3)As Integer
Print "輸入的數(shù)據(jù)是:";
For i = 1 To 3
a(i)=InputBox("輸入數(shù)據(jù)")
Print a(i);
Next
Print
If a(1)
t = a(1)
a(1)= a(2)
a(2)= 【8】
End If
If a(2)>a(3)Then
m = a(2)
ElseIf a(1)>a(3)Then
m = 【9】
Else
m = 【10】
End If
Print "中間數(shù)是:";m
End Sub
程序運行后,單擊窗體,在輸入對話框中分別輸入三個整數(shù),程序?qū)⑤敵鋈齻€數(shù)中的中間數(shù),如圖所示。請?zhí)羁铡?BR> (6)在窗體上畫一個名稱為“Command1”,標(biāo)題為“計算”的命令按鈕,再畫7個標(biāo)簽,其中5個標(biāo)簽組成名稱為Label1的控件數(shù)組;名稱為Label2的標(biāo)簽用于顯示計算結(jié)果,其Caption屬性的初始值為空;標(biāo)簽Label3的標(biāo)題為“計算結(jié)果”。運行程序時會自動生成5個隨機數(shù),分別顯示在標(biāo)簽控件數(shù)組的各個標(biāo)簽中,如圖所示。單擊“計算”按鈕,則將標(biāo)簽數(shù)組各元素的值累加,然后計算結(jié)果顯示在Label2。請?zhí)羁铡?BR> Private Sub Command1_Click()
Sum = 0
For i = 0 To 4
Sum = Sum + 【11】
Next
【12】 = Sum
End Sub
(7)在窗體上畫兩個名稱分別為Command1和Command2、標(biāo)題分別為“初始化”和“求和”的命令按鈕。程序運行后,如果單擊“初始化”命令按鈕,則對數(shù)組a的各元素賦值;如果單擊“求和”命令按鈕,則求出數(shù)組a的各元素之和,并在文本框中顯示出來,如圖所示。請?zhí)羁铡?BR> Option Base 1
Dim a(3,2)As Integer
Private Sub Command1_Click()
For i = 1 To 3
For j = 1 To 2
【13】 = i + j
Next j
Next i
End Sub
Private Sub Command2_Click()
For j = 1 To 3
For i = 1 To 2
s = s + 【14】
Next i
Next j
Text1.Text = 【15】
End Sub2004年9月全國計算機等級考試二級VB語言筆試試題答案
一、選擇題 ((1)—(20)每小題2分,(21)—(30)每小題2分,共70分)
(1) B (2) C (3) A (4) A (5) C
(6) D (7) D (8) B (9) A (10) B
(11) D (12) A (13) C (14) C (15) D
(16) A (17) B (18) B (19) D (20) D
(21) B (22) D (23) C (24) B (25) C
(26) A (27) A (28) B (29) D (30) C
二、填空題 (每空2分,共30分)
【1】"Shanghai"
【2】 3
【3】list1.additem i
【4】 list1.listcount-1
【5】 list1.list(i)
【6】 n
【7】 1
【8】 t
【9】 a(3)
【10】 a(1)
【11】 label1(i).caption
【12】label2.caption
【13】a(i,j)
【14】a(j,i)
【15】s
B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項填涂在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)設(shè)窗體上有一個文本框,名稱為text1,程序運行后,要求該文本框只能顯示信息,不能接受輸入的信息,以下能實現(xiàn)該操作的語句是
A.Text1.MaxLength=0
B.Text1.Enabled=Flase
C.Text1.Visible=Flase
D.Text1.Width=0
(2)以下能在窗體Form1的標(biāo)題欄中顯示“VisualBasic窗體"的語句是
A.Form1.Name="VisualBasic窗體"
B.Form1.Title="VisualBasic窗體"
C.Form1.Caption="VisualBasic窗體"
D.Form1.Text="VisualBasic窗體”
(3)在窗體上畫一個名稱為Text1的文本框,然后畫一個名稱為HScroll1的滾動條,其Min和Max屬性分別為0和100。程序運行后,如果移動滾動框,則在文本框中顯示滾動條的當(dāng)前值,如圖所示。
以下能實現(xiàn)上述操作的程序段是
A.Private Sub Hscroll1_Change()
Text1.Text=HScroll1.Value
End Sub
B.Private Sub Hscroll1_Click()
Text1.Text=HScroll1.Value
End Sub
C.Private Sub Hscroll1_Change()
Text1.Text=Hscroll1.Caption
End Sub
D.Private Sub Hscroll1_Click()
Text1.Text=Hscroll1.Caption
End Sub
(4)設(shè)菜單中有一個菜單項為"Open"。若要為該菜單命令設(shè)置訪問鍵,即按下Alt及字母O時,能夠執(zhí)行"Open"命令,則在菜單編輯器中設(shè)置“Open"命令的方式是
A.把Caption屬性設(shè)置為&Open
B.把Caption屬性設(shè)置為O&pen
C.把Name屬性設(shè)置為&Open
D.把Name屬性設(shè)置為O&pen
(5)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
x=InputBox("Input")
Select Case x
Case 1,3
Print "分支 1"
Case Is >4
Print "分支 2"
Case Else
Print "Else 分支 "
End Select
End Sub
程序運行后,如果在輸入對話框中輸入2,則窗體上顯示的是
A.分支1
B.分支2
C.Else分支
D.程序出錯
(6)以下關(guān)于MsgBox的敘述中,錯誤的是
A.MsgBox函數(shù)返回一個整數(shù)
B.通過MsgBox函數(shù)可以設(shè)置信息框中圖標(biāo)和按鈕的類型
C.MsgBox語句沒有返回值
D.MsgBox函數(shù)的第二個參數(shù)是一個整數(shù),該參數(shù)只能確定對話框中顯示的按鈕數(shù)量
(7)在窗體上畫一個名稱為Timer1的計時器控件,要求每隔0.5秒發(fā)生一次計時器事件,則以下正確的屬性設(shè)置語句是
A.Timer1.Interval=0.5
B.Timer1.Interval=5
C.Timer.Interval=50
D.Timer1.Interval=500
(8)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Static x As Integer
Cls
For i=1 To 2
y=y+x
x=x+2
Next
Print x,y
End Sub
程序運行后,連續(xù)三次單擊Command1按鈕后,窗體上顯示的是
A.4 2
B.12 18
C.12 30
D.4 6
(9)以下關(guān)于多重窗體程序的敘述中,錯誤的是
A.用Hide方法不但可以隱藏窗體,而且能清除內(nèi)存中的窗體
B.在多重窗體程序中,各窗體的菜單是彼此獨立的
C.在多重窗體程序中,可以根據(jù)需要指定啟動窗體
D.對于多重窗體程序, 需要單獨保存每個窗體
(10)以下關(guān)于文件的敘述中,錯誤的是
A.順序文件中的記錄一個接一個地順序存放
B.隨機文件中記錄的長度是隨機的
C.執(zhí)行打開文件的命令后,自動生成一個文件指針
D.LOF函數(shù)返回給文件分配的字節(jié)數(shù)
(11)以下敘述中錯誤的是
A.事件過程是響應(yīng)特定事件的一段程序
B.不同的對象可以具有相同名稱的方法
C.對象的方法是執(zhí)行指定操作的過程
D.對象事件的名稱可以由編程者指定
(12)以下合法的Visual Basic標(biāo)識符是
A.ForLoop
B.Const
C.9abc
D.a(chǎn)#x
(13)當(dāng)一個復(fù)選框被選中時,它的Value屬性的值是
A.3
B.2
C.1
D.0
(14)表達式 5 Mod 3+3\5*2的值是
A.0
B.2
C.4
D.6
(15)設(shè)x=4,y=8,z=7,以下表達式的值是
x z)Or z
A.1
B.-1
C.True
D.False
(16)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
a$="VisualBasic"
Print String(3,a$)
End Sub
程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是
A.VVV
B.Vis
C.sic
D.11
(17)設(shè)有如下程序段:
x=2
For i=1 To 10 Step 2
x=x+i
Next
運行以上程序后,x的值是
A.26
B.27
C.38
D.57
(18)以下敘述中錯誤的是
A.在KeyPress事件過程中不能識別鍵盤的按下與釋放
B.在KeyPress事件過程中不能識別回車鍵
C.在KeyDown和KeyUp事件過程中,將鍵盤輸入的"A"和"a"視作相同的字母
D.在KeyDown和KeyUp事件過程中,從大鍵盤上輸入的"1"和從右側(cè)小鍵盤上輸入的"1"被視作不同的字符
(19)執(zhí)行如下兩條語句,窗體上顯示的是
a=9.8596
Print Format(a,"$00,00.00")
A.0,009.86
B.$9.86
C.9.86
D.$0,009.86
(20)在窗體上畫一個名稱為CommandDialog1的通用對話框,一個名稱為Command1的命令按鈕。然后編寫如下事件過程:
Private Sub Command1_Click()
CommonDialog1.FileName =""
CommonDialog1.Filter="All file|*.*|(*.Do
C.|*.Doc|(*.Txt)|*.Txt"
CommonDialog1.FilterIndex=2
CommonDialog1.DialogTitle="VBTest"
CommonDialog1.Action=1
End Sub
對于這個程序,以下敘述中錯誤的是
A.該對話框被設(shè)置為“打開”對話框
B.在該對話框中指定的默認(rèn)文件名為空
C.該對話框的標(biāo)題為VBTest
D.在該對話框中指定的默認(rèn)文件類型為文本文件(*.Txt)
(21)設(shè)一個工程由兩個窗體組成,其名稱分別為Form1和Form2,在Form1上有一個名稱為Command1的命令按鈕。窗體Form1的程序代碼如下:
Private Sub Command1_Click()
Dim a As Integer
a=10
Call g(Form2,a)
End Sub
Private Sub g(f As Form,x As Integer)
y=IIf(x>10,100,-100)
f,Show
f.Caption=y
End Sub
運行以上程序,正確的結(jié)果是
A.Form1的Caption屬性值為100
B.Form2的Caption屬性值為-100
C.Form1的Caption屬性值為-100
D.Form2的Caption屬性值為100
(22)在窗體上畫一個名稱為Command1的命令按鈕,并編寫如下程序:
Private Sub Command1_Click()
Dim x As Integer
Static y As Integer
x=10
y=5
Call f1(x,y)
Print x,y
End Sub
Private Sub f1(ByRef x1 As Integer, y1 As Integer)
x1=x1+2
y1=y1+2
End Sub
程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是
A.10 5
B.12 5
C.10 7
D.12 7
(23)設(shè)有如下程序
Option Base 1
Private Sub Command1_Click()
Dim a(10)As Integer
Dim n As Integer
n=InputBox("輸入數(shù)據(jù)")
If n<10 Then
Call GetArray(a,n)
End If
End Sub
Private Sub GetArray(b()As Integer,n As Integer)
Dim c(10)As Integer
j=0
For i=1 To n
b(i)=CInt(Rnd()*100)
If b(i)/2=b(i)\2 Then
j=j+1
c(j)=b(i)
End If
Next
Print j
End Sub
以下敘述中錯誤的是
A.?dāng)?shù)組b中的偶數(shù)被保存在數(shù)組c中
B.程序運行結(jié)束后,在窗體上顯示的是c數(shù)組中元素的個數(shù)
C.GetArray過程的參數(shù)n是按值傳送的
D.如果輸入的數(shù)據(jù)大于10,則窗體上不顯示任何顯示
(24)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Option Base 1
Private Sub Command1_Click()
Dim a
a= Array(1,2,3,4,5)
For i=1 To UBound(a)
a(i)= a(i)+i-1
Next
Print a(3)
End Sub
程序運行后,單擊命令按鈕,則在窗體上顯示的內(nèi)容是
A.4
B.5
C.6
D.7
(25)閱讀程序
Option Base 1
Private Sub Form_Click()
Dim arr,Sum
Sum = 0
arr = Array(1,3,5,7,9,11,13,15,17,19)
For i=1 To 10
If arr(i)/3 = arr(i)\3 Then
Sum = Sum + arr(i)
End If
Next i
Print Sum
End Sub
程序運行后,單擊窗體,輸出結(jié)果為
A.13
B.14
C.27
D.15
(26)在窗體上畫一個名稱為File1的文件列表框,并編寫如下程序:
Private Sub File1_DblClick()
x=Shell(File1.FileName,1)
End Sub
以下關(guān)于該程序的敘述中,錯誤的是
A.x沒有實際作用,因此可以將該語句寫為:Call Shell(File1,FileName,1)
B.雙擊文件列表框中的文件,將觸發(fā)該事件過程
C.要執(zhí)行的文件的名字通過File1.FileName指定
D.File1中顯示的是當(dāng)前 驅(qū)動 器、當(dāng)前目錄下的文件
(27)在窗體上畫一個名稱為Label1、標(biāo)題為“VisualBasic考試”的標(biāo)簽,兩個名稱分別為Command1和Command2、標(biāo)題分別為“開始”和“停止”的命令按鈕,然后畫一個名稱為Timer1的計時器控件,并把其Interval屬性設(shè)置為500,如圖所示。
編寫如下程序:
Private Sub Form_Load()
Timer1.Enabled=False
End Sub
Private Sub Command1_Click()
Timer1.Enabled=True
End Sub
Private Sub Command2_Click()
Timer1.Enabled=False
End Sub
Private Sub Timer1_Timer()
If Label1.Left
Label1.Left = Label1.Left + 20
Else
Label1.Left=0
End If
End Sub
程序運行后單擊“開始”按鈕,標(biāo)簽在窗體中移動。
對于這個程序,以下敘述中錯誤的是
A.標(biāo)簽的移動方向為自右向左
B.單擊“停止”按鈕后再單擊“開始”按鈕,標(biāo)簽從停止的位置繼續(xù)移動
C.當(dāng)標(biāo)簽全部移出窗體后,將從窗體的另一端出現(xiàn)并重新移動
D.標(biāo)簽按指定的時間間隔移動
(28)執(zhí)行以下程序段
a$="abbacddcba"
For i=6 To 2 Step -2
X=Mid(a,i,i)
Y=Left(a,i)
z=Right(a,i)
z=UCase(X & Y & z)
Next i
Print z
輸出結(jié)果為
A.ABA
B.BBABBA
C.ABBABA
D.AABAAB
(29)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下程序:
Option Base 1
Private Sub Command1_Click()
Dim a As Variant
a=Array(1,2,3,4,5)
Sum=0
For i=1 To 5
Sum = sum+a(i)
Next i
x=Sum/5
For i =1 To 5
If a(i)>x Then Print a(i);
Next i
End Sub
程序運行后,單擊命令按鈕,在窗體上顯示的內(nèi)容是
A.1 2
B.1 2 3
C.3 4 5
D.4 5
(30)假定一個工程由一個窗體文件Form1和兩個標(biāo)準(zhǔn)模塊文件Model1及Model2組成。
Model1代碼如下:
Public x As Integer
Public y As Integer
Sub S1()
x =1
S2
End Sub
Sub S2()
y=10
Form1.Show
End Show
Model2的代碼如下:
Sub Main()
S1
End Sub
其中Sub Main被設(shè)置為啟動過程。程序運行后,各模塊的執(zhí)行順序是
A.Form1→Model1→Model2
B.Model1→Model2→Form1
C.Model2→Model1→Form1
D.Model2→Form1→Model1 二、填空題 (每空2分,共30分)
請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
(1)設(shè)有如下程序段:
a$="BeijingShanghai"
b$=Mid(a$,InStr(a$,"g")+1)
執(zhí)行上面的程序段后,變量b$的值為【1】 。
(2)以下程序段的輸出結(jié)果是【2】 。
num =0
While num<=2
num = num + 1
Wend
Print num
(3)窗體上有一個名稱為List1的列表框,一個名稱為Text1的文本框,一個名稱為Label1、Caption屬性為“Sum”的標(biāo)簽,一個名稱為Command1、標(biāo)題為“計算”的命令按鈕。程序運行后,將把1~100之間能夠被7整除的數(shù)添加到列表框中。如果單擊“計算”按鈕,則對List1中的數(shù)進行累加求和,并在文本框中顯示計算結(jié)果,如圖所示。以下是實現(xiàn)上述功能的程序,請?zhí)羁铡?BR> Private Sub Form_Load()
For i=1 To 100
If i Mod 7 =0 Then
【3】
End If
Next
End Sub
Private Sub Command1_Click()
Sum = 0
For i = 0 To 【4】
Sum = Sum + 【5】
Next
Text1.Text = Sum
End Sub
(4)本程序的功能是利用隨機數(shù)函數(shù)模擬投幣,方法是:每次隨機產(chǎn)生一個0或1的整數(shù),相當(dāng)于一次投幣,1代表正面,0代表反面。在窗體上有三個文本框,名稱分別是Text1、Text2、Text3,分別用于顯示用戶輸入投幣總次數(shù)、出現(xiàn)正面的次數(shù)和出現(xiàn)反面的次數(shù),如圖所示。程序運行后,在文本框Text1中輸入總次數(shù),然后單擊“開始”按鈕,按照輸入的次數(shù)模擬投幣,分別統(tǒng)計出現(xiàn)正面、反面的次數(shù),并顯示結(jié)果。以下是實現(xiàn)上述功能的程序,請?zhí)羁铡?BR> Private Sub Command1_Click()
Randomize
n = CInt(Text1.Text)
n1 = 0
n2 = 0
For I = 1 To 【6】
r = Int(Rnd*2)
If r = 【7】 Then
n1 = n1 + 1
Else
n2 = n2 + 1
End If
Next
Text2.Text = n1
Text3.Text = n2
End Sub
(5)閱讀程序:
Option Base 1
Private Sub Form_Click()
Dim a(3)As Integer
Print "輸入的數(shù)據(jù)是:";
For i = 1 To 3
a(i)=InputBox("輸入數(shù)據(jù)")
Print a(i);
Next
If a(1)
t = a(1)
a(1)= a(2)
a(2)= 【8】
End If
If a(2)>a(3)Then
m = a(2)
ElseIf a(1)>a(3)Then
m = 【9】
Else
m = 【10】
End If
Print "中間數(shù)是:";m
End Sub
程序運行后,單擊窗體,在輸入對話框中分別輸入三個整數(shù),程序?qū)⑤敵鋈齻€數(shù)中的中間數(shù),如圖所示。請?zhí)羁铡?BR> (6)在窗體上畫一個名稱為“Command1”,標(biāo)題為“計算”的命令按鈕,再畫7個標(biāo)簽,其中5個標(biāo)簽組成名稱為Label1的控件數(shù)組;名稱為Label2的標(biāo)簽用于顯示計算結(jié)果,其Caption屬性的初始值為空;標(biāo)簽Label3的標(biāo)題為“計算結(jié)果”。運行程序時會自動生成5個隨機數(shù),分別顯示在標(biāo)簽控件數(shù)組的各個標(biāo)簽中,如圖所示。單擊“計算”按鈕,則將標(biāo)簽數(shù)組各元素的值累加,然后計算結(jié)果顯示在Label2。請?zhí)羁铡?BR> Private Sub Command1_Click()
Sum = 0
For i = 0 To 4
Sum = Sum + 【11】
Next
【12】 = Sum
End Sub
(7)在窗體上畫兩個名稱分別為Command1和Command2、標(biāo)題分別為“初始化”和“求和”的命令按鈕。程序運行后,如果單擊“初始化”命令按鈕,則對數(shù)組a的各元素賦值;如果單擊“求和”命令按鈕,則求出數(shù)組a的各元素之和,并在文本框中顯示出來,如圖所示。請?zhí)羁铡?BR> Option Base 1
Dim a(3,2)As Integer
Private Sub Command1_Click()
For i = 1 To 3
For j = 1 To 2
【13】 = i + j
Next j
Next i
End Sub
Private Sub Command2_Click()
For j = 1 To 3
For i = 1 To 2
s = s + 【14】
Next i
Next j
Text1.Text = 【15】
End Sub2004年9月全國計算機等級考試二級VB語言筆試試題答案
一、選擇題 ((1)—(20)每小題2分,(21)—(30)每小題2分,共70分)
(1) B (2) C (3) A (4) A (5) C
(6) D (7) D (8) B (9) A (10) B
(11) D (12) A (13) C (14) C (15) D
(16) A (17) B (18) B (19) D (20) D
(21) B (22) D (23) C (24) B (25) C
(26) A (27) A (28) B (29) D (30) C
二、填空題 (每空2分,共30分)
【1】"Shanghai"
【2】 3
【3】list1.additem i
【4】 list1.listcount-1
【5】 list1.list(i)
【6】 n
【7】 1
【8】 t
【9】 a(3)
【10】 a(1)
【11】 label1(i).caption
【12】label2.caption
【13】a(i,j)
【14】a(j,i)
【15】s