2012年3月計(jì)算機(jī)二級(jí)VB練習(xí)題及答案:數(shù)組和自定義類(lèi)型

字號(hào):


    一、 單選題
    1. 下面數(shù)組聲明語(yǔ)句,_________正確。
    A) Dim a[2,4] As Integer
    B) Dim a(2,4) As Integer
    C) Dim a(n,n) As Integer
    D) Dim a(2 4) As Integer
    2.要分配存放如下方陣的數(shù)據(jù),可使用________數(shù)組聲明語(yǔ)句來(lái)實(shí)現(xiàn)(不能浪費(fèi)空間)。
    A) Dim x(9) As Single
    B) Dim x(3,3) As Single
    C) Dim x(-1 to 1, -5 to -3) As Single
    D) Dim x(-3 to -1, 5 to 7) As Integer
    3. 下面數(shù)組聲明語(yǔ)句中,數(shù)組包含元素個(gè)數(shù)為 ________。
    Dim a(-2 to 2,5)
    A) 120
    B) 30
    C) 60
    D) 20
    4.下面程序的輸出結(jié)果是 ________。
    Dim a
    a = Array(1,2,3,4,5,6,7)
    For i = Lbound(A) to Ubound(A)
    a(i) = a(i) * a(i)
    Next i
    Print a(i)
    A) 36
    B) 程序出錯(cuò)
    C) 49
    D) 不確定
    5.下面程序的輸出結(jié)果是 ________。
    Option Base 1
    Private Sub Command1_Click()
    Dim a%(3, 3)
    For i = 1 To 3
    For j = 1 To 3
    If j > 1 And i > 1 Then
    a(i, j) = a(a(i - 1, j - 1), a(i, j - 1)) + 1
    Else
    a(i, j) = i * j
    End If
    Print a(i, j);
    Next j
    Print
    Next i
    End Sub
    A)1 2 3
    2 3 1
    3 2 3
    B) 1 2 3
    1 2 3
    1 2 3
    C) 1 2 3
    2 4 6
    3 6 9
    D) 1 2 3
    2 2 2
    3 3 3
    6.以下定義數(shù)組或給數(shù)組元素賦值的語(yǔ)句中,正確的是______。
    A)Dim a As Variant
    a = Array(1,2,3,4,5)
    B)Dim a(10) As Integer
    a = Array(1,2,3,4,5)
    C)Dim a%(10)
    a(1) = "ABCDE"
    D)Dim a(3),b(3) As Integer
    a(0) = 0
    a(1) = 1
    a(2) = 2
    b = a
    7.設(shè)有如下的記錄類(lèi)型
    Type Student
    number As String
    name As String
    age As Integer
    End Type
    則正確引用該記錄類(lèi)型變量的代碼是______。
    A)Student.name ="張紅"
    B)Dim s As Student
    s.name ="張紅"
    C)Dim s As Type Student
    s.name ="張紅"
    D)Dim s As Type
    s.name ="張紅"
    8. 在窗體上畫(huà)一個(gè)命令按鈕(其N(xiāo)ame屬性為Command1),然后編寫(xiě)如下代碼:
    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
    運(yùn)行上面的程序,單擊命令按鈕,其輸出結(jié)果是______。
    A)4321
    B)1234
    C)34
    D)12
    9. 執(zhí)行以下Command1的Click事件過(guò)程在窗體上顯示______。
    Option Base 0
    Private Sub Command1_Click( )
    Dim a
    a=Array("a","b","c","d","e","f","g")
    Print a(1);a(3);a(5)
    End Sub
    A)abc
    B)bdf
    C)ace
    D)無(wú)法輸出結(jié)果
    10. 在窗體上畫(huà)一個(gè)名稱(chēng)為Command1 的命令按鈕,然后編寫(xiě)如下事件過(guò)程:
    Option Base 1
    Private Sub Command1_Click()
    Dim a
    a = Array(1, 2, 3, 4, 5)
    For i = 1 To UBound(A)
    a(i) = a(i) + i – 1
    Next
    Print a(3)
    End Sub
    程序運(yùn)行后,單擊命令按鈕,則在窗體上顯示的內(nèi)容是______。
    A)4
    B)5
    C)6
    D)7
       11. 窗體上畫(huà)一個(gè)命令按鈕,其名稱(chēng)為Command1,然后編寫(xiě)如下事件過(guò)程:
    Private Sub Command1_Click()
    Dim M(10), N(10)
    I = 3
    For T = 1 To 5
    M(T) = T
    N(I) = 2 * I + T
    Next T
    Print N(I); M(I)
    End Sub
    窗體運(yùn)行后,單擊命令按鈕,輸出結(jié)果為_(kāi)_____。
    A)3 11
    B)3 15
    C)11 3
    D)15 3
    12.下列程序段的執(zhí)行結(jié)果為_(kāi)_____。
    Dim M(10)
    For I=0 To 9
    M(I)=2*I
    Next I
    Print M(M(3))
    A)12
    B)6
    C)0
    D)4
    13. 設(shè)有如下程序:
    Option Base O
    Prvate Sub Form_Click()
    Dim a
    Dim i As Integer
    a= Array(1,2,3,4,5,6,7,8,9)
    For i=0 To 3
    Print a(5 -i);
    Next
    End Sub
    程序運(yùn)行后,單擊窗體,則在窗體上顯示的是______。
    A)4 3 2 1
    B)5 4 3 2
    C)6 5 4 3
    D)7 6 5 4
    14. 在窗體上面畫(huà)一個(gè)命令按鈕,其名稱(chēng)為Command1,然后編寫(xiě)如下事件過(guò)程:
    Private Sub Command1_Click()
    Dim a1(4,4),a2(4,4)
    For I=1 to 4
    For j=1 To 4
    a1(I,j)=I+j
    a2(I,j)=a1(I,j)+I+j
    Next j
    Next I
    Print a1(3,3);a2(3,3)
    End Sub
    程序運(yùn)行后,單擊命令按鈕,在窗體上輸出的是______。
    A)6 6
    B)10 5
    C)7 21
    D)6 12
    15. 有以下程序:
    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é)果為_(kāi)_____。
    A)8 13
    B)0 13
    C)7 12
    D)0 0
    16. 在窗體上畫(huà)一個(gè)命令按鈕,名稱(chēng)為Command1,然后編寫(xiě)如下代碼:
    Option Base 0
    Private Sub Command1_Click()
    Dim A(4) As Integer, B(4) As Integer
    For k=0 To 2
    A(k+1)=InputBox("請(qǐng)輸入一個(gè)整數(shù)")
    B(3-k)=A(k+1)
    Next k
    Print B(k)
    End Sub
    程序運(yùn)行后,單擊命令按鈕,在輸入對(duì)話(huà)框中分別輸入2、4、6,輸出結(jié)果為_(kāi)_____。
    A)0
    B)2
    C)3
    D)4
    17. 在窗體上畫(huà)一個(gè)命令按鈕,然后編寫(xiě)如下事件過(guò)程:
    Private Sub Command1_click()
    Dim a(5)as String
    For i = 1 to 5
    a(i)=Chr (Asc("A")+(i-1))
    Next i
    For Each b in a
    Print b;
    Next
    End Sub
    程序運(yùn)行后,單擊命令按鈕,輸出結(jié)果是______。
    A)ABCDE
    B)1 2 3 4 5
    C) a b c d e
    D)出錯(cuò)信息
    18. 下面敘述中不正確的是______。
    A)自定義類(lèi)型只能在窗體模塊的通用聲明段進(jìn)行聲明
    B)自定義類(lèi)型中的元素類(lèi)型可以是系統(tǒng)提供的基本數(shù)據(jù)類(lèi)型或已聲明的自定義類(lèi)型
    C)在窗體模塊中定義自定義類(lèi)型時(shí)必須使用Private關(guān)鍵字
    D)自定義類(lèi)型必須在窗體模塊或標(biāo)準(zhǔn)模塊的通用聲明段進(jìn)行聲明
    19. 在設(shè)定Option Base 0后,經(jīng)Dim arr(3,4) As Integer 定義的數(shù)組arr含有的元素個(gè)數(shù)為_(kāi)____。
    A)12
    B)20
    C)16
    D)9
    20. 用下面語(yǔ)句定義的數(shù)組的元素個(gè)數(shù)是______ 。
    Dim A (-3 To 5) As Integer
    A) 6
    B) 7
    C) 8
    D) 9
     21. 有如下程序代碼,輸出結(jié)果是_____。
    Dim a()
    a=Array(1,2,3,4,5)
    for i=Lbound(A) to Ubound(A)
    print a(i);
    next I
    A)1 2 3 4 5
    B)0 1 2 3 4
    C)5 4 3 2 1
    D)4 3 2 1 0
    22. 窗體上已有命令按鈕Command1和標(biāo)簽Label1,下列程序運(yùn)行后,單擊Command1按鈕,標(biāo)簽Label1中顯示的內(nèi)容是_____。
    Option base 0
    Private Sub Command1_Click()
    Dim a(5) As Integer, n As Integer
    For i = 1 To 5
    a(i) = i
    n = n + a(i)
    Next i
    Label1 = n
    End Sub
    A)5
    B)10
    C)15
    D)程序報(bào)錯(cuò),Label1不能輸出結(jié)果
    23. 在窗體上畫(huà)一個(gè)名稱(chēng)為L(zhǎng)abel1的標(biāo)簽,然后編寫(xiě)如下事件過(guò)程_____。
    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
    24. 設(shè)有如下程序,其功能是用Array函數(shù)建立一個(gè)含有8個(gè)元素的數(shù)組,然后查找并輸出該數(shù)組中的最小值,請(qǐng)選擇程序中空處應(yīng)為_(kāi)____。
    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 = _____
    For i = 2 To 8
    If arr1(i) < Min Then Min=arr1(i)
    Next i
    Print "最小值是:"; Min
    End Sub
    A)-24
    B)886
    C)arr1(1)
    D)arr1(0)
    25. 以下程序的輸出結(jié)果是_____。
    Option Base 1
    Private Sub Command1_Click()
    Dim a(10),p(3) As Integer
    k=5
    For i=1 To 10
    a(i)=I
    Next i
    For i=1 To 3
    p(i)=a(i*i)
    Next I
    For i=1 To 3
    k=k+p(i)*2
    Next i
    Print k
    End sub
    A) 33
    B) 28
    C) 35
    D) 37
    26. 以下程序段運(yùn)行的結(jié)果是________。
    Dim a(-1 To 5)As Boolean
    Dim flag As Boolean
    flag=false
    Dim i As Integer
    Dim j As Integer
    Do Until flag=True
    For i=-1 to 5
    j=j+1
    If a(i)=False Then
    a(i)=True
    Exit For
    End If
    If i=5 Then
    flag=True
    End If
    Next
    Loop
    Print j
    A)20
    B)7
    C)35
    D)8
    27. 以下有關(guān)數(shù)組定義的語(yǔ)句序列中,錯(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() As Integer
    ......
    End Sub
    D)Dim n As Integer
    Private Sub Command4_Click()
    Dim arr4(n) As Integer
    ......
    End Sub
    28. 下述語(yǔ)句定義的數(shù)組元素有______個(gè)。
    OPTION BASE 1
    DIM A(12,8)
    A)117
    B)128
    C)96
    D)20
    29. 下列程序段的執(zhí)行結(jié)果為_(kāi)_____。
    Dim A(10,10)
    For I=1 To 8
    For J=6 To 8
    A(I,J)=I*J
    Next J
    Next I
    Print A(4,6)+A(3,8)+A(8,7)
    A)104
    B)114
    C)無(wú)法輸出
    D)報(bào)錯(cuò)溢出
    30. 閱讀程序
    Option Base 1
    Private Sub Form_Click()
    Dim arr, Sum
    Sum = 0
    arr = Array(1, 3, 5, 7, 9, 11, 13, 15, 17, 19)
    For i = 1 To 10
    If arr(i) / 3 = arr(i) \ 3 Then
    Sum = Sum + arr(i)
    End If
    Next i
    Print Sum
    End Sub
    程序運(yùn)行后,單擊窗體,輸出結(jié)果為_(kāi)_____。
    A)13
    B)14
    C)27
    D)15
      31. 在窗體上畫(huà)一個(gè)名稱(chēng)為T(mén)ext1的文本框和一個(gè)名稱(chēng)為Command1的命令按鈕,然后編寫(xiě)如下事件過(guò)程:
    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
    程序運(yùn)行后,單擊命令按鈕,在文本框中顯示的值是______。
    A)15
    B)14
    C)13
    D)12
    32. 窗體上畫(huà)一個(gè)命令按鈕,其名稱(chēng)為Command1,然后編寫(xiě)如下事件過(guò)程:
    Private Sub Command1_Click()
    Dim A(10), B(5)
    For I = 1 To 10
    A(I) = I
    Next I
    For J = 1 To 5
    B(J) = J * 20
    Next J
    A(5) = B(2)
    Print "A(5)=", A(5)
    End Sub
    窗體運(yùn)行后,單擊命令按鈕,輸出結(jié)果是______。
    A)A(5)=40
    B)A(5)=20
    C)A(5)=10
    D)A(5)=5
    33. 在窗體上畫(huà)一個(gè)命令按鈕,名稱(chēng)為Command1,然后編寫(xiě)如下事件過(guò)程:
    Option Base 0
    Private Sub Command1_Click()
    Dim city As Variant
    city = Array("北京","上海","天津","重慶")
    Print city(1)
    End Sub
    程序運(yùn)行后,如果單擊命令按鈕,則在窗體上顯示的內(nèi)容是______。
    A)空白
    B)錯(cuò)誤提示
    C)北京
    D)上海
    34. 窗體上畫(huà)一個(gè)命令按鈕,其名稱(chēng)為Command1,然后編寫(xiě)如下事件過(guò)程:
    Private Sub Command1_Click()
    Dim A(5, 5)
    For I = 1 To 3
    For J = 1 To 4
    A(I, J) = I * J
    Next J
    Next I
    For N = 1 To 2
    For M = 1 To 3
    Print A(M, N);
    Next M
    Next N
    End Sub
    窗體運(yùn)行后,單擊命令按鈕,輸入結(jié)果是______。
    A)1 2 3 4 2 4
    B)1 2 3 4 6 8
    C)1 2 3 2 4 6
    D)1 2 3 6 3 6
    35. 設(shè)有命令按鈕Command1的單擊事件過(guò)程
    Private Sub Command1_Click()
    Dim a(3,3) AS Integer
    For i=1 To 3
    For j=1 To 3
    a(i,j)=i*j+i
    Next j
    Next i
    Sum=O
    For i=1 To 3
    Sum=Sum+a(i,4-i)
    Next i
    Print Sum
    End Sub
    運(yùn)行程序,單擊命令按鈕,輸出結(jié)果是______。
    A)20
    B)7
    C)16
    D)17
    36. 在窗體上畫(huà)一個(gè)名稱(chēng)為 Command1 的命令按鈕,然后編寫(xiě)如下程序:
    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)
    Else
    d=d-c
    End If
    Next i
    Print d
    End Sub
    程序運(yùn)行后,如果單擊命令按鈕,則在窗體上輸出的內(nèi)容為_(kāi)_____。
    A)10
    B)16
    C)12
    D)20
    37. 閱讀程序:
    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
    38. 窗體中新建立一個(gè)命令按鈕(Command1),其事件代碼如下:
    Private Sub Command1_Click()
    Dim a(4) As Integer, b(4) As Integer
    For K = 0 To 2
    a(K + 1) = Val(InputBox("請(qǐng)輸入數(shù)據(jù)"))
    b(3 - K) = a(K + 1)
    Next K
    Print b(K)
    End Sub
    窗體運(yùn)行后,單擊命令按鈕,依次輸入1、3、5,執(zhí)行結(jié)果為_(kāi)_____。
    A)0
    B)1
    C)3
    D)5