内容正文:
千锋教育
《C语言程序设计》
教学设计
课程名称: C语言程序设计教程
授课年级:
授课学期:
教师姓名:
2017年09月01日
课程名称
第7章 数组
计划学时
6学时
内容分析
本章主要介绍数组的用法、数组的应用实例、排序算法、二维数组、高维数组
教学目标
与
教学要求
要求学生掌握一维数组的定义、初始化及赋值、排序算法、二维数组的定义、初始化及赋值,了解高维数组
教学重点
一维数组的用法、冒泡排序、选择排序、插入排序
教学难点
冒泡排序、选择排序、插入排序
教学方式
课堂讲解及ppt演示。
教
学
过
程
第一课时
(数组的用法)
数组的用法
假如要存储80名学生的成绩,在没有数组之前,就需要定义80个变量,如:
int i,i1,i2,i3…i80;
很明显这个定义的过程相当琐碎,耗费时间于精力,于是C语言提供了数组来存储相同类型的数据,现在要存储80名学生的成绩,只需一个数组就可以了:
int i[80];
· 数组的定义
在C语言中使用变量必须先进行定义,数组也不例外,下面介绍如何定义一个数组,其语法格式如下:
数据类型 数组名[常量表达式]
其中,数据类型可以是任一种基本数据类型或构造数据类型。数组名是用户定义的数组标识符。方括号中的常量表达式表示数据元素的个数,也称为数组的长度。示例代码如下:
int i[10];
其中i是数组的名字,其中“[ ]”它是一维数组的标识,方括号中的10表示可容纳10个变量,而int则代表变量的类型为整型。
定义不同类型的数组,具体示例如下:
int a[10]; // 数组名a,有10个int型数据元素
char name[20]; // 数组名name,有20个char型数据元素
float array[‘A’]; // 数组名为 array,有65个float型数据元素
long new[b]; // 错误定义,中括号中只能是常量表达式
· 数组的元素
数组中的每一个数据称为数组元素或数组分量,它是组成数组的基本单元。一个数组元素就是一个相对独立的变量,为了区分并访问数组中的元素,可以通过指定数组名称和元素的位置(也称下标)来唯一确定要访问的那个元素,其语法格式如下:
数组名[下标]
其中下标只能为整型常量或整型表达式。它永远从0开始计数,假如数组的大小为N,那么最大的下标就是(N – 1)。从下标为0的元素到下标为(N – 1)的元素正好有N个,说明这个数组的大小就是N。
注意在数组概念中数组的有序指的是数组元素存储的有序性,而不是数组元素值有序。在后边学习指针时,利用数组有序性可以很方便地处理一些问题。
· 倒序存储数据
输入5个整数,将其倒序存放到数组中,并将结果输出到屏幕上。
· 将数组的长度定义为常量
对于事先难以确定数组元素个数或为使元素个数具有通用性,可用符号常量指定数组大小。
· 数组的初始化
数组的初始化是指在定义数组时进行数组元素赋值,其初始化的语法格式如下:
数据类型 数组名[数组元素个数] = {值1, 值2, …, 值n};
(1)对数组全部元素赋初值,示例代码如下:
int a[4] = {1, 2, 3, 4};
在定义数组的同时将常量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值 ,示例代码如下:
int a[4] = {1, 2};
执行后数组中各元素的初值为a [0] = 1,a [1] = 2,a [2] = 0,a [3] = 0。
· 数组的存储方式
C语言中的变量都是存放在内存中的。下面的语句定义了三个整型变量,并为它们赋了初值:
int a = 0;
int b = 1;
int c = 2;
同样地,可以用数组完成同样的工作:
int array[3] = {0, 1, 2};
接下来演示数组在内存中两种定义的存储方式,如图7.1所示。
图7.1 数组的存储方式
对计算机而言,这两种定义方式是一样的:数据都是以整型变量的形式存放在内存里,每个变量(对于数组array