2、设二维数组a[m][n],每个数组元素占用k个存储单元,第一个数组元素的存储地址是LOC(a[O][0]),求按列优先顺序存放的数组元素a[i][](O≤i≤m-1,0≤j≤n-1的存储地址为A.LOC(a[0][0])+[(i-1)xn+j-1]×kB.LOC(a[0][0])+[ixn+j]×kC.LOC(a[0][0])+[jxm+i]xkD.LOC(a[0][0])+[(j-1)×m+i-1]×k

题目

2、设二维数组a[m][n],每个数组元素占用k个存储单元,第一个数组元素的存储地址是LOC(a[O][0]),求按列优先顺序存放的数组元素a[i][](O≤i≤m-1,0≤j≤n-1的存储地址为

A.LOC(a[0][0])+[(i-1)xn+j-1]×k

B.LOC(a[0][0])+[ixn+j]×k

C.LOC(a[0][0])+[jxm+i]xk

D.LOC(a[0][0])+[(j-1)×m+i-1]×k


相似考题
参考答案和解析
C
更多“2、设二维数组a[m][n],每个数组元素占用k个存储单元,第一个数组元素的存储地址是LOC(a[O][0]),求按列优先顺序存放的数组元素a[i][](O≤i≤m-1,0≤j≤n-1的存储地址为”相关问题
  • 第1题:

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

    (21)

    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

  • 第2题:

    设数组a[0.n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i<n,0≤j<m)的存储位置相对于数组空间首地址的偏移量为 ( )。

    A.(j*m+i)*4B.(i*m+j)*4C.(j*n+i)*4D.(i*n+j)*4


    正确答案:B

  • 第3题:

    设数组A[1..m,1..n]的每个元素占用1个存储单元,对于数组元素A[i,j](1≤i≤m,1≤j≤n),在按行存储方式下,其相对于数组空间首地址的偏移量为(请作答此空);在按列存储方式下,其相对于数组空间首地址的偏移量为( )。

    A.i*(n-1)+j
    B.(i-1)*n+j-1
    C.i*(m-1)+j
    D.(i-1)*m+j-1

    答案:B
    解析:
    本题考查数据结构基础知识。数组A[1..m,1..n]的元素排列如下。

    解答该问题需先计算排列在a[i,j]之前的元素个数。
    按行方式存储下,元素a[i,j]之前有i-1行,每行n个元素,在第i行上a[i,j]之前有j-1个元素,因此,a[i,j]之前共有(i-1)*n+j-1个元素。
    在按列存储方式下,元素a[i,j]之前有i-1列,每列m个元素,在a[i,j]所在列(即第j列),排在它之前的元素有i-1个,因此,a[i,j]之前共有(i-1)*m+i-1个元素。
    数组中指定元素的存储位置相对于数组空间首地址的偏移量等于k*d,其中k为排在该元素前的元素个数,d为每个元素占用的存储单元数。

  • 第4题:

    设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i
    A. (j*m+i)*4
    B.(i*m+j)*4
    C.(j*n+i)*4
    D.(i*n+j)*4

    答案:B
    解析:
    本题考查数据结构基础知识。
    数组a的元素可示意如下。

    对于元素按行排列时,其之前有i行且每行有m个元素(行下标为0,1,…,i-1),即i*m个,行下标为i时,排列在a[i,j]切之前的元素有a[i,0],a[i,1],…,a[i,j-1],即j个,所以一共有i*m+j个元素排在a[i,j]之前,因此该元素的存储位置相对于数组空间首地址的偏移量为(i*m+j)*4。

  • 第5题:

    设数组a[0..n-1,0..m-1](n>0,m>0)中的元素以列为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](0≤i≤n-1,0≤j≤m-1)相对于数组空间首地址的偏移量为( )。

    A.i*m+j
    B.(i-1)*n+j-1
    C.j*n+i
    D.(j-1)*n+i-1

    答案:C
    解析:
    数组a[0..n-1,0..m-1](n>0,m>0)表示有n行m列,数组元素的存储地址=数组空间首地址+偏移量。其中偏移量的计算方式为排列在所访问元素之前的元素个数乘以每个元素占用的存储单元数。对于元素a[i,j],在按列存储(以列为主序存放)方式下,该元素之前有j列完整(因为首列编号为0)的元素,每一列n个元素,在第j列之前有i个元素(因为首行编号为0),所以偏移量为j*n+i。

  • 第6题:

    设二维数组intM[4][4],每个元素(整数)占2个存储单元,元素按列优先的顺序存储,数组的起始地址为100,元素M[2][1]的地址是()


    正确答案:116

  • 第7题:

    设二维数组intM[4][4],每个元素(整数)占2个存储单元,元素按行优先的顺序存储,数组的起始地址为100,元素M[2][3]的地址是()


    正确答案:122

  • 第8题:

    二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单位,并且第一个元素的存储地址是LOC(A[0][0]),则A[i][j]的地址是()。


    正确答案:Loc(A[0][0])+(n*i+j)*k

  • 第9题:

    填空题
    已知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是LOC(A[0][0]),则A[i][j]的地址是()。

    正确答案: Loc(A[0][0])+(i*N+j)*k
    解析: 暂无解析

  • 第10题:

    填空题
    二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单位,并且第一个元素的存储地址是LOC(A[0][0]),则A[i][j]的地址是()。

    正确答案: Loc(A[0][0])+(n*i+j)*k
    解析: 暂无解析

  • 第11题:

    填空题
    设二维数组intM[4][4],每个元素(整数)占2个存储单元,元素按列优先的顺序存储,数组的起始地址为1000,元素M[1][2]的地址是()

    正确答案: 1018
    解析: 暂无解析

  • 第12题:

    单选题
    设二维数组a[0…m-1][0…n-1]按列优先顺序存储在首地址为LOC(a[0][0])的存储区域中,每个元素占d个单元,则a[i][j]的地址为()
    A

    LOC(a[0][0])+(j×n+i)×d

    B

    LOC(a[0][0])+(j×m+i)×d

    C

    LOC(a[0][0])+((j-1)×n+i-1)×d

    D

    LOC(a[0][0])+((j-1)×m+i-1)×d


    正确答案: C
    解析: 暂无解析

  • 第13题:

    ● 若二维数组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

     

  • 第14题:

    设数组a[0..n-l,O..m-l] (n>l,m>l)中的元素以行为主序存放,每个元素占用1个 存储单元,则数组元素a[ij](0<i<n,0<j<m)的存储位置相对于数组空间首地址的偏移量为(35)。

    A.j*m+i

    B.i*m+j

    C.j*n+i

    D.i*n+i


    正确答案:B
    本题考查程序语言基础知识。对于元素a[ij]按行存储方式下,其前面共有i行(行下标为0至行下标为i-l)、每行m个元素,合计i*m个元素。数组a中行下标为i的元素有a[i,0],a[i,l]....a[i,j-1],a[i,j]....a[i,m-1],显然在该序列中,a[ij]之前有j个元素,因此,数组元素a[i.i](0in,0jm)之前共有i*m+j个元素,由于每个占用1个存储单元,故该元素的存储位置相对于数组空间首地址的偏移量为i*m+j。

  • 第15题:

    设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a嘶](0<i<n,0<j<m)的存储位置相对于数组空间首地址的偏移量为( )。

    A.j*m+i
    B.i*m+j
    C.j*n+i
    D.i*n+j

    答案:B
    解析:
    本题考查程序语言基础知识。
    对于元素a[i,j],按行存储方式下,其前面共有i行(行下标为0至行下标为i-1)、每行m个元素,合计i*m个元素。数组a中行下标为i的元素有a[i,0]、a[i,1]、…、a[i,j-1]、a[i,j]、…、a[i,m-1],显然在该序列中,a[i,j]之前有j个元素,因此,数组元素a[i,j](0<i<n,0<j<m)之前共有i*m+j个元素,由于每个占用1个存储单元,故该元素的存储位置相对于数组空间首地址的偏移量为i*m+i。

  • 第16题:

    设二维数组A[6][0],每个数组元素占用4个存储单元,若按行优先顺序存放的数组元素,a[0][0]的存储地址为860,则a[3][5]的存储地址为()。

    A.1000
    B.860
    C.1140
    D.1200

    答案:A
    解析:
    每个数组元素占用4个存储单元,按行优先顺序存放的数组元素,则a[3][5]的存储地址为860+(3×10+5)×4=1000。

  • 第17题:

    设二维数组a[0…m-1][0…n-1]按列优先顺序存储在首地址为LOC(a[0][0])的存储区域中,每个元素占d个单元,则a[i][j]的地址为()

    • A、LOC(a[0][0])+(j×n+i)×d
    • B、LOC(a[0][0])+(j×m+i)×d
    • C、LOC(a[0][0])+((j-1)×n+i-1)×d
    • D、LOC(a[0][0])+((j-1)×m+i-1)×d

    正确答案:B

  • 第18题:

    设二维数组intM[4][4],每个元素(整数)占2个存储单元,元素按行优先的顺序存储,数组的起始地址为200,元素M[1][1]的地址是()


    正确答案:210

  • 第19题:

    已知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是LOC(A[0][0]),则A[i][j]的地址是()。


    正确答案:Loc(A[0][0])+(i*N+j)*k

  • 第20题:

    设二维数组A[m][n]按列优先存储,每个元素占1个存储单元,元素A00的存储地址loc(A00),则Aij的存储地址loc(Aij)=()。


    正确答案:loc(a00)+(j*m+i)*1

  • 第21题:

    填空题
    设二维数组A[m][n]按列优先存储,每个元素占1个存储单元,元素A00的存储地址loc(A00),则Aij的存储地址loc(Aij)=()。

    正确答案: loc(a00)+(j*m+i)*1
    解析: 暂无解析

  • 第22题:

    单选题
    若二维数组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


    正确答案: A
    解析: 数据arr共M行N列,下标均从1开始。元素arr[i,j]在数据arr的第i行第j列,如果数组元素按列存储,则1~j-1列共有(j-1)*M个元素,a[i,j]之前共(j-1)*M+i-1个元素,元素arr[i,j]在该数组空间的地址为base+((j-1)*M+i-1)*K。

  • 第23题:

    填空题
    设二维数组intM[4][4],每个元素(整数)占2个存储单元,元素按行优先的顺序存储,数组的起始地址为100,元素M[2][3]的地址是()

    正确答案: 122
    解析: 暂无解析

  • 第24题:

    填空题
    设二维数组intM[4][4],每个元素(整数)占2个存储单元,元素按行优先的顺序存储,数组的起始地址为200,元素M[1][1]的地址是()

    正确答案: 210
    解析: 暂无解析