免费智能真题库 > 历年试卷 > 嵌入式系统设计师 > 2011年下半年 嵌入式系统设计师 上午试卷 综合知识
  第21题      
  知识点:   数组   列存储
  关键词:   存储单元   二维数组   数组        章/节:   嵌入式系统程序设计       

 
若二维数组arr[l1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arrn[i,j]该数组空间的地址为(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

 
 
 

 
  第59题    2010年下半年  
   73%
下面程序运行后的输出结果是(59)。

  第61题    2017年下半年  
   69%
执行下面的一段C程序后,变量ret的值为(61)。
char str[20];
int ret=strlen(strcpy(str,”Hello_World”)..
  第51题    2011年下半年  
   59%
在C语言中,若函数调用时实参是数组名,则传递给对应形参的是(51)。
   知识点讲解    
   · 数组    · 列存储
 
       数组
        数组是一种集合数据类型,它由多个元素组成,每个元素都有相同的数据类型,占有相同大小的存储单元,且在内存中连续存放。每个数组有一个名字,数组中的每个元素有一个序号(称为下标),表示元素在数组中的位序(位置),数组的维数和大小在定义数组时确定,程序运行时不能改变。
        一维数组的定义形式为:
        
        其中,“类型说明符”指定数组元素的类型;“数组名”的命名规则与变量相同;“常量表达式”的值表示数组元素的个数,必须是一个正整数。例如:
        
        在C程序中,数组元素的下标总是从0开始的,如果一个数组有n个元素,则第一个元素的下标是0,最后一个元素的下标是n-1。例如,在上面定义的temp数组中,第一个元素是temp[0],第二个元素是temp[1],以此类推,最后一个元素是temp[99]。访问数组元素的方法是通过数组名及数组名后的方括号中的下标。例如:
        
        程序员需确保访问数组元素时下标的有效性,访问一个不存在的数组元素(例如temp[100]),可能会导致严重的错误。
        定义数组时就给出数组元素的初值,称之为初始化,数组的初始化与简单变量的初始化类似。初值放在一对花括号中,各初值之间用逗号隔开,称为初始化表。例如:
        
        对于没有给出数组元素个数而给出了初始化表的数组定义,编译器会根据初值的个数和类型,为数组分配相应大小的内存空间。初始化表中值的个数必须小于或等于数组元素的个数。
        对于“int primes[10]={1,2,3,5,7};”,前5个数组元素的初值分别为1,2,3,5,7,后5个元素的初值都为0。
        二维数组可视为是一个矩阵,定义形式为:
        
        其中,“类型说明符”指定数组元素的类型,“常量表达式1”指定行数,“常量表达式2”指定列数。例如,可以定义一个二维数组:
        
        这个数组在内存中占用能存放12个double型数据且地址连续的存储单元。
        C语言中二维数组在内存中按行顺序存放。
        可以用sizeof计算数组空间的大小,即字节数。例如,
        
        二维数组可以看作元素是一维数组的一维数组,三维数组可看作元素是二维数组的一维数组,以此类推。
 
       列存储
        传统的关系型数据库都是以行为单位来进行数据的存储的,擅长进行以行为单位的数据处理,比如特定条件数据的获取。因此,关系型数据库也被称为面向行的数据库。相反,面向列的数据库是以列作为单位来进行数据的存储的,擅长进行以列为单位的数据处理。下表所示为面向行和面向列的数据库的比较。
        
        面向行和面向列的数据库比较
        面向列的数据库具有高扩展性,即使数据增加也不会降低相应的处理速度,所有它主要应用于需要处理大量数据的情况。另外,利用面向列的数据库的优势,把它作为批处理程序的存储器来对大量数据进行更新也是非常有用的。
        列存储数据库,主要产品有Google的Bigtable、由Bigtable衍生的Hypertable和HBase、Cassandra这几个数据库。
   题号导航      2011年下半年 嵌入式系统设计师 上午试卷 综合知识   本试卷我的完整做题情况  
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 /
 
第21题    在手机中做本题