设有二维数组A5x7 ,每一元素用相邻的4个字节存储,存储器按字节编址。已知A的起始地址为100。则按行存储时,元素A0

题目
单选题
设有二维数组A5x7 ,每一元素用相邻的4个字节存储,存储器按字节编址。已知A的起始地址为100。则按行存储时,元素A06的第一个字节的地址是()。
A

220

B

200

C

140

D

24

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

第1题:

设有二维数组A[1..12,1..10],其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址100,那么元素A[5,5]的存储地址为( )。

A)176

B)276

C)208

D)308


正确答案:D
给出任意一数组元素的下标,可以直接计算数组元素的存放地址。二维数组元素地址的计算公式为:
行优先顺序下:LOC(aij)=LOC(a11)+((i-1)×n+(i-1))×λ
列优先顺序下:LOC(aij)=LOC(a11)+((j-1)×m+(i-1))×λ
式中,n和m分别为数组每行和每列的元素个数,λ为每个数组元素占用的存储单元个数。
依据题意,n=10,m=12,λ=4,LOC(aij)=LOC(a11)+((j-1)×m+(i-1))×λ100+((5-1)×12+(5-1))×4 =308,即A[5,5]的存储地址为308。

第2题:

设有二维数组A(12,10),其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址为 100。则元素A(5,5)的存储地址为

A.176

B.276

C.208

D.308


正确答案:D
解析:如果按列优先顺序列出矩阵中的元素,得到如下序列A11,A21, A31…An1,A12:…Amn,把它顺序存储在内存中,元素Aij(1≤j≤i≤n)的地址的公式为LOC (Aij)=LOC(A11)+[(j-1)*m+(i-1)]*λ(此处假设每个元素占λ个存储单元)。对应本题的具体情况,元素A(5,5)的存储地址为100+[(5-1)*2+(5-1)]*4=308。

第3题:

(12)设有二维数组A[1..12,1..10],其每个元素占4个字节,数据按列优先顺序存储,第一个元素的存储地址100,那么元素A[5,5]的存储地址为( )。

A)176

B)276

C)208

D)308


正确答案:D


(12)【答案】D)
【解析】无论规定行优先或列优先,只要知道以下三要素便可随时求出任一元素的地址:开始结点的存放地址(即基地址),维数和每维的上下界,每个数组元素占用的单元数。假设一般的二维数组A[c1,d1,c2,d2]则行优先存储时的地址公式为LOC(aij)=LOC(acl,c2)+[(i-c1)*(d2-c2+1)+j-c2)]*L;二维数组列优先存储的通式为LOC(aij)= LOC(acl,c2)+[(i-c2)*(d1-c1+1)+i-c1)]*L,根据列优先公式得:LOC(A5.5)=100+[(5-1)*12+(5-1)]*4=308.

 

第4题:

假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。已知A的起始存储位置为1000,则按行存储时,元素a13的第一个字节的地址为(31)。

A.1072

B.1070

C.1150

D.1154


正确答案:A
解析:本题考查数组在计算机存储器中的存储。题目中给出了二维数组A6×8,其中每个元素用相邻的6个字节存储,这说明数组A是一个6行8列的二维数组,且每个元素占相邻的6个字节。那么数组总共要占6×8×6=288个字节。a13是数组中的第13个元素,在存储它以前已有12个元素从起始存储位置按行存储了,12个元素占12×6=72个字节。因此,元素a13的第一个字节的地址应该为1000+72=1072。另外,解答此类试题,要看清楚试题的要求,数组的起始是从0开始还是从1开始。在本题中,没有明确这个问题,我们假设是从1开始,即数组的第1个元素是A[1][1]。

第5题:

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

第6题:

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

第7题:

设有二维数组A[1..8, 1..10],其每个元素占4个字节,数组按列优先顺序存储,第一个元素的存储地址为200,那么元素A[3, 4]的存储地址为( )。

A) 292

B) 304

C) 328

D) 396

A.

B.

C.

D.


正确答案:B

第8题:

设有二维数组A[1,…,10][1,…: 12],其每个元素占2个字节,数据按行优先顺序存储,第一个元素的存储地址为1000,则元素A[5][5]的存储地址为________。


正确答案:
1104
二维数组数据按行优先顺序存储时,元素aD的地址计算公式为:LOC(aij)=LOC(a11)+[n×(i-1)+(i-1)]×d。所以本题中元素的存储地址为1000+[(5一1)×12+5-1]×2=1104。

第9题:

设有50行60列的二维数组A[50][60],其元素长度为4字节,按行优先顺序存储,基地址为200,则元素A[18][25]的存储地址为( )。

A.3700

B.4376

C.3900

D.4620


正确答案:D
解析:200+(18×60+25)×4=4620。

第10题:

设有二维数组A7×8,每个数据元素占8个字节存储单元,顺序存放,A第一个元素A0,0的存储地址为1000,则数组A占用的存储量为()字节。

A.448

B.56

C.56

D.64


正确答案:A

更多相关问题