- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 数组 课程内容安排(2课时) 数组的概念 数组的声明 数组的初始化 数组的访问 回答问题时间 小结 学习指导 6.1 数组的概念 在实际生活中,经常会遇到对同一性质的数据进行存储和分析的情况,而仅使用先前所学习的基本数据类型来解决这类问题会非常烦琐。 比如要对一个班中50名学生的成绩求平均值,就需要定义50个变量score1, score2, …, score50来保存这50名学生的成绩,然后再通过计算(score1+score2+…+score50)/50得到平均成绩。如果求10000名儿童的平均体重,这种方法的编程工作量就会非常大。 6.1 数组的概念 数组,即由若干同一类型的数据元素构成的有序集合。 数组中所包含的元素个数称为数组的长度。 根据数据的组织形式不同,数组又可以分为一维数组、二维数组、三维数组……。 如果用数组存储每名学生的成绩,就可以采用如图6-1所示的一维数组存储形式。 如果用数组存储每名学生各门课程的成绩,就可以采用如图6-2所示的二维数组存储形式。 如果用数组存储每名学生每一学年各门课程的成绩,就可以采用如图6-3所示的三维数组存储形式。 6.1 数组的概念 6.2 数组的声明 数组本质上是一组变量,即数组的每一个元素都是一个变量。 在使用数组之前,必须先给出数组的声明。 对于一个D维数组来说,其声明的一般形式为: 数据类型 数组名[常量表达式1][常量表达式2]…[常量表达式D]; 同简单变量一样,数据类型可以是int、float等。 数组的命名规则与简单变量的命名规则相同。 中括号中的常量表达式N(N = 1, 2,…, D)为数组的下标,必须是整型常量、符号常量或枚举常量,表示数组在第N维上的长度,数组下标的个数即被称作数组的维数。 6.2 数组的声明 计算机在编译程序时确定数组长度,而变量在运行程序时才会有值,因此,声明数组时必须使用常量表达式指定数组在各维上的长度,而不能使用变量。 有些情况下,需要根据程序运行时用户临时输入的数值来确定数组长度,在后面的章节中会学习到使用堆内存分配方式来解决这类问题。 当前编写程序时如遇到这种情况,可以先定义一个足够大的数组。比如,一个班中的学生人数一般为几十人,则可以定义一个长度为100的数组来存储学生信息,假如该班实际有60名学生,那么就只使用数组的前60个元素,后40个元素空闲不用。 6.2 数组的声明-一维数组 一维数组即下标个数为1的数组,其声明形式为: 数据类型 数组名[常量表达式]; 例如,如果要存储60名学生的成绩,就可以声明一个一维数组: float score[60]; 或 const int size = 60; float score[size]; 该数组的长度为60,共包含60个元素,所以可以用来存储60名学生的成绩。 6.2 数组的声明-一维数组 在声明数组时,要避免以下几个常犯错误: 1.数组的下标必须写在中括号中 float score1(60); // 错误,下标写在了小括号中 2.在声明数组时必须指定长度 float score2[]; // 错误,未写用于指定 数组长度的常量表达式 3.用于指定数组长度的下标必须为常量 int size = 60; float score3[size]; // 错误,用于指定数组长度的表达式必须为常量,不能是变量 6.2 数组的声明-二维数组 二维数组即下标个数为2的数组,其声明形式为: 数据类型 数组名[常量表达式1][常量表达式2]; 例如,如果要存储60名学生3门课程的成绩,就可以声明一个二维数组: float score[60][3]; 或 const int row = 60, col = 3; float score[row][col]; 二维数组可以看做一个二维表(如图6-2所示),因此,通常将数组中的第1个下标(即常量表达式1)称为行下标,第2个下标(即常量表达式2)称为列下标。如score[row][col]中,row为行下标,col为列下标。 6.2 数组的声明-二维数组 数组维数越大,计算机访问数组所花费的时间越多。 在编写程序时,一般不要使用维数过大的数组。 实际上,所有问题都可以用一维数组来解决。 比如,要存储60名学生3门课程的成绩,也可以采用如下形式的一维数组: float score[180]; 该一维数组长度为180,所以可以用来存储60名学生*3门课程=180份成绩信息。 6.3 数组的初始化-一维数组 一维数组初始化的形式为: 数据类型 数组名[常量表达式] = {初值1, 初值2, …, 初值n}; 或 数
文档评论(0)