C)Type TelBook D)Typedef TelBook
Name String*10 Name String*10
TelNum Integer TelNum Integer
End Type TelBook End Type
(7)以下聲明語句中錯(cuò)誤的是
A)Const var1=123 B)Dim var2 = 'ABC'
C)DefInt a-z D)Static var3 As Integer
(8)設(shè)窗體上有一個(gè)列表框控件Lis選中的列表項(xiàng)內(nèi)容的是t1,且其中含有若干列表項(xiàng)。則以下能表示當(dāng)前被
A)List1.List B)List1.ListIndex C)List1.Index D)List1. Text
(9)程序運(yùn)行后,在窗體上單擊鼠標(biāo),此時(shí)窗體不會接收到的事件是
A)MouseDown B)MouseUp C)Load D)Click
(10)設(shè)a=10,b=5,c=1,執(zhí)行語句Print a > b > c后,窗體上顯示的是
A)True B)False C)1 D)出錯(cuò)信息
(11)如果要改變窗體的標(biāo)題,則需要設(shè)置的屬性是
A)Caption B)Name C)BackColor D)BorderStyle
(12)以下能判斷是否到達(dá)文件尾的函數(shù)是
A)BOF B)LOC C)LOF D)EOF
(13)如果一個(gè)工程含有多個(gè)窗體及標(biāo)準(zhǔn)模塊,則以下敘述中錯(cuò)誤的是
A)如果工程中含有Sub Main過程,則程序一定首先執(zhí)行該過程
B)不能把標(biāo)準(zhǔn)模塊設(shè)置為啟動模塊
C)用Hide方法只是隱藏一個(gè)窗體,不能從內(nèi)存中清除該窗體
D)任何時(shí)刻最多只有一個(gè)窗體是活動窗體
(14)窗體的MouseDown事件過程
Form_MouseDown (ButtSingle)on As Integer, Shift As Integer, X As Single, Y As
有4個(gè)參數(shù),關(guān)于這些參數(shù),正確的描述是
A)通過Button參數(shù)判定當(dāng)前按下的是哪一個(gè)鼠標(biāo)鍵
B)Shift參數(shù)只能用來確定是否按下Shift鍵
C)Shift參數(shù)只能用來確定是否按下Alt和Ctrl鍵
D)參數(shù)x,y用來設(shè)置鼠標(biāo)當(dāng)前位置的坐標(biāo)
(15)設(shè)組合框Combo1中有3個(gè)項(xiàng)目,則以下能刪除最后一項(xiàng)的語句是
A)Combo1.RemoveItem Text
B)Combo1.RemoveItem2
C)Combo1.RemoveItem 3
D)Combo1.RemoveItem Combo1.Listcount
(16)以下關(guān)于焦點(diǎn)的敘述中,錯(cuò)誤的是
A)如果文本框的TabStop屬性為False,則不能接收從鍵盤上輸入的數(shù)據(jù)
B)當(dāng)文本框失去焦點(diǎn)時(shí),觸發(fā)LostFocus事件
C)當(dāng)文本框的Enabled屬性為False時(shí),其Tab順序不起作用
D)可以用TabIndex屬性改變Tab順序
(17)如果要在菜單中添加一個(gè)分隔線,則應(yīng)將其Caption屬性設(shè)置為
A)= B)* C)& D)-
(18)執(zhí)行語句Open "數(shù)據(jù)能夠執(zhí)行的操作是Tel.dat" For Random As #1 Len = 50后,對文件Tel.dat中的
A)只能寫,不能讀 B)只能讀,不能寫
C)既可以讀,也可以寫 D)不能讀,不能寫
(19)在窗體上畫一個(gè)本框,然后編寫如下事件過名稱為Command1的命令按鈕和兩
程:個(gè)名稱分別為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
程序運(yùn)行后,如果在文內(nèi)容是本框Text1中輸入10,然后單擊命令按鈕,則在Text2中顯示的
A)10 B)20 C)30 D)40
(20)設(shè)有以下循環(huán)結(jié)構(gòu)
Do
循環(huán)體
Loop While <條件>
則以下敘述中錯(cuò)誤的是
A)若"條件"是一個(gè)為0的常數(shù),則一次也不執(zhí)行循環(huán)體
B)"條件"可以是關(guān)系表達(dá)式、邏輯表達(dá)式或常數(shù)
C)循環(huán)體中可以使用Exit Do語句
D)如果"條件"總是為True,則不停地執(zhí)行循環(huán)體
(21)在窗體上畫一個(gè)名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1_Click()
Dim num As Integer
num = 1
Do Until num > 6
Print num;
num = num + 2.4
Loop
End Sub
程序運(yùn)行后,單擊命令按鈕,則窗體上顯示的內(nèi)容是
A)1 3.4 5.8 B)1 3 5
C)1 4 7 D)無數(shù)據(jù)輸出
(22)在窗體上畫一個(gè)名稱為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
程序運(yùn)行后,單擊命令按鈕,則窗體上顯示的內(nèi)容是
A) 7 9 B) 34 0
C) 9 7 D)死循環(huán)
(23)設(shè)有如下通用過程:
Public Function f(x
As Integer)
Dim y As Integer
x = 20
y = 2
f = x * y
End Function
在窗體上畫一個(gè)名稱為Command1的命令按鈕,然后編寫如下事件過程:
Private Sub Command1
_Click()
Static x As Integer
x = 10
y=5
y = f(x)
Print x; y
End Sub
程序運(yùn)行后,如果單擊命令按鈕,則在窗體上顯示的內(nèi)容是
A)10 5 B)20 5
C)20 40 D)10 40
(24)設(shè)有如下通用過程:
Public Sub Fun(a(),
ByVal x As Integer)
For i = 1 To 5
x = x + a(i)
Next
End Sub
在窗體上畫一個(gè)名稱為Text1的文本下的事件過程:框和一個(gè)名稱為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
程序運(yùn)行后,單擊命令按鈕,則在文本框中顯示的內(nèi)容是
A)10 B)15 C)25 D)24
(25)在窗體上畫一個(gè)名稱為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
程序運(yùn)行后,如果單擊命令按鈕,則在窗體上輸出的內(nèi)容為
A)89 B)99 C)23 D)77
(26)在窗體上畫兩個(gè)別為Label1、Label2、Labe顯示"A"、"B"、"A*B"等文Label3 顯示A*B的計(jì)算結(jié)果。當(dāng)單擊命令按鈕"計(jì)算"時(shí)Label3中。以下不能實(shí)現(xiàn)上滾動條,名稱分別為Hscroll1 l3、Label4、Label5、Label6,字信息,標(biāo)簽Label1、Label2分。如圖所示。當(dāng)移動滾動框時(shí),,對標(biāo)簽Label1、Label2中顯示
述功能的事件過程是、Hscroll2;六個(gè)標(biāo)簽,名稱分其中標(biāo)簽Label 4~ Label6分別顯示其右側(cè)的滾動條的數(shù)值,在相應(yīng)的標(biāo)簽中顯示滾動條的值的兩個(gè)值求積,并將結(jié)果顯示在
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)在窗體上畫一個(gè)名稱為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
程序運(yùn)行后,如果單擊命令按鈕,則窗體上顯示的內(nèi)容是
A)15 B)18 C)21 D)24
(28)在窗體上畫一個(gè)名稱為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 "程序設(shè)計(jì)"
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Sh
ift As Integer)
Print "Visual Basic";
End Sub
程序運(yùn)行后,如果按"A"鍵,然后單擊窗體,則在窗體上顯示的內(nèi)容是
A)Visual Basic B)程序設(shè)計(jì)
C)A程序設(shè)計(jì) D)Visual Basic程序設(shè)計(jì)
(29)設(shè)有如下程序:
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循環(huán)計(jì)算一個(gè)表達(dá)式的值,這個(gè)表達(dá)式是
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)以下有關(guān)數(shù)組定義的語句序列中,錯(cuò)誤的是
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)執(zhí)行下面的程序段后,i的值為〖1〗 ,s的值為 〖2〗 。
s = 2
For i = 3.2 To 4.9 Step 0.8
s = s + 1
Next i
(2)把窗體的KeyPreview屬性設(shè)置為True,然后編寫如下兩個(gè)事件過程:
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
程序運(yùn)行后,如果直接分別是 〖3〗 和 〖4〗 。按鍵盤上的"A"鍵(即不按住Shift鍵),則在窗體上輸出的字符
(3)在窗體上畫一個(gè)標(biāo)簽(名稱為L寫如下幾個(gè)事件過程:Label1)和一個(gè)計(jì)時(shí)器(名稱為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
程序運(yùn)行后,單擊窗體,將在標(biāo)簽中填空。顯示當(dāng)前時(shí)間,每隔1秒鐘變換一次(見圖)。請
————————————————
——————
14:54:41
————————————————
——————
(4)在窗體上畫一個(gè)Label1和Command1,然后編文本框、一個(gè)標(biāo)簽和一個(gè)命令按 鈕,其名稱分別為Text1、Command1
寫如下兩個(gè)事件過程:
Private Sub Command1_Click()
S$ = InputBox("請輸
入一個(gè)字符串")
Text1.Text = S$
End Sub
Private Sub Text1_Ch
ange()
Label1.Caption = UCa
se(Mid(Text1.Text, 7))
End Sub
程序運(yùn)行后,單擊命令"VisualBasic",則在標(biāo)簽按鈕,將顯示一個(gè)輸入對話框,中顯示的內(nèi)容是 〖8〗 。如果在該對話框中輸入字符串
(5)在窗體上畫一個(gè)列表框、一個(gè)Command1和Label1,通過屬性窗口把列表、"第三個(gè)項(xiàng)目"、"第四個(gè)項(xiàng)目"。程序運(yùn)鈕,即可將所選擇的項(xiàng)目刪除,并在標(biāo)簽
選擇"第三個(gè)項(xiàng)目"的情況)。下面是實(shí)現(xiàn)
命令按鈕和一個(gè)標(biāo)簽,其名稱分別為List1、
框中的項(xiàng)目設(shè)置為:"第一個(gè)項(xiàng)目"、"第二個(gè)項(xiàng)目"
行后,在列表框中選擇一個(gè)項(xiàng)目,然后單擊命令按
中顯示列表框當(dāng)前的項(xiàng)目數(shù),運(yùn)行情況如圖所示(
上述功能的程序,請?zhí)羁铡?BR>
Private Sub Command1_Click()
If List1.ListIndex >= 〖9〗 Then
List1.RemoveItem 〖10〗
Label1.Caption = 〖11〗
Else
MsgBox "請選擇要?jiǎng)h除的項(xiàng)目"
End If
End Sub
——————————
———————————
第一個(gè)項(xiàng)目
第二個(gè)項(xiàng)目
COMMAND1
第三個(gè)項(xiàng)目 3
——————————
———————————
(6)設(shè)有程序:
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函數(shù)建
組中元素的最大值。請?zhí)羁铡?BR>立一個(gè)含有8個(gè)元素的數(shù)組,然后查找并輸出該數(shù)
(7)以下程序的功能在文本框Text1中顯示出來是:把當(dāng)前目錄下的順序文件sm。請?zhí)羁。text1.txt的內(nèi)容讀入內(nèi)存,并
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月全國計(jì)算機(jī)等級考試二級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)