更多“若有说明int m[3][4]={3,9,7,8.5},(*q)[4];和赋值语句q=m;,则对数组元素m[i][j](其中O<=i< ”相关问题
  • 第1题:

    设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i
    A.(j*m+i)*4
    B.(i*m+j)*4
    C.(j*n+i)*4
    D.(i*n+j)*4

    答案:B
    解析:
    【解析】由于a[i,j](0≤i

  • 第2题:

    若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是()。

    A.m[--i]

    B.m[2*2]

    C.m[m[0]]

    D.m[m[i]]


    C C。【解析】数组的下标是从零开始的。一维数组的一般定义方式为数型说明符数组名[常置表达式],其中“[]”中的内容可以是整型数量,也可以是整型表达式。选项C中,m[0]=5,m[m[o]]=m[5],数组下标越界。

  • 第3题:

    若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m 数组元素的引用中错误的是()。

    A.m[--i]

    B.m[2*2]

    C.m[m[0]]

    D.m[m[i]]


    A 本题考查一维数组的引用。一维数组表示为数组名[下标],下标可以是整型常量或整型表达式,题目中给出的四个选项,在格式上都是正确的。A选项中,首先进行++i运算,运算的结果为5,而该数组初始化后有效取值范围为m[0]~m[4],m[5]不存在,引用错误。B选项引用的是m[2]中的数值3。C选项先计算m[0]中的数据,得到1,随后计算m[1]中的数值,可得2。D选项先计算m[--i],得到m[3]中的数据4,随后计算m[4]中的数值,可得5。

  • 第4题:

    设数组a[0...n-1,0...m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i
    A.(j*m+i)*4
    B.(i*m+j)*4
    C.(j*n+i)*4
    D.(i*n+j)*4

    答案:B
    解析:
    数组元素的存储地址=数组空间首地址+偏移量,其中偏移量的计算方式为排列在所访问元素之前的元素个数乘以每个元素占用的存储单元数。对于元素a[i,j],在按行存储(以行为主序存放)方式下,从第0行和0列开始算起,每一行有m个元素,每一列有n个元素,每个元素占用4个存储单元,在a[i,j]前面已经有i行元素,然后在本行中,前面有j个元素,所以a[i,j]相对于数组空间首地址的偏移量为(i*m+j)*4。

  • 第5题:

    4、若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是()。

    A.m[--i]

    B.m[2*2]

    C.m[m[0]]

    D.m[m[i]]


    -12