软考初级

在C程序中有一个二维数组 A[7][8],每个数组元素用相邻的 8个字节存储,那么存储该数组需要的字节数为( )。A.56 B.120 C.448 D.512

题目

在C程序中有一个二维数组 A[7][8],每个数组元素用相邻的 8个字节存储,那么存储该数组需要的字节数为( )。

A.56 B.120 C.448 D.512

参考答案和解析
正确答案:C
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

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


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

第2题:

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

第3题:

二维数组A中,每个元素的长度为3个字节,行下标i从0到7,列下标j从0到9,从首地址SA开始连续存放在存储器内,存放该数组至少需要的字节数是()。

A、80

B、100

C、240

D、270


参考答案:C

第4题:

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

A) 292

B) 304

C) 328

D) 396

A.

B.

C.

D.


正确答案:B

第5题:

一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的存储地址为100,则该数组的首地址是()。

A.64

B.90

C.28

D.70


参考答案:D

第6题:

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

第7题:

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

第8题:

(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.

 

第9题:

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

第10题:

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

更多相关问题