itgle.com
参考答案和解析
B 解析:按行优先存储就是把二维数组中的数据一行一行地顺次存入存储单元。二维数组A[1..m,1..n]若按行优先存储,那么A的任意一个元素A[i][j]的存储首地址Loc(i,j)可由下式确定:Loc(i,j)=Loc(1,1)+[n×(i-1)+j-1]×b,其中,Loc(1,1)是第一个元素A[1][1]的首地址,b是每个元素占用的存储单元个数。代入数据便得Loc(5,5)=10+[100×(5-1)+5-1]×2=818。
更多“假设以行序为主序存储二维数组A=array[1..100, 1..100],设每个数据元素占2个存储单元,基地址为10,则A[5,5]的存储地址是()。”相关问题
  • 第1题:

    对于二维数组A[0..5,1..8],设每个元素占1个存储单元,且以列为主序存储,则元素A[3,6]相对于数组空间起始地址的偏移量是(40)。

    A.9

    B.18

    C.29

    D.33


    正确答案:D
    解析:若二维数组A[L1..U1,L2..U2]以列为主序存储,每个元素占用d个存储单元,则元素A[i,j]的存储位置相对于数组空间首地址的偏移量为((J-L2)×(U1-LI+1)+I-L1)×d。对于二维数组A[0..5,1..8],设每个元素占1个存储单元,即d=1,L1=O,U1=5,L2=1,U2=8。若以列为主序存储,则元素A[3,6]相对于数组空间起始地址的偏移量为((J-L2)×(U1-L1+1)+I-L1)×d=(6-1)×X(5-0+1)+3-0)×1=33。另外,若二维数组A[L1..U1,L2..U2]以行为主序存储,每个元素占用d个存储单元,则元素A[i,j]的存储位置相对于数组空间首地址的偏移量为((1-L1)×(U2-L2+1)+J-L2)×d。可见,若二维数组A[0..5,1..8]以行为主序存储,每个元素占1个存储单元,则元素A[3,6]相对于数组空间起始地址的偏移量是((3-0)×(8-1+1)+6-1)×1=29。

  • 第2题:

    假设以行序为主序存储二维数组array[100][100],设每个数据元素占2个存储单元,基地址为10,下标从0开始,则元素array[5][5]的地址为()。

    A.808

    B.818

    C.1010

    D.1020


    正确答案:C

  • 第3题:

    对于二维数组A[0…5,1…8],设每个元素占1个存储单元,且以列为主序存储,则元素A[3,6]相对于数组空间起始地址的偏移量是(60)。

    A.9

    B.18

    C.29

    D.33


    正确答案:D
    解析:若二维数组A[L1…U1,L2…U2]以列为主序存储,每个元素占用d个存储单元,则元素A[I,j]的存储位置相对于数组空间首地址的偏移量为((J-L2)×(U1-L1+1)+I-L1)×d。对于二维数组A[0…5,1…8],设每个元素占1个存储单元,即d=1,L1=0,U1=5,L2=1,U2=8。若以列为主序存储,则元素A[3,6]相对于数组空间起始地址的偏移量为((J-L2)×(U1-L1+1)+I-L1)×d =((6-1)×(5-0+1)+3-0)×1=33。另外,若二维数组A[L1…U1,L2…U2]以行为主序存储,每个元素占用d个存储单元,则元素A[I,J]的存储位置相对于数组空间首地址的偏移量为((I-L1)×(U2-L2+1)+J-L2)×d。可见,若二维数组A[0…5,1…8]以行为主序存储,每个元素占1个存储单元,则元素A[3,6]相对于数组空间起始地址的偏移量是((3-0)×(8-1+1)+6-1)×1=29。

  • 第4题:

    设二维数组a[10][20]按列优先存储在内存中,假设每个元素占3个存储单元,已知a[4][5]的存储单元地址为500,则a[8][7]的存储单元地址为【】

    A.746

    B.743

    C.569

    D.572


    正确答案:D

  • 第5题:

    二位数组A[10....20][5....10]采用行序为主方式存储,每个元素占4个存储单元,并且A[10][5]的存储地址是1000,则A[18][9]的地址是()。


    正确答案:1208

  • 第6题:

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


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

  • 第7题:

    设二维数组A的维数界偶定义为[1‥8,0‥10],起始地址为LOC,每个元素占2L个存储单元,以行序为主序存储方式下,某数据元素的地址为LOC+50L,则在列序为主序存储方式下,该元素的存储地址为()。

    • A、LOC+28L
    • B、LOC+36L
    • C、LOC+50L
    • D、LOC+52L

    正确答案:D

  • 第8题:

    假设有60行70列的二维数组a[1…60,1…70]以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为。(无第0行第0列元素)()

    • A、16902
    • B、16904
    • C、14454
    • D、答案A,B,C均不对

    正确答案:A

  • 第9题:

    设二维数组a[8][10]的基地址为2000,每个元素占3个存储单元,若以行序为主序顺序存储,则元素a[6][5]的存储地址为()


    正确答案:2195

  • 第10题:

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

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

  • 第11题:

    单选题
    二维数组A行下标i的范围从1到12,列下标j的范围从3到10,采用行序为主序存储,每个数据元素占用4个存储单元,该数组的首地址(即A[1][3]的地址)为1200,则A[6][5]的地址为()。
    A

     1400

    B

     1404

    C

     1372

    D

     1368


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

  • 第12题:

    单选题
    对于二维数组a[1..6,1..8],设每个元素占2个存储单元,且以列为主序存储,则元素a[4,4]相对于数组空间起始地址的偏移量是()个存储单元。
    A

    28

    B

    42

    C

    48

    D

    54


    正确答案: A
    解析: 按列存储时,a[4,4]之前的元素个数为21(3×6+3),每个元素占两个存储单元,因此a[4,4]相对于数组空间起始地址的偏移量是42。按行存储时,a[4,4]之前的元素个数为27(3×8+3),该元素相对于数组空间起始地址的偏移量是54。

  • 第13题:

    对于二维数组a[1..4,3..6],设每个元素占两个存储单元,若分别以行和列为主序存储,则元素a[3,4]相对于数组空间起始地址的偏移量分别是(1)和(2)。

    A.12

    B.14

    C.16

    D.18


    正确答案:D

  • 第14题:

    对于二维数组a[0.. 4,1.. 5],设每个元素占1个存储单元,且以列为主序存储,则元素a[2,2]相对于数组空间起始地址的偏移量是______。

    A.5

    B.7

    C.10

    D.15


    正确答案:B
    解析:此类题型以前考过多次,为了让大家能更好地理解题目的意思以及解题的思想,图3-81给出了二维数组a[0..4,1..5]的结构。因为以列为主序存储,所以a[0,1]存储在1号存储单元,a[1,1]存储在2号存储单元……以此类推,a[2,2]存储在8号存储单元,所以相对于数组空间起始地址的偏移量为8-1,即7。偏移量就是差值。所以答案为:B。此外,若数组以行为主序存储,则数组的结构如图3-82所示。

  • 第15题:

    假设以行序为主序存储二维数组A[1.,100,1.,100],设每个数据元素占2个存储单元,基地址为10,则A[5,5]的存储首地址LOC[5,5]为(1)。

    A.808

    B.818

    C.1010

    D.1020


    正确答案:B
    解析:按行优先存储就是把二维数组中的数据一行一行地顺次存入存储单元。二维数组A[1..m,1..n]若按行优先存储,那么A的任意一个元素A[i][j]的存储首地址Loc(i,j)可由下式确定:Loc(i,j)=Loc(1,1)+[n×(i-1)+j-1]×b,其中,Loc(1,1)是第一个元素A[1][1]的首地址,b是每个元素占用的存储单元个数。代入数据便得Loc(5,5)=10+[100×(5-1)+5-1]×2=818。

  • 第16题:

    设二维数组a[10][10]是对称阵,现将a中的上三角(含对角线)元素以行为主序存储在首地址为2000的存储区域中,每个元素占3个单元,则元素a[6][7]的地址为()。


    正确答案:2228

  • 第17题:

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


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

  • 第18题:

    二维数组A行下标i的范围从1到12,列下标j的范围从3到10,采用行序为主序存储,每个数据元素占用4个存储单元,该数组的首地址(即A[1][3]的地址)为1200,则A[6][5]的地址为()。

    • A、 1400
    • B、 1404
    • C、 1372
    • D、 1368

    正确答案:D

  • 第19题:

    设数组a[50][80]的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[45][68]的存储地址为();若以列序为主序存储,则元素a[45][68]的存储地址为()


    正确答案:9174;8788

  • 第20题:

    二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元,并且A[0][0]的存储地址是200,则A[6][12]的地址是()。


    正确答案:200+(6x20+12)x1

  • 第21题:

    填空题
    二维数组A[10][20]采用列序为主方式存储,每个元素占一个存储单元,并且A[0][0]的存储地址是200,则A[6][12]的地址是()。

    正确答案: 200+(6x20+12)x1
    解析: 暂无解析

  • 第22题:

    填空题
    设数组a[50][80]的基地址为2000,每个元素占2个存储单元,若以行序为主序顺序存储,则元素a[45][68]的存储地址为();若以列序为主序存储,则元素a[45][68]的存储地址为()

    正确答案: 9174,8788
    解析: 暂无解析

  • 第23题:

    填空题
    设二维数组a[8][10]的基地址为2000,每个元素占3个存储单元,若以行序为主序顺序存储,则元素a[6][5]的存储地址为()

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

  • 第24题:

    填空题
    二位数组A[10....20][5....10]采用行序为主方式存储,每个元素占4个存储单元,并且A[10][5]的存储地址是1000,则A[18][9]的地址是()。

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