2005年4月全國計(jì)算機(jī)等級考試二級Visual Basic筆試含答案

字號:

一、選擇題((1)~(35)每小題2分,共70分)
     下列各題A)、B)、C)、D)四個選項(xiàng)中,只有一個選項(xiàng)是正確的,請將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
    (1)數(shù)據(jù)的存儲結(jié)構(gòu)是指______。
     A)存儲在外存中的數(shù)據(jù) B)數(shù)據(jù)所占的存儲空間量
     C)數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式 D)數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
    (2)下列關(guān)于棧的描述中錯誤的是______。
     A) 棧是先進(jìn)后出的線性表
     B) 棧只能順序存儲
     C) 棧具有記憶作用
     D)對棧的插入與刪除操作中,不需要改變棧底指針
    (3)對于長度為n的線性表,在最壞情況下,下列各排序法所對應(yīng)的比較次數(shù)中正確的是______。
     A)冒泡排序?yàn)閚/2 B)冒泡排序?yàn)閚
     C)快速排序?yàn)閚 D)快速排序?yàn)閚(n-1)/2
    (4)對長度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為______。
     A)log2n B)n/2 C)n D)n+1
    (5)下列對于線性鏈表的描述中正確的是______。
     A) 存儲空間不一定是連續(xù),且各元素的存儲順序是任意的
     B) 存儲空間不一定是連續(xù),且前件元素一定存儲在后件元素的前面
     C) 存儲空間必須連續(xù),且前件元素一定存儲在后件元素的前面
     D) 存儲空間必須連續(xù),且各元素的存儲順序是任意的
    (6)下列對于軟件測試的描述中正確的是______。
     A) 軟件測試的目的是證明程序是否正確
     B) 軟件測試的目的是使程序運(yùn)行結(jié)果正確
     C) 軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤
     D) 軟件測試的目的是使程序符合結(jié)構(gòu)化原則
    (7)為了使模塊盡可能獨(dú)立,要求______。
     A) 模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
     B) 模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
     C) 模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
     D) 模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
    (8)下列描述中正確的是______。
     A)程序就是軟件 B)軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制
     C)軟件既是邏輯實(shí)體,又是物理實(shí)體
     D)軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合
    (9)數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫技術(shù)的重要特點(diǎn)之一。所謂數(shù)據(jù)獨(dú)立性是指______。
     A)數(shù)據(jù)與程序獨(dú)立存放
     B)不同的數(shù)據(jù)被存放在不同的文件中
     C)不同的數(shù)據(jù)只能被對應(yīng)的應(yīng)用程序所使用
     D)以上三種說法都不對
    (10)用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是______。
     A)關(guān)系模型 B)網(wǎng)狀模型 C)層次模型 D)以上三個都是
    (11)在窗體(名稱為Form1)上畫一個名稱為Text1的文本框和一個名稱為Command1的命令按鈕,然后編寫一個事件過程。程序運(yùn)行后,如果在文本框中輸入一個字符,則把命令按鈕的標(biāo)題設(shè)置為“計(jì)算機(jī)等級考試”。以下能實(shí)現(xiàn)上述操作的事件過程是______。
     A) Private Sub Text1_Change()
     Command1.Caption = "計(jì)算機(jī)等級考試"
    End Sub
     B) Private Sub Command1_ Click ()
     Caption = "計(jì)算機(jī)等級考試"
    End Sub
     C) Private Sub Form1_ Click ()
     Text1.Caption = "計(jì)算機(jī)等級考試"
    End Sub
     D) Private Sub Command1_ Click ()
     Text1.Text = "計(jì)算機(jī)等級考試"
    End Sub
    (12)設(shè)a=5,b=4,c=3,d=2下列表達(dá)式的值是______。
    3 > 2 * b Or a = c And b <> c Or c > d
     A)1 B)True C) False D)2
    (13)設(shè)a = "MicrosoftVisualBasic" ,則以下使變量b的值為“VisualBasic”的語句是______。
     A) b = Left(a, 10) B) b = Mid(a, 10)
     C) b = Right(a, 10) D) b = Mid(a, 11, 10)
    (14)假定有如下的窗體事件過程:
    Private Sub Form_Click()
     a$ = "Microsoft Visual Basic"
     b$ = Right(a$, 5)
     c$ = Mid(a$, 1, 9)
     MsgBox a$, 34, b$, c$, 5
    End Sub
     程序運(yùn)行后,單擊窗體,則在彈出的信息框的標(biāo)題欄中顯示的信息是______。
     A) Microsoft Visual B) Microsoft
     C) Basic D)5
    (15)設(shè)a = "a",b = "b",c = "c",d = "d",執(zhí)行語句x=IIf((ad),”A”,”B”)后,x的值為 ______。
     A)”a” B)”b” C)”B” D)”A”
    (16)為了使命令按鈕(名稱為Command1)右移200,應(yīng)使用的語句是______。
     A) Command1.Move -200
     B) Command1.Move 200
     C) Command1.Left = Command1.Left + 200
     D) Command1.Left = Command1.Left - 200
    (17)在窗體上畫一個文本框,然后編寫如下事件過程:
    Private Sub Form_Click()
    x = InputBox("請輸入一個整數(shù)")
     Print x + Text1.Text
    End Sub
     程序運(yùn)行時,在文本框中輸入456,然后單擊窗體,在輸入對話框中輸入123,單擊“確定”按鈕后,在窗體上顯示的內(nèi)容為______。
     A) 123 B)456 C) 479 D) 123456
    (18)在窗體上畫一個文本框和一個計(jì)時器控件,名稱分別為Text1和Timer1,在屬性窗口中把計(jì)時器的Interval屬性設(shè)置為1000,Enabled屬性設(shè)置為False。程序運(yùn)行后,如果單擊命令按鈕,則每隔一秒鐘在文本框中顯示一次當(dāng)前的時間。以下是實(shí)現(xiàn)上述操作的程序:
    Private Sub Command1_Click()
    Timer1.______
    End Sub
    Private Sub Timer1_Timer()
     Text1.Text = Time
    End Sub
    在下劃線處應(yīng)填入的內(nèi)容是______。
     A) Enabled = True B) Enabled = False
     C) Visible = True D) Visible = False
    (19)假定在圖片框Picture1中裝入了一個圖形,為了清除該圖形(不刪除圖片框),應(yīng)采用的正確方法是______。
     A)選擇圖片框,然后按Del鍵
     B)執(zhí)行語句Picture1.Picture = LoadPicture ("")
     C)執(zhí)行語句Picture1.Picture =""
     D)選擇圖片框,在屬性窗口中選擇Picture屬性條,然后按回車鍵
    (20)在窗體上畫一個名稱為List1的列表框,一個名稱為Label1的標(biāo)簽,列表框中顯示若干個項(xiàng)目。當(dāng)單擊列表框中的某個項(xiàng)目時,在標(biāo)簽中顯示被選中項(xiàng)目的名稱。下列能正確實(shí)現(xiàn)上述操作的程序是:_____。
     A)Private Sub List1_Click()
     Label1.Caption = List1.ListIndex
     End Sub
     B)Private Sub List1_Click()
     Label1.Name=List1.ListIndex
     End Sub
     C) Private Sub List1_Click()
     Label1.Name=List1.Text
     End Sub
     D) Private Sub List1_Click()
     Label1.Caption =List1.Text
     End Sub
    (21)在窗體上畫一個命令按鈕,其名稱為Command1,然后編寫如下事件過程:
    Private Sub Command1_Click()
     Dim i As Integer, x As Integer
     For i = 1 To 6
     If i = 1 Then x = i
     If i <= 4 Then
     x = x + 1
     Else
     x = x + 2
     End If
     Next i
     Print x
    End Sub
    程序運(yùn)行后,單擊命令按鈕,其輸出結(jié)果為______。
     A)9 B)6 C)12 D)15
    (22)在窗體上畫一個名稱為Command1命令按鈕,然后編寫如下事件過程:
    Private Sub Command1_Click()
     c = “ABCD”
     For n= 1 To 4
     Print ______
     Next
    End Sub
    程序運(yùn)行后,單擊命令按鈕,要求在窗體上顯示如下內(nèi)容
    D
    CD
    BCD
    ABCD
    則在______處填入的內(nèi)容為。
     A) Left(c,n) B) Right(c,n) C) Mid(c,n,1) D) Mid(c,n,n)
    (23)執(zhí)行以下程序段
    Dim i As Integer, x As Integer
    x = 0
    For i = 20 To 1 Step -2
     x = x + i \ 5
    Next
    Print x
    后,x的值為______。
     A)16 B)17 C)18 D)19
    (24)在Visual Basic工程中,可以作為“啟動對象”的程序是______。
     A)任何窗體或標(biāo)準(zhǔn)模塊 B)任何窗體或過程
     C)Sub Main過程或其他任何模塊 D) Sub Main過程或任何窗體
    (25)假定建立了一個名為Command1的命令按鈕數(shù)組,則以下說法中錯誤的是______。
     A)數(shù)組中每個命令按鈕的名稱(Name屬性)均為Command1
     B)數(shù)組中每個命令按鈕的標(biāo)題(Caption屬性)都一樣
     C)數(shù)組中所有命令按鈕可以使用同一個事件過程
     D)用名稱Command1(下標(biāo))可以訪問數(shù)組中的每個命令按鈕
    (26)把窗體的KeyPreview屬性設(shè)置為True,然后編寫如下事件過程
    Private Sub Form_KeyPress(KeyAscii As Integer)
     Dim ch As String
     ch = Chr(KeyAscii)
     KeyAscii = Asc(UCase(ch))
     Print Chr(KeyAscii + 2)
    End Sub
    程序運(yùn)行后,按鍵盤上的“A”鍵,則在窗體上顯示的內(nèi)容是______。
     A)A B) B C)C D)D
    (27)在窗體上畫一個命令按鈕和一個文本框,名稱分別為Command1和Text1,然后編寫如下程序:
     Private Sub Command1_Click()
     a=InputBox(“請輸入日期(1~31)”)
     t=”旅游景點(diǎn):” _
     & IIf ( a > 0 And a <= 10,”長城”,””) _
     & IIf ( a >10 And a <= 20,”故宮”,””) _
     & IIf ( a > 20 And a <= 31,”頤和園”,””)
     Text1.Text = t
     End Sub
     程序運(yùn)行后,如果從鍵盤上輸入16,則在文本框顯示的內(nèi)容是______。
     A) 旅游景點(diǎn):長城故宮 B) 旅游景點(diǎn):長城頤和園
     C) 旅游景點(diǎn):頤和園 D) 旅游景點(diǎn):故宮
    (28)在窗體上畫一個名稱為Label1的標(biāo)簽,然后編寫如下事件過程:
    Private Sub Form_Click()
     Dim arr(10, 10) As Integer
     Dim i As Integer, j As Integer
     For i = 2 To 4
     For j = 2 To 4
     arr(i, j) = i * j
     Next j
     Next i
     Label1.Caption = Str(arr(2, 2) + arr(3, 3))
    End Sub
    程序運(yùn)行后,單擊窗體,在標(biāo)簽中顯示的內(nèi)容是______。
     A)12 B)13 C)14 D)15
    (29)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下通用過程和命令按鈕的事件過程:
    Private Function fun(ByVal m As Integer)
     If m Mod 2 = 0 Then
     fun = 2
     Else
     fun = 1
     End If
    End Function
    Private Sub Command1_Click()
     Dim i As Integer, s As Integer
     s = 0
     For i = 1 To 5
     s = s + fun(i)
     Next
     Print s
    End Sub
    程序運(yùn)行后,單擊命令按鈕,在窗體上顯示的是______。
     A)6 B)7 C)8 D)9
    (30)閱讀程序:
    Option Base 1
    Dim arr() As Integer
    Private Sub Form_Click()
     Dim i As Integer, j As Integer
     ReDim arr(3, 2)
     For i = 1 To 3
     For j = 1 To 2
     arr(i, j) = i * 2 + j
     Next j
     Next i
     ReDim Preserve arr(3, 4)
     For j = 3 To 4
     arr(3, j) = j + 9
     Next j
     Print arr(3, 2) + arr(3, 4)
    End Sub
    程序運(yùn)行后,單擊窗體,輸入結(jié)果為______。
     A)21 B)13 C)8 D)25
    (31)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下程序:
     Option Base 1
    Private Sub Command1_Click()
     Dim c As Integer, d As Integer
     d = 0
     c = 6
     x = Array(2, 4, 6, 8, 10, 12)
     For i = 1 To 6
     If x(i) > c Then
     d = d + x(i)
     c = x(i)
     Else
     d = d - c
     End If
     Next
     Print d
    End Sub
    程序運(yùn)行后,如果單擊命令按鈕,則在窗體上輸出的內(nèi)容為______。
     A) 10 B) 16 C) 12 D) 20
    (32)設(shè)有如下程序:
    Private Sub Command1_Click()
     Dim c As Integer, d As Integer
     c = 4
     d = InputBox("請輸入一個整數(shù)")
     Do While d > 0
     If d > c Then
     c = c + 1
     End If
     d = InputBox("請輸入一個整數(shù)")
     Loop
     Print c + d
    End Sub
    程序運(yùn)行后,單擊命令按鈕,如果在輸入對話框中依次輸入1、2、3、4、5、6、7、8、9、0,則輸出結(jié)果是______。
     A)12 B)11 C)10 D)9
    (33)在窗體上畫一個名稱為Command1的命令按鈕和一個名稱為Text1的文本框,在文本框中輸入以下字符串:Microsoft Visual Basic Programming
     然后編寫如下事件過程:
    Private Sub Command1_Click()
     Open "d:\temp\outf.txt" For Output As #1
     For i = 1 To Len(Text1.Text)
     c = Mid(Text1.Text, i, 1)
     If c >= "A" And c <= "Z" Then
     Print #1, LCase(c)
     End If
     Next i
     Close
    End Sub
    程序運(yùn)行后,單擊命令按鈕,文件outf.txt中的內(nèi)容是______。
     A)MVBP B)mvbp C)M D)m
     V v
     B b
     P p
    (34)在窗體上畫一個名稱為Command1的命令按鈕,然后編寫如下程序:
    Dim SW As Boolean
    Function func(X As Integer) As Integer
     If X < 20 Then
     Y = X
     Else
     Y = 20 + X
     End If
     func = Y
    End Function
    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
     SW = False
    End Sub
    Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
     SW = True
    End Sub
    Private Sub Command1_Click()
     Dim intNum As Integer
     intNum = InputBox("")
     If SW Then
     Print func(intNum)
     End If
    End Sub
    程序運(yùn)行后,單擊命令按鈕,將顯示一個輸入對話框,如果在輸入對話框中輸入25,則程序的執(zhí)行結(jié)果為______。
     A)輸出0 B)輸出25 C)輸出45 D)無任何輸出
    (35)設(shè)有如下通用過程:
    Public Sub Fun(a() As Integer, 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 Integer, n As Integer
     For i = 1 To 5
     arr(i) = i + i
     Next
     Fun arr, n
     Text1.Text = Str(n)
    End Sub
    程序運(yùn)行后,單擊命令按鈕,則在文本框中顯示的內(nèi)容是______。
     A)30 B)25 C)20 D)15
    二、填空題(每空2分,共30分)
    請將每空的正確答案寫在答題卡【1】~【15】序號的橫線上,答在試卷上不得分。
    (1)某二叉樹中度為2的結(jié)點(diǎn)有18個,則該二叉樹中有 【1】 個葉子結(jié)點(diǎn)。
    (2)在面向?qū)ο蠓椒ㄖ校惖膶?shí)例稱為 【2】 。
    (3)診斷和改正程序中錯誤的工作通常稱為 【3】 。
    (4)在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每一個二維表稱為 【4】 。
    (5)問題處理方案的正確而完整的描述稱為 【5】 。
    (6)以下語句輸出結(jié)果是 【6】 。
     Print Int(12345.6789 * 100 + 0.5) / 100
    (7)在窗體上畫一個文本框和一個圖片框,然后編寫如下兩個事件過程:
    Private Sub Form_Click()
     Text1.Text = "VB程序設(shè)計(jì)"
    End Sub
     Private Sub Text1_Change()
     Picture1.Print "VB Programming"
    End Sub
     程序運(yùn)行后,單擊窗體,則在文本框中顯示的內(nèi)容是 【7】 ,而在圖片框中顯示的內(nèi)容是 【8】 。
    (8)閱讀下面的程序:
     Private Sub Form_Click()
     Dim Check As Boolean, Counter As Integer
     Check = True
     Counter = 5
     Do
     Do While Counter < 20
     Counter = Counter + 1
     If Counter = 10 Then
     Check = False
     Exit Do
     End If
     Loop
     Loop Until Check = False
     Print Counter
    End Sub
    程序運(yùn)行后,單擊窗體,輸出結(jié)果為 【9】 。
    (9)設(shè)有如下程序:
    Private Sub Form_Click()
     Dim n As Integer, s As Integer
     n = 8
     s = 0
     Do
     s = s + n
     n = n - 1
     Loop While n > 0
     Print s
    End Sub
    以上程序的功能是 【10】 。程序運(yùn)行后,單擊窗體,輸出結(jié)果為 【11】 。
    (10)設(shè)有如下程序:
    Option Base 1
    Private Sub Command1_Click()
     Dim arr1
     Dim Min As Integer, i As Integer
     arr1 = Array(12, 435, 76, -24, 78, 54, 866, 43)
     Min = 【12】
     For i = 2 To 8
     If arr1(i) < Min Then 【13】
     Next
     Print "最小值是:"; Min
    End Sub
    以上程序的功能是:用Array函數(shù)建立一個含有8個元素的數(shù)組,然后查找并輸出該數(shù)組中各元素的最小值。請?zhí)羁铡?BR>    (11)在名稱為Form1的窗體上畫一個文本框,其名稱為Text1,在屬性窗口中把該文本框的MultiLine屬性設(shè)置為True,然后編寫如下的事件過程:
    Private Sub Form_Click()
     Open "d:\test\smtext1.txt" For Input As #1
     Do While Not 【14】
     Line Input #1, aspect$
     whole$ = whole$ + aspect$ + Chr$(13) + Chr$(10)
     Loop
     Text1.Text = whole$
     Close #1
     Open "d:\test\smtext2.txt" For Output As #1
     Print #1, 【15】
     Close #1
    End Sub
    上述程序的功能是,把磁盤文件smtext1.txt的內(nèi)容讀到內(nèi)存并在文本框中顯示出來,然后把該文本框中的內(nèi)容存入磁盤文件smtext2.txt。請?zhí)羁铡?BR>    參考答案:
     選擇題:
     1---5 DBDCA
     6---10 CBDDC
     11--15 ABBCD
     16--20 CDABD
     21--25 ABCDB
     26--30 CDBBA
     31--35 CDDDA
     填空題:
     【1】19
     【2】 對象
     【3】 程序調(diào)試
     【4】 關(guān)系
     【5】 算法
     【6】12345.68
     【7】VB程序設(shè)計(jì)
     【8】 VB Programming
     【9】 10
     【10】 求1-8的和
     【11】36
     【12】 arr1(1)
     【13】min=arr1(i)
     【14】 EOF(1)
     【15】text1.text(或whole$)