参考答案和解析
正确答案:D
更多“对于二维数组a[1..4,3..6],设每个元素占两个存储单元,若分别以行和列为主序存储,则元素a[3,4]相 ”相关问题
  • 第1题:

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

    A.28

    B.42

    C.48

    D.54

    A.

    B.

    C.

    D.


    正确答案:B

  • 第2题:

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

    A.12

    B.14

    C.16

    D.18


    正确答案:D
    解析:本题考查的是程序中数组元素的存储。二维数组a[1…4,3…6]以行为主序和以列为主序存储时如下图所示。

    在数组元素以行为主序存储的情况下,从数组空间起始位置起,a[3,4]之前有9个元素,如图(a)所示,每个元素占两个存储单元,所以a[3,4]相对于数组空间起始地址的偏移量是18。在以列为主序存储的情况下,从数组空间起始位置起,a[3,4]之前有6个元素,如图(b)所示,每个元素占两个存储单元,所以a[3,4]相对于数组空间起始地址的偏移量是12。

  • 第3题:

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

    A.818

    B.808

    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。

  • 第4题:

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

    A.28

    B.42

    C.48

    D.54


    正确答案:B
    解析:本题考查数据结构基础知识。 
      在这里需要注意元素是按行存还是按列存存储的。
      按列存储时,a[4,4]之前的元素个数为21(3×6+3),每个元素占2个存储单元,因此a[4,4]相对于数组空间起始地址的偏移量是42。
      按行存储时,a[4,4]之前的元素个数为27(3×8+3),该元素相对于数组空间起始地址的偏移量是54。

  • 第5题:

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

    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。