第六节.数组.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章学习目标 迄今为止,我们使用的都是属于基本类型(整型、字符型、实型)的数据,C语言还提供了构造类型的数据,包括数组类型、结构体类型、共用体类型。基本类型数据按一定规则组成了构造类型数据。通过本章的学习,读者应该掌握以下内容: 一维数组 二维数组 字符数组 多维数组 6.1.1 相关知识 数组是一种十分有用的数据结构,许多问题不用数组几乎难以解决。一维数组是数组应用的基础。 数组是同一数据类型的有序数据的集合。构成数组的单元称为数组元素,数组元素的序号称为下标。C语言中数组的下标从0开始计数,最大下标比数组元素个数少1。比如数组a有5个整数元素,a[0]是它的第0号元素(第1个元素),a[4]是它的第4号元素(第5个元素),它在内存中 的形式如图6-1所示。 数组名a[0]1(数组中所有a[1]34元素都有相a[2]-5同的名字)a[3]67a[4]9↑数组中元素的序号 图6-1 数组在内存中的形式 数组元素的序号用方括号括起来。方括号又被称为下标运算符,具有最高的优先级。下标必须是一个整数,如a[2],或一个整型表达式,如i=1,j=2,则a[i+j]就表示a[3]。 带下标的数组名在这里就相当于该类型的一个变量,因此可以作为赋值语句的左值,如a[4]+=3;数组的维数是数组元素下标的个数。根据数组的维数可以将数组分为一维、二维、三维、多维数组。 6.1.2 程序范例 通过下例程序学习一维数组变量的定义、初始化、引用。 1.范例一 任务:定义一个数组,使a[0]到a[7]的值为0~7,然后输出。 源程序: #include stdio.h main() { int i,a[8]; /*一维数组的定义*/ for(i=0;i=7;i++) a[i]=i; /*一维数组的初始化*/ for(i=0;i=7;i++) printf(%d ,a[i]); /*一维数组的引用*/ } 运行结果如下: 0 1 2 3 4 5 6 7 程序说明:上述程序首先定义一个一维数组,再对数组初始化,最后输出一维数组。 2.范例二 任务:定义一个数组,使a[0]到a[9]的值为1、3、5…19,然后按逆序输出。 源程序: #include stdio.h main() { int i,a[10]; for(i=0;i=9;i++) a[i]=1+2*i; for(i=9;i=0;i--) printf(%d ,a[i]); } 运行输出: 19 17 15 13 11 9 7 5 3 1 程序说明:程序定义整型数组a,有10个元素,通过for循环对数组元素赋以连续的奇数值:1,3,5,…,19,然后以反序输出。在第一个for循环头的第二个表达式中写上数组的最大下标可以预防“丢一错误”,即最好写成i=9或i10,而不要写成i9这种形式。 6.1.3 知识归纳 1.一维数组的定义(先定义后使用) 数组要占用内存空间,只有在声明数组元素的类型和个数之后编译器才能为该数组分配合适的内存,这种声明就是数组的定义。一维数组中的各个数组元素是排成一行的一组下标变量,用一个统一的数组名来标识,用一个下标来指示其在数组中的位置,下标从0开始。一维数组通常和一重循环相配合,对数组元素进行处理。 对一维数组来说,其定义的一般形式为: 类型标识符数组名[整型常量表达式] 其中,类型标识符指数组元素的类型;数组名是个标识符,是数组类型变量;整型常量表达式表示该数组的大小,应该大于0。 例如语句:int a[10]; 定义了一个数组a,a是有10个整型元素的数组名,元素个数为10,数组元素类型为整型。 说明: (1)数组名:按标识符规则。本例a就是数组名。 (2)整型常量表达式:表示数组元素个数(数组的长度)。可以是整型常量或符号常量,不允许用变量。整型常量表达式在说明数组元素个数的同时也确定了数组元素下标的范围,下标从0开始~整型常量表达式-1(注意不是1~整型常量表达式)。C语言不检查数组下标越界,但是使用时,一般不能越界使用,否则结果难以预料(覆盖程序区—程序飞出,覆盖数据区—数据覆盖破坏,操作 系统被破坏,系统崩溃)。本例数组元素个数是10个,下标为0~9。 (3)类型说明:指的是数据元素的类型,可以是基本数据类型,也可以是构造数据类型。类型说明确定了每个数据占用的内存字节数。在16位操作系统下,比如整型2字节,实型4字节,双精度8字节,字符1字节。本例数组元素是整型,每个元素占2个字节,因为有10个数组元素,所以占用20字节。 (4)C编译程序为数组分配了一片连续的空间。 (5)C语言还

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档