免费智能真题库 > 历年试卷 > 程序员 > 2015年下半年 程序员 上午试卷 综合知识
  第34题      
  知识点:   数组的特征
  章/节:   常用数据结构       

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

 
  第37题    2010年下半年  
   55%
下三角矩阵A[0..8,0..8]如下所示,若将其下三角元素(即行下标不小于列下标的所有元素)按列压缩存储在数组M[0..m]中,即A[0,0]存..
  第38题    2017年上半年  
   34%
在C程序中有一个二维数组A[7][8],每个数组元素用相邻的 8个字节存储,那么存储该数组需要的字节数为( )。
  第35题    2018年上半年  
   56%
设数组a[1..m,1..n](m>1,n>1)中的元素按行存放,每个元素占用1个存储单元,则数组元素a[i,j](1≤i≤m,1≤j≤n)相..
   知识点讲解    
   · 数组的特征
 
       数组的特征
        数组是一组具有相同类型的变量,其中各个元素共用一个数组名,但是用不同的下标来访问(引用)。如int a[6];说明了一个一维整型数组a,其中各个整型元素组成了一个向量:a[0], a[1], a[2], a[3], a[4], a[5]。
        数组还可以是多维数组,但二维以上的多维数组不是线性结构。
        n维数组是一维数组(向量)的推广。二维数组(也叫矩阵)可看作其元素是一维数组的一维数组(线性表、向量),n维数组可看作其元素是n-1维数组的一维数组(线性表、向量)。n维数组的每个元素处于n个向量中,有n个前驱,也有n个后继。
        对二维数组来说,给定维数和下标,如何得到数组元素存储位置?设每个数组占用L个内存单元,则二维数组Amn按行优先顺序(下标从0开始),aij的地址为:
        LOC(i, j)=LOC(0, 0)+(i*n+j)*L
        二维数组Amn按列优先顺序(下标从0开始),aij的地址为:
        LOC(i,j)=LOC(0, 0)+(j*m+i)*L
        对n维数组而言,一旦规定了数组的维数和各维的上下界限,便可为它分配存储空间;反之,只要给出一组下标便可求得相应数组元素的存储位置。以行序为例,设每个数据元素占L个存储单元,则n维数组任意元素的存储位置为:
        
        其中,
        Cn=L,Ci-1=bi×ci, 1<in
        在C语言中,二维数组是按行优先存储的,数组float a[4][5];的存储顺序为a[0][0], a[0][1], …, a[0][4], …, a[3][0], …, a[3][4], a[2][3]的地址为S+(2×5+3)×4=42,其中S为起始地址。
   题号导航      2015年下半年 程序员 上午试卷 综合知识   本试卷我的完整做题情况  
1 /
2 /
3 /
4 /
5 /
6 /
7 /
8 /
9 /
10 /
11 /
12 /
13 /
14 /
15 /
 
16 /
17 /
18 /
19 /
20 /
21 /
22 /
23 /
24 /
25 /
26 /
27 /
28 /
29 /
30 /
 
31 /
32 /
33 /
34 /
35 /
36 /
37 /
38 /
39 /
40 /
41 /
42 /
43 /
44 /
45 /
 
46 /
47 /
48 /
49 /
50 /
51 /
52 /
53 /
54 /
55 /
56 /
57 /
58 /
59 /
60 /
 
61 /
62 /
63 /
64 /
65 /
66 /
67 /
68 /
69 /
70 /
71 /
72 /
73 /
74 /
75 /
 
第34题    在手机中做本题