《C语言程序设计基础》教案第14课数组的使用(一).docx
教案首页周次第周时间年月曰专业班级:授课章节单元6:数组的使用(一)授课方式理论课口实验课口实训课教学做一体化课程日教学时数2学时,教学目的理解数组的含义;掌握一维数组的定义、初始化及引用方法;理解并掌握数组的输入、输出、等基本操作。教学组织教学内容教学过程设计及时间分配1 .数组的引入与本质2 .一维数组的定义与初始化3 .一维数组的引用与基本操作4 .案例与实践操作1. 问题引入讲授互动10分2. 一维数组的定义讲授10分3. 一维数组的初始化演示、讲授5分4. 一维数组的引用演示、操作15分5. 一维数组的基本操作演示、讲授25分6. 随堂练习案例20分7. 小结、作业及实验安排讲授5分教学重点教学难点重点:一维数组的定义与基本操作难点:一位数组兀素的引用教学手段理论讲授、演示、对比讲解、案例分析双语教学lineararray维数组index索引作业及思考题作业:单元总结与单元练习知识拓展:算法的空间复杂度参考资料1 .谭浩强主编的C语言程序设计(清华大学出版社)。2 .丹尼斯里奇C语言程序设计(第二版)。3 .NCRE考试用教程C语言程序设计(高等教育出版社)。4 .网络教学资源:国家精品课网站。本讲内容学法指导对于数组的使用,首先要理解循环定义与声明方式,在此基础上熟练语法规则。数组作为整体进行使用是难点,数组的优势在于简化了操作多个变量的方式,通过练习最终达到灵活运用的目的。课程:C语言程序设计学年第学期授课教师:单元6-1数组的使用(教案)教学内容及教学过程说明步骤一问题引入例如,要统计一个班40名学生考试成绩的平均分,只需要把40个成绩相加,再除以40就行了。按照之前所学到的知识,对于40个成绩只需要定义40个变量即可。问题:声明、计算过程繁琐,数据之间类型相同等特点没有被很好利用。通过问题引入,了解普通变量无法解决的问题。解决方法:“数组”表示一批具有相同属性的数据。同时将数组与循环结合起来,快速地处理大批量的数据,极大地提高了工作效率。步骤二讲授6.1 一维数组一维数组是一组用来存放多个相同类型的数据集合,该集合中的每一个成员称为元素,每个数组元素通过数组名和一个下标就能唯一确定,所以称之为一维数组。6.1.1 一维数组的定义类型标识符数组名整型常量表达式;inta10;表示定义了个整型数组,数组名为a,有10个数组元素重点(1)'(2)“(3)'的表示从卜(4)(存中存放供峨类型标识符”用来指定数组中各个元素的类型。数组名”应是合法的用户标识符。整型常量表达式”表示数组长度(数组元素个数),数组元素.标0开始;:编译系统为数组分配连续的存储空间,数组名代表数组在内I首地址(即数组第一个元素在内存中的存储地址)。目名)长度的说明与下标的区分图形参展定义对照404142a3a4a5a6a7a8a96.1.2一维数组的初始化如果各个数组元素的值是已知的,在定义数组的同时可以给各个数组元素赋值,称为数组的初始化。【例63】inta10=0,l,2,3A5,6,7,8,9);在数组定义时,可以对数组各个元素全部初始化,也可部分初始化,还可以不初始化。【例64】inta10=0,l,23;表示只给数组前4个元素赋初值,后6个元素系统自动赋初值为0inta=0,l,2,3,4);数组长度可以根据初始化数据的个数确定,所以该数组长度为5inta10;数组未初始化,数组各个元素的值是随机的特殊初始化的说明6.L3一维数组元素的引用引用数组元素的一般格式为:数组名下标下标可以用常量、变量及表达式,但必须有确定的值。下标的范围为至也数组长度-1,不能超过数组的范围。【例6-6】重点强调,极易犯错。若有数组定义:inla10;,以下的想法和表达是错误的:(1)认为al是数组的第一个元素,a10是数组的最后一个元素。(2)认为通过a10可以引用数组所有元素,所以想执行如下操作:a10=0,1,2,3,4,5,6,7,8,9;想为数组元素a0到a9赋值a10=0;想为数组元素a到a9都赋值0scanfC%d,a10);想为数组各元素输入值printf(t%d,a101);想输出数组各元素值重点初学者易犯的错误分析引导【例67】一维数组的输入和输出。#include<stdio.h>voidmain()inta10,i;for(i=0;i<10;i+)为十个数组元素输入值scanf("%d"ai);for(i=0;i<10;i+)输出十个数组元素值说明数组的使用方法printf("%d",ai);)【例68】某选秀节目有十个评委,根据评委给分情况,找出最高分和最低分。程序实现代码如下:难点分析算法#include<stdio.h>voidmain()inta10,i;intmax,min;max表示最高分,min表示最低分Printf(”请输入十个评委打分:");for(i=0;i<10;i+)输入评委打分scanf("%d"ai);max=min=a(0:假设最高分和最低分均为a0for(i=l;i<10;i+)依次和各个元素比较if(ai>max)max=ai;if(ai<min)min=ai;)Printf("最高分为:d,最低分为:d.",max,min);输出最高分和最低分)重点重点分析注意启发【随堂练习6-21 .输入5个元素至一维数组,将数据逆序输出。步骤三课堂小结2 .数组的意义注意:克服简单变量处理多个数据的繁琐3 .数组的定义格式与引用注意长度与下标步骤四实验与作业1 .实验内容(1)教材实例6-8利用VC环境实现该程序(3)实训指导【1】122 .课后作业(1)单元总结提升注意实验总结与积累第1题,第2题(2)单元练习第一题5第二题12在练习中强化教学总结