CMS专题

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

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

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

第1题:

设有二维数组A[0…9][0…19],其每个元素占两个字节,数组按列优先顺序存储,第一个元素的存储地址为100,那么元素A[6,6]的存储地址为__________。


正确答案:
232
二维数组A[0…m][0…n]数据按行优先顺序存储时,下界为0时元素aij的地址计算公式为:LOC(aij)=LOC(a00)+D×(m+1)+i]×d。所以本题中元素的存储地址为100+[6×10+6]×2=232。

第2题:

二维数组A[0…8,0…9],其每个元素占2个字节,从首地址300开始,按列优先顺序存放,则元素A[8,5]的存储地址为( )。

A)470

B)406

C)454

D)382


正确答案:C
由于该数组按列优先顺序存储,可知: A[8,5](第9行第6个元素)的地址是300+18×8+2×5=454。
汁算公式如下:对于按列优先顺序存储的二维数组A[m][n],若其首地址是S,每个元素占k个字节,则数组元素A[i][j]的地址P是P=S+(i﹡m+j)+k;本题中,P=300+(8﹡9+5) ﹡2=454。

第3题:

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

第4题:

设有二维数组A[0…9,0…19],其每个元素占两个字节,第一个元素的存储地址为100,若按行优先顺序存储,则元素A[6,6]的存储地址为【 】。


正确答案:352
352 解析:行优先:Loc=100+(6×(19+1)+6)×2= 352。若列优先:Loc=100+(6×(9+1)×6)×2=232

第5题:

二维数组A[0,…,8][0,…,9],其每个元素占2字节。从首地址400开始,按行优先顺序存储,则元素A[8][5]的存储地址为( )。

A.570

B.506

C.410

D.482


正确答案:A
A。【解析】A[8][5]元素存储的位置在第9行第6列,所以A[8][5]之前存储的个数应为8×10+5=85,这些元素占用的空间为85×2字节=170字节,所以A[8][5]的存储位置为400+170=570。

第6题:

( 4 )按列优先顺序存储二维数组 A mn 的元素,设每个元素占用 1 个存储单元,则计算元素 a ij的地址的公式为 Loc(a ij ) = Loc(a 11 ) + (j-1 ) × m + 【 4 】 。


正确答案:

第7题:

二维数组A[0…8][0…9],其每个元素占2字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储地址为

A.570

B.506

C.410

D.482


正确答案:A
解析:由于该数组按行优先顺序存储,所以每行共占10×2=20个字节。由此可知:A[8,5](第9行第6个元素)的地址是400+20×8+2×5=570。计算公式:对于按行优先顺序存储的二维数组A[m][n],若其首地址是S,每个元素占k个字节,则数组元素A[i][j]的地址P是p=S+(i*n+j)*k;在本题中,A[8,5]用C描述就是A[8][5],我们使用公式:P=400+(8*10+5)*2=570。

第8题:

二维数组A[0…8,0…9],其每个元素占2字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储地址为

A.570

B.506

C.410

D.482


正确答案:A
解析:存储地址=首地址+相对偏移地址。

第9题:

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

A.872

B.860

C.868

D.864


参考答案:B

第10题:

设有二维数组A[0…8,0…9],其中每个元素占2个字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储地址为______。

A.570

B.506

C.410

D.482


正确答案:A

更多相关问题