《C语言程序设计》 教案 3 数组(6课时).docx

上传人:太** 文档编号:69158679 上传时间:2022-12-30 格式:DOCX 页数:16 大小:107.09KB
返回 下载 相关 举报
《C语言程序设计》 教案 3 数组(6课时).docx_第1页
第1页 / 共16页
《C语言程序设计》 教案 3 数组(6课时).docx_第2页
第2页 / 共16页
点击查看更多>>
资源描述

《《C语言程序设计》 教案 3 数组(6课时).docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》 教案 3 数组(6课时).docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C语言程序设计教学设计 日期:年月日教学内容利用一维数组处理同类型的批量数据教学学时2授课教师班级地点周次星期节次教学 目标素质目标知识目标能力目标(1)基本职业素养:遵守工作时间, 使用实践设备时注意用电安全,实践设 备使用完毕后要断电并放于指定位置, 程序设计要注重工程规范,养成良好的 工作习惯。(2)团结协作素养:小组内成员互查 程序代码书写规范性、准确性和完整性, 取长补短,具有责任意识、团队意识与 协作精神。(3)自主学习素养:能根据任务要求, 查找相关资料解决实际问题;能自主完 成练习,培养自主学习的意识与一丝不 苟、实事求是的工作作风。(4)思政和劳动素养:具有一定的辩 证唯物主

2、义运用能力、安全意识、劳动 意识、创新意识、创新能力和强烈的爱 国主义精神。(1)理解数组的 概念(2)掌握一维数 组的定义、初始化和 引用的方法(3)掌握冒泡排 序或选择排序的算 法(4) 了解数组在 嵌入式中的应用能用数组解 决实际问题教学重点(1) 一维数组的定义、初始化和引用的方法(2)冒泡排序的算法教学难点冒泡排序的算法能力训练 任务任务1:掌握一维数组的定义、初始化和引用方法任务2:掌握一维数组处理批量同类型的数据的方法教学材料(1)教材:朱琨C语言程序设计,机械工业出版社,978-7-111-66954-8, 2021(2)教学资源:电子教案、教学课件、微课视频、在线开放课程(3

3、)仪器与设备:电脑(装有VC+开发环境)C语言程序设计教案 第3单元第3次课(1)教材单元练习第16题:输出给定2X3矩阵的转置矩阵。(2)利用二维数组存放4名学生的语文、数学、外语3门课的成绩78、69、90, 72、 55、83, 65、81、53, 92、85、78。依次输出4行信息,分别对应这4名学生的3门课成绩 及总分。(3)利用二维数组实现:输出杨辉三角形的前6行。11 11211331步骤四:概括基本内容,归纳重点内容(时间:5分钟)1、引导学生概括本次课的基本内容,归纳重点内容(二维数组的定义、初始化、引用 及应用方法)。2、作业布置:通过教材、PPT和在线课程,复习巩固本次课

4、内容;完成教材和工作手 册相应习题,学以致用;预习下次课内容(字符数组)。C语言程序设计教学设计 日期:年月日教学内容利用字符数组处理多个字符或字符串教学学时2授课教师班级地点周次星期节次教学素质目标知识目标能力目标10C语言程序设计教案 第3单元第3次课目标(1)基本职业素养:遵守工作时间, 使用实践设备时注意用电安全,实践设 备使用完毕后要断电并放于指定位置, 程序设计要注重工程规范,养成良好的 工作习惯。(2)团结协作素养:小组内成员互查 程序代码书写规范性、准确性和完整性, 取长补短,具有责任意识、团队意识与 协作精神。(3)自主学习素养:能根据任务要求, 查找相关资料解决实际问题;能

5、自主完 成练习,培养自主学习的意识与一丝不 苟、实事求是的工作作风。(4)思政和劳动素养:具有一定的辩 证唯物主义运用能力、安全意识、劳动 意识、创新意识、创新能力和强烈的爱 国主义精神。(1)掌握字符数 组的定义、初始化和 引用方法(2)掌握字符数 组的输入、输出方法(3)掌握字符串 处理函数的应用方 法能用字符数 组解决实际问 题教学重点(1)字符数组的定义、初始化和引用方法(2)字符数组的输入、输出方法(3)字符串处理函数的应用方法教学难点(1)字符数组的输入、输出方法 (2)字符串处理函数的应用方法能力训练 任务任务1:掌握字符数组的定义、初始化和引用方法任务2:掌握字符数组的输入、输

6、出方法任务3:掌握字符串处理函数的应用方法教学材料(1)教材:朱琨C语言程序设计,机械工业出版社,978-7-111-66954-8, 2021(2)教学资源:电子教案、教学课件、微课视频、在线开放课程(3)仪器与设备:电脑(装有VC+开发环境)11C语言程序设计教案 第3单元第3次课教学进度设计步骤教学内容及目标思政元素教师活动学生活动时间.一、复习与 导入复习:一维数组、二维数组的定义、 初始化和引用方法。导入:若存放多个字符型数据,如何 实现? 一维或二维字符型数组一一 字符数组。知识迁移引导启发、布 置学习任务思考、明确 学习任务5m i n二、实施任 务1:掌握 字符数组的 定义、初

7、始 化和引用方 法1、定义字符数组的方法char数组名常量表达式;2、字符数组的初始化(1)逐个字符赋值法(2)字符串常量赋值法3、字符数组元素的引用数组名下标知识迁移, 集中、有序管 理引导学生对 比一维数组 学习字符数 组,利用字符 数组管理多 个字符或字 符串;巡回指 导对比学习, 分析、编写 和运行教材 例题程序25m i n三、实施任 务2:掌握 字符数组的 输入、输出 方法1、用格式符“c”逐个字符输入、 输出2、用格式符“s”对整个字符串一 次输入、输出善于问题引导学生编 写、运行教材 例题程序,巡 回指导编写、运行 教材例题程 序25m i n四、实施任 务3:掌握 字符串处理

8、 函数的应用 方法1、输出函数puts函数2、输入函数gets函数3、连接函数strcat函数4、复制函数strcpy函数5、比较大小函数strcmp函数6、长度测试函数strlen函数7、转换函数strlwr strupr函数创新意识讲解,引导学 生用字符数 组实现字符 串处理功能听讲,理解, 思考;先自 行实现字符 串处理函 数,后参考 例题程序30m i n五、总结概括基本内容,归纳重点内容自主学习引导学生归 纳总结,然后 布置课后任 务思考,记录, 整理场地5m i n作业通过教材、PPT和在线课程,复习巩固本次课内容;完成教材相应习题(可穿插到上述任务 中);总结本单元所学内容。后会

9、 课体1 .对比一维数组学习字符数组的定义方法、初始化方法和引用方法,同时注意字符数组 的特殊性,初始化方法除了单个元素(字符)赋值法,更常用的是字符串赋值法。相应地, 字符数组的输出方法除了可以用c格式符输出单个字符,还可以用5输出多个字符(字符 串),其根本原因要给学生讲透彻,即数组名代表数组的首地址(起始地址)。2 .可引导学生课下编程,使用常用的字符串处理函数,以验证所学的相关函数功能及应 用方法,并且可引导基础较好的学生自行实现字符串处理函数。12C语言程序设计教案 第3单元第3次课利用字符数组处理多个字符或字符串教学详案步骤一:复习与导入(时间:5分钟)复习:一维数组、二维数组的定

10、义、初始化和引用方法。导入:若存放多个字符型数据,如何实现? 一维或二维字符型数组一一字符数组。用 来存放字符型数据的数组是字符数组,字符数组中的每个元素存放一个字符。在嵌入式网络通信软件设计中,可用字符数组存放待发送或待接收的数据。步骤二:任务1:掌握字符数组的定义、初始化和引用方法(时间:25分钟)1、定义字符数组的方法例如:char c10;系统为数组c分配连续的10字节内存空间,存储10个字 符型数据。数组名c代表该数组的首地址。2、字符数组的初始化(1)逐个字符赋值法1)对全部元素赋初值:charc5=,a,;b,;c,;d7e,;或 charc结果:c0=cl= V, c2= c,

11、 c3=d, c4= Vo2)对部分元素赋初值:charc6=最后1个元素由系统自动赋空字符。(2)字符串常量赋值法(将字符串常量赋给字符数组:首地址c0 cl c2 c3 c4 c5 c6 c7 c8 c9char c10abcde0c0* 1字节 flcl c2 c3 c4 c5用数组处理字符串)abcde0char c =nabcde; 或:char c =Mabcden;字符串常量abcde”在内存中占6字节,数组c的长度是6。【引导思考】charc=ra:b?c?d,。;和 charc口二abcde”;有何区别?注意:在定义字符数组之后,不能一次性对整个数组的所有元素赋值,而只能对数

12、组的每个元素逐个赋值。例如:char c5;定义数组c5=,a7b7c7d,;e1;/错误c5=nabcdn;/错误3、字符数组元素的引用可以引用字符数组中的一个元素而得到一个字符。【例3.8】字符数组元素的引用:输出字符数组元素的值。/include int main(void)char a5=,a,;b,;c,d,e,; 定义字符数组并初始化char b6= 12345”; int i;print!(字符数组 a:);for(i=0; i5; i+)printf(n%cH,ai);printf(nnn);printf(字符数组 b:“);for(i=0; i6; i+)printff,%c

13、H,bi);printf(nnn);字符数纪a元素的引用字符数组b元素的引用:12345步骤三:任务2:掌握字符数组的输入、输出方法(时间:25分钟)1、用格式符“c”逐个字符输入、输出13C语言程序设计教案 第3单元第3次课【例3.9】字符数组逐个字符的输入、输出。/include int main(void)(int i;charc5;定义字符数组printfC请输入5个字符严);for(i=0; i5; i+)scanf(n%cM, &ci); 逐个字符输 Aprintf字符数组元素:”);for(i=0; i5; i+)printf(M%cM, ci);/逐个字符输出道蒯入5个字符:a

14、bc 12字符数组元素:abcl2道蒯入5个字符:abc 12字符数组元素:abcl2凄1入5个钞:a b c d e 鞠数组元素:a b cprintf(nnn);系统将输入的空格、换行符作为有效字符赋给数组元素:2、用格式符“s”对整个字符串一次输入、输出 【例3.10】字符串的格式化输入、输出。#include int main(void)(char str|10;prints,请输入字符串:);scanf(n% J, str);输A字符串printf(n%snM, str); 输出字符数组对应的字符串 说明:用“s”输入、输出字符串时,scanf、printf中的地址项、输出项都是字符

15、数 组名(首地址);用scanf输入字符串时,若输入空格或换行,系统则认为是字符串结束符0。【发现问题】如何将含有空格的字符串送给一个字符数组呢?【例3.111多个字符串的格式化输入、输出(可用空格、换行符或Tab符作分隔)。/include int main(void)(char strl10, str210|, str310J;printf,请输入3个字符串:);scanf(H%s%s%sH, strl, str2, str3);printf(n%s %s %snu, strl, str2, str3);)输入3个字符串请输入3个字;输出3个字符串i甲:ABCDEFG 1234567 ab

16、cdefgBCDEFG 1234567 abcdefg步骤四:任务3:掌握字符串处理函数的应用方法(时间:30分钟)C语言提供了若干个字符串处理函数。其中,字符串输入、输出函数,在使用前应包含 头文件“stdio.h;而其他字符串处理函数,在使用前应包含头文件“string”。1、输出函数puts函数” puts(字符串或字符数组名)将字符串或字符数组中存放的字符串输出到显示终端,并换行。2、输入函数gets函数::gets(字符数组名)从键盘输入一个字符串(可含空格)到字符数组中,换行符作为结束符。例:char str6;(str);从键盘输入一个字符串.存放至数组str中puts(str)

17、;显示从键盘上输入的字符串,并换行purs(请输入一个整数:):输出一串字符,并换行3、连接函数strcat函数:strcat(字符数组名L字符串或字符数组名2)将字符串或字符数组2中的字符串连接到字符数组1中字符串的后面,结果放在字 符数组1中。说明:字符数组1必须足够大,能够容纳连接后的新字符串;连接时将原14C语言程序设计教案 第3单元第3次课字符串1最后的0取消,只在新字符串最后保留。例:char strl10 = MabcM;char str210 = XYZ1;strcat(strlystr2);将字符串XYZ连接到字符串abc的后面strcat(str2, H123n);将字符串

18、123连接到字符串XYZ的后面puts(strl);显示数组strl的新字符串abcXYZ,并换行puts(str2);显示数组str2的新字符串XYZ123,并换行4、复制函数strcpy函数:strcpy(字符数组名1,字符串或字符数组名2)将字符串或字符数组2中的字符串复制到字符数组1中。说明:(1)字符数组1的长度必须能够容纳被复制的字符串。(2)字符数组在定义后,只能用strcpy函数将一个字符串常量或字符数组复制到 另一个字符数组中。只能将一个字符赋给一个字符变量或字符数组元素。例: char c|6|; char d6= nabcden;若要实现将字符串常量”abcde”赋给字符

19、数组c,则:c=Mabcden;不合法c=d;不合法strcpy(c, nabcden); 合法strcyp(c,d); 合法c0; cl=c2=*c*; c3=,(T; c4=3; c5=,0,; 合法5、比较大小函数strcmp函数:strcmp(字符数组名1或字符串1,字符数组名2或字符串2)比较规则:对两个字符串自左至右逐个字符相比较(按ASCII码值大小比较),直 到出现不同的字符或遇到。为止。若字符串1二字符串2,则函数值为0;字符串1字 符串2,则函数值为正整数1;字符串1字符串2,则函数值为负整数-1。【引导思考】程序执行结果? char strl5 = 3char str25

20、 = ABC”;ifi(strcmp(strl?str2) 0) printf(Hstrl str2nM);else if(strcmp(strl,str2) 0) printf(nstrl str2nH);elseprintf(Hstrl = str2nH);6、长度测试函数strlen函数:strlen(字符串或字符数组名)测试字符串的实际长度(不包括、。在内)。例如:char str6 = abcdeM ;strlen(str);/端出数组str字符串的实际长度5printf(odnM, strlen(M123M); 输出字符串 123 的实际长度 37、转换函数(大写转换为小写):st

21、rlwr(字符数组名)8、转换函数(小写转换为大写):stmpr(字符数组名)例:char strl10 MABcM;char str210 = MxyZH;puts(strhvr(strl); /惭出字符串 abcputs(strupr(str2); /输出字符串 XYZ【课后学习检验、学以致用】(1)教材单元练习第2、5、6、7、8、9、11、14题。(2)教材单元练习第17、18题。(3)教材例1.12:用字符数组实现字符串处理功能。步骤五:概括基本内容,归纳重点内容(时间:5分钟)1、引导学生概括本次课的基本内容,归纳重点内容(字符数组的定义、初始化、输入 和输出;常用的字符串处理函数

22、)。2、作业布置:通过教材、PPT和在线课程,复习巩固本次课内容;完成教材相应习题,15C语言程序设计教案 第3单元第3次课学以致用;总结本单元所学内容。16教学进度设计步骤教学内容及目标思政元素教师活动学生活动时间.一、复习与 导入复习:C语言的基本数据类型? 导入:若定义同类型的若干个变 量,有更简捷的方法?一一数组: 有序同类型数据的集合。温故知新、善于 发现问题引导启发、布 置学习任务思考、回答、 明确学习任 务5m i n二、实施任 务1:掌握 一维数组的 定义、初始 化和引用方 法1、定义一维数组的方法(1) 一般形式类型标识符数组名常量表达 式;(2) 一维数组在内存中的存储形

23、式:连续空间、数组元素的编号、 数组名代表数组的首地址2、一维数组的初始化对全部或部分元素赋初值3、一维数组元素的引用数组名下标知识迁移,集中、有序管理对比用多个 变量处理数 据,引导学生 体会使用数 组和循环结 构相结合处 理同类型的 多个数据的 好处,并加以 运用,巡回指 导听讲,理解, 分析、编写 和运行教材 例题程序40m i n三、实施任 务2:掌握 一维数组处 理批量同类 型数据的方 法冒泡排序(1)算法分析(2)代码实现和改进精益求精、节能 (改进排序代 码);实践是检 验真理的唯一 标准(实验验证)动画演示冒 泡排序算法, 代码分析,引 导学生改进 代码、编写完 整的排序程 序

24、,巡回指导听讲,理解, 分析、编写 和运行教材 例题程序40m in四、总结概括基本内容,归纳重点内容自主学习引导学生归 纳总结,然后 布置课后任 务思考,记录, 整理场地5m i n作业通过教材、PPT和在线课程,复习巩固本次课内容;完成教材相应习题(可穿插到上述任务 中);预习下次课内容(二维数组)后会 课体1 .通过变量,引导学生对比学习数组,深刻体会数组在处理同类型的多个数据的好处(同 类问题采用不同数据结构处理时,对应的算法也不同)。2 .在冒泡排序法程序教学中,循序渐进,引导启发,有效融入课程思政:精益求精、节能、 实践是检验整理的唯一标准。C语言程序设计教案 第3单元第2次课利用

25、一维数组处理同类型的批量数据教学详案步骤一:复习与导入(时间:5分钟)复习:C语言的基本数据类型?一一整型、实型、字符型导入:若定义若干个变量来存储多个同类型的数据,怎么写?有更简捷的方法?在C 语言中,数据类型除了基本类型(整型、实型、字符型),还有构造类型,包括数组、结构 体、共用体和枚举类型。其中,数组是将相同类型的若干数据按序组合在一起,即数组是有 序同类型数据的集合。本单元主要学习数值数组和字符数组,其他类别的数组将在后续单元 中陆续学习。单元学习目标:能利用一维数组、二维数组和字符数组处理同类型的批量数据。步骤二:任务1:掌握一维数组的定义、初始化和引用方法(时间:40分钟)1、定

26、义一维数组的方法数组和变量一样,要先定义后使用。定义一维数组的形式:类型标识符数组名常量表达式;说明:(1)类型标识符可以是基本类型 或 构造类型。(2)常量表达式表示数据元素的个数,也称为数组长度。例如:int a10;数组有10个整型元素:a0-a9o元素编号是从0开始。系统为数组a分配连续的10个整型内存空间,用来存储10个数组元素。C语言规定,数组名可以代表数组的首地址(数组首元素a0的地址)。【学习检验】教材单元练习第1题、第3题。2、一维数组的初始化在定义数组时,对数组元素赋初值。初值用 括起来,初值之间用逗号隔开。(1)对全部元素赋初值:int a5= 1,2,345; 或int

27、 a = 1,2,3,4,5);结果:a0=l, al=2, a2=3, a3=4, a4=5(2)对部分元素赋初值:inta5= 1,2,3;结果:a0=l, al=2, a2=3, a3=0, a4=0注意:初值个数不能超过指定的元素个数。int a5= 1,2,345,6;/错误 在定义数组之后,不能一次性对整个数组的所有元素赋值,而只能对每个元素逐个赋值。例如:inta5;定义数组a5= 1,3,579;错误a0=l; al=3; a2=5; a3=7; a4=9; 正确3、一维数组元素的引用C语言规定,只能引用某个数组元素而不能一次引用整个数组的全部元素。一维数组元素的引用形式:数组

28、名下标其中,下标就是数组元素的编号。【例3.1】将一组数据(如10个整数)倒序输出。【引导思考】引导学生用变量来实现的方法及弊端。int a0, al, a2,a9; a0=0; al = l; a2=2;.; a9=9; printf(u%d aO);printf(d al);C语言程序设计教案 第3单元第2次课printfC%d , a2);printf(d ”, a9);【引导思考】将上面的顺序结构改为循环结构一一改用数组来实现(精益求精)。/include int main(void)int i, a10;for(i=0; i=0; i)87654321printf(n%d n, ai

29、); printf(nnn);【引导总结】将数组和循环结构相结合,可有效处理同类型的批量数据,大大提高工作 效率。【学习检验】教材单元练习第10题。【学以致用】(1)教材单元练习第13题:输入10个整数,找出其中的最大值。(2)教材例32 输入一个整数,输出该整数从高位到低位的各位数字。(3)教材例33输入若干名学生的成绩,输出成绩单,并统计输出最高分、最低分和 平均分。(4)教材单元练习第15题:输出斐波那契(Fibonacci)数列(其概念见教材例4.41) 中200以内的数。步骤三:任务2:掌握一维数组处理批量同类型数据的方法(时间:40分钟) 一维数组广泛应用于对多个同类型的数据进行存

30、取、排序等操作的场合。由于是对多个数进行排序,自然会想到利用数组来保存和管理参与排序的多个数据。排序算法有多种,在此只介绍冒泡排序法。【例3.4】对n个数进行排序(由小到大)。冒泡排序法的思路:从第1个数开始,和下邻数比较,小数上浮,大数下沉。【动画演示】用冒泡法对5个数(如:9、7、5、8、0)进行由小到大排序的过程。第1轮第2轮第3轮第4轮a0 al a 2 a3 a 4a0 al a 2 a3 a 4第 1 次第次第第34次次第第第123次次次【引导归纳】C语言程序设计教案 第3单元第2次课对n个数排序,雪宴进行(nl)轮比较:第1轮 要进行(n-1)次两两比较;第2轮 要进行(n-2)

31、次两两比较;*第i轮 妥进行(n-i)次两两比较;第(nl )轮要进行1次两两比较。【代码实现】#deflne N 5宏定义参与排序的数据个数int aN;存放待排序的一组数据int i, j, t;for(i=l; iN; i+)/N个数,共需比较N-1 轮(for(j=0; jN-i; j+) 第 i 轮客宴比较N-i 次if(叫依次比较两个相邻的数,将大数放后面叫叫+1; aj+l=t;交换)外层for循环控制比较轮数,内层for循环控制第i轮比较的次数。【引导思考】若参与排序的多个数据在某轮比较前,恰好已经按照由小到大排序(如特 殊情况:才开始就已排好序),则上述程序有何弊端?一一后面

32、的几轮比较纯粹浪费时间。 如何改进?一一想办法提前结束循环。如何实现?一一利用第2章所学的break语句,增设 一个标志变量,记录在某轮比较过程中有无交换。【代码改进:精益求精、节能】#define N 5宏定义参与排序的数据个数int aN;存放待排序的一组数据int i9 j919 swap flag;for(i=l; iN; i+)/N个数,共雷比较N-1 轮 swap_flag=O;交换标志:0-无交换,1-有交换for(jb; jaj+l)依次比较两个相邻的数,将大数放后面(aj=aj+l; aj+l=t; $wap_flag=l; 交换if(swap_flag=0) break;若

33、本轮无交换,则结束比较 【引导思考与实践】输出比较的轮数,验证上述想法,看有没有得到改进(实践是检验 真理的唯一标准)。【举一反三】选择排序算法及实现。步骤四:概括基本内容,归纳重点内容(时间:5分钟)1、引导学生概括本次课的基本内容,归纳重点内容(一维数组的定义、初始化、引用 及应用方法)。2、作业布置:通过教材、PPT和在线课程,复习巩固本次课内容;完成教材相应习题, 学以致用;预习下次课内容(二维数组)。C语言程序设计教案 第3单元第2次课C语言程序设计教学设计 日期:年月日教学内容利用二维数组处理同类型的批量数据教学学时2授课教师班级地点周次星期节次教学 目标素质目标知识目标能力目标(

34、1)基本职业素养:遵守工作时间, 使用实践设备时注意用电安全,实践设 备使用完毕后要断电并放于指定位置, 程序设计要注重工程规范,养成良好的 工作习惯。(2)团结协作素养:小组内成员互查 程序代码书写规范性、准确性和完整性, 取长补短,具有责任意识、团队意识与 协作精神。(3)自主学习素养:能根据任务要求, 查找相关资料解决实际问题;能自主完 成练习,培养自主学习的意识与一丝不 苟、实事求是的工作作风。(4)思政和劳动素养:具有一定的辩 证唯物主义运用能力、安全意识、劳动 意识、创新意识、创新能力和强烈的爱 国主义精神。(1)掌握二维数 组的定义、初始化和 引用方法(2)掌握二维数 组处理同类

35、型数据 的应用方法能用数组解 决实际问题教学重点(1)二维数组的定义、初始化和引用的方法(2)二维数组处理同类型数据的应用方法教学难点二维数组的存储形式,二维数组看作一维数组能力训练 任务任务1:掌握二维数组的定义、初始化和引用方法 任务2:掌握二维数组处理同类型数据的应用方法教学材料(1)教材:朱琨C语言程序设计,机械工业出版社,978-7-111-66954-8, 2021(2)教学资源:电子教案、教学课件、微课视频、在线开放课程(3)仪器与设备:电脑(装有VC+开发环境)C语言程序设计教案 第3单元第2次课教学进度设计步骤教学内容及目标思政元素教师活动学生活动时间一、复习与 导入复习:一

36、维数组的定义、初始化和引 用方法。导入:可用1个一维数组存放1名学 生的语文、数学、英语3门课的成绩, 而如何存放多名学生的语文、数学、 英语3门课成绩呢?一一二维数组。温故知新、善 于提出问题引导启发、布 置学习任务思考、明确 学习任务5m i n二、实施任 务1:掌握 二维数组的 定义、初始 化和引用方 法1、定义一维数组的方法(1) 一般形式类型标识符数组名常量表达式1常量表达式2;(2)二维数组在内存中的存储形式连续空间、数组元素的编号、二维数组看作一维数组2、二维数组的初始化对全部或部分元素赋初值3、二维数组元素的引用数组名下标下标知识迁移, 集中、有序管 理,善于总结 规律对比楼层

37、和 教室讲解,引 导学生对比 一维数组学 习二维数组, 引导学生利 用数组管理 同类型的多 个数据,巡回 指导听讲,对比 学习,分析、 编写和运行 教材例题程 序,总结二 维数组的引 用方法(循 环嵌套)30m i n三、实施任 务2:掌握 二维数组处 理批量同类 型数据的方 法1、输出矩阵、查找最值2、输出矩阵的转置3、对多名学生的多门课成绩进行处 理4、输出杨辉三角形学以致用、解 决实际问题引导学生利 用已学知识 解决实际问 题,巡回指导编写、运行 教材例题程 序和手册练 习题50m i n四、总结概括基本内容,归纳重点内容自主学习引导学生归 纳总结,然后 布置课后任 务思考,记录, 整理

38、场地5m i n作业通过教材、PPT和在线课程,复习巩固本次课内容; 插到上述任务中);预习下次课内容(字符数组)。完成教材和工作手册相应习题(可穿课后 体会1、引导学生对比一维数组学习二维数组:定义方法、初始化方法和元素引用方法。通过 类比教学楼或年级、班级理解二维数组的结构和存储形式。教学难点是二维数组可以看作 是特殊的一维数组(突破方法:找每行元素的共同点)。教学的重点是,利用二维数组解决 实际问题,例如导入中的对多名学生的多门课成绩进行处理。2、如果有剩余时间,可将下次课字符数组的部分内容提到本次课。C语言程序设计教案 第3单元第3次课利用二维数组处理同类型的批量数据教学详案步骤一:复

39、习与导入(时间:5分钟)复习:一维数组的定义、初始化和引用方法。导入:可用1个一维数组存放1名学生的语文、数学、英语3门课的成绩,而如何存放 多名学生的语文、数学、英语3门课成绩呢?在C语言中,可用二维数组解决此类问题。在嵌入式软件设计中,二维数组可用于点 阵显示码、液晶显示码等编码的存取。步骤二:任务1:掌握二维数组的定义、初始化和引用方法(时间:30分钟)1、定义二维数组的方法定义二维数组的一般形式:类型标识符 数组名常量表达式1常量表达式2;其中,常量表达式1表示行数,常量表达式2表示的列数。例如: int a34;/定义3行4列的整型数组,共有3X4个元素每个元素的编号:第4列a0 3

40、al 3a 2 3第1列 第 1 行:a0 0 第 2 行:al0 第 3 行, a 2 0第2列第3列 a0l a0 all a aa系统会为数组a分配连续的12个整型内存空间,用来存储12个数组元素。在C语言中,二维数组中元素排列的顺序是按“行”存放的,即在内存中先顺序存放 第1行的元素;再顺序存放第2行和第3行的元素。【学习检验】教材单元练习第4题。可把二维数组a看作是一个特殊的一维数组。有3个行元素:a0J alj a2J,而每个 行元素又是一个包含4个列元素的一维数组,此时把a0、al a2看作一维数组名。1J u 1 1 1J 1J u u * 1J u 012 301230123

41、 rL - - rL rL rL rLJ000011112222 rL rL rL rL rL rL rL rLaaaaaaaa a a a aa00a0la02a03al0allal2al3a20a2laa23int a34|0 alM22、二维数组的初始化在定义二维数组时,对其元素初始化赋值。(1)分行给二维数组赋初值(一行对应一个花括号)例如:int a34= 1,234, 5,678, 9,10,11,12;(2)将所有数据写在一个花括号内,按顺序给元素赋初值 例如:int a34= 1,2,3A 5,6,7,8, 9,10,11,12);C语言程序设计教案 第3单元第3次课效果与第(

42、1)种方法相同。但不如第(1)种方法直观。(3)对全部元素都赋初值时,行数可以不指定,但列数不能省略。例如:int a 4=1,2,3,4, 5,6,7,8, 9,10,11,12);与第(2)种效果相同。, 1 0 0 0 :(4)可只给部分元素赋初值。例如:inta34=l,5,9;000注意:在定义数组之后,不能一次性对整个数组的所有元素赋值, 9 0 0 0) 而只能对每个元素逐个赋值。例如:int a34;定义数组a34=l,2,3,4,5,6,7,8,9,10,ll,12; 错误3、二维数组元素的引用只能引用某个数组元素而不能一次引用整个数组的全部元素。二维数组元素的引用形式:数组名下标下标其中,下标就是数组元素的编号。【例3.5】二维数组元素的引用:二维数组元素的赋值和输出。#include int main(void) (int a34;定义二维数组int i9j;printf请输入12个整数十);for(i=0; i3; i+)二维数组的行(for(j=0; j4; j+)二维数组的列scanfr%dM, &aij); 向数组a赋值for(i=0; i3; i+) (for(j=0; j4; j+)printf(na%d%d=%dnn,i,j,aij); 输出数组a的 12个元素值步骤三:任务2:掌握二维数组处理批量同类型数据的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁