( 24 )有以下程序:Option Base 1Dim arr() As IntegerPrivate Sub Form_Click()Dim i As Integer, j As IntegerReDim arr(3, 2)For i = 1 To 3For j = 1 To 2arr(i, j) = i * 2 + jNext jNext iReDim Preserve arr(3, 4)For j = 3 To 4arr(3, j) = j + 9Next jPrint arr(3, 2); ar

题目

( 24 )有以下程序:

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

程序运行后,单击窗体,输出结果为

A ) 8 13

B ) 0 13

C ) 7 12

D ) 0 0


相似考题
参考答案和解析
正确答案:A

更多“( 24 )有以下程序:Option Base 1Dim arr() As IntegerPrivate Sub Form_Click()Dim i As Integer ”相关问题
  • 第1题:

    ● 若二维数组arr[1..M, 1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i, j]在该数组空间的地址为 __ 。

    A.base+((i-1)*M+j-1)*K

    B.base+((i-1)*N+j-1)*K

    C. base+((j-1)*M+i-1)*K

    D. base+((j-1)*N+i-1)*K


    正确答案:C
    题目告诉我们是按列存储,那么在存储元素arr[i,j]以前,应该存放了j-1列,而每一列中有M个元素(即数组的行数),那么应该有(j-1)*M个元素,而在第j列中,存放元素arr[i,j]以前,应该有i-1个元素被存放,因此,在存放元素arr[i,j]以前总共有(j-1)*M+i-1个元素被存放,而每个元素占用K个存储单元,因此本题答案选C。参考答案C

  • 第2题:

    在窗体上画一个命令按钮,然后编写如下程序: Option Base 1 Private Sub Command1 Click() Dim Arr1(12)As Integer, Arr2(3)As Integer Dim Sum As Integer Sum = 2 For i=1 To 12 Arrl(i)= i Next i For i=1 To 3 Arr2(i)= Arrl(i*i) Next i For i = 1 To 3 Sum = Sum + Arr2(i) Next i Print Sum End Sub 程序运行后,单击命令按钮,在窗体上的输出结果为

    A.16

    B.24

    C.32

    D.36


    正确答案:A
    解析:本题中定义了两个一维数组,分别为Arr1和Arr2,由于使用了OptionBase1语句,因此其大小分别为10和3,接着执行3个For循环。在第1个循环中,对Arr1数组赋初值,每个元素的值与其下标相同,即Arrl(1)=1,Arrl(2)=2……。在第2个循环中,为Arr2数组的3个元素赋值,这3个值分别为Arrl数组第1、3、9个元素的值,即Art2(1)=1、Arr2(2)=4、Arr2(3)=9。在第3个循环中,计算数组Arr2中各元素的和,并将它赋给变量Sum。各元素的和为1+4+9=14,但由于变量Sum的初值为2,因此最后的输出结果为16。

  • 第3题:

    若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为______。

    A.base+((i-1)*M+j-1)*K
    B.base+((i-1)*N+j-1)*K
    C.base+((j-1)*M+i-1)*K
    D.base+((j-1)*N+i-1)*K

    答案:C
    解析:
    本题考查数组元素的存储知识。二维数组arr[1..M,1..N]的元素可以按行存储,也可以按列存储。按列存储时,元素的排列次序为,先是第一列的所有元素,然后是第二列的所有元素,最后是第N列的所有元素。每一列的元素则按行号从小到大依次排列。因此,对于元素arr[i,j],其存储位置如下计算:先计算其前面j-1列上的元素总数,为(j-1)*M,然后计算第j列上排列在arr[i,j]之前的元素数目,为i-1,因此arr[i,j]的地址为base+((j-1)*M+i-1)*K。

  • 第4题:

    ● 若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为 (21) 。

    A.base+((i-1)*M+j-i)*K

    B.base+((i-1)*N+j-1)*K

    C.base+((j-1)*M+i-1)*K

    D.base+((j-1)*N+i-1)*K


    正确答案:C

     

  • 第5题:

    若二维数组arr[1…M,1…N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为( )。

    A.base+((i一1)*M*j-i)*K
    B.b ase+((i-1)*N+j-1)*K
    C.baSe+((j-l)*M十i-1)*K
    D.base+((j-1)*N+i-1)*K

    答案:C
    解析: