vb第三部分 练习题 下载本文

(B) 使用ReDim语句也可以保留动态数组中原有的内容 (C) 使用Erase语句将释放动态数组所占的存储空间 (D) 使用Erase语句将释放固定大小数组所占的存储空间

2. 假定建立了一个名为Command1的命令按钮数组,则以下说法中错误的是 D 。 (A) 数组中每个命令按钮的名称(Name属性)均为Command1 (B) 数组中每个命令按钮的大小都一样

(C) 数组中所有命令按钮可以使用同一个事件过程

(D) 在代码中访问任意一个命令按钮只需使用名称Command1 3. 下列语句中的 B 语句可以用来正确声明一个动态数组。 (A) Private A(n) As Integer (B) Dim A() As Integer (C) Dim A(,) As Integer (D) Dim A(1 to n)

4. 下列程序段错误的是 A 。 (A) Dim a As Integer a = array(1,2,3,4) (B) Dim a(),b() a = array(1,2,3,4):b = a (C) Dim a As Variant a = array(1,\(D) Dim a() As Variant a = array(1,2,3,4)

5. 要存放如下方阵的数据,在不浪费存储空间的基础上,能实现声明的语句是 D 。

1 2 3 2 4 6 3 6 9

(A) Dim A(9) As Integer (B) Dim A(3,3) As Integer

(C) Dim A(-1 to 1,-3 to -1) As Single (D) Dim A(-3 to -1,1 to 3) As Integer

6. 以下定义数组或给数组元素赋值的语句中,正确的是 A 。

(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)=\(D) Dim a(3),b(3) As Integer

a(0)=0 a(1)=1 a(2)=2 b=a

7. 在窗体上画三个单选按钮,组成一个名ChkOption的控件数组。用于标识各个控件数组元素的参数是

B 。

(A) Tag (B) Index (C) ListIndex (D) Name

二、给出下列程序段的运行结果

1. 1 2 1 Dim A(4) as integer

N=3

A(1)=1

For I=0 To N-1 For J=1 To I+1 x=I+2-J A(x)=A(x)+A(x-1) If I

Print A(x);

Next J

Next I

2.

Dim A(3,4) 1 2 3 4 For I=1 To 3 3 4 5 6 For J=1 To 4 5 6 7 8

A(I,J)=(I-1)*2+J Print A(I,J);

Next J Print Next I 3.

Option Explicit Option Base 1

Private Sub Command1_Click( ) 5678

Dim I As Integer, J As Integer, s As Integer Dim D As Variant D=Array(5,6,7,8) J=1

For I=UBound(D) To LBound(D) Step -1 s=s+D(I)*J J=J*10 Next I Print s End Sub

4. 1 2 3 4 5 12 14 16 18 20 Dim A() As Integer

Private Sub Command1_Click() ReDim A(1 To 5) For I=1 To 5 A(I)=I Next I

ReDim Preserve A(1 To 10) For I=6 To 10 A(I)=2*I Next I For I=1 To 10 Print A(I);

Next I End Sub 5.

Dim A(5,5) as Integer For I=1 to 5

For J=1 to 5 A(I,J)=I-J Print A(I,J) Next J Print Next I

For Each X In A `表示数组A中的每一个元素相加的和

S=S+A Next X Print “S=”;S 答案:

4. 0 –1 –2 –3 –4

1 0 –1 –2 -3 2 1 0 –1 -2

3 2 1 0 -1 4 3 2 1 0 S=0

三、程序填空题

1. 以下程序代码实现单击命令按钮Command1时生成20个(0,100)之间的随机整数,存于数组中,打印数组中大于50数,并求这些数的和。

Private Sub Command1_Click( ) Dim arr(1 To 20) For I=1 To 20

arr(I)= (1) Int(Rnd*99+1) `Rnd 函数的作用为返回一个零到一之间的一个随机数 Text1.Text=Text1.Text & arr(I) & Chr(13) & Chr(10) Next I Sum=0

For Each x= (2) In arr `为什么? If x>50 Then Print Tab(20);x Sum= (3) Sum+x End If

Next (4) x Print Tab(20); \ End Sub

2. 设在窗体上有一个文本框Text1,一个标签数组Label1,共有10个标签,以下程序代码实现在单击任一个标签时将标签的内容添加到文本框现有内容之后。

Private Sub Label1_Click(Index As Integer)

Text1.Text= (1) Text1.text & Label1(Index).caption End Sub

3.下述程序的功能是实现矩阵的转置(即行列转换)。阅读下列程序,请在空格处填入相应的语句,使之完成上述功能。

Option Explicit Option Base 1

Private Sub Command1_Click( )

Dim IAs Integer,JAs Integer,D1() As Integer,D2() As Integer Dim m As Integer, n As Integer m=InputBox(\输入数组行数\n= InputBox(\输入数组列数\

(1)Redim D1(m,n) As Integer, D2(n,m) As Integer For I=1 To m