内容正文:
第7章 数组
数组的用法
数组的实例
排序算法
二维数组
高维数组
C语言程序设计
数组的用法
数组的实例
排序算法
二维数组
高维数组
01
02
04
05
03
目 录
CATALOUGUE
初心至善 匠心育人
掌握一维数组的定义及初始化
了解二维数组和高维数组
理解数组的实例
熟悉排序算法
学 习 目 标
LEARNING OBJECTIVES
初心至善 匠心育人
7.1
数组的用法
7.1.1
数组的定义
7.1.2
数组的元素
7.1.3
倒序存放数据
7.1.4
将数组的长度定义为常量
7.1.5
数组的初始化
7.1.6
数组的存储方式
初心至善 匠心育人
很明显这个定义的过程相当琐碎,耗费时间于精力,于是C语言提供了数组来存储相同类型的数据,现在要存储80名学生的成绩,只需一个数组就可以了。
假如要存储80名学生的成绩,在没有数组之前,就需要定义80个变量,如:
7.1 数组的用法
初心至善 匠心育人
在C语言中使用变量必须先进行定义,数组也不例外,下面介绍如何定义一个数组,其语法格式如下:
其中,数据类型可以是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。示例代码如下:。
其中i是数组的名字,其中“[ ]”它是一维数组的标识,方括号中的10表示可容纳10个变量,而int则代表变量的类型为整型。
7.1.1 数组的定义
7.1 数组的用法
初心至善 匠心育人
数组中的每一个数据称为数组元素或数组分量,它是组成数组的基本单元。一个数组元素就是一个相对独立的变量,为了区分并访问数组中的元素,可以通过指定数组名称和元素的位置(也称下标)来唯一确定要访问的那个元素,其语法格式如下:
其中下标只能为整型常量或整型表达式。它永远从0开始计数,假如数组的大小为N,那么最大的下标就是(N – 1)。从下标为0的元素到下标为(N – 1)的元素正好有N个,说明这个数组的大小就是N。
注意在数组概念中数组的有序指的是数组元素存储的有序性,而不是数组元素值有序。在后边学习指针时,利用数组有序性可以很方便地处理一些问题。
7.1 数组的用法
7.1.2 数组的元素
初心至善 匠心育人
数组的遍历是指依次访问数组中的每个元素。
定义了一个数组array,它有5个元素,每个元素的数据类型为int型。
for循环从i = 0开始,到i = 4结束,因此这个循环共执行5次,每执行一次,将i + 1的值赋给数组元素array[i]。执行完后,数组array中的5个元素array[0]、array[1]、array[2]、array[3]、array[4]的值分别为1、2、3、4、5。
将数组中的5个元素通过for循环依次输出到屏幕上。
7.1 数组的用法
7.1.2 数组的元素
初心至善 匠心育人
输入5个整数,将其倒序存放到数组中,并将结果输出到屏幕上。
第6~9行:for循环一共执行5次,每执行一次,将输入的整数保存到array[i]中,然后将i的值减1,最终,array数组的5个元素array[0]、array[1]、array[2]、array[3]、array[4]的值分别为5、4、3、2、1。
第11~14行:通过for循环依次输出数组array的5个元素,从输出结果可以看出,这5个整数是倒序存放的。
7.1 数组的用法
7.1.3 倒序存放数据
初心至善 匠心育人
对于事先难以确定数组元素个数或为使元素个数具有通用性,可用符号常量指定数组大小。
7.1 数组的用法
7.1.4 将数组的长度定义为常量
第2行,定义了一个符号常量NUM,接下来的代码中用它来代替数组array的长度,当需要修改数组长度时,只需修改NUM的值。
初心至善 匠心育人
数组的初始化是指在定义数组时进行数组元素赋值,其初始化的语法格式如下:
(1)对数组全部元素赋初值,示例代码如下:
在定义数组的同时将常量1、2、3、4分别置于数组元素a[0]、a[1]、a[2]、a[3]中,还可以写成“int a[] = {1, 2, 3, 4};”。特殊地,全部元素都为0,可以写成 “int a[4] = {0};”等价于“int a[4] = {0, 0, 0, 0};”,但全部元素都为1,不能写成“int a[4] = {1};”。
(2)对数组部分元素赋初值,其他数组元素默认赋0值 ,示例代码如下:
执行后数组中各元素的初值为a [0] = 1,a [1] = 2,a [2] = 0,a [3] = 0。
7.1 数组的用法
7.1.5 将数组的初始化
初心至善 匠心育人
C语言中的变量都是存放在内存中的。下面的语句定义并初始化三个整型变量:
同样地,可以用数组完成同样的工