更多“对于二维数组a[1…4,3…6),设每个元素占两个存储单元,若分别以行和列为主序存储,则元素a[3,4]相对 ”相关问题
  • 第1题:

    对于二维数组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所示。

  • 第2题:

    对于二维数组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。

  • 第3题:

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

    A.5

    B.12

    C.13

    D.20


    正确答案:C
    解析:二维数组a[0..3,0..4]的元素排列情况如下所示:a[0,0]a[0,1]a[0,2]a[0,3]a[0,4]a[1,0]a[1,1]a[1,2]a[1,3]a[1,4]a[2,0]a[2,1]a[2,2]a[2,3]a[2,4]a[3,0]a[3,1]a13,2]a[3,3]a[3,4]以行为主序存储,元素a[2,3]之前存储了13个元素,由于每个元素仅占一个存储单元,因此元素a[2,3]的存储位置相对于数组空间起始地址的偏移量为13。

  • 第4题:

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

    A.5

    B.10

    C.15

    D.25


    正确答案:B
    解析:本题考查的是数组元素的存储。
      二维数组a[0..4,1..5]的元素排列情况如下所示:
                a[0,1)a[0,2]a[0,3]a[0,4]a[0,5]
                a[1,1]a[1,2]a[1,3]a[1,4]a[1,5]
                a[2,1)a[2,2]a[2,3]a[2,4]a[2,5]
                a[3,1]a[3,2]a[3,3]a[3,4]a[3,5]
                a[4,1)a[4,2]a[4,3]a[4,4]a[4,5]
      以行为主序存储,元素a[2,1]之前存储10个元素,由于每个元素仅占一个存储单元,因此元素a[2,1]的存储位置相对于数组空间起始地址的偏移量为10。

  • 第5题:

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

    A.5

    B.10

    C.15

    D.25


    正确答案:B