数组课程内容安排.ppt

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1-* 第8章 数 组 e-mail: 课程内容安排 一维数组 二维数组 多维数组 小结 习题 一维数组 数组是同一数据类型的许多数据元素按某种顺序排列在一起的集合。通过使用数组名和索引就可以访问数组中的任意元素,这为处理统一类型的数据集合提供了极大的便利。C语言中的数组类型可以分为一维数组、二维数组和多维数组。 一维数组是C语言中用来存储和处理一维序列数据的数据类型。组合使用数组名和数组下标可以方便地访问数组元素。 定义一维数组 一维数组是用以存储一维数列中数据的集合。数组型变量的定义由四个部分组成:数组名、数据类型名、数组操作符(即[])和数组容量。其标准的定义方式为: 数据类型名 数组名[数组容量]; 数组名就是这个数组型变量的名字,命名规则与变量名一致,它是整个数组统一的名字。 数组中存储元素的数据类型由数据类型名给出,可以是任意的数据类型,例如,int型、char型,甚至可以是数组类型。 数组容量定义了数组可以存放的数据元素的个数,一般是值为整型常量的常量表达式,要放在数组操作符中间。 数组的维数可以从定义中直接看出:一维数组后只带一个索引,即变量名后只跟一个数组操作符。 访问一维数组元素 通过使用数组名、数组操作符和索引的组合可以访问数组中的任一元素,标准形式如下: 数组变量名[索引]; 索引必须为一个值为整数的表达式,但不要求是常量表达式。 索引的值应大于等于0,且小于数组容量。 数组内元素编号从0开始,直到数组容量的值减1。 例如,定义了以下数组: char bookName[20]; 其数组内部元素的编号为0~19。为了表述上的方便和统一,本书正文中数组编号也从0到数组容量减1。那么,本书中所说的数组的第0个元素,即索引值为0的数组元素,也就是普通意义上的第一个元素;第i个元素,即索引值为i的数组元素,也就是普通意义上的第i + 1个元素。 【范例8-6】在无序序列中查找一个数 本案例可以把无序序列保存在数组结构中,通过遍历数组,将目标数与所有数组元素比较。 二维数组 为了处理更复杂的二维序列数值,C语言定义了二维数组。二维数组用以存储各种类型的二维数列,是从一维数组衍生而来,使用方法与一维数组十分相似。 二维数组定义的标准形式,如下所示: 数据类型名 数组名[一维容量][二维容量]; 该语句定义了一个(一维容量×二维容量)的二维数组,其数组元素的类型为(数据类型名)。与一维数组一样,二维数组中的数组元素也可以是数组型。下面是定义二维数组的几个实例: double matrix[5][5]; /* double型二维数组 */ int student[6][8]; 二维数组示例 本例要求将矩阵转置后输出。由于矩阵是一个二维数序列,因此,使用二维数组来存储是十分适合的。一种可行的进行矩阵转置的方法为:使用第二个数组来存储转置后的矩阵。具体的执行为:将数组第i行第j列的元素值存储到新数组第j行第i列。那么,新数组即为原数组的转置。 多维数组 多维数组是二维数组的延伸,可以用于处理更加复杂的多维数据集合。在一些复杂的程序中,多维数组是不可缺少的。 二维数组是数组元素为一维数组的特殊一维数组,那么,三维数组可以理解为数组元素是一维数组的特殊二维数组(或者也可以认为是:数组元素是二维数组的特殊一维数组)。将二维数组定义中的类型名替换为一维数组类型,依次类推,便可以得到N维数组为:数组元素是一维数组的特殊(N-1)维数组。其定义为: 数据类型名 数组名[一维容量][二维容量][三维容量]…[N维容量]; 【范例8-11】 使用随机数给多维数组赋值,并找出其中最小值 。 小结 数组是C语言中十分重要和常用的数据类型,主要用于处理相同类型的数据序列。本章主要学习一维数组、二维数组和多维数组的定义和使用,并通过几个例子讨论了使用数组时需要注意的问题。 1.【考题】下面程序的功能是分别求出N*N二维数组中两个对角线元素的和值,并输出。请在________处填入正确的内容。 #define N 3 int main(void ) {int a[N][N]={1,2,3,4,5,6,7,8,9},i,s1=0,s2=0; for(i=0;iN;i++) {s1=________; /*s1为主对角线的和值*/ s2=________;} /*s2为次对角线的和值*/ printf(“s1=%d,s2=%d”,s1,s2); return 0; } 常见面试题 1.使用筛选法找出1到n之间的素数。 【提示】由于素数为只有1和本身两个约数的数。可以使用筛选法求1到n的素数,使用一个1到n的数

您可能关注的文档

文档评论(0)

浪漫唯美-文档菜鸟 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档