课程名称:程序逻辑和C语言实现北大青鸟Aptech·学术部《C语言》教案第七章数组授课教师:陈锡伟课时:2小时本章主要目的1)理解为什么要使用数组2)理解C语言中的数组3)一维、二维数组的定义及使用4)熟悉用数组实现常用的算法本章重点如何使用一维数组和二维数组,并且使用数组解决实际问题本章难点数组的访问过程数组实现常用的算法知识点介绍:一.数组的必要性:老师提问:1、在第二章讲到的char数据类型。只能存储单个字符。如果要保存一个人的名字要怎么办呢?如何去存储?2、我们讲如果输入一个学生的成绩,就需要定义一个变量来保存。那么如果要保存全班30个人的成绩,以方便查看,那是不是就要定义30个变量,才能保存这30个不同的值呢?可以用这个方式,但如果有1000人,那这样做就很没有效率,太麻烦。回答:如果要解决这种问题。把同类型的数据保存在一起。既方便存储,又方便读取和查找,这就是要介绍的C语言中要介绍到的数组这样一种存储数据的结构。二.C语言中的数组的定义1、数组的定义:数组是在内存中可以连续存储多个元素的结构。可以看作是一组具有相同数据类型的变量的集合。系统会为数组分配一块连续的内存空间。2、数组的特点:(结合数组的定义来讲解数组的特点和要注意的地方)1)所有的数组元素都具有相同的数据类型。(如,都要保存的是成绩,或都是保存的是字符的名字)2)数组可以存储任意数量的元素,不论数组中有多少个元素,在数组中都只有一个名称。3)数组元素在数组里顺序地编号,这个编号称为数组元素的下标或是索引。C语言规定下标从0开始,最大到最大长度减一。4)数组的大小必须在声明数组时确定。使用数组名加上下标可以取得单个数组--1课程名称:程序逻辑和C语言实现北大青鸟Aptech·学术部元素的值。3、数组的类型:数组有两种类型,一维数组和多维数组。一维数组使用一个下标,根据数组的维数,多维数组就是使用多个下标。但我们通常指的是二维数组。下面就来看下数组在C语言中如何来定义的?三.一维数组的定义、初始化及应用(注意:在对数组操作时,是对整个数组的操作,还是对数组中的单个元素进行操作)1、一维数组1)声明:和普通的变量声明相比较,只是多了个常量表达式。来表示数组的大小。Eg:intnum[30]保存30个不同的成绩。是一组整型变量的集合。Charname[20]来表示存储的是相同的字符类型的一组值。是一些字符的集合。2)在数组定义时,就必须规定一个数组的大小,一旦被声明,就不能改变大小。以下的几种声明方式的显示:正确错误1.如inta[5],2.inta[4+1],3.#definen4inta[n]4.Inta[‘A’]1、IntI;inta[i]2、Inta[]3、Inta[0]4、Inta[1.5]3)赋值:数组变量只能在定义时,给其赋初始值。a)数组名[下标]=值:eg:inta[5];a[0]=12a[1]=20b)声明时初始化数组:eg:a[5]={10,20,30,40,50}a[]={10,20,30,40,50}注意:inta[5];a[5]=90这是错误的。会造成数组溢出。规定了长度之后,就不能再改变数组的大小。但是要注意不能直接用:inta[]这样声明数组。因为声明时必须要规定数组的大小在为数组赋了值后,访问数组中的元素可以随机访问,不需要每次都从0开始。注意:1.在初始化赋值时,注意所给值的个数不能超过数组的大小。(不能越界)比如讲在宾馆里预--2Intnum[30];//[]表示的是数组标识数据类型数组名数组长度表示了这个数组变量是由30个整型的数组合而成的。在内存里存储一系连续的存储空间。0123下标A[0]A[1]A[2]A[3]元素课程名称:程序逻辑和C语言实现北大青鸟Aptech·学术部定了10间房子却有11个人住,那多出的那个人住在哪里呢?2.可以在赋值时,给它少于定义个数的初值。3.可以不指定数组元素的个数,直接通过对其初始化来让编译器得到它的实际个数。就好比去开个人,就开几间房。4.不能使用赋值运算符将一个数组赋值给另一个数组。如果要将一个数组的值赋给另一个数组。那就必须通过循环为每个元素分别赋值。案例讲解:对数组赋值,并循环输出。分析:第一要定义一个数组来存放值,第二要循环输出就需要一个循环控制变量。定义好以后再对数组进行赋值,采用两种方式对比(一种是单个赋值,一种是采...