数据结构

有一个二维数组A[0:8,1:5],每个数组元素用相邻的4个字节存储,存储器按字节编址,假设存储数组元素A[0,1]的第一个字节的地址是0,存储数组A的最后一个元素的第一个字节的地址是()。若按行存储,则A[3,5]和 A[5,3]的第一个字节的地址是()和()。若按列存储,则A[7,1]和A[2,4]的第一个字节的地址是()和()。

题目

有一个二维数组A[0:8,1:5],每个数组元素用相邻的4个字节存储,存储器按字节编址,假设存储数组元素A[0,1]的第一个字节的地址是0,存储数组A的最后一个元素的第一个字节的地址是()。若按行存储,则A[3,5]和 A[5,3]的第一个字节的地址是()和()。若按列存储,则A[7,1]和A[2,4]的第一个字节的地址是()和()。

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

第1题:

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

第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…8,0…9],其每个元素占2字节,从首地址400开始,按行优先顺序存放,则元素A[8,5]的存储地址为

A.570

B.506

C.410

D.482


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

第4题:

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

A.448

B.56

C.56

D.64


正确答案:A

第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[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题:

假定一个二维数组的定义为“int a[3][5];”,则该数组所含元素的个数为【 】,所占字节存储空间的字节数为【 】。


正确答案:15 60
15 60 解析:所含元素的个数为15个,所占存储空间的字节数为15*4=60个。

第9题:

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

第10题:

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

A.1024

B.1440

C.1448

D.1432


正确答案:B

更多相关问题