C)Type TelBook D)Typedef TelBook
Name String*10 Name String*10
TelNum Integer TelNum Integer
End Type TelBook End Type
(7)以下聲明語句中錯誤的是
A)Const var1=123 B)Dim var2 = 'ABC'
C)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 Text
B)Combo1.RemoveItem2
C)Combo1.RemoveItem 3
D)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.Text
Select Case n
Case 1 To 20
x = 10
Case 2, 4, 6
x = 20
Case Is < 10
x = 30
Case 10
x = 40
End Select
Text2.Text = x
End 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 Integer
num = 1
Do Until num > 6
Print num;
num = num + 2.4
Loop
End Sub
程序運行后,單擊命令按鈕,則窗體上顯示的內容是
A)1 3.4 5.8 B)1 3 5
C)1 4 7 D)無數據輸出
(22)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim a As Integer, s As Integer
a = 8
s = 1
Do
s = s + a
a = a-1
Loop While a <= 0
Print s; a
End Sub
程序運行后,單擊命令按鈕,則窗體上顯示的內容是
A) 7 9 B) 34 0
C) 9 7 D)死循環
(23)設有如下通用過程:
Public Function f(x
As Integer)
Dim y As Integer
x = 20
y = 2
f = x * y
End Function
在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1
_Click()
Static x As Integer
x = 10
y=5
y = f(x)
Print x; y
End Sub
程序運行后,如果單擊命令按鈕,則在窗體上顯示的內容是
A)10 5 B)20 5
C)20 40 D)10 40
(24)設有如下通用過程:
Public Sub Fun(a(),
ByVal x As Integer)
For i = 1 To 5
x = x + a(i)
Next
End Sub
在窗體上畫一個名稱為Text1的文本下的事件過程:框和一個名稱為Command1的命令按鈕,然后編寫如
Private Sub Command1_Click()
Dim arr(5) As Variant
For i = 1 To 5
arr(i) = i
Next
n = 10
Call Fun(arr(), n)
Text1.Text = n
End Sub
程序運行后,單擊命令按鈕,則在文本框中顯示的內容是
A)10 B)15 C)25 D)24
(25)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下代碼:
Option Base 1
Private Sub Command1_Click()
d = 0
c = 10
x = Array(10, 12, 21, 32, 24)
For i = 1 To 5
If x(i) > c Then
d = d + x(i)
c = x(i)
Else
d = d-c
End If
Next i
Print d
End 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 Sub
B)Private Sub Command1_Click()
Label3.Caption = HScroll1.Value * HScroll2.Value
End Sub
C)Private Sub Command1_Click()
Label3.Caption = HScroll1 * HScroll2
End Sub
D)Private Sub Command1_Click()
Label3.Caption = HScroll1. Text * HScroll2.Text
End Sub
(27)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
For n = 1 To 20
If n Mod 3 <> 0 Then m = m + n \ 3
Next n
Print n
End Sub
程序運行后,如果單擊命令按鈕,則窗體上顯示的內容是
A)15 B)18 C)21 D)24
(28)在窗體上畫一個名稱為Text1的文本框,并編寫如下程序:
Private Sub Form_Load()
Show
Text1.Text = ""
Text1.SetFocus
End Sub
Private Sub Form_MouY As Single)
seUp(Button As Integer, Shift As Integer, X As Single,
Print "程序設計"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Sh
ift 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 Double
sum = 0
n = 0
For i = 1 To 5
x = n / i
n = n + 1
sum = sum + x
Next
End Sub
該程序通過For循環計算一個表達式的值,這個表達式是
A)1+1/2+ 2/3+3/4+4/5 B)1+1/2+2/3+3/4
C)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) = 100
arr1(2) = "Hello"
arr1(3) = 123.45
B)Dim arr2() As Integer
Dim size As Integer
Private Sub Command2_Click()
size = InputBox("輸入:")
ReDim arr2(size)
......
End Sub
C)Option Base 1
Private Sub Command3_Click()
Dim arr3(3) As Integer
......
End Sub
D)Dim n As Integer
Private Sub Command4
_Click()
Dim arr4(n) As Integ
er
......
End Sub
二、填空題(每空2分,共30分)
(1)執行下面的程序段后,i的值為〖1〗 ,s的值為 〖2〗 。
s = 2
For i = 3.2 To 4.9 Step 0.8
s = s + 1
Next i
(2)把窗體的KeyPreview屬性設置為True,然后編寫如下兩個事件過程:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Print Chr(KeyCode)
End Sub
Private 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 = False
Timer1.Interval = 〖5〗
End Sub
Private Sub Form_Click()
Timer1.Enabled = 〖6〗
End Sub
Private Sub Timer1_Timer()
Label1.Caption = 〖7〗
End Sub
程序運行后,單擊窗體,將在標簽中填空。顯示當前時間,每隔1秒鐘變換一次(見圖)。請
————————————————
——————
14:54:41
————————————————
——————
(4)在窗體上畫一個Label1和Command1,然后編文本框、一個標簽和一個命令按 鈕,其名稱分別為Text1、Command1
寫如下兩個事件過程:
Private Sub Command1_Click()
S$ = InputBox("請輸
入一個字符串")
Text1.Text = S$
End Sub
Private Sub Text1_Ch
ange()
Label1.Caption = UCa
se(Mid(Text1.Text, 7))
End Sub
程序運行后,單擊命令"VisualBasic",則在標簽按鈕,將顯示一個輸入對話框,中顯示的內容是 〖8〗 。如果在該對話框中輸入字符串
(5)在窗體上畫一個列表框、一個Command1和Label1,通過屬性窗口把列表、"第三個項目"、"第四個項目"。程序運鈕,即可將所選擇的項目刪除,并在標簽
選擇"第三個項目"的情況)。下面是實現
命令按鈕和一個標簽,其名稱分別為List1、
框中的項目設置為:"第一個項目"、"第二個項目"
行后,在列表框中選擇一個項目,然后單擊命令按
中顯示列表框當前的項目數,運行情況如圖所示(
上述功能的程序,請填空。
Private Sub Command1_Click()
If List1.ListIndex >= 〖9〗 Then
List1.RemoveItem 〖10〗
Label1.Caption = 〖11〗
Else
MsgBox "請選擇要刪除的項目"
End If
End Sub
——————————
———————————
第一個項目
第二個項目
COMMAND1
第三個項目 3
——————————
———————————
(6)設有程序:
Option Base 1
Private Sub Command1_Click()
Dim arr1, Max as Int
eger
arr1 = Array(12, 435, 76, 24, 78 , 54, 866, 43)
〖12〗 = arr1(1)
For i = 1 To 8
If arr1(i) > Max Then 〖13〗
Next i
Print "最大值是: "; Max
End Sub
以上程序的功能是:用Array函數建
組中元素的最大值。請填空。
立一個含有8個元素的數組,然后查找并輸出該數
(7)以下程序的功能在文本框Text1中顯示出來是:把當前目錄下的順序文件sm。請填空。text1.txt的內容讀入內存,并
Private Sub Command1_Click()
Dim inData As String
Text1.Text = ""
Open ".\smtext1.txt"〖14〗 As #1
Do While 〖15〗
Input #1, inData
Text1.Text = Text1.Text & inData
Loop
Close #1
End Sub
2003年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 〖10〗List1.ListIndex 〖11〗 List1.ListCount
(6) 〖12〗 Max 〖13〗 Max = arr1(i)
(7) 〖14〗 For Input 〖15〗 Not EOF(1)