《《C语言程序设计基础》教案第15课数组的使用(二).docx》由会员分享,可在线阅读,更多相关《《C语言程序设计基础》教案第15课数组的使用(二).docx(5页珍藏版)》请在第壹文秘上搜索。
1、教案首页周次第周时间年月曰专业班级:授课章节单元6:数组的使用(二)授课方式理论课口实验课口实训课教学做一体化课程日教学时数2学时,教学目的理解二维数组的含义;掌握二维数组的定义、初始化及引用方法;理解并掌握二维数组的输入、输出、等基本操作。教学组织教学内容教学过程设计及时间分配1 .复习一维数组2 .二维数组的定义与初始化3 .二维数组的引用与基本操作4 .案例与实践操作1 .复习讲授互动5分2 .二维数组的定义讲授10分3 .二维数组的初始化演示、讲授10分4 .二维数组的引用演示、操作15分5 .二维数组的基本操作演示、讲授25分6 .随堂练习案例20分7 .小结、作业及实验安排讲授5分
2、教学重点教学难点重点:二维数组的定义与基本操作难点:二维数组的操作教学手段理论讲授、演示、对比讲解、案例分析双语教学two-dimensionarray一二维数组initialize一初始化作业及思考题作业:单元总结与单元练习知识拓展:算法的空间复杂度参考资料L谭浩强主编的C语言程序设计(清华大学出版社)。2 .丹尼斯里奇C语言程序设计(第二版)。3 .NCRE考试用教程C语言程序设计(高等教育出版社)。4 .网络教学资源:国家精品课网站。本讲内容学法指导对于数组的使用,首先要理解循环定义与声明方式,在此基础上熟练语法规则。数组作为整体进行使用是难点,数组的优势在于简化了操作多个变量的方式,通
3、过练习最终达到灵活运用的目的。课程:C语言程序设计授课教师:学年第学期单元6-2数组的使用(教案)教学内容及教学过程说明步骤一复习一维数组的作用一维数组的定义一维数组的初始化一维数组元素的引用步骤二讲授6.2二维数组如果把一维数组看作数轴上的点的集合,那么二维数组就是平面直角坐标系上的点的集合。二维数组的元素要指定两个下标才能唯一的确定。6.2.1二维数组的定义定义二维数组的一般格式为,O类型标识符数组名整型常量表达式1整型常量表达式2;intaf34;表示定义了一个整型二维数组,数组名为a,有12个数组元素重点说明:(1) “整型常量表达式1”表示第一维下标的长度,“整型常量表达式2”表示第
4、二维下标的长度,两个表达式分别用方括号括起来;(2) C编译系统为二维数组分配连续的存储空间,将二维数组元素按行依次存储,数组名代表数组在内存中存放的首地址。如【例6-8】中定义的二维数组,所包含的数组元素及其存储情况如图6-2所示,先存放a0行,再存放al行,依次类推,a0、al、a2分别表示各行首地址。每行的元素也是依次存放的,每个存储单元占4个字节。a0ft划行a2ff图形参展定义对照顿期Pl顿3顿】W如W仰146.2.2二维数组的初始化二维数组的初始化,以数组元素的存储顺序为依据。【例6.10】inta34=0,l,2,3,4,5,6,7),(8,9,10,i1);这种初始化方式比较直
5、观,按行赋初值,即0,1,2,3给a0行各元素初始化,4,5,6,7给al行各元素初始化,8,9,10Jl给a2行各元素初始化。【例613】inta4=l,2,3,4,5,6,7,8,9,0);/数组定义时不指定一维下标长度,根据初始化情况决定当不指定一维下标长度时,一维下标长度由初始化数据数量除以二维下标长度决定。可以看出有10个初始化数值,二维下标长度为4,可以算出一维下标长度为3。所以上述定义等价于:inta34=l,2,3,4,5,6,7,8,9,0;特殊初始化的说明6.2.3二维数组元素的引用引用二维数组元素的方法与一维数组类似,一般格式为:数组名下标1下标2二维数组元素的访问涉及第
6、一维和第二维两个下标,所以对二维数组的操作通常和二重循环相结合。重点强调,极易【例614】二维数组数据的输入和输出。犯错。#includevoidmain()(inta34,ij;for(i=0;i3;i+)二维数组的输入for(j=0;j4;j+)scanf(%daij);分析引导for(i=0;i3;i+)二维数组的输出for(j=0;j4;j+)printf(,r%d,aij);printf(1,n);每输出一行后换行说明二维数组的)使用方法J【例6-15将一个3*3的矩阵存入二维数组中,找出其中的最大值以及对应的行下标和列下标。#includevoidmain()inta3J3,i,j
7、;intmax,row=0,colum=0;for(i=0;i3;i+)输入矩阵for(j=0y3y)scanf(%daij);max=a00;for(i=0;i3;i+)for(j=0j3y+)if(maxaij)max=aij;row=i;记录行下标和列下标colum=j;Prilnf(最大值是d,行下标为d洌下标为d.n,max,row,colum);)难点分析算法6.4综合应用案例【例6-24某班本学期有五门课程,分别输入某宿舍4名同学的各科成绩,输入全部成绩后,统计输出该宿舍每个同学的总成绩。分析:涉及到的数据有4名同学各自五门课程的成绩,可定义二维整型数组a4保存成绩,还涉及到4名
8、同学各自的总成绩,可定义一维数组s4保存。重点分析注意启发#includevoidmain()inti,j;inta45,s4=0;for(i=0;i=3;i+)Printf(请输入第d同学的成绩:n,i+l);for(j=0:j=4;j+)scanf(,%d,ai);)for(i=0;i=3;i+)for(j=0;j=4;j+)si=ai(j+si;Primf(总分分别是:n);fbr(i=O;i=3;i+)printf(%5d,sli);)步骤三课堂小结1 .二维数组的意义注意:行与列2 .数组的定义格式与引用注意长度与下标步骤四实验与作业1 .实验内容(1)教材实例6-8利用VC环境实现该程序(2)实训指导(11122 .课后作业(1)单元总结提升第1题,第2题(2)单元练习第一题3第二题23注意实验总结与积累在练习中强化教学总结