工学

单选题假设有60行70列的二维数组a[1…60,1…70]以列序为主序顺序存储,其基地址为10000,每个元素占2个存储单元,那么第32行第58列的元素a[32,58]的存储地址为。(无第0行第0列元素)()A 16902B 16904C 14454D 答案A,B,C均不对

题目
单选题
假设有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均不对

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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

A.5

B.7

C.10

D.15


正确答案:B
解析:本题考查数组元素的存储。
  若二维数组A[L1..U1,L2..U2]以行为主序存储,每个元素占用d个存储单元,则元素A[I,J]的存储位置相对于数组空间首地址的偏移量为
  ((I-L1)×(U2-L2+1)+J-L2)×d
  若二维数组A[L1..U1,L2..U2]以列为主序存储,每个元素占用d个存储单元,则元素A[I,J]的存储位置相对于数组空间首地址的偏移量为
  ((J-L2)×(U1-L1+1)+I-L1)×d
  本题中d=1,L1=0,U1=4,L2=1,U2=5,代入后计算可得偏移量为7。

第2题:

设有数组A[m,n],数组的每个元素占3个存储单元,m的值为1~8,n的值为 1~10。数组从首地址W开始顺序存放,当以列为主序存放时,元素A[5,8]的存储首地址为(4)。

A.W+222

B.W+225

C.W+141

D.W+180


正确答案:D
解析:以列为主序存储就是把二维数组中的数据一行一行地顺次存入存储单元。二维数组A[1..m,1..n)若以列为主序存储,那么A的任意一个元素A[i][j]的存储首地址 Loc(i,j)可由下式确定:
        Loc(i,j)=Loc(1,1)+[m×(j-1)+i-1)×b其中,Loc(1,1)是第一个元素A[1][1]的首地址,b是每个元素占用的存储单元个数。此题中代入数值得:Loc(5,8)=W+[8×(8-1)+5-1)×3=W+180,于是选择D。

第3题:

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

A.28

B.42

C.48

D.54


参考答案:B

由于是以列为主序,则前3列有3×6=18个元素,因此a[4,4]的位置是在第18+4=22位。因此相对于数组空间起始地址的偏移量是(22-1)×2=42个存储单元,故答案为B。

第4题:

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

第5题:

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

第6题:

设有一个二维数组A[1…6,1…4],若数组的起始地址为200,并且数据元素以行序为主序存放在数组中,每个元素占用4个存储单元,那么元素A[3,4]的存储地址为【】。


正确答案:260
A[]是一个二维数组,A[3,4]代表第三行第4个数,前面有二行,第三行有三个元素,所以元素个数为2*6+3=15,15*4=60,所以存储地址为260。

第7题:

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

A.808

B.818

C.1010

D.1020


正确答案:C

第8题:

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

(34)

A. 28

B. 42

C. 48

D. 54


正确答案:D

第9题:

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

第10题:

假设以行序为主序存储二维数组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。

更多相关问题