2005年4月全國計(jì)算機(jī)等級(jí)考試二級(jí)VB語言筆試試題及答案

字號(hào):

一、選擇題((1)~(35)每小題2分,共70分)
    下列各題A)、B)、C)、D)四個(gè)選項(xiàng)中,只有一個(gè)選項(xiàng)是正確的,請將正確選項(xiàng)涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
    (1)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指( ?。?。
    A.存儲(chǔ)在外存中的數(shù)據(jù)
    B.?dāng)?shù)據(jù)所占的存儲(chǔ)空間量
    C.?dāng)?shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式
    D.?dāng)?shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
    (2)下列關(guān)于棧的描述中錯(cuò)誤的是(  )。
    A.棧是先進(jìn)后出的線性表
    B.棧只能順序存儲(chǔ)
    C.棧具有記憶作用
    D.對(duì)棧的插入與刪除操作中,不需要改變棧底指針
    (3)對(duì)于長度為n的線性表,在最壞情況下,下列各排序法所對(duì)應(yīng)的比較次數(shù)中正確的是(  )。
    A.冒泡排序?yàn)閚/2
    B.冒泡排序?yàn)閚
    C.快速排序?yàn)閚
    D.快速排序?yàn)閚(n-1)/2
    (4)對(duì)長度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為( ?。?。
    A.log2n
    B.n/2
    C.n
    D.n+1
    (5)下列對(duì)于線性鏈表的描述中正確的是( ?。?BR>    A.存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的
    B.存儲(chǔ)空間不一定是連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
    C.存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
    D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
    (6)下列對(duì)于軟件測試的描述中正確的是(  )。
    A.軟件測試的目的是證明程序是否正確
    B.軟件測試的目的是使程序運(yùn)行結(jié)果正確
    C.軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯(cuò)誤
    D.軟件測試的目的是使程序符合結(jié)構(gòu)化原則
    (7)為了使模塊盡可能獨(dú)立,要求( ?。?BR>    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.?dāng)?shù)據(jù)與程序獨(dú)立存放
    B.不同的數(shù)據(jù)被存放在不同的文件中
    C.不同的數(shù)據(jù)只能被對(duì)應(yīng)的應(yīng)用程序所使用
    D.以上三種說法都不對(duì)
    (10)用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是( ?。?。
    A.關(guān)系模型
    B.網(wǎng)狀模型
    C.層次模型
    D.以上三個(gè)都是 (11)在窗體(名稱為Form1)上畫一個(gè)名稱為Text1的文本框和一個(gè)名稱為Command1的命令按鈕,然后編寫一個(gè)事件過程。程序運(yùn)行后,如果在文本框中輸入一個(gè)字符,則把命令按鈕的標(biāo)題設(shè)置為“計(jì)算機(jī)等級(jí)考試”。以下能實(shí)現(xiàn)上述操作的事件過程是( ?。?。
    A.Private Sub Text1_Change()
    Command1.Caption = "計(jì)算機(jī)等級(jí)考試"
     End Sub
    B.Private Sub Command1_ Click ()
    Caption = "計(jì)算機(jī)等級(jí)考試"
     End Sub
    C.Private Sub Form1_ Click ()
    Text1.Caption = "計(jì)算機(jī)等級(jí)考試"
      End Sub
    D.Private Sub Command1_ Click ()
    Text1.Text = "計(jì)算機(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((a
    D.,”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)在窗體上畫一個(gè)文本框,然后編寫如下事件過程:
    Private Sub Form_Click()
    x = InputBox("請輸入一個(gè)整數(shù)")
    Print x + Text1.Text
    End Sub
    程序運(yùn)行時(shí),在文本框中輸入456,然后單擊窗體,在輸入對(duì)話框中輸入123,單擊“確定”按鈕后,在窗體上顯示的內(nèi)容為(  )。
    A.123
    B.456
    C.479
    D.123456
    (18)在窗體上畫一個(gè)文本框和一個(gè)計(jì)時(shí)器控件,名稱分別為Text1和Timer1,在屬性窗口中把計(jì)時(shí)器的Interval屬性設(shè)置為1000,Enabled屬性設(shè)置為False。程序運(yùn)行后,如果單擊命令按鈕,則每隔一秒鐘在文本框中顯示一次當(dāng)前的時(shí)間。以下是實(shí)現(xiàn)上述操作的程序:
    Private Sub Command1_Click()
    Timer1.( ?。?BR>    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中裝入了一個(gè)圖形,為了清除該圖形(不刪除圖片框),應(yīng)采用的正確方法是( ?。?BR>    A.選擇圖片框,然后按Del鍵
    B.執(zhí)行語句Picture1.Picture = LoadPicture ("")
    C.執(zhí)行語句Picture1.Picture =""
    D.選擇圖片框,在屬性窗口中選擇Picture屬性條,然后按回車鍵
    (20)在窗體上畫一個(gè)名稱為List1的列表框,一個(gè)名稱為Label1的標(biāo)簽,列表框中顯示若干個(gè)項(xiàng)目。當(dāng)單擊列表框中的某個(gè)項(xiàng)目時(shí),在標(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)在窗體上畫一個(gè)命令按鈕,其名稱為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
    12
    D.15
    (22)在窗體上畫一個(gè)名稱為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)
     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工程中,可以作為“啟動(dòng)對(duì)象”的程序是( ?。?。
    A.任何窗體或標(biāo)準(zhǔn)模塊
    B.任何窗體或過程
    C.Sub Main過程或其他任何模塊
    D. Sub Main過程或任何窗體
    (25)假定建立了一個(gè)名為Command1的命令按鈕數(shù)組,則以下說法中錯(cuò)誤的是( ?。?。
    A.?dāng)?shù)組中每個(gè)命令按鈕的名稱(Name屬性)均為Command1
    B.?dāng)?shù)組中每個(gè)命令按鈕的標(biāo)題(Caption屬性)都一樣
    C.?dāng)?shù)組中所有命令按鈕可以使用同一個(gè)事件過程
    D.用名稱Command1(下標(biāo))可以訪問數(shù)組中的每個(gè)命令按鈕
    (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)在窗體上畫一個(gè)命令按鈕和一個(gè)文本框,名稱分別為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)在窗體上畫一個(gè)名稱為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
    14
    D.15
    (29)在窗體上畫一個(gè)名稱為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)行后,單擊命令按鈕,在窗體上顯示的是( ?。?BR>    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)在窗體上畫一個(gè)名稱為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("請輸入一個(gè)整數(shù)")
    Do While d > 0
    If d > c Then
    c = c + 1
    End If
    d = InputBox("請輸入一個(gè)整數(shù)")
    Loop
    Print c + d
    End Sub
    程序運(yùn)行后,單擊命令按鈕,如果在輸入對(duì)話框中依次輸入1、2、3、4、5、6、7、8、9、0,則輸出結(jié)果是( ?。?。
    A.12
    B.11
    10
    D.9
    (33)在窗體上畫一個(gè)名稱為Command1的命令按鈕和一個(gè)名稱為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(
    End If
    Next i
    Close
    End Sub
    程序運(yùn)行后,單擊命令按鈕,文件outf.txt中的內(nèi)容是( ?。?BR>    A.MVBP
    B.mvbp
    C.M
    D.m
    V v
    B b
    P p
    (34)在窗體上畫一個(gè)名稱為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)行后,單擊命令按鈕,將顯示一個(gè)輸入對(duì)話框,如果在輸入對(duì)話框中輸入25,則程序的執(zhí)行結(jié)果為( ?。?。
    A.輸出0
    B.輸出25
    輸出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
    在窗體上畫一個(gè)名稱為Text1的文本框和一個(gè)名稱為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】序號(hào)的橫線上,答在試卷上不得分。
    (1)某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有 【1】 個(gè)葉子結(jié)點(diǎn)。
    (2)在面向?qū)ο蠓椒ㄖ校惖膶?shí)例稱為 【2】 。
    (3)診斷和改正程序中錯(cuò)誤的工作通常稱為 【3】 。
    (4)在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為 【4】 。
    (5)問題處理方案的正確而完整的描述稱為 【5】 。
    (6)以下語句輸出結(jié)果是 【6】 。
     Print Int(12345.6789 * 100 + 0.5) / 100
    (7)在窗體上畫一個(gè)文本框和一個(gè)圖片框,然后編寫如下兩個(gè)事件過程:
    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ù)建立一個(gè)含有8個(gè)元素的數(shù)組,然后查找并輸出該數(shù)組中各元素的最小值。請?zhí)羁铡?BR>    (11)在名稱為Form1的窗體上畫一個(gè)文本框,其名稱為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í)羁?005年4月全國計(jì)算機(jī)等級(jí)考試二級(jí)VB語言筆試答案
    參考答案:
     選擇題:
     1---5 DBDCA
     6---10 CBDDC
     11--15 ABBCD
     16--20 CDABD
     21--25 ABCDB
     26--30 CDBBA
     31--35 CDDDA
     填空題:
     【1】19
     【2】 對(duì)象
     【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$)