已知数组中A中,每个元素A(I,J)在存贮时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址SA开始连续按行存贮分配的。试问:A(5,8)的起始地址为()A、SA+141B、SA+180C、SA+222D、SA+225

题目

已知数组中A中,每个元素A(I,J)在存贮时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址SA开始连续按行存贮分配的。试问:A(5,8)的起始地址为()

  • A、SA+141
  • B、SA+180
  • C、SA+222
  • D、SA+225

相似考题
参考答案和解析
正确答案:A
更多“已知数组中A中,每个元素A(I,J)在存贮时要占3个字节,设I从”相关问题
  • 第1题:

    数组A中,每个元素A[I,J]的长度为3个字节,行下标I为1到8,列下标J从1到10。从首地址SA开始连续存放在存储器中,存放该数组至少需要的字节数是(42)。

    A.80

    B.100

    C.240

    D.270


    正确答案:C
    解析:数组中共有80个元素,每个元素A[I,J]的长度为3个字节,所以共需要240个字节来存储该数组。

  • 第2题:

    设数组a[3..16,5..20]的元素以列为主序存放,每个元素占用两个存储单元,数组空间的起始地址为a,则数组元素a[i,j](3≤i≤16,5≤j≤20)的地址计算公式为(49)。

    A.a-144+2i+28j

    B.a-116+2i+28j

    C.a-118+2i+28j

    D.a-146+2i+28j


    正确答案:D
    解析:已知a[3,5]的首地址为a,代入i=3,j=5可得出正确答案。

  • 第3题:

    设数组a[5..20,3..16]的元素以行为主序存放,每个元素占用两个存储单元,则数组元素a[i,j](5≤i≤20,3≤j≤16)的地址计算公式为(108)。

    A.a-146+28i+2j

    B.a-116+28i+2j

    C.a-144+28i+2i

    D.a-118+28i+2j


    正确答案:D
    解析:本题可以用特殊值法:代入a[5,3]的地址(i=5,j=3),只有a-146+28i+2j是正确的。

  • 第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...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:由于每个元素占一个单元,该表达式的值就是偏移量。

  • 第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..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,由于每个元素占一个单元,该表达式的值就是偏移量。

  • 第8题:

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

  • 第9题:

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

  • 第10题:

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

  • 第11题:

    单选题
    已知数组中A中,每个元素A(I,J)在存贮时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址SA开始连续按行存贮分配的。试问:A(5,8)的起始地址为()
    A

    SA+141

    B

    SA+180

    C

    SA+222

    D

    SA+225


    正确答案: D
    解析: 暂无解析

  • 第12题:

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


    正确答案: C
    解析: 暂无解析

  • 第13题:

    设数组a[1..10,5..15]的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](1≤i≤10,5≤j≤15)的地址计算公式为_____ 。

    A.a-204+2i+j

    B.a-204+40i+4j

    C.a-84+i+j

    D.a-64+44i+4j

    A.

    B.

    C.

    D.


    正确答案:D

  • 第14题:

    设有数组A[i][j],数组的每个元素长度为3字节,i的值为8,j的值为10,数组从内存首地址BA开始顺序存放,下标从0开始,当以列为主序存放时,元素A[5][8]的存储首地址为()。

    A.BA+141

    B.BA+180

    C.BA+222

    D.BA+225


    正确答案:A

  • 第15题:

    设数组a[1…10,5…15]的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j(1≤i≤10,5≤j≤15)的地址计算公式为(46)。

    A.a-204+2i+j

    B.a-204+40i+4j

    C.a-84+i+j

    D.a-64+44i+4j


    正确答案:D
    解析:二维数组中的元素可以用两种方式存储:以行为主序(按行存储)或以列为主序(按列存储)。对于一个m行n列的二维数组,当数组元素以行为主序存储时,首先存储第一行的所有元素,第二行的元素存储在第一行的元素之后,第三行的所有元素存储在第二行的元素之后,依次类推,第m行的元素最后存储。每行的元素按列下标次序从低到高依次存储。同理,以列为主序存储时,先存储第一列的元素,然后是第二列的元素,依次类推,最后是第n列的元素。
      对于二维数组a[L1…H1,L2…H2],无论采用哪一种存储方式,都可以采用以下通式计算数组中元素a[i,j]在存储空间中的位置:
      loc(a[i,j])=loc(a[L1,L2])+K*d其中,k表示数组中存储在a[i,j]之前的元素数目;d表示每个数组元素占用的存储单元个数。当数组的元素以列为主序存放时,存储在a[i,j]之前的元素数目k为
      k=(i-L1)*(H2-L2+1)+(j-L2)
      因此对于题目中定义的数组a[l…10,5…15],以行为主序存放时,a[i,j](k≤i≤10, 5≤i≤15)的地址计算公式为
      loc(a[i,j)=loc(a[L1,L2])十((i—1)*11+(j—5))*4=a-64+44i+4j

  • 第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中,每个元素A[I,J]在存储时要占3个字节,设I从1变化到8,J从1变化到10,分配内存时是从地址A开始连续按行存储分配的。试问:A[5,8]的起始地址为(40)。

    A.A+141

    B.A+180

    C.A+222

    D.A+225


    正确答案:A
    解析:根据题意,数组地址A开始连续按行存储分配。1从1变化到8,J从1变化到10,那么A[5,8]是第(5-1)*10+8=48个元素。相对于第一个元素的偏移量是47,每个元素在存储时要占3个字节,所以A[5,8]的起始地址为A+141。

  • 第18题:

    设数组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,由于每个元素占一个单元,该表达式的值就是偏移量。

  • 第19题:

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

  • 第20题:

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

  • 第21题:

    数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为()。


    正确答案:SA+222

  • 第22题:

    单选题
    设二维数组A[0…m-1][0…n-1]按行优先顺序存储在内存中,第一个元素的地址为p,每个元素占k个字节,则元素aij的地址为()。
    A

    p+[i*n+j-1]*k

    B

    p+[(i-1)*n+j-1]*k

    C

    p+[(j-1)*n+i-1]*k

    D

    p+[j*n+i-1]*k


    正确答案: C
    解析: 暂无解析

  • 第23题:

    填空题
    数组A中,每个元素A的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为()。

    正确答案: SA+222
    解析: 暂无解析