● 对于数组 float array[5][4],若数组元素 array[0][0]的地址为 2400,每个数组元素长度为 32 位(

题目

● 对于数组 float array[5][4],若数组元素 array[0][0]的地址为 2400,每个数组元素长度为 32 位(4 字节),且假定其采用行序为主的存储模式,那么 array[3][2]的内存地址为 (46) 。

(46)

A. 2448

B. 2452

C. 2456

D. 2460

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

第1题:

● 设数组a[0..m,1..n]的每个元素占用1个存储单元,若元素按行存储,则数组元素a[i,j](0≤i≤m,1≤j≤n)相对于数组空间首地址的偏移量为 (32) 。

(32)

A. (i+1)*n+j

B. i*n+j-1

C. i*m+j

D. i*(m+1)+j-1


正确答案:B
试题(32)分析
本题考查数据结构基础知识。
    二维数组元素的存储布局可以按行安排,也可以按列安排。元素a[i.j]相对于数组空间首地址的偏移量计算方法为:先算出存储在该元素之前的行数(或列数),然后算出在该元素所在行(或列)上排在a[i.j]之前的元素个数。根据以上信息算出存储在a[i,j]之前的元素个数,再乘以每个元素占用的存储单元个数即可。题中数组元素按行存储,在a[i,j]之前有i行(行号为0、1、…、i-1)、每行n个元素,在其所在行,a[i,j]之前有j-1个元素,因此偏移量为i*n+j-1。
参考答案
      (32)B

第2题:

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

第3题:

若有定义int a[9],*p=a;,则p+5表示

A.数组元素a[5]的值

B.数组元素a[5]的地址

C.数组元素a[6]的地址

D.数组元素a[0]的值加上5


正确答案:B
解析:本题考查了通过指针来引用一维数组元素的方法。题中*p=a;这一赋值语句是指针p指向了数组a的首地址,p+5是指针p向后移动了5个int类型的存储单元,所以p+5指向了数组元素a[5]。

第4题:

三维数组Array (3,3,3)的元素个数为【 】。


正确答案:64
64

第5题:

对于二维数组A[4][4],数组的起始位置LOC(A[0][0])=1000,元素长度为2,则LOC(A[3][3])为()。

A、1000

B、1010

C、1008

D、1020


参考答案:D

第6题:

设有一个二维数组A[1…6,1…4],若数组的起始地址为200,并且数据元素以行序为主序存放在数组中,每个元素占用4个存储单元,那么元素A[3,4]的存储地址为【】。


正确答案:260
A[]是一个二维数组,A[3,4]代表第三行第4个数,前面有二行,第三行有三个元素,所以元素个数为2*6+3=15,15*4=60,所以存储地址为260。

第7题:

若有定义int a[9],+P=a;,则P+5表示( )。A.数组元素a[5]的值B.数组元素a[5]的地址SXB

若有定义int a[9],+P=a;,则P+5表示( )。

A.数组元素a[5]的值

B.数组元素a[5]的地址

C.数组元素a[6]的地址

D.数组元素a[0]的值加上5


正确答案:B
本题考查了通过指针来引用一维数组元素的方法。题中*P=a;这一赋值语句是指针P指向了数组a的首地址,P+5是指针P向后移动了5个int类型的存储单元,所以P+5指向了数组元素a[5]。

第8题:

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


第9题:

以下定义数组或给数组元素赋值的语句中,正确的是

A.Dim a As Variant a=Array(1,2,3,4,5)

B.Dim a (10) As Integer a=Array(1,2,3,4,5)

C.Dim a%(10) a(1)="ABCDE"

D.Dim a (3),b(3) As Integer a(0)=0 a(1)=1 a(2)=2 b=a


正确答案:A
解析:对于一数组,赋值一般可以用For循环来逐一赋值,也可以用Array函数来赋值。Array函数赋值的方法为:数组变量名=Array(表达式,表达式,…)故答案A是正确的。注意,在用Array函数赋值时,数组变量名后面不需要加“()”。选项B的错误在于它首先定义了一个静态数组,然后用Array函数赋值,并且所赋的元素只用5个,少于a数组应有的数组元素个数。选项c的错误在于数据类型不搭配,Dim定义a为%数据类型,而a(1)被赋以字符串数据。选项D中a数组的赋值方法是正确的,但b的赋值不能通过b=a这种方式,可以使用For循环语句来赋值。考生需特别注意。

第10题:

在三维数组array(4,5,6)中共有()个数组元素。

A、120

B、210

C、209

D、211


正确答案:B

更多相关问题