- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 数组 本章学习重点 了解数组的概念 了解字符串的概念 掌握数组的常规操作,定义、引用、初始化 掌握数组和字符串的联系和区别 掌握使用数组解决简单问题 4.1 一维数组 4.1.1一维数组的定义和引用 4.1.2 一数组元素的赋值 4.1.3 一维数组的应用举例 4.1.1一维数组的定义和引用 当数组中每个数组元素的只有一个下标时,称这种数组为一维数组。数组同变量一样,也必须先定义、后使用。在C语言中,定义一维数组的一般形式为: 类型名 数组名[常量表达式],……; 其中,类型说明符是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。 方括号中的常量表达式表示数据元素的个数,也称为数组的长度。 例如:int a[8]; 在这里,int是类型说明符,a[8]就是一维数组说明符。通过以上语句可以得到以下几点: 1.定义了一个名为a的一维数组。 2.方括号中的8规定了数组a中有8个数组元素,他们分别是a[0] ,a[1] ,a[2] ,…,a[7]。 3.类型名int说明a数组中的8个数组元素都是整型,在每个数组元素中只能存放整型数据。 4.每个元素只有一个下标,数组元素的下标是元素相对于数组起始地址的偏移量,在C语言中数组的第一个元素的下标为0,也称为数组下标的下界;数组的下标也有一个上界,也就是最后一个元素的下标,在本例中a数组的最后一个元素的下标为7。 5.C语言的编译系统将为a数组在内存中开辟一段连续的存储单元,如图4.1所示。在图中标明了每个存储单元的名字,可以用该名字直接引用每个存储单元。a数组在内存中一共分配了8个int型的存储单元,而每个int型数据占用2个字节,所以,a数组一共占用了16个字节的连续存储单元。 6.数组名中存放的是一个地址常量,它代表整个数组的首地址。同一数组中的所有元素,按其下标的顺序占用一段连续的存储单元,如图所示。 数组类型说明注意(1) 1.数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。例如上例中8个数组元素都是int型的。 2.数组名的命名规则应符合标识符的命名规定。 3.数组名不能与其它变量名相同。 例如: int a; float a[10]; 这是错误的,定义了整型变量a,就不能又定义一个相同名称的数组变量a[10]。 数组类型说明注意(2) 4.在方括号中可以用符号常数或常量表达式来表示数组元素的个数, 但是不能用变量来表示元素的个数。 5.允许在同一个类型说明中,说明多个数组和多个变量,中间用逗号隔开。 例如: int a,b,c,x[5],y[8]; 以上语句定义了3个整型变量a,b,c和2个整型数组x,y,其中x数组包含5个元素,数组上标为4;y数组包含8个元素,数组上标为7。 6.数组名后是方括号([ ],不能用圆括号)。 7.方括号中常量表达式表示数组中元素的个数,即数组的长度,例如a[20]表示数组a共有20个元素:a[0],a[1],a[2],…,a[18],a[19]。请注意,元素编号总是从0开始,直到n-l为止,因此,不能使用a[20]。 一维数组的引用 引用数组中的任意一个元素的形式: 数组名[下标表达式] 例如,若有以下定义语句: double a[8]; 则a[0],a[i],a[i+k]都是对数组a中的元素的合法引用形式;其中0,i和i+k称为下标表表达式,由于定义了a数组有8个元素,因此下标表表达式的值必须大于等于0,并且小于8。注意:在数组元素a[i+k]中,i+k只是一个下标表表达式,不能认为是i和k两个下标。 数组的引用注意 1.“下标表达式”可以是任何非负整型数据,如果为小数时,C编译将自动取整。取值范围是0到n-1(n是元素个数)。 在运行C语言程序过程中,系统并不自动检验数组元素的下标是否越界,允许数组下标越界。如果下标表表达式的值越界可能破坏了其他存储单元中的数据,甚至破坏了程序代码。因此在编写程序时,保证数组下标不越界是十分重要的。 2.一个数组元素,实质上就是一个变量,它具有和相同类型单个变量一样的属性,可以对它进行赋值和参与各种运算。 3.在C语言中,数组作为一个整体,不能参加数据运算,只能对单个的元素进行处理。例如上面定义的数组a,不能用a代表a[0]到a[7]这8个元素。 当系统为所定义的数组在内存中开辟一段连续的存储单元时,这些存储单元中并没有确定的值;可以采用以下形式对一维数组进行初始化赋值: 4.1.2 一数组元素的赋值 类型名 数组名[常量表达式]={初值表} 例如: int a[8]={5,4,8,9,2,6,7,1}; 所赋的初值放在赋值号的后面的一对花括号中,数值型必须与所说明的类型一致,所赋初值之间用逗号隔开,系统将
文档评论(0)