假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在0~N之间。()

题目
假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在0~N之间。()

A

B

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

第1题:

假定二维数组的定义为“char a[M][N];”,则该数组所含元素的个数为M+N。()

此题为判断题(对,错)。


答案:错 

第2题:

设二维数组A[1..m,1..n](即m行n列)按行存储在数组B[1..m*n]中,则二维数组元素A[i,j]在一维数组B中的下标为()。

A.(i-1)*n+j

B、(i-1)*n+j-1

C.i*(j-1)

D、j*m+i-1


参考答案:A
解释:特殊值法。取i=j=1,易知A[1,1]的的下标为1,四个选项中仅有A选项能确定的值为1,故选A。

第3题:

假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在0~N之间。()

此题为判断题(对,错)。


答案:错 

第4题:

设数组a[0..n-l,O..m-l] (n>l,m>l)中的元素以行为主序存放,每个元素占用1个 存储单元,则数组元素a[ij](0<i<n,0<j<m)的存储位置相对于数组空间首地址的偏移量为(35)。

A.j*m+i

B.i*m+j

C.j*n+i

D.i*n+i


正确答案:B
本题考查程序语言基础知识。对于元素a[ij]按行存储方式下,其前面共有i行(行下标为0至行下标为i-l)、每行m个元素,合计i*m个元素。数组a中行下标为i的元素有a[i,0],a[i,l]....a[i,j-1],a[i,j]....a[i,m-1],显然在该序列中,a[ij]之前有j个元素,因此,数组元素a[i.i](0in,0jm)之前共有i*m+j个元素,由于每个占用1个存储单元,故该元素的存储位置相对于数组空间首地址的偏移量为i*m+j。

第5题:

假定二维数组的定义语句为“doublea[M][N];”,则每个数组元素的列下标取值范围在0~N-1之间。()

此题为判断题(对,错)。


正确答案:√

第6题:

设二维数组A[1...m,1...n]按行存储在数组B中,则二维数组元素A[i,j]在一维数组B中的下标为()。

A.n*(i-1)+j

B.n*(i-1)+j-1

C.i*(j-1)

D.j*m+i-1


正确答案:A

第7题:

假定二维数组的定义为“char a[M][N];”,则该数组共包含有___个字符

元素。


参考答案M*N

第8题:

假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在0~M-1之间。 ()

此题为判断题(对,错)。


答案:对

第9题:

●设下三角矩阵(上三角部分的元素值都为 0)A[0..n,0..n]如下所示,将该三角矩阵的所有非零元素(即行下标不小于列下标的元素)按行优先压缩存储在容量足够大的数组M[ ]中(下标从1 开始),则元素 A[I,j](O≤i≤n,j≤i)存储在数组M 的 (57) 中。


正确答案:A
试题(57)分析本题考查数组存储的基础知识。按行方式存储时,元素A[i,j]之前的元素个数为(1+2+…+i+j),由于数组M的下标从1开始,因此,存储A[i,j]的是M[1+2+…+i+j+1],即M[i(i+1)/2+j+1]。参考答案(57)A

第10题:

设数组a[0..n-1,0..m-1](n>0,m>0)中的元素以列为主序存放,每个元素占用1个存储单元,则数组元素a[i,j](0≤i≤n-1,0≤j≤m-1)相对于数组空间首地址的偏移量为( )。

A.i*m+j
B.(i-1)*n+j-1
C.j*n+i
D.(j-1)*n+i-1

答案:C
解析:
数组a[0..n-1,0..m-1](n>0,m>0)表示有n行m列,数组元素的存储地址=数组空间首地址+偏移量。其中偏移量的计算方式为排列在所访问元素之前的元素个数乘以每个元素占用的存储单元数。对于元素a[i,j],在按列存储(以列为主序存放)方式下,该元素之前有j列完整(因为首列编号为0)的元素,每一列n个元素,在第j列之前有i个元素(因为首行编号为0),所以偏移量为j*n+i。

更多相关问题