【计算机二级】2015计算机二级C语言考点之数组

来源:考宝网 发布日期:2015-06-25 点击率: 1213

  【考点1】数组的定义
  数组是一组具有相同类型的数据的集合,这些数据称为数组元素。格式为:类型名 数组名[常量表达式]。数组的所占字节数为元素个数与基类型所占字节数的乘积。
  【考点2】数组的初始化
  第一维长度可以不写,其它维必须写。
  int a[]={1,2};合法,
  int a[][3]={2,3,4};合法,
  int a[2][]={2,3,4};非法。
  数组初始化元素值默认为0,没有初始化元素值为随机。如在int a[5]={0,1,2};中,元素a[4]值为0;而在inta[5];中,元素a[4]值为一个不确定的随机数。
  【考点3】元素的引用
  数组元素的下标从0开始,到数组长度减1结束。所以int a[5];中数组最后一个元素是a[4]。要把数组元素看作一个整体,可以把a[4]当作一个整型变量。
  【考点4】二维数组
  数组a[2][3]={1,2,3,4,5,6};中含6个元素,有2行3列。第一行为a[0]行,第2行为a[1]行,a[0]、a[1]叫行首地址,是地址常量。*(a[0]+1)是第一行第一个元素往后跳一列,即元素a[0][1]值为2,*(a[0]+3)是第一行第一个元素往后跳三个,即元素a[1][0]值为4。
  【考点5】行指针
  是一个指针变量,占四个字节,行指针指向一行连续数据,形式为:int(*p)[2];,p只能存放含有两个整型元素的一维数组的首地址。注意(*p)两边的小括号不能省略,否则就成了指针数组,是若干指针元素的集合。
  【考点6】数组名
  数组名是数组的首地址。数组名不能单独引用,不能通过一个数组名代表全部元素。数组名是地址常量,不能对数组名赋值,所以a++是错误的。但数组名可以作为地址与一个整数相加得到一个新地址。
  【考点7】元素形式的转换
  助记:“脱衣服法则”a[2]变成*(a+2),a[2][3]变成*(a+2)[3]再可变成*(*(a+2)+3)。这个思想很重要!
  二维数组做题目的技巧:
  如果有 a[3][3]={1,2,3,4,5,6,7,8,9}这样的题目。
  步骤一:把他们写成: 第一列 第二列 第三列
  a[0]
  a[1]
  a[2]
  步骤二:这样作题目间很简单:
  *(a[0]+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里就是a[0][1]元素,
  所以是1。
  *(a[1]+2)我们就知道是第二行的第一个元素往后面跳二列。那么这里就是a[1][2]元素,
  所以是 6。
  一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。
  两种重要的数组长度:
  char a[]={‘a’,’b’,’c’}; 数组长度为3,字符串长度不定。Si z e o f(a)为3。
  char a[5]={ ‘a’,’b’,’c’} 数组长度为5,字符串长度3。Si z e of(a)为5。