C语言程序设计实例教程(第2版)丁爱萍第6章 数组.ppt

C语言程序设计实例教程(第2版)丁爱萍第6章 数组.ppt

ID:50084369

大小:906.50 KB

页数:124页

时间:2020-03-08

C语言程序设计实例教程(第2版)丁爱萍第6章 数组.ppt_第1页
C语言程序设计实例教程(第2版)丁爱萍第6章 数组.ppt_第2页
C语言程序设计实例教程(第2版)丁爱萍第6章 数组.ppt_第3页
C语言程序设计实例教程(第2版)丁爱萍第6章 数组.ppt_第4页
C语言程序设计实例教程(第2版)丁爱萍第6章 数组.ppt_第5页
资源描述:

《C语言程序设计实例教程(第2版)丁爱萍第6章 数组.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章数组6.1数组和数组单元的基本概念6.2一维数组6.3二维数组6.4字符数组习题66.1数组和数组单元的基本概念在现实生活中,有着各种各样的数据,这些数据在所讨论的问题中可分为两类:一类是仅与其取值有关,而与其所在的位置无关;更常见的另一类是不仅与其取值有关,而且与其所在的位置也密切相关。前面我们所讲过的变量都是简单变量,如a、I、x等,并可以给简单变量一个某种数据类型的数值,各个简单变量是各自独立的,与其所在的位置无关。利用简单变量可以解决不少问题,但是,如果在程序设计中仅使用简单变量,势必受到简单变量单独性和无序性的限制,而难于或无力解决那些数据不仅

2、与取值有关,而且与其所在位置也有关的较复杂的问题,如体育比赛的成绩,就隐含着名次和成绩。要想方便地解决这类问题,通常要借助功能更强的变量——下标变量,即数组结构。1.数组数组是一种最简单实用的数据结构。所谓数据结构,就是将多个变量(数据)人为地组成一定的结构,以便于处理大批量、相对有一定内在联系的数据。例如,某班有40名学生,考8门课程,现要求将所有考试成绩保存起来以供处理:显示、求总分、求每门课程的平均分、排名次等。很显然,对这320个原始数据用简单变量来存放,并进行相应的处理是不现实的,必须采用一种新的结构,即数组。在C语言中,为了确定各数据与数组中每一单

3、元的一一对应关系,必须给数组中的这些数编号,即顺序号(用下标来指出顺序号)。因此,可以说,将一组排列有序的、个数有限的变量作为一个整体,用一个统一的名字来表示,则这些有序变量的全体称为数组。或者说,数组是用一个名字代表顺序排列的一组数,顺序号就是下标变量的值。而简单变量是没有序的,无所谓谁先谁后,数组中的单元是有排列顺序的。有序性和无序性就是下标变量和简单变量之间的主要区别。2.数组单元在同一数组中,构成该数组的成员称为数组单元(或数组元素、下标变量)。数组里面的每一个数据用数组单元名来标识。在C语言中,引用数组中的某一单元,要指出数组名和用括号括起来的数组单

4、元在数组中的位置(顺序号)的下标。因此,数组单元又称“带下标的变量”,简称“下标变量”。例如:a[3]代表a数组中顺序号为3的那个单元。x[10]代表x数组中顺序号为10的那个单元。3.数组的维数下标变量中下标的个数称为数组的维数。如果数组中的所有元素,能按行、列顺序排成一行,也就是说,用一个下标便可以确定它们各自所处的位置,这样的数组称为一维数组。因此,一个下标的下标变量构成一维数组。如果数组中的所有元素,能按行、列顺序排成一个矩阵,换句话说,必须用两个下标才能确定它们各自所处的位置,这样的数组称为二维数组。因此,两个下标的下标变量构成二维数组。依次类推,三

5、个下标的下标变量构成三维数组。有多少个下标的下标变量就构成多少维的数组,如四维数组、五维数组等。通常又把二维以上的数组称为多维数组。一般来讲,数组元素下标的个数就是该数组的维数;反之,一个数组的维数一经确定,那么它的元素下标的个数也就随之确定了。例如:a[10]为一维数组x[2,3]为二维数组b[4,5,6]为三维数组6.2一维数组6.2.1一维数组的定义、引用和初始化1.一维数组的定义1)定义一维数组的格式定义一维数组的格式为型标识符数组名[常量表达式],…;例如:inta[10];定义一个数组,数组名为a,有10个元素,每个元素的类型均为int。这10个元

6、素分别是:a[0],a[1],a[2],a[3],a[4],…,a[8],a[9]。注意,下标从0开始,不能使用数组元素a[10]。C编译程序在编译时为a数组分配了10个连续的存储单元,每个单元占用两个字节,其存储情况如图6.1所示。图6.1一维数组的存储对一维数组的使用有以下几点说明。(1)定义一个数组,数组名是标识符,命名规则同标识符命名规则。(2)数组的类型,即数组元素的类型,可以是基本类型(整型、实型和字符型等),也可以是指针类型、结构体类型或共用体类型。(3)定义数组时,必须使用下标常量表达式,可以是常数或符号常量,但是不能是变量。例如,下面写法是错

7、误的。intn;scanf("%d",&n);inta[n];(4)如果定义多个相同类型的数组,则可以使用逗号隔开。例如:inta[10],b[20];(5)C编译器在进行编译时,为数组连续分配地址空间,分配空间的大小为:数组元素占用字节数×数组长度。(6)一定要注意数组名表示数组第一个单元a[0]的地址,也就是数组的首地址。2.一维数组的引用使用数组必须先定义,后引用。C语言规定,不能引用整个数组,只能逐个引用元素。元素引用方式为数组名[下标]下标可以是整型常量或整型表达式,例如:a[3]=a[2]+a[3*2];在引用时应注意以下几点:(1)由于数组元素本

8、身等价于同一类型的一个变量,因此,对变

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。