2004年9月全國計算機等級考試二級VB語言試題及答案

字號:

為大家收集整理了《2004年9月全國計算機等級考試二級VB語言試題及答案》供大家參考,希望對大家有所幫助?。?!
    一、選擇題((1)—(20)每小題2分,(21)—(30)每小題3分,共70分)
    下列各題 A) 、B)、C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上,答在試卷上不得分。
    (1) 在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
     Private Sub Command1_Click()
     Move 500,500
     End Sub
     程序運行后,單擊命令按鈕,執(zhí)行的操作為
    A) 命令按鈕移動到距窗體左邊界、上邊界各500的位置
    B) 窗體移動到距屏幕左邊界、上邊界各500的位置
    C) 命令按鈕向左、上方向各移動500
    D) 窗體向左、上方向各移動500
    (2) 在窗體上有若干控件,其中有一個名稱為Text1的文本框。影響Text1的Tab順序的屬性是
    A) TabStop B)Enabled
    C) Visible D)TabIndex
    (3) 以下定義數(shù)組或給數(shù)組元素賦值的語句中,正確的是
    (4) 在窗體上畫一個名稱為List1的列表框,為了對列表框中的每個項目都能進行處理,應使用的循環(huán)語句為
    A) For i=0 To List1.ListCount-1
    ……
    Next
    B) For i=0 To ListCount-1
    ……
    Next
    C) For i=1 To List1.listCount
    ……
    Next
    D) For i=1 To ListCount
    ……
    Next
    (5) 以下Case語句中錯誤的是
    A) Case 0 To 10 B) Case Is>10
    C) Case Is>10 And Is<50 D) Case 3,5,Is>10
    (6) 以下關于圖片框控件的說法中,錯誤的是
    A) 可以通過Print方法在圖片框中輸出文本
    B) 清空圖片框控件中圖形的方法之一是加載一個空圖形
    C) 圖片框控件可以作為容器使用
    D) 用Stretch屬性可以自動調(diào)整圖片框中圖形的大小
    (7) 執(zhí)行語句s=Len(Mid("VisualBasic",1,6))后,s的值是
    A) Visual B) Basic C) 6 D) 11
    (8) 以下敘述中錯誤的是
    A) 下拉式菜單和彈出式菜單都用菜單編輯器建立
    B) 在多窗體程序中,每個窗體都可以建立自己的菜單系統(tǒng)
    C) 除分隔線外,所有菜單項都能接收Click事件
    D) 如果把一個菜單項的Enabled屬性設置為False,則該菜單項不可見
    (9) 在窗體上畫一個命令按鈕,其名稱為Command1,然后編寫如下事件過程:
     Private Sub Command1_Click()
     a = 12345
    Print Format$(a, "000.00")
    End Sub
    程序運行后,單擊命令按鈕,窗體上顯示的是
    A) 123.45 B) 12345.00 C) 12345 D)00123.45
    (10) 以下敘述中錯誤的是
    A) 一個工程可以包括多種類型的文件
    B) Visual Basic應用程序既能以編譯方式執(zhí)行,也能以解釋方式執(zhí)行
    C) 程序運行后,在內(nèi)存中只能駐留一個窗體
    D) 對于事件驅(qū)動型應用程序,每次運行時的執(zhí)行順序可以不一樣
    (11) 以下關于函數(shù)過程的敘述中,正確的是
    A) 函數(shù)過程形參的類型與函數(shù)返回值的類型沒有關系
    B) 在函數(shù)過程中,過程的返回值可以有多個
    C) 當數(shù)組作為函數(shù)過程的參數(shù)時,既能以傳值方式傳遞,也能以傳址方式傳遞
    D) 如果不指明函數(shù)過程參數(shù)的類型,則該參數(shù)沒有數(shù)據(jù)類型
    (12) 以下關于變量作用域的敘述中,正確的是
    A) 窗體中凡被聲明為Private的變量只能在某個指定的過程中使用
    B) 全局變量必須在標準模塊中聲明
    C) 模塊級變量只能用Private關鍵字聲明
    D) Static類型變量的作用域是它所在的窗體或模塊文件
    (13) 確定一個控件在窗體上的位置的屬性是
    A) Width和Height B) Width或Height
    C) Top和Left D) Top或Left
    (14) 在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程
     Private Sub Command1_Click()
     Text1.Text = "Visual"
     Me.Text1 = "Basic"
     Text1 = "Program"
    End Sub
    程序運行后,如果單擊命令按鈕,則在文本框中顯示的是
    A) Visual B) Basic C) Program D) 出錯
    (15) 以下關系表達式中,其值為False的是
    A) "ABC">"AbC" B) "the"<>"they"
    C) "VISUAL"=UCase("Visual") D) "Integer">"Int"
    (16) 語句Print 5/4*6\5 Mod 2的輸出結果是
    A) 0 B) 1 C) 2 D) 3
    (17) 在窗體上畫一個文本框、一個標簽和一個命令按鈕,其名稱分別為Text1、Label1和Command1,然后編寫如下兩個事件過程:
    Private Sub Command1_Click()
        strText = InputBox("請輸入")
        Text1.Text = strText
    End Sub
    Private Sub Text1_Change()
        Label1.Caption = Right(Trim(Text1.Text), 3)
    End Sub
    程序運行后,單擊命令按鈕,如果在輸入對話框中輸入abcdef,則在標簽中顯示的內(nèi)容是
    A)空 B) abcdef C) abc D) def
    (18) 在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
    Private Sub Command1_Click()
    x = -5
    If Sgn(x) Then
        y = Sgn(x ^ 2)
    Else
       y = Sgn(x)
    End If
    Print y
    End Sub
    程序運行后,單擊命令按鈕,窗體上顯示的是
    A) -5 B) 25 C) 1 D) -1
    (19) 一個工程中含有窗體Form1、Form2和標準模塊Model1,如果在Form1中有語句Pubilc X As Integer,在Model1中有語句Pubilc Y As Integer,則以下敘述中正確的是
    A) 變量X、Y的作用域相同 B) Y的作用域是Model1
    C) 在Form1中可以直接使用X D) 在Form2中可以直接使用X和Y
    (20) 在窗體上畫一個名稱為Drive1的驅(qū)動器列表框,一個名稱為Dir1的目錄列表框。當改變當前驅(qū)動器時,目錄列表框應該與之同步改變。設置兩個控件同步的命令放在一個事件過程中,這個事件過程是
    A)Drive1_Change B) Drive1_Click
    C) Dir1_Click D) Dir1_Change
    (21) 在窗體上畫一個命令按鈕(其NAME屬性為Command1),然后編寫如下代碼:
    Option Base 1
    Private Sub Command1_Click()
     Dim a
     s = 0
     a = Array(1,2,3,4)
     j = 1
     For i = 4 To 1 Step -1
     s = s + a(i) * j
     j = j * 10
     Next i
     Print s
    End Sub
    運行上面的程序,單擊命令按鈕,其輸出結果是
    A) 4321 B) 1234 C) 34 D) 12
    (22) 在窗體上畫一個名稱為Text1的文本框,要求文本框只能接收大寫字母的輸入。以下能實現(xiàn)該操作的事件過程是
    A) Private Sub Text1_KeyPress(KeyAscii As Integer)
     If KeyAscii < 65 Or KeyAscii > 90 Then
     MsgBox "請輸入大寫字母"
     KeyAscii = 0
     End If
    End Sub
    B) Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
     If KeyCode < 65 Or KeyCode > 90 Then
     MsgBox "請輸入大寫字母"
     KeyCode = 0
     End If
    End Sub
    C) Private Sub Text1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
     If Asc(Text1.Text) < 65 Or Asc(Text1.Text) > 90 Then
     MsgBox "請輸入大寫字母"
     End If
    End Sub
    D) Private Sub Text1_Change()
     If Asc(Text1.Text) > 64 And Asc(Text1.Text) < 91 Then
     MsgBox "請輸入大寫字母"
     End If
    End Sub
    (23) 假定在窗體(名稱為Form1)的代碼窗口中定義如下記錄類型:
    Private Type animal
     AnimalName As String*20
     AColor As String*10
    End Type
    在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
    Private Sub Command1_Click()
     Dim rec As animal
     Open "c:\vbTest.dat" For Random As #1 Len = Len(rec)
     rec.animalName = "Cat"
     rec.aColor = "White"
     Put #1, , rec
     Close #1
    End Sub
    則以下敘述中正確的是
    A) 記錄類型animal不能在Form1中定義,必須在標準模塊中定義
    B) 如果文件c:\vbTest.dat不存在,則Open命令執(zhí)行失敗
    C) 由于Put命令中沒有指明記錄號,因此每次都把記錄寫到文件的末尾
    D) 語句“Put #1, , rec”將animal類型的兩個數(shù)據(jù)元素寫到文件中
    (24) 在窗體上畫一個名稱為Text1的文本框,一個名稱為Command1的命令按鈕,然后編寫如下事件過程和通用過程:
    Private Sub Command1_Click()
     n = Val(Text1.Text)
     If n\2 = n/2 Then
     f = f1(n)
     Else
     f = f2(n)
     End If
     Print f; n
    End Sub
    Public Function f1(ByRef x)
     x=x*x
     f1=x+x
    End Function
    Public Function f2(ByVal x)
     x=x*x
     f2=x+x+x
    End Function
    程序運行后,在文本框中輸入6,然后單擊命令按鈕,窗體上顯示的是
    A) 72 36 B) 108 36 C) 72 6 D) 108 6
    (25) 在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
    Private Sub Command1_Click()
     c = 1234
     c1 = Trim(Str(c))
     For i = 1 To 4
     Print 
     Next
    End Sub
    程序運行后,單擊命令按鈕,要求在窗體上顯示如下內(nèi)容
    1
    12
    123
    1234
    則在下劃線處應填入的內(nèi)容為
    A) Right(c1,i) B) Left(c1,i) C) Mid(c1,i,1) D) Mid(c1,i,i)
    (26) 在窗體上畫一個名稱為Command1的命令按鈕和一個名稱為Text1的文本框,然后編寫如下事件過程:
    Private Sub Command1_Click()
     n = Val(Text1.Text)
     For i = 2 To n
     For j = 2 To sqr(i)
     If i Mod j = 0 Then Exit For
     Next j
     If j > Sqr(i) Then Print i
     Next i
    End Sub
    該事件過程的功能是
    A) 輸出n以內(nèi)的奇數(shù) B) 輸出n以內(nèi)的偶數(shù)
    C) 輸出n以內(nèi)的素數(shù) D) 輸出n以內(nèi)能被j整除的數(shù)
    (27) 在以下描述中正確的是
    A) 標準模塊中的任何過程都可以在整個工程范圍內(nèi)被調(diào)用
    B) 在一個窗體模塊中可以調(diào)用在其他窗體中被定義為Public的通用過程
    C) 如果工程中包含Sub Main過程,則程序?qū)⑹紫葓?zhí)行該過程
    D) 如果工程中不包含Sub Main過程,則程序一定首先執(zhí)行第一個建立的窗體
    (28) 在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下通用過程和命令按鈕的事件過程:
    Private Function f(m As Integer)
     If m Mod 2 = 0 Then
     f = m
     Else
     f = 1
     End If
    End Function
    Private Sub Command1_Click()
     Dim i As Integer
     s = 0
     For i = 1 To 5
     s = s + f(i)
     Next
     Print s
    End Sub
    程序運行后,單擊命令按鈕,在窗體上顯示的是
    A) 11 B) 10 C) 9 D) 8
    (29) 在窗體上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
    Private Sub Command1_Click()
     Dim array1(10, 10) As Integer
     Dim i As Integer, j As Integer
     For i = 1 To 3
     For j = 2 To 4
     array1(i, j) = i + j
     Next j
     Next i
     Text1.Text = array1(2, 3) + array1(3, 4)
    End Sub
    程序運行后,單擊命令按鈕,在文本框中顯示的值是
    A) 15 B) 14 C) 13 D) 12
    (30) 在窗體上畫四個文本框(如圖所示),并用這四個文本框建立一個控件數(shù)組,名稱為Text1(下標從0開始,自左至右順序增大),然后編寫如下事件過程:
    Private Sub Command1_Click()
     For Each TextBox In Text1
     Text1(i) = Text1(i).Index
     i = i + 1
     Next
    End Sub
    程序運行后,單擊命令按鈕,四個文本框中顯示的內(nèi)容分別為
    A) 0 1 2 3 B) 1 2 3 4
    C) 0 1 3 2 D) 出錯信息
    二、填空題(每空2分,共30分)
    請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
    (1) Visual Basic應用程序中標準模塊文件的擴展名是【1】 。
    (2) 在菜單編輯器中建立一個菜單,其主菜單項的名稱為mnuEdit,Visible屬性為False,程序運行后,如果用鼠標右鍵單擊窗體,則彈出與mnuEdit相應的菜單。以下是實現(xiàn)上述功能的程序,請?zhí)羁铡?BR>    Private Sub Form 【2】 (Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button=2 Then
     【3】 mnuEdit
    End If
    End Sub
    (3) 為了使計時器控件Timer1每隔0.5秒觸發(fā)一次Timer事件,應將Timer1控件的【4】屬性設置為【5】 。
    (4) 與數(shù)學表達式 對應的Visual Basic表達式是【6】 。
    (5) 將C盤根目錄下的圖形文件moon.jpg裝入圖片框Picture1的語句是【7】 。
    (6) 在窗體上畫一個名稱為Text1的文本框,然后畫三個單選按鈕,并用這三個單選按鈕建立一個控件數(shù)組,名稱為Option1,程序運行后,如果單擊某個單選按鈕,則文本框中的字體將根據(jù)所選擇的單選按鈕切換,如圖所示,請?zhí)羁铡?BR>    Private Sub Option1_Click(Index As Integer)
     Select Case 【8】
     Case 0
     a = "微軟雅黑"
     Case 1
     a = "黑體"
     Case 2
     a = "楷體_GB2312"
     End Select
     text1. 【9】 =a
    End Sub
     (7) 在窗體上畫兩個組合框,其名稱分別為Combo1、Combo2,然后畫兩個標簽,名稱分別為Label1、Label2,如圖所示,程序運行后,如果在某個組合框中選擇一個項目,則把所選中的項目在其下面的標簽中顯示出來。請?zhí)羁铡?BR>    Private Sub Combo1_Click()
     Call ShowItem(Combo1, Label1)
    End Sub
    Private Sub Combo2_Click()
     Call ShowItem(Combo2, Label2)
    End Sub
    Public Sub ShowItem(tmpCombo As ComboBox, tmpLabel As Label)
     【10】.Caption =【11】.Text
    End Sub
    (8)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下事件過程:
    Private Sub Command1_Click()
     n = 5
     f = 1
     s = 0
     For i = 1 To n
     f = f【12】
     s = s + f
     Next
     Print s
    End Sub
    該事件過程的功能是計算的值。請?zhí)羁铡?BR>    (9)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下程序:
    Option Base 1
    Private Sub Command1_Click()
     Dim a(10) As Integer
     For i = 1 To 10
     a(i) = i
     Next
     Call swap( 【13】?。?BR>     For i = 1 To 10
     Print a(i);
     Next
    End Sub
    Sub swap(b() As Integer)
     n = 【14】
     For i = 1 To n / 2
     t = b(i)
     b(i) = b(n)
     b(n) = t
     【15】
     Next
    End Sub
    上述程序的功能是,通過調(diào)用過程swap,調(diào)換數(shù)組中數(shù)值的存放位置,即a(1)與a(10)的值互換,a(2)與a(9)的值互換,……,a(5)與a(6)的值互換。請?zhí)羁铡?BR>    參考答案
    一、選擇題((1)—(20)每小題2分,(21)—(30)每小題2分,共70分)
    (1) B (2) D (3) A (4) A (5) C
    (6) D (7) C (8) D (9) B (10) C
    (11) A (12) B (13) C (14) D (15) A
    (16) B (17) D (18) C (19) C (20) A
    (21) B (22) A (23) C (24) A (25) B
    (26) C (27) A (28) C (29) D (30) A
    二、填空題(每空2分,共30分)
    (1) 〖1〗 .bas
    (2) 〖2〗 mousedown
     〖3〗 popupmenu
    (3) 〖4〗 interval
     〖5〗 500
    (4) 〖6〗 (cos(a+b))^2/(3*x)+5
    (5) 〖7〗 Picture1.picture=loadpicture(“c:\moon.jpg”)
    (6) 〖8〗 index
     〖9〗 font
    (7) 〖10〗 tmplabel
     〖11〗 tmpCombo
    (8) 〖12〗 *(1/i )
    (9) 〖13〗a()
     〖14〗ubound(b)
     〖15〗 n=n-1