湖南农业大学:《C语言程序设计》第五章 数组(张林峰)

第五章:数组 在此之前,所介绍的数据都是属于基本类型(整型、字符 型、实型),C语言还提供了构造类型的数据,它们有:数组 类型、结构体类型、共用体类型。构造类型是由基本类型数 据按一定规则组成的,因此有的书称它们为“导出类型” 本讲介绍的数组,数组是有序数据的集合。数组中的每 元素都属于同一个数据类型。用一个统一的数据名和下 标来唯一地确定数组中的元素。数组可以是一维的,也可以 是多维的,许多重要的应用都是基于数组的。学习本讲后, 要求理解数组下标,掌握初始化数组的方法,学会把数组用 作函数参数,学会二维数组的使用,并学习数组应用的技术
第五章:数组 在此之前,所介绍的数据都是属于基本类型(整型、字符 型、实型),C语言还提供了构造类型的数据,它们有:数组 类型、结构体类型、共用体类型。构造类型是由基本类型数 据按一定规则组成的,因此有的书称它们为“导出类型”。 本讲介绍的数组,数组是有序数据的集合。数组中的每 一个元素都属于同一个数据类型。用一个统一的数据名和下 标来唯一地确定数组中的元素。 数组可以是一维的,也可以 是多维的,许多重要的应用都是基于数组的。学习本讲后, 要求理解数组下标,掌握初始化数组的方法,学会把数组用 作函数参数,学会二维数组的使用,并学习数组应用的技术

数组的定义和引用 维数组的定义 维数组元素的引用 维数组的初始化 维数组程序举例
一维数组的定义和引用 • 一维数组的定义 • 一维数组元素的引用 • 一维数组的初始化 • 一维数组程序举例

维数组的定义 数组是一个由若干个同类型变量组成的集合。一维数组的说明 方法为数据类型加数组名,再加方括号,里面含有元素个数。 即 类型说明符数组名[常量表达式] 例如:下面的代码说明一个整数数组 int a 10]; 它表示数组名为a,此数组有10个元素。 说明: 1。数组名命名规则和变量名相同,遵循标识符命名规则。 2。数组名后是用方括号括起来的常量表达式,不能用圆括号
一维数组的定义 数组是一个由若干个同类型变量组成的集合。一维数组的说明 方法为数据类型加数组名,再加方括号,里面含有元素个数。 即: 类型说明符 数组名[常量表达式] 例如:下面的代码说明一个整数数组 int a[10]; 它表示数组名为a,此数组有10个元素。 说明: 1。数组名命名规则和变量名相同,遵循标识符命名规则。 2。数组名后是用方括号括起来的常量表达式,不能用圆括号

下面方法不对: int a(10); 3。常量表达式表示元素的个数,即数组长度。例如,a0 中10表示a数组有10个元素,下标从0开始,这10个元素是: a|0a[1.19]。注意不能使用数组元素a10 4。常量表达式中可以包括常量和符号常量,不能包含变量 也就是说,C不允许对数组的大小作动态定义,即数组的大 小不依赖于程序运行过程中变量的值。例如,下面这样的定 义数组是不行的: int n; scanf(d”,&n) int a n;
下面方法不对: int a(10); 3。常量表达式表示元素的个数,即数组长度。例如,a[10] 中10表示a数组有10个元素,下标从0开始,这10个元素是: a[0],a[1]……a[9]。注意不能使用数组元素a[10]。 4。常量表达式中可以包括常量和符号常量,不能包含变量。 也就是说,C不允许对数组的大小作动态定义,即数组的大 小不依赖于程序运行过程中变量的值。例如,下面这样的定 义数组是不行的: int n; scanf(“%d”,&n); int a[n]; ……

维数组元素的引用 数组必须先定义,然后使用。C语言规定只能逐个引用数组元■ 素而不能一次引用整个数组。 数组元素的引用形式为 数组名[下标] 下标可以是整型常量或整型表达式。例如 [O]=a[5]+a[7]-a[2*3] 数组元素的使用一般与循环结构结合在一起。请看下例:
一维数组元素的引用 数组必须先定义,然后使用。C语言规定只能逐个引用数组元 素而不能一次引用整个数组。 数组元素的引用形式为: 数组名[下标] 下标可以是整型常量或整型表达式。例如: a[0]=a[5]+a[7]-a[2*3] 数组元素的使用一般与循环结构结合在一起。请看下例:

例题分析 例L5-0-1:把09这十个数字赋给一个一维数组,然后按逆序输 出 maino i int i, a[10: for(i=0;i=0;-) printi%od,”,;a[i);
例题分析 例L5-0-1:把0—9这十个数字赋给一个一维数组,然后按逆序输 出。 main() { int i,a[10]; for(i=0;i=0;i--) printf(“%d,”,a[i]); }

思考题 把26个大写字母从‘AZ赋给一维字符数组,然后按逆 序输出。例L5-0-2 maino i char i,a 26; for(i=A;i=a; i--) printi(%c;”,ai-65]);
思考题 把26个大写字母从‘A’——‘Z’赋给一维字符数组,然后按逆 序输出。例L5-0-2 main() { char i,a[26]; for(i=‘A’ ; i=‘A’;i--) printf(“%c,”,a[i-65]); }

维数组的初始化 可以用赋值语句或输入语句使数组中的元素得到值,但占用运行时 间。可以使数组在程序运行之前初始化,即在编译之前得到初值。 对数组元素的初始化可以用以下方法实现: 1、在定义数组时对数组元素赋以初值。例如: static int a[10={0,1,2,3,4,5,6,7,8,9}; 将数组元素的初值依次放在一对花括号内,请注意:在int的前面有 个关键字 static,表明它是“静态存储”的数组。 静态和外部存储( extern)数组默认的初值为0或空字符。 可以只给一部分元素赋值,例如: static int a[10]={0,1,2,3,4}; 定义a数组有10个元素,但花括号内只提供5个初值,这表示只给前 面5个元素赋初值,后面5个元素值为0
一维数组的初始化 可以用赋值语句或输入语句使数组中的元素得到值,但占用运行时 间。可以使数组在程序运行之前初始化,即在编译之前得到初值。 对数组元素的初始化可以用以下方法实现: 1、在定义数组时对数组元素赋以初值。例如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 将数组元素的初值依次放在一对花括号内,请注意:在int的前面有 一个关键字static,表明它是“静态存储”的数组。 静态和外部存储(extern)数组默认的初值为0或空字符。 2、可以只给一部分元素赋值,例如: static int a[10]={0,1,2,3,4}; 定义a数组有10个元素,但花括号内只提供5个初值,这表示只给前 面5个元素赋初值,后面5个元素值为0

3、如果想使一个数组中全部元素值为0,即可以写成 inta[10={0,0,0,0,0,0,0,0,0,0}; 也可以写成 inta[10}={0};即第一个元素为0,其余没有指定默认为0 不能写成:inta10={0*10}; 4、在对全部数组元素赋初值时,可以不指定数组长度。例 sy: static int a 51=(1, 2, 3, 4, 5; 可以写成 static int a={1,2,3,4,5}; 5、但若被定义的数组长度与提供的初值的个数不相同,则 数组长度不能省略。 6、静态数组不赋初值时,各值为0或“空”;动态数组则为 随机值
3、如果想使一个数组中全部元素值为0,即可以写成 int a[10]={0,0,0,0,0,0,0,0,0,0}; 也可以写成 int a[10]={0}; 即第一个元素为0,其余没有指定默认为0。 不能写成: int a[10]={0*10}; 4、在对全部数组元素赋初值时,可以不指定数组长度。例 如: static int a[5]={1,2,3,4,5}; 可以写成 static int a[]={1,2,3,4,5}; 5、但若被定义的数组长度与提供的初值的个数不相同,则 数组长度不能省略。 6、静态数组不赋初值时,各值为0或“空”;动态数组则为 随机值

数组作为函数的参数 1、数组元素作为参数:与一般变量相同, 属于“值传递”。例L5-0-3 2、数组名作为参数:属于地址传递方式, 即直接对地址操作,返回变化的结果 形参中的一维数组,可以不指定元素的 个数,因为它只是告诉编译程序数组的 地址(起始地址)。例L5-0-4
数组作为函数的参数 1、数组元素作为参数:与一般变量相同, 属于“值传递”。例L5-0-3 2、数组名作为参数:属于地址传递方式, 即直接对地址操作,返回变化的结果。 形参中的一维数组,可以不指定元素的 个数,因为它只是告诉编译程序数组的 地址(起始地址)。例L5-0-4
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 湖南农业大学:《C语言程序设计》第四章 模块化程序设计(张林峰).ppt
- 湖南农业大学:《C语言程序设计》第三章 C程序的流程设计(张林峰).ppt
- 湖南农业大学:《C语言程序设计》第二章 数据描述与基本操作(张林峰).ppt
- 湖南农业大学:《C语言程序设计》第一章 C语言程序设计入门(张林峰).ppt
- 北京航空航天大学应用数学系:《小波分析与应用》课程讲义(陈迪荣).pdf
- 《计算机组装与维护》PPT教学课件_基本CMOS设置.ppt
- 《计算机组装与维护》PPT教学课件_计算机系统故障及检测.ppt
- 《计算机组装与维护》PPT教学课件_机箱和电源.ppt
- 《计算机组装与维护》PPT教学课件_主机内配件选购3.ppt
- 《计算机组装与维护》PPT教学课件_键盘和鼠标.ppt
- 《计算机组装与维护》PPT教学课件_主机内配件选购1.ppt
- 《计算机组装与维护》PPT教学课件_主机内配件选购2.ppt
- 《计算机组装与维护》PPT教学课件_主板基础知识.ppt
- 《计算机组装与维护》PPT教学课件_显示器基础知识.ppt
- 《计算机组装与维护》PPT教学课件_硬盘基础知识.ppt
- 《计算机组装与维护》PPT教学课件_系统的初始化.ppt
- 《计算机组装与维护》PPT教学课件_微机组装.ppt
- 《计算机组装与维护》PPT教学课件_声卡基础知识.ppt
- 《计算机组装与维护》PPT教学课件_微机组装2.ppt
- 《计算机组装与维护》PPT教学课件_显卡基础知识.ppt
- 湖南农业大学:《C语言程序设计》第六章 指针(张林峰).ppt
- 湖南农业大学:《C语言程序设计》第七章 结构体、共用体和枚举类型(张林峰).ppt
- 湖南农业大学:《C语言程序设计》第八章 位运算(张林峰).ppt
- 湖南农业大学:《C语言程序设计》第九章 C文件概述(张林峰).ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第10章 Pentium系列微型计算机简介.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第1章 微型计算机概述.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第2章 计算机中的数据表示.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第3章 80X86微处理器及其体系结构.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第4章 8086指令系统.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第5章 汇编语言的基本表达及其运行.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第6章 汇编语言程序设计.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第7章 中断调用程序设计.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第8章 高级汇编技术.ppt
- 《微型计算机原理与汇编语言程序设计》教学课件:第9章 汇编语言与高级语言的连接.ppt
- 《玩具制图与Auto CAD讲义》电子课件.doc
- 《计算机文化基础》课程教学资源(课程大纲).doc
- 哈尔滨工业大学:《计算机组成原理》第八章 CPU 的结构和功能.pps
- 哈尔滨工业大学:《计算机组成原理》第三章 系统总线.pps
- 哈尔滨工业大学:《计算机组成原理》第四章 存储器.pps
- 哈尔滨工业大学:《计算机组成原理》第七章 指令系统.pps