itgle.com
更多“设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用1个存储单元,则数组元素a嘶](0<i<n,0<j<m)的存储位置相对于数组空间首地址的偏移量为( )。”相关问题
  • 第1题:

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

  • 第2题:

    ●设数组a[1..m,1..n](m>1,n>2)中的元素以行为主序存放,每个元素占用1个存储单元,则最后一个数组元素a[m,n】相对于数组空间首地址的偏移量为( )。

    A.(m-l)*n+n-l

    B.(m-l)*n

    C.m*(n-l)

    D.m*n


    正确答案:A

  • 第3题:

    ●设有二维数组a[1..m,1..n](2<m<n),其第一个元素为a[1,1],最后一个元素为a[m,n],若数组元素以行为主序存放,每个元素占用k个存储单元(k>1),则元素a[2,2]的存储位置相对于数组空间首地址的偏移量为(35)。

    A.(n+1)*k

    B.n*k+l

    C.(m+1)*k

    D.m*k+l


    正确答案:A

  • 第4题:

    设数组a[1…7,6…10]中的元素以列为主序存放,每个元素占用2个存储单元,则数组元素 a[i,j](1≤i≤7,6≤j≤10)的地址可以表示为(46)。

    A.a-84+i+7j

    B.a-22+5i+j

    C.a-86+i+7j

    D.a-22+i+7j


    正确答案:C
    解析:将数组s视作一个7×5的矩阵,那么元素a[i,j]位于其中第i行第j-5列。以列为主序存放数组元素时,a[i,j]排在第i+(j-5-1)*7位。因此其地址为a+[i+(j-5-1)*7-1]*2=a-86+i+7j。

  • 第5题:

    设数组 A[ 1..m,1...n.] 的每个元素占用 1 个存储单元,对于数组元素 A[i,j] (1≤i≤m≤1≤j≤n),在按行存储方式下,其相对于数组空间首地址的偏移量为( );在按列存储方式下,其相对于数组空间首地址的偏移量为( )。

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


    正确答案:B,D

  • 第6题:

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

  • 第7题:

    设数组A[1..m,1..n]的每个元素占用1个存储单元,对于数组元素A[i,j](1≤i≤m,1≤j≤n),在按行存储方式下,其相对于数组空间首地址的偏移量为(请作答此空);在按列存储方式下,其相对于数组空间首地址的偏移量为( )。

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

    答案:B
    解析:
    本题考查数据结构基础知识。数组A[1..m,1..n]的元素排列如下。

    解答该问题需先计算排列在a[i,j]之前的元素个数。
    按行方式存储下,元素a[i,j]之前有i-1行,每行n个元素,在第i行上a[i,j]之前有j-1个元素,因此,a[i,j]之前共有(i-1)*n+j-1个元素。
    在按列存储方式下,元素a[i,j]之前有i-1列,每列m个元素,在a[i,j]所在列(即第j列),排在它之前的元素有i-1个,因此,a[i,j]之前共有(i-1)*m+i-1个元素。
    数组中指定元素的存储位置相对于数组空间首地址的偏移量等于k*d,其中k为排在该元素前的元素个数,d为每个元素占用的存储单元数。

  • 第8题:

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

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

    答案:D
    解析:
    本题考查程序语言基础知识。
    存储数组元素时,需要将元素按照某种顺序排列。对于二维及多维数组,则有按行存储和按列存储两种方式,其不同在于同一个元素相对于数组空间起始位置的偏移量不同。本问题中n行m列的二维数组a[1..n,1..m]是按列存储,则对于元素a[i,j]来说,它之前有完整的j-1列、每列n个元素,在第j列上排在a[i,j]之前的元素个数是i-1个,因此排列在a[i,j]之前的元素个数为(j-1)*n+i-1,由于每个元素占一个单元,该表达式的值就是偏移量。

  • 第9题:

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

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

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

  • 第10题:

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

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

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

  • 第11题:

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

  • 第12题:

    单选题
    若二维数组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


    正确答案: A
    解析: 数据arr共M行N列,下标均从1开始。元素arr[i,j]在数据arr的第i行第j列,如果数组元素按列存储,则1~j-1列共有(j-1)*M个元素,a[i,j]之前共(j-1)*M+i-1个元素,元素arr[i,j]在该数组空间的地址为base+((j-1)*M+i-1)*K。

  • 第13题:

    设数组a[1..3,1..4]中的元素以列为主序存放,每个元素占用1个存储单元,则数组元素 a[2,3]相对于数组空间首地址的偏移量为______。

    A.6

    B.7

    C.8

    D.9


    正确答案:B
    解析:当数组元素以列为主序存储时,首先存储第1列的所有元素,然后存储第2列的所有元素,再存储第3列的所有元素,以此类推,最后存储最后一列的所有元素。数组元素a[2,3]表示是在第3行的第2个元素。所以,根据以列为主序存储元素的方式,它的位置前有2列元素,再加上两个元素,所以,它的位置为2*3+2=8,相对第一个元素的偏移量为8-1=7。本题正确答案为选项B。

  • 第14题:

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

    A.base+((i-1)*M+j-i)*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

     

  • 第15题:

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

    A.(i+1)*n+j

    B.i*n+j-l

    C.i*m+j

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


    正确答案:B
    解析:因为是按行存储,所以是i×n,又因为列是从1开始,所以是j-1。最终答案为i*n+j-l。

  • 第16题:

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

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


    正确答案:B

  • 第17题:

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

    A.(i-l)*m+j-l

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

    C.O-l)*m+i-l

    D.(j-l)*n+i-l


    正确答案:D
    本题考查程序语言基础知识。存储数组元素时,需要将元素按照某种顺序排列。对于二维及多维数组,则有按行存储和按列存储两种方式,其不同在于同一个元素相对于数组空间起始位置的偏移量不同。本问题中n行m列的二维数组a[1...n,1..m]是按列存储,则对于元素a[ij]来说,它之前有完整的j一1列、每列n个元素,在第j列上排在a[ij]之前的元素个数是j-1个,因此排列在a[ij]之前的元素个数为(j-l)*n+i-l:由于每个元素占一个单元,该表达式的值就是偏移量。

  • 第18题:

    设数组A[1..m,1..n]的每个元素占用1个存储单元,对于数组元素A[i,j](1≤i≤m,1≤j≤n),在按行存储方式下,其相对于数组空间首地址的偏移量为( );在按列存储方式下,其相对于数组空间首地址的偏移量为(请作答此空)。

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

    答案:D
    解析:
    本题考查数据结构基础知识。数组A[1..m,1..n]的元素排列如下。

    解答该问题需先计算排列在a[i,j]之前的元素个数。
    按行方式存储下,元素a[i,j]之前有i-1行,每行n个元素,在第i行上a[i,j]之前有j-1个元素,因此,a[i,j]之前共有(i-1)*n+j-1个元素。
    在按列存储方式下,元素a[i,j]之前有i-1列,每列m个元素,在a[i,j]所在列(即第j列),排在它之前的元素有i-1个,因此,a[i,j]之前共有(i-1)*m+i-1个元素。
    数组中指定元素的存储位置相对于数组空间首地址的偏移量等于k*d,其中k为排在该元素前的元素个数,d为每个元素占用的存储单元数。

  • 第19题:

    设数组a[1..m,1..n](m>1,n>1)中的元素按行存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤m,1≤j≤n)相对于数组首元素的偏移量为( )。

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

    答案:B
    解析:
    存储数组元素时,需要将元素按照某种顺序排列。对于二维及多维数组,则有按行存储和按列存储两种方式,其不同在于同一个元素相对于数组空间起始位置的偏移量不同。本问题中 n 行 m 列的二维数组 a[1..m,1..n]是按行存储,则对于元素 a[i,j]来说,它之前有完整的 i-1 列、每行n 个元素,在第 i行上排在 a[i,j]之前的元素个数是 j-1 个,因此排列在a[i,j]之前的元素个数为 (i-1)*n+j-1,由于每个元素占一个单元,该表达式的值就是偏移量。

  • 第20题:

    设数组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行且每行有m个元素(行下标为0,1,…,i-1),即i*m个,行下标为i时,排列在a[i,j]切之前的元素有a[i,0],a[i,1],…,a[i,j-1],即j个,所以一共有i*m+j个元素排在a[i,j]之前,因此该元素的存储位置相对于数组空间首地址的偏移量为(i*m+j)*4。

  • 第21题:

    若二维数组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
    解析:

  • 第22题:

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

  • 第23题:

    已知二维数组A[m][n]采用行序为主方式存储,每个元素占k个存储单元,并且第一个元素的存储地址是LOC(A[0][0]),则A[i][j]的地址是()。


    正确答案:Loc(A[0][0])+(i*N+j)*k