2003年9月全國計(jì)算機(jī)等級(jí)考試二級(jí)VB語言筆試試卷(含答案)

字號(hào):


    (2003年9月全國計(jì)算機(jī)等級(jí)考試二級(jí)VB語言筆試試卷考試時(shí)間90分鐘,滿分100分)
    一、 選擇題((1)~(20)每小題2分,(21)~(30)每小題3分,共70分)
    (1)以下敘述中錯(cuò)誤的是
    A)Visual Basic 是事件驅(qū)動(dòng)型可視化編程工具
    B)Visual Basic應(yīng)用程序不具有明顯的開始和結(jié)束語句
    C)Visual Basic工具箱中的所有控件都具有寬度(Width)和高度(Height)屬性
    D)Visual Basic中控件的某些屬性只能在運(yùn)行時(shí)設(shè)置
    (2)以下敘述中錯(cuò)誤的是
    A)在工程資源管理器窗口中只能包含一個(gè)工程文件及屬于該工程的其他文件
    B)以.BAS為擴(kuò)展名的文件是標(biāo)準(zhǔn)模塊文件
    C)窗體文件包含該窗體及其控件的屬性
    D)一個(gè)工程中可以含有多個(gè)標(biāo)準(zhǔn)模塊文件
    (3)以下敘述中錯(cuò)誤的是
    A)雙擊鼠標(biāo)可以觸發(fā)DblClick事件
    B)窗體或控件的事件的名稱可以由編程人員確定
    C)移動(dòng)鼠標(biāo)時(shí),會(huì)觸發(fā)MouseMove事件
    D)控件的名稱可以由編程人員設(shè)定
    (4)以下不屬于Visual Basic系統(tǒng)的文件類型是
    A).frm B).bat C).vbg D).vbp
    (5)以下敘述中錯(cuò)誤的是
    A)打開一個(gè)工程文件時(shí),系統(tǒng)自動(dòng)裝入與該工程有關(guān)的窗體、標(biāo)準(zhǔn)模塊等文件
    B)保存Visual Basic程序時(shí),應(yīng)分別保存窗體文件及工程文件
    C)Visual Basic應(yīng)用程序只能以解釋方式執(zhí)行
    D)事件可以由用戶引發(fā),也可以由系統(tǒng)引發(fā)
    (6)以下能正確定義數(shù)據(jù)類型TelBook的代碼是
    A)Type TelBook B)Type TelBook
    Name As String*10 Name As String*10
    TelNum As Integer TelNum As Integer
    End Type End TelBook
    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í)窗體不會(huì)接收到的事件是
    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è)置為啟動(dòng)模塊
    C)用Hide方法只是隱藏一個(gè)窗體,不能從內(nèi)存中清除該窗體
    D)任何時(shí)刻最多只有一個(gè)窗體是活動(dòng)窗體
    (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后,對(duì)文件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)上滾動(dòng)條,名稱分別為Hscroll1 l3、Label4、Label5、Label6,字信息,標(biāo)簽Label1、Label2分。如圖所示。當(dāng)移動(dòng)滾動(dòng)框時(shí),,對(duì)標(biāo)簽Label1、Label2中顯示
    述功能的事件過程是、Hscroll2;六個(gè)標(biāo)簽,名稱分其中標(biāo)簽Label 4~ Label6分別顯示其右側(cè)的滾動(dòng)條的數(shù)值,在相應(yīng)的標(biāo)簽中顯示滾動(dòng)條的值的兩個(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秒鐘變換一次(見圖)。請(qǐng)
    ————————————————
     ——————
    14:54:41
    ————————————————
     ——————
    (4)在窗體上畫一個(gè)Label1和Command1,然后編文本框、一個(gè)標(biāo)簽和一個(gè)命令按 鈕,其名稱分別為Text1、Command1
    寫如下兩個(gè)事件過程:
    Private Sub Command1_Click()
    S$ = InputBox("請(qǐng)輸
     入一個(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è)輸入對(duì)話框,中顯示的內(nèi)容是 〖8〗 。如果在該對(duì)話框中輸入字符串
    (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)行情況如圖所示(
    上述功能的程序,請(qǐng)?zhí)羁铡?BR>    Private Sub Command1_Click()
    If List1.ListIndex >= 〖9〗 Then
    List1.RemoveItem 〖10〗
    Label1.Caption = 〖11〗
    Else
    MsgBox "請(qǐng)選擇要?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ù)建
    組中元素的值。請(qǐng)?zhí)羁铡?BR>     立一個(gè)含有8個(gè)元素的數(shù)組,然后查找并輸出該數(shù)
    (7)以下程序的功能在文本框Text1中顯示出來是:把當(dāng)前目錄下的順序文件sm。請(qǐng)?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ī)等級(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)