1、C 语言教学中一维数组的教学设计 1 引言 数组是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,用编号区分这些变量的集合。这个名字称为数组名,编号称为下标,组成数组的各个变量称为数组的元素。数组是 C 语言程序设计中非常重要的概念,学习数组的第一步是要掌握一维数组的定义、引用,以及初始化赋值方法。2 教学方法简述 (1)讲授法 在理解数组的概念时需要使用讲授法配合课件进行活泼、有趣的讲解。在教学过程中切忌照本宣科,这样容易让学生感到厌烦和枯燥,课件应制作得美观、生动,如选择美观大方的课件模板,结合节奏适宜的动画,在举例时尽量附上有关的图片等。(2)“教、学、
2、做”三位一体教学法 对于出现的代码示例,教师边演示边讲解,学生随后模仿学习、上机操作。既锻炼了学生的实际动手能力,又使学生对所学知识有了更深刻的印象。(3)协同学习法 由于学生学习水平有差异,基础好的学生可以给基础差的学生讲解,学生之间传递的知识往往比老师传授的更容易接受,这样基础差的学生有了初步的认识,基础好的学生得到知识的巩固。3 教学过程设计 (1)教学引入 教师用超市中可以存储东西的储物柜类比 C 语言中的数组,提及柜子上有编号,为后面介绍数组的下标作铺垫。语言组织举例:我们都见过超市的储物柜,一排柜子上有编号,柜子中可以存储东西,在 C 语言中也有类似的储物柜数组。(2)数组的基本概
3、念 教师将学过的概念变量,比作小箱子,再将数组解释为连着的小箱子,并且点出数组的重要特点数组中的元素必须为相同的数据类型。语言组织举例:如果我们把变量比喻成小箱子,那么数组就是把这些小箱子都连起来。连起来的箱子的类型必须都是一样的,这样方便我们存储一些同类型的内容。比如,每门课的考试分数装入连着的一个个小箱子中,这些连着的小箱子就是一个数组。教师用代码段举例不同类型的数组。例:int array16;/*这个数组存的是整数,能存 6 个整数*/float array26;/*这个数组存的是实数,能存 6 个实数*/char array36;/*这个数组存的是字符,能存 6 个字符*/(3)一维
4、数组的定义 教师提问,能从上面的代码段中总结出数组的定义方法吗?学生思考,通过观察可以发现三个数组定义都是采用的数据类型 名字数字的格式,通过注释可以猜测中的数字是数组能存放的数据个数。教师分析并引出一维数组的定义方式:数据类型 数组名字个数 教师对定义语法进行解释,数据类型就是 int,float,char 等,表示这个数组能装什么类型的数据;数组名是自己取的,命名规则和变量名相同,并且要唯一,不能重复;中括号必须要有,中的数字是指这个数组能存几个元素。(4)一维数组的初始化 教师提问,int a=0;这句 C 程序语句进行了什么操作?学生思考后回答,声明 int 型变量 a 并对它赋初值。
5、教师将赋初值的概念引申到数组中,数组的初始化就好比变量赋初值。举例,对“(2)数组的基本概念”中的数组进行初始化。例:int array16=0,1,2,3,4,5;char array26=h,e,l,l,o,c;float array36=1.1,1.2,1.3,1.4,1.5,1.6;(5)一维数组元素的引用 学生上机练习,结合“(4)一维数组的初始化”中的代码段,在 C 程序中分别定义 int 型、char 型、float 型数组,并初始化。学生在定义并初始化数组后,好奇数组是如何使用的,部分学生在尝试直接修改数组内容后失败。教师解释,数组只能在初始化时用赋值,此后想要再修改、读取数组中的内容只能对数据中的某一个元素进行操作。引用数组元素的方式是数组变量名下标,下标是有序的,类似储物柜下面的编号,范围从 0 到数组长度-1。教师引导学生写出将 array1 第 6 个元素值修改为 10 的代码。学生思考写出代码:array15=10;部分学生容易错写为 array16=10;程序报错。教师强调数组下标从 0 开始,最大下标应为长度-1。教师提问,要想输出整个数组中的内容,应该怎么办呢?教师提示学生利用循环。学生在教师提示下写出代码:int i;for(i=0;i