软考初级

若二维数组P[1..5,0..8]的首地址为base,数组元素按行存储,且每个元素占用1个存储单元,则元素P[3,3]在该数组空间的地址为(32)。A.base+13B.base+16C.base+18D.base+21

题目

若二维数组P[1..5,0..8]的首地址为base,数组元素按行存储,且每个元素占用1个存储单元,则元素P[3,3]在该数组空间的地址为(32)。

A.base+13

B.base+16

C.base+18

D.base+21

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

第1题:

若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为______。

A.base+((i-1)*M+j-1)*K
B.base+((i-1)*N+j-1)*K
C.base+((j-1)*M+i-1)*K
D.base+((j-1)*N+i-1)*K

答案:C
解析:
本题考查数组元素的存储知识。二维数组arr[1..M,1..N]的元素可以按行存储,也可以按列存储。按列存储时,元素的排列次序为,先是第一列的所有元素,然后是第二列的所有元素,最后是第N列的所有元素。每一列的元素则按行号从小到大依次排列。因此,对于元素arr[i,j],其存储位置如下计算:先计算其前面j-1列上的元素总数,为(j-1)*M,然后计算第j列上排列在arr[i,j]之前的元素数目,为i-1,因此arr[i,j]的地址为base+((j-1)*M+i-1)*K。

第2题:

若二维数组arr[1…M,1…N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为( )。

A.base+((i一1)*M*j-i)*K
B.b ase+((i-1)*N+j-1)*K
C.baSe+((j-l)*M十i-1)*K
D.base+((j-1)*N+i-1)*K

答案:C
解析:

第3题:

●若二维数组arr[1..8,1..6]的首地址为base,数组元素按列存储,且每个元素占用4个存储单元,则元素arr[5,5]在该数组空间的地址为 (36) 。

(36)

A.base+(4*8+4)*4

B.base+(5*8+5)*4

C. base+(4*6+4)*4

D.base+(5*6+5)*4


正确答案:A
本题考查数组元素的存储。
二维数组arr[l..8,1..6]元素布局如下所示:
 
按列存储时,元素arr[5,5]之前有4列(每列8个元素),在第5列中,arr[5,5]之前
有4个元素,因此,存储在arr[5,5]前面的元素总数为4*8+4。
综上,元素arr[5,5]在该数组空间的地址为base+(4*8+4)*4。
参考答案
(36)A

第4题:

●若二维数组arr[1..8,1..6]的首地址为base,数组元素按列存储,且每个元素占用

4个存储单元,则元素arr[5,5]在该数组空间的地址为 (36) 。

(36)

A.base+(4*8+4)*4

B.base+(5*8+5)*4

C. base+(4*6+4)*4

D.base+(5*6+5)*4


正确答案:A

第5题:

若二维数组P[1..5,0..8]的首地址为base,数组元素按行存储,且每个元素占用1个存储单元,则元素P[3,3]在该数组空间的地址为______。

A.base+13

B.base+16

C.base+18

D.base+21


正确答案:D
解析:根据定义,二维数组P[1..5,0..8]中的元素可表示如下:P[1,0]P[1,1]P[1,2]P[1,3]P[1,4]P[1,5]P[1,6]P[1,7]P[1,8]P[2,0]P[2,1]P[2,2]P[2,3]P[2,4]P[2,5]P[2,6]P[2,7]P[2,8]P[3,0]P[3,1]P[3,2]P[3,3]P[3,4]P[3,5]P[3,6]P[3,7]P[3,8]P[4,0]P[4,1]P[4,2]P[4,3]P[4,4]P[4,5]P[4,6]P[4,7]P[4,8]P[5,0]P[5,1]P[5,2]P[5,3]P[5,4]P[5,5]P[5,6]P[5,7]P[5,8]数组空间首地址为base,也就是说元素P[1,0]的存储地址为base,按行存储时,P[3,3]之前存储了2×9+3个元素,因此P[3,3]在该数组安间的地址为base+21。

第6题:

● 若二维数组arr[1..M, 1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i, j]在该数组空间的地址为 __ 。

A.base+((i-1)*M+j-1)*K

B.base+((i-1)*N+j-1)*K

C. base+((j-1)*M+i-1)*K

D. base+((j-1)*N+i-1)*K


正确答案:C
题目告诉我们是按列存储,那么在存储元素arr[i,j]以前,应该存放了j-1列,而每一列中有M个元素(即数组的行数),那么应该有(j-1)*M个元素,而在第j列中,存放元素arr[i,j]以前,应该有i-1个元素被存放,因此,在存放元素arr[i,j]以前总共有(j-1)*M+i-1个元素被存放,而每个元素占用K个存储单元,因此本题答案选C。参考答案C

第7题:

●若二维数组arr[1..M,1..N】的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为 (21)。

(21)

A. base+((i-1)*M+j-1)*K

B.base+((i-1)*N+j-1)*K

C.base+((j-1)*M+i-1)*K

D.base+((j-1)*N+i-1)*K


正确答案:C

第8题:

若二维数组P[1..5,0..8]的首地址为base,数组元素按行存储,且每个元素占用1个存储单元,则元素P[3,3]在该数组空间的地址为______。

A.base+13

B.base+16

C.base+18

D.base+21

A.

B.

C.

D.


正确答案:D

第9题:

● 若二维数组 P[1..5, 0..8]的首地址为 base,数组元素按行存储,且每个元素占用 1个存储单元,则元素 P[3, 3]在该数组空间的地址为 (32) 。

(32)

A. base+13

B. base+16

C. base+18

D. base+21


正确答案:D