人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第9章 数组

9 第数 7
第9章 数组

91数组的概念 92一维数组 93多维数组的定义和使用 94字符数组及字符串 9.5数组作函数参数 7
9.1 数组的概念 9.2 一 维 数 组 9.3 多维数组的定义和使用 9.4 字符数组及字符串 9.5 数组作函数参数

91数组的概念 数组是指一组相同类型数据的有序集合,由 一个统一的数组名标识这一组数据。数组的每 个成员称作数组元素,用下标来标识数组元 素在该数组中的位置 7
9.1 数组的概念 数组是指一组相同类型数据的有序集合,由 一个统一的数组名标识这一组数据。数组的每 一个成员称作数组元素,用下标来标识数组元 素在该数组中的位置

把数学中的集合和数组对照一下。 假如有集合 S={1,2,3,4,5,6,7,8,9,10} 要表示集合中某个元素,数学中可以描述为 S;,其中s是集合的名字,示该元素在集合中的 序号。为了表示C语言数组中的每一个元素,也 必须确定数组名和该元素在数组中的位置信息。 数组名和该元素在数组中的位置信息是确定数组 元素两个不可缺少的要素。在C语言中,数组元 素的位置信息是由下标表示的,下标等同于集合 中的序号
把数学中的集合和数组对照一下。 假如有集合 s={1,2,3,4,5,6,7,8,9,10} 要表示集合中某个元素,数学中可以描述为 si,其中s是集合的名字,i表示该元素在集合中的 序号。为了表示C语言数组中的每一个元素,也 必须确定数组名和该元素在数组中的位置信息。 数组名和该元素在数组中的位置信息是确定数组 元素两个不可缺少的要素。在C语言中,数组元 素的位置信息是由下标表示的,下标等同于集合 中的序号

92一维数组 921一维数组的定义 由单一下标标识数组元素的数组称为一维数 组。 一维数组的定义形式为: 类型标识符数组名[元素个数|; 数组名必须符合标识符的规定。元素个数, 又称为数组长度,只能用整型常量表达式表示。 数组和变量一样,也必须占据一定的存储空间。 进行存储空间分配时,系统根据数组的长度和数 组元素的类型确定分配存储单元的个数,C语言 中数组元素的存储是连续的,数组名就是所分配 内存空间的起始地址。 7
9.2 一 维 数 组 9.2.1 一维数组的定义 由单一下标标识数组元素的数组称为一维数 组。 一维数组的定义形式为: 类型标识符 数组名[元素个数]; 数组名必须符合标识符的规定。元素个数, 又称为数组长度,只能用整型常量表达式表示。 数组和变量一样,也必须占据一定的存储空间。 进行存储空间分配时,系统根据数组的长度和数 组元素的类型确定分配存储单元的个数,C语言 中数组元素的存储是连续的,数组名就是所分配 内存空间的起始地址

如整型数组a,共有10个元素,每个元 素分配2个字节,共分配2×10个字节的存储 单元, 2000H 2001H 第0个元素 2002H 第1个元素 2003H 2012H 78 2013H 第9个元素 图93数组a的存储示意图 7
如整型数组a,共有10个元素,每个元 素分配2个字节,共分配2×10个字节的存储 单元, 2000H 2001H 2002H 2003H 2012H 2013H 5 6 100 78 第 0 个元素 第 1 个元素 第 9 个元素 图9.3 数组a的存储示意图

922一维数组元素的初始化 数组初始化的一般形式如下: 类型标识符数组名元素个数}={元素值表 列} (1){中的数组元素值与数组的每一个元素具备左 对应关系。 (2)8中的元素值表列,可以是数组所有的元素的 初值,也可以是前面部分元素的初值,元素值之间使 用逗号分割。 (3)当给数组部分元素赋初值时,其余元素的值为 (4)当对全部元素赋初值,数组长度可以省略,但 ]不能省略。 (5)数组初始化的赋值方式只能用于数组的定义, 7 定义之后再赋值只能一个元素一个元素地赋值
9.2.2 一维数组元素的初始化 数组初始化的一般形式如下: 类型标识符 数组名[元素个数]={元素值表 列}; (1){}中的数组元素值与数组的每一个元素具备左 对应关系。 (2){}中的元素值表列,可以是数组所有的元素的 初值,也可以是前面部分元素的初值,元素值之间使 用逗号分割。 (3)当给数组部分元素赋初值时,其余元素的值为 0。 (4)当对全部元素赋初值,数组长度可以省略,但[ ]不能省略。 (5)数组初始化的赋值方式只能用于数组的定义, 定义之后再赋值只能一个元素一个元素地赋值

923—维数组元素的引用 定义一个数组,相当于一次定义了许多变量。 维数组元素的引用形式: 数组名[下标 例如:a0、ak、ai+1俘等。 下标可以是整型常量、整型变量或者整型表 达式,其范围是0~L-1(L表示数组长度)。 C语言不检查数组的边界。所以当引用数组 元素的下标超越边界时,系统不会提示错误, 但是可能导致其他变量甚至程序被破坏 7
9.2.3 一维数组元素的引用 定义一个数组,相当于一次定义了许多变量。 一维数组元素的引用形式: 数组名[下标] 例如:a[0]、a[k]、a[i+1]等。 下标可以是整型常量、整型变量或者整型表 达式,其范围是0~L −1(L表示数组长度)。 C语言不检查数组的边界。所以当引用数组 元素的下标超越边界时,系统不会提示错误, 但是可能导致其他变量甚至程序被破坏

例9.1数组元素引用示例。 示例1: nalr n int 1, a10 for(i=0;i<10;i+) scanf("%d", &ali) for(i=0;<10;i++) printf("%5d", a iD) printf("n"); 7
例9.1 数组元素引用示例。 示例1: main( ) { int i, a[10]; for (i=0;i<10;i++) scanf("%d",&a[i]); for (i=0;i<10;i++) printf("%5d",a[i]); printf("\n"); }

924一维数组举例 使用一维数组可以实现实际应用中的多 种数学模型,如队列、数列、堆栈等数据 结构。在一维数组中,数组中的各个元素 都是相关联的,它们是相同数据类型的数 据的集合。在实际应用中,程序设计者应 注意分析数据间的关系,合理地使用数组 元素,才能编制出高效率的程序。本节从 下面几个例子介绍一维数组的编程方法。 7
9.2.4 一维数组举例 使用一维数组可以实现实际应用中的多 种数学模型,如队列、数列、堆栈等数据 结构。在一维数组中,数组中的各个元素 都是相关联的,它们是相同数据类型的数 据的集合。在实际应用中,程序设计者应 注意分析数据间的关系,合理地使用数组 元素,才能编制出高效率的程序。本节从 下面几个例子介绍一维数组的编程方法
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第8章 函数.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第7章 循环结构程序设计.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第6章 选择结构程序设计.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第5章 顺序结构程序设计.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第4章 数据类型及表达式.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第3章 C语言概述.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第2章 程序设计基础知识.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第15章 编译预处理.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第13章 中断和位运算.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第12章 文件.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第11章 结构体、联合体与枚举类型.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第10章 指针.ppt
- 人民邮电出版社:高等学校教材《C程序设计》课程教学资源(PPT课件)第1章 计算机基础知识.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第十章 信息系统安全与社会责任.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第九章 软件开发与信息处理技术.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第八章 Internet与Intranet.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第七章 计算机网络基础.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第六章 演示文稿制作基础.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第五章 表格处理基础.ppt
- 湖南科学技术出版社:高等教育21世纪课程《大学计算机基础》课程教学资源(教材PPT)第四章 文字处理基础.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第一章 数据结构基础概论.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第二章 线性表.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第三章 栈和队列.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第四章 串和数组.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第五章 树和二叉树.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第六章 图.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第七章 查找.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第八章 排序.ppt
- 人民邮电出版社:高职高专现代信息技术系列教材《数据结构》课程电子教案(PPT课件讲稿)第九章 文件.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第五章 C++程序的结构.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第六章 数组、指针与字符串.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第七章 继承与派生.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第八章 多态性.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第九章 群体类和群体数据的组织.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十章 C++标准模板库.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十一章 流类库与输入/输出.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十二章 异常处理.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)课程简介(李莉).ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第一章 绪论.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第二章 C++简单程序设计.ppt