更多“设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为( )。A.P+i*2 ”相关问题
  • 第1题:

    数组A中每个元素A[i,j]的长度为2,行下标为1到8,列下标为1到10。数组首地址为S,若数组按行存放,则A[7,5]的首地址为

    A.S+128

    B.S+64

    C.S+150

    D.S+92


    正确答案:A

  • 第2题:

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

    A.6

    B.7

    C.8

    D.9


    正确答案:B
    解析:二维数组中的元素可以用两种方式存储:以行为主序(按行存储)或以列为主序(按列存储)。刘于一个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=(j-L2)*(H1-L1+1)+(i-L1)
      因此对于题目中定义的数组a[1..3,1..4],以行为主序存放时,a[i,j]((1≤i≤3,1≤j≤4)的地址计算公式为
              loc(a[i,j])=loc(a[1,1])+((j-1)*3+(i-1))*1=a-4+i+3j
      因此,loc(a[2,3])=a-4+2+3×3=a+7。

  • 第3题:

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

    A.BA+141

    B、BA+180

    C、BA+222

    D、BA+225


    参考答案:B
    解释:以列序为主,则LOC[5,8]=[(8-1)*8+(5-1)]*3+BA=BA+180。

  • 第4题:

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

  • 第5题:

    设数组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可得出正确答案。

  • 第6题:

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

  • 第7题:

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

  • 第8题:

    假定a为一个整型数组名,则元素a[4]的地址比该数组的首地址大()个字节。

    A4

    B8

    C16

    D32


    C

  • 第9题:

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


    正确答案:SA+222

  • 第10题:

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

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

    正确答案:C

  • 第11题:

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

    BA+141

    B

    BA+180

    C

    BA+222

    D

    BA+225


    正确答案: A
    解析:

  • 第12题:

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

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

  • 第13题:

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


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

  • 第14题:

    数组A中,每个元素A[i,j]的长度均为32个二进位,行下标从-1到9,列下标从1到11,从首地址S开始连续存放主存储器中,主存储器字长为16位。求: ① 存放该数组所需多少单元? ② 存放数组第4列所有元素至少需多少单元? ③ 数组按行存放时,元素A[7,4]的起始地址是多少? ④ 数组按列存放时,元素A[4,7]的起始地址是多少?


    参考答案:
      每个元素32个二进制位,主存字长16位,故每个元素占2个字长,行下标可平移至1到11。
       1、242 2、22 3、s+182 4、s+142

  • 第15题:

    设矩阵A是一个对称矩阵(aij=aji,1≤i,j≤8),若每个矩阵元素占3个单元,将其上三角部分(包括对角线)按行序为主序存放在数组B中,B的首地址为1000,则矩阵元素a67的地址为(36)。

    A.1093

    B.1096

    C.1108

    D.1132


    正确答案:A
    解析:本题考查矩阵在数组中存储位置的计算。已知条件告诉我们,矩阵A是一个对称矩阵,现在要将其上三角部分(包括对角线)按行序为主序存放在数组B中,再由1≤i,j≤8可以知道该矩阵是8列的矩阵,那么其上三角部分从上到下每行的元素个数从8个依次递减,矩阵元素a67表示矩阵中第6行第7列的元素,这个元素在上三角部分中,是第6行中第2个元素,而这个元素的前面应该存储了31个元素(8+7+6+5+4+1=31),又由于每个矩阵元素占3个单元,所以矩阵元素a67的地址为1000+31×3=1093。

  • 第16题:

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

    A.6

    B.7

    C.8

    D.9

    A.

    B.

    C.

    D.


    正确答案:B
    解析:二维数组可以按照两种方式存储:以行为主序或以列为主序。以行为主序存储时,先存储第一行的元素,之后存储第二行的元素,之后第三行,以此类推。以列为主序时情况相似,先存储第一列的元素,再第二列,再第三列……。题目中数组以列为主序存储,a[2,3]在第二行,第一行有4个元素,第二行a[2,3]前有a[2,1],a[2,2],所以a[2,3]相对于首地址偏移了7。

  • 第17题:

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

    A.SA+292

    B.SA+296

    C.SA+300

    D.304


    正确答案:B

  • 第18题:

    设数组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是正确的。

  • 第19题:

    设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。A.P+i*2

    设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。

    A.P+i*2

    B.P+(i-1)*2

    C.P+(i-1)

    D.P+i


    正确答案:B

  • 第20题:

    在数组中,数组名表示()。

    • A、数组第一个元素的首地址
    • B、数组第二个元素的首地址
    • C、数组所有元素的首地址
    • D、数组最后一个元素的首地址

    正确答案:A

  • 第21题:

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

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

    正确答案:C

  • 第22题:

    单选题
    假定a为一个整型数组名,则元素a[4]的地址比该数组的首地址大()个字节。
    A

    4

    B

    8

    C

    16

    D

    32


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

  • 第23题:

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

    BA+141

    B

    BA+180

    C

    BA+222

    D

    BA+225


    正确答案: C
    解析: 以列序为主,则LOC[5,8]=[(8-1)*8+(5-1)]*3+BA=BA+180。