等级考试二级C 考点分析之数组、指针与引用

文章作者 100test 发表时间 2007:03:10 17:03:49
来源 100Test.Com百考试题网


4.1 数组
考点1 数组的概念
  数组是一种用一个名字来标识一组有序且类型相同的数据组成的派生数据类型,它占有一段连续的内存空间,数组的特征是(1)数组名;(2)数组各元素的类型;(3)维数(即标识数组元素所需的下标个数);(4)数组大小(即可容纳数组元素的个数)。
小提示:
  使用数组之前必须用声明语句指明数组的上述4个特征。
考点2 一维数组
  1. 一维数组的定义
  一维数组也称向量,它是由具有一个下标的数组元素组成的数组,它的定义形式为:
类型 数组名[大小];
  其中,方括号为下标运算符,具有最高优先级和从右向左结合性。
  2. 一维数组的初始化
  与其他的基本数据类型一样,数组也可以在定义的同时对数组各元素初始化,初始化表达式按元素顺序依次写在一对花括号内。花括号中的数组元素之间以逗号分隔。初始化时可以不指定数组的大小,编译器会根据初始化列表来确定数组的大小。但只给出部分元素初始化时,就要指定数组大小。
小提示:
  只将部分元素初始化后,其他元素的初始化值隐含地为0。
3. 访问数组元素
  访问数组元素的语法格式为:
   <数组名>「<表达式>〕
  其中,<表达式>是非负的整型表达式,也就是数组的下标,数组下标是用来指定所要访问的数组中的元素位置。注意:数组下标是从0开始的。
考点3 二维数组
  二维数组也称二级向量,我们可以把二维数组看做一个其元素为一维数组的一维数组。
  定义二维数组的一般格式为:
<数据类型><数组名>[m][n];
  二维数组中的每个元素要用两个下标来表示,前一个为行下标,后一个为列下标。因此,规定[m]表示二维数组的行下标的大小,[n]表示二维数组的列下标的大小。
  二维数组元素的表示方法为:
  <数组名>[<下标1>][<下标2>];
  其中,这两个下标的取值范围都是从0开始,而不是从1开始的。
  与一维数组一样,二维数组也可在定义的同时进行初始化,方法也是类似的。举例如下:
int a[2][2]={{1,1},{3,2}};
  但需要注意的是,如果对全部元素赋初值,一维数组能根据赋的初值的个数自动计数以确定数组的大小,所以定义的时候可不指定第一维的大小,但第二维的大小是不可以省略的。
小提示:
  在C 中,二维数组在计算机中的存储顺序是安排好行顺序存储的,就是先存储第1行,然后再存储第2行,依次类推。
考点4 多维数组
  由一维和二维数组的定义类推可以推得多维数组就是多级向量,它的元素要用数组名加n个下标来标识。多维数组的大小为各维大小的乘积。若将多维数组作为函数的形参时,可以不指定第一维的大小,但其他维的大小一定要指定。多维数组只可以作为引用参数传递给函数,且函数的返回值不可以是数组类型。
考点5 字符数组
  1. 字符数组的概念
  字符数组就是一个字符类型的数组,其中每一个元素存放一个字符。字符数组也称字符串。C 规定,字符数组的最后一个元素一定是’\0’。例如,字符数组存储字符串:" Hello!world. "的语句形式为:char str[]=" Hello!world";但系统会自动在其末尾加一个空白字符’\0’。也就是说字符数组存储一个字符串比实际使用的字符串要多一个字节。
  2. 常用字符串函数
  C 提供了一系列字符串处理函数,这些函数都包含在cstring头文件中。常用的C 字符串处理函数如下。
   (1)strcat字符串1,字符串2)。此函数是字符串连接函数,它的功能是把两个字符串连接起来。具体方法是把字符串2连接到字符串1的末端,并将结果存放到字符串1中。注意:存放结果字符串的数组的空间要确保足够大。
小提示:
  两个字符串连接后,前一个数组最后的字符’\0’就消失了。
   (2) strcpy(字符串1,字符串2)。此函数是字符拷贝函数,它的功能是把一个字符串中的字符拷贝到另一个字符串变量中。具体方法是把字符串2中的字符拷贝到字符串1中。注意:要确保存放结果的字符串1的空间足够大。
  (3) strcmp(字符串1,字符串2)。此函数是字符串比较函数,它是用来比较字符串的。比较方法是:若两个字符串相等(匹配),返回0(“假”);若字符串1在字典顺序上比字符串2大,则返回一个正数;若字符l在字典顺序上比字符串2小,则返回一个负数。  
  (4) strlen(字符串)。此函数是字符串长度函数,它的功能是求字符串的长度。函数的值为字符串中不计’\0’的字符的个数。
  (5) strstr(字符串1,字符串2)。此函数是字符串查找函数.它的功能是在一个字符串中查找子串。查找方法是在字符串1中从左边开始查找字符串2,若查找成功,返回字符串2在字符串1中第一次出现的位置则返回NULL,若字符串2为" ",则返回字符串1。

相关文章


计算机等级考试二级C语言模拟试题(1)答案
计算机等级考试二级C语言模拟试题(2)
等级考试二级C 考点分析之数组、指针与引用
计算机等级考试二级C 考点分析之继承和派生
计算机等级考试二级C语言模拟试题(1)
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛