欢迎您访问四川自考网!网站为考生提供四川自考信息服务,供学习交流使用,非政府官方网站,官方信息以四川省招生考试院(www.eaagz.org.cn)为准 登录 | 网站导航

四川自考网

自考热线:131-9488-3786

自考办电话 | 在线提问 | 公众号

《高级语言程序设计》知识点总结(四)

编辑整理:四川自考网 发表时间:2018-05-23 12:26:55   字体:【 【学历咨询】


立即购买

《自考视频课程》名师讲解,轻松易懂,助您轻松上岸!低至199元/科!

 

  4.1  一维数组

  1.数组的基本概念

  数组是一组同类对象集合的一种表示。在C语言中,数组类型是这样一种数据结构:数组所有元素的数据类型相同,元素个数固定,其元素按顺序存放,每个元素对应一个序号(称为下标),数组元素的下标从0开始顺序编号,各元素按下标存取(引用)。数组元素变量能与相同类型的独立的变量一样使用。引用数组元素变量所需的下标个数由数组的维数决定,数组有一维数组、二维数组或多维数组之分。

  2.一线数组的定义

  一维数组的定义形式为

  类型说明符数组名[常量表达式」;

  例如

  int a[5] ;

  定义一个名为a的数组,它有五个元素,每个元素都是整型。数组定义包含以下几个要点:

  (l)类型说明符用来指明数组元素的类型,同一数组的诸元素,它们的类型是相同的。

  (2)数组是一个变量,与一般变量一样,用标识符命名,数组名遵守标识符的命名规则。

  (3)方括号“[]”是数组的标志,方括号中的常量表达式的值表示数组的元素个数,即数组的长度。例如,int a[5]中的 5表示数组 a有5个元素,下标从0开始,这五个元素分别是:a[0]、a[1]、a[2]、a[3]和a[4].

  (4)常量表达式通常是整型常量、符号常量或sizeof(类型名),以及由它们组成的常量表达式。定义数组大小用常量表达式,就是说数组的大小是固定的,不可以包含引用变量值的表达式来定义数组的大小。

  (5)C语言有一个约定,当数组名单独出现在表达式中时,数组名可以代表为它分配的内存区域的开始地址,即数组中下标为0的元素的地址。在这种情况下,数组名起着一个常量的作用,即a与&a[0]作用一样。如代码scanf(“%d”,&a[0])与 scanf(“%d”,a)都是为数组a的第一个元素输入值。

  3.一维数组的初始化

  可在数组定义同时,给出数组元素的初值。这种表述形式称为数组初始化。数组初始化可用以下几种方法实现:

  (l)数组定义时,顺序列出数组全部元素的初值。例如,

  int d[5]={0,l,2,3,4};

  将数组元素的初值依次写在一对花括弧内。经上面定义和初始化之后,就有d[0]=0.d[l]=l、d[2]=2、d[3]=3、d[4]=4.

  (2)只给数组的前面一部分元素设定初值。例如,

  int e[5]={0,l, 2};

  定义数组e有5个整型元素,其中前三个元素设定了初值,而后两个元素末明确地设定初值。系统约定,当一个数组的部分元素被设定初值后,对于元素为数值型的数组,那些末明确设定初值的元素自动被设定0值。所以数组e的后两个元素的初值为0.但是,当定义数组时,如未对它的元素指定过初值,对于内部的局部数组,则它的元素的值是不确定的。

  (3)当对数组的全部元素都明确设定初值时,可以不指定数组元素的个数。例如,

  int g[]={5,6,7,8,9};

  系统根据初始化的花括号内的初值个数确定数组的元素个数,所以数组g有五个元素。但若提供的初值个数小于数组希望的元素个数时,则方括号中的数组元素个数不能省略。如代码int b[10]={1,2,3,4,5}定义数组 b有10个元素,前五个元素如设定所示,后五个元素都为0.反之,如提供的初值个数超过了数组元素个数,就是一个错误。

  4.一维数组元素的引用

  程序定义了数组后,就可引用数组的元素。引用数组元素的一般形式为

  数组名[下标]

  其中下标可以是整型常量、整型变量或整型表达式。例如,数组a的五个元素可分别用a[0]、a[l]、a[2]、a[3]、a[4]来引用它们。

  设有定义:

  int x[20], i;

  以下代码实现顺序输入数组X的全部元素:

  for(i=0; i<20;i++)

  scanf(“%d”,&x[i]);

  

[1]    

《四川自考报名网》免责声明:

1、由于各方面情况的调整与变化,本网提供的考试信息仅供参考,考试信息以省考试院及院校官方发布的信息为准。

2、本网信息来源为其他媒体的稿件转载,免费转载出于非商业性学习目的,版权归原作者所有,如有内容与版权问题等请与本站联系。联系邮箱:812379481@qq.com。