C语言程序设计教程第五章数组 下载本文

C语言程序设计教程 高等教育出版社第二版 第五章 数组

第五章 数组 1.教学内容: §5.1 一维数组

5.1.1 一维数组的定义 5.1.2 一维数组的初始化 5.1.3 数组元素的引用 5.1.4 数组作为函数参数 5.1.5 一维数组应用举例 §5.2 二维数组和多维数组

5.2.1二维数组和多维数组的概念及其定义 5.2.2 二维数组和多维数组的引用 5.2.3 二维数组和多维数组的初始化 5.2.4 二维数组程序举例 §5.3 字符数组和字符串

5.3.1 字符串和字符串的存储方法 5.3.2 字符数组的初始化 5.3.3 字符串的输入 5.3.4 字符串的输出 5.3.5 字符串运算函数 5.3.6 二维的字符数组 5.3.7 字符数组应用举例 2.教学目的及要求:

第 1 页 共 30 页

C语言程序设计教程 高等教育出版社第二版 第五章 数组

1) 掌握数组的概念和使用 2) 掌握数组初始化的方法

3) 掌握字符数组和字符串的应用 3.教学重点: 1) 一维数组

2) 二维数组和多维数组 3) 字符数组

第五章 数组

数组是指一组具有相同数据类型的有序数据的集合。用一个统一的名字标识这组数据,用下标来指示数组中元素的序号。一个数组元素也称一个下标变量,其用法与普通的变量使用方法相同。

§5.1 一维数组

一维数组是只有一个下标变量的数组。 5.1.1 一维数组的定义

定义方式: 类型标识符 数组名[下标常量表达式] 【例】:int a[10]

第 2 页 共 30 页

C语言程序设计教程 高等教育出版社第二版 第五章 数组

定义一个数组,数组名a,有10个元素,每个元素的类型均为int。这10个元素分别是:a[0]、a[1]、a[2]、a[3] ? ? a[8]、a[9]。

注意:

(1)C语言中,数组下标从0开始。

(2)C语言不允许对数组的大小做动态定义,

如:int n;

scanf(\

int a[n]; /* */

因为,在编译时,C编译器根据已知数组大小分配内存。

5.1.2 一维数组的初始化

在定义数组时对各元素指定初始值,称为数组的初始化。 1、 一般初始化

用花括号把要赋给各元素的初始值括起来,数据间用逗号分隔。

【例】:static int a[9] = { 1,2,3,4,5,6,7,8,9}; a[0]=1,a[1]=2,a[2]=3, ? ? a[8]=9 2、 部分元素初始化

第 3 页 共 30 页

C语言程序设计教程 高等教育出版社第二版 第五章 数组

【例】:static int a[10] = {1,2,3,4,5}; 只对前5个元素赋初值,后5个元素未指定初值,系统默认为0。

3、 全部元素均初始化为0,不允许简写。 【例】:static int a[10] = {0,0,0,0,0,0,0,0,0,0}; 不能简写为:static int a[10] = {0*10};

注意:当程序不给数组指定初始值时,编译器作如下处理:

(1)编译器自动把静态数组的各元素初始化为0或空字符。

(2)编译器不为动态数组自动指定初始值,其初值不可预料。

4、 如果全部元素均指定初值,定义中可以省略元素的个数。

【例】:static int a[5] = {1,2,3,4,5}; 可写成:static int a[ ] = {1,2,3,4,5};

5.1.3 数组元素的引用

C语言规定,不能引用整个数组,只能逐个引用元素。

引用形式:数组名[下标] 第 4 页 共 30 页