第五章 数组

课程名称:VisualBasic程序设计 总分:34 答题时长:20分钟 出卷人:徐珊

、单项选择题:(共20题,20分)
1 下面数组声明语句,( )正确。
Dim a[2,4] As Integer
Dim a(2,4) As Integer
Dim a(n,n) As Integer
Dim a(2 4) As Integer
2 数组声明语句Dim a(-2 to 2,5)中,数组包含元素个数为( )。
 120
 30
 60
 20
3 (3)以下属于Visual Basic中合法的数组元素的是( )。
K8
k(8)
k(0)
k[8]
4 语句 Dim A(-2 To 5) As Integer 所定义的数组的元素个数是( )。
9
8
7
6
5 语句Dim arr(3 To 6, 0 To 5)所定义的数组的元素个数是( )。
 20
 12
 15
 24
6 由Array函数建立的数组的类型必须是( )。
Integer
Char
Variant
double
7 若有定义:Dim arr(5,4),则对数组元素引用正确的是( )
a[3,5]
a(5)
a(0,0)
a[0,0]
8 控件数组的名字由______属性指定, 而控件数组中的每个元素由______属性指定( )。
控件名称 index
Name index
Caption index
Caption tabindex
9 下列对控件数组的说法错误的是( )。
每个成员的Caption属性可以不同。
每个成员的名称可以不同。
每个成员的索引值可以改变。
控件数组中的每个成员控件必须是相同类型
10 在窗体上画四个Label控件,并用这四个Label空间建立一个控件数组,名称为Label1,编写如下事件过程:
Private Sub Form_Click()
  For Each Label In Label1
   Label1(i).Caption = "L" + CStr(Label1(i).Index)
    i = i + 1
    Next
    End Sub
 程序运行后,单击窗口,四个label控件中显示的内容分别为( )。
L0 L1 L2 L3
L1 L2 L3 L4
L0 L1 L3 L2
出错
11 假定建立了一个名为Command1的命令按钮数组,则以下说法中错误的是( )。
数组中每个命令按钮的名称(Name属性)均为Command1
数组中每个命令按钮的标题(Caption属性)都一样
数组中所有命令按钮可以使用同一个事件过程
用名称Command1(下标)可以访问数组中的每个命令按钮
12 下列程序段的执行结果是( )。

Dim M(10)
For k = 1 To 10
 M(k) = 11 - k
Next k
x = 6
Print M(2 + M(x))

 2
 3
 4
 5
13 在窗体上画一个名称为Command1的命令按钮,然后编写如下事件过程:
 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 
程序运行后,单击命令按钮,则在窗体上显示的内容是( )。
 4
 5
 6
 7
14 下面叙述中不正确的是( )。
自定义类型只能在窗体模块的通用声明段进行声明
自定义类型中的元素类型可以是系统提供的基本数据类型或已声明的自定义类型
在窗体模块中定义自定义类型时必须使用Private关键字
自定义类型必须在窗体模块或标准模块的通用声明段进行声明
15 设有如下的记录类型:
 Type Student 
  number As String 
  name As String 
  age As Integer 
End Type 
则正确引用该记录类型变量的代码是( )。
Student.name ="张红"
Dim s As Student s.name ="张红"
Dim s As Type Student s.name ="张红"
Dim s As Type s.name ="张红"
16 下列程序的运行结果是( )。
 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
End Sub
 28
 37
 33
 35
17 在窗体上画一个名称为Command1的命令按钮,然后编写如下程序:

Option Base 1

Private Sub Command1_Click()

    Dim a As Variant

    a=Array(1,2,3,4,5)

    Sum=0

    For i=1 To 5

        Sum = sum+a(i)

    Next i

    x=Sum/5

    For i =1 To 5

        If a(i)>x Then Print a(i);

    Next i

End Sub

程序运行后,单击命令按钮,在窗体上显示的内容是( )。

1 2
1 2 3
3 4 5
4 5
18 下列程序的运行结果是( )。
Option Base 1
  Private Sub Command1_Click()
   Dim a() a = Array(1, 2, 3, 4)
    j = 1
   For i = 1 To 4
   s = s + a(i) * j
    j = j * 10
   Next i
Print s
End Sub
1234
 1111
 4444
 4321
19 下列程序的输出结果是( )。

Dim a(5), b(5)

For j = 1 To 4

a(j) = 3 * j

b(j) = a(j) * 3

Next j

Print b(j - 2)

 

24
18
27
36
20 在窗体上画一个命令按钮,名称为Command1,然后编写如下代码:

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(“请输入一个整数”)

      B(3-k)A(k+1)

    Next  k

    Print B(k)

End sub  

程序运行后,单击命令按钮,在输入对话框中分别输入2、4、6,输出结果为( )。

0
2
3
4
、填空题:(共7题,14分)
1 有语句:
OPTION BASE 1
Dim a(12,8)
则定义的数组元素有_______个。
2 由Array函数建立的数组,其变量必须是______类型。
3 设有如下程序,其功能是用Array函数建立一个含有8个元素的数组,然后查找并输出该数组中的最小值。

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=    _____         

    Next i

    Print "最小值是:"; Min=________

End Sub

4 下列程序运行后的结果为___ ______。

Private Sub Command1_Click()

    Const a = 6

    Dim x(a) As Integer

    For i = 1 To a

      x(i) = i * i

      Print x(i)

Next i   

End Sub

5 下面的程序用“冒泡”法数组a中的10个整数按升序排列,请将程序补充完整

Private Sub Command1_Click()

    Const a = 6

    Dim x(a) As Integer

    For i = 1 To a

      x(i) = i * i

      Print x(i)

Next i   

End Sub

6
7 下面程序段完成3×4阶矩阵A和B的相加运算,请在程序空白处填上正确语句。

For i=1 to 3

       For j=1 to 4

           C(i,j)=             

       Next j

Next i