1、C语言程序设计教程全册教案教学设计课程名称:C语言程序设计教程授课年级: 授课学期: 教师姓名: 年 月 日课题名称第1章 C语言概述计划学时3学时内容分析本章首先介绍了什么是计算机语言,以及计算机语言的分类。讲述了在程序设计中算法的地位,联系生活中的问题陈述了什么是算法,重点讲解了算法的表示方法。通过C语言概述知识介绍,了解C语言在IT领域的重要地位,最后讲解介绍C语言集成开发工具,安装Visual Studio2019 Community编写第一个小程序并了解C语言程序编译的过程。教学目标及基本要求1. C语言的起源和标准2. C语言的应用领域和特点3. 主流的开发工具,能够独立安装Vis
2、ual Studio2019 Community工具4. HelloWorld程序,了解程序的编译过程教学重点1. C语言发展历史、C语言应用领域2. 使用Visual Studio2019 Community开发工具编写第一个程序3. C语言程序编译原理教学难点1. 熟练使用Visual Studio2019 Community开发工具教学方式教学采用教师课堂讲授为主,结合教学PPT进行讲解教学过程第一课时(C语言的起源、标准、应用领域、特点)一、 构造情境,导入C语言的起源(1)计算机发展历史。工业革命发展历史,引出计算机是解放劳动力必然的产物;第一台计算机埃尼阿克诞生,到后来晶体管、大规
3、模集成电路;计算机相关的人物阿兰图灵、冯诺依曼等及早期编程语言简单介绍。(2)进入主题,逐项讲解以下内容。l 介绍C语言的起源l 介绍C语言的标准l 介绍C语言的应用领域(3)明确学习目标。l 要求学生了解C语言特点及其应用领域l 要求学生了解程序的编译过程二、 进行重点知识的讲解(1) 教师对C语言起源和标准进行讲解教师在开始讲解第一章内容之前,先综述什么是计算机语言。提及C语言的起源并讲解C语言的标准。(2) 教师对C语言应用领域和C语言的特点。教师可以通过编程语言网站进行讲述计算机编程语言不止一种,讲述常见的编程语言后,重点讲解C语言的应用领域和C语言的特点。三、归纳总结,布置课后作业
4、(1)回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。带领学生回顾C语言的起源、标准定义、应用领域和C语言的特点。第二课时(开发环境搭建、编写第一个程序、程序的编译过程)一、 由上节讲解知识,引出编程使用的集成开发环境(1)进入主题,逐项讲解以下内容。l 介绍Visual Studio2019 Communit开发环境搭建及使用l 编写第一个程序Helloworldl 了解程序的编译过程(3)明确学习目标。l 要求学生掌握Visual Studio2019 Communit开发工具的使用l 要求学生了编写第一个程序l 了解程序的编译过程二、 进行重点知识的
5、讲解(1) 教师对开发环境讲解。主要讲解Windows平台中的集成开发工具,企业使用的开发工具介绍。重点讲述初学者使用的集成开发工具Visual Studio2019 Communit。(2) 使用Visual Studio2019 Communit编写第一个程HelloWorld。讲解使用Visual Studio2019 Communit开发工具编写Helloworld程序,并了解程序编译运行的过程。三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。对使用Visual Studio2019 Communit开发工具存在的
6、问题进行讲解。(3) 布置课后习题作业。第三课时(演示C语言程序编译过程)本课时主要讲解程序的编译过程,让学生理解程序是如何生成可执行程序,并在条件运行的情况下进行实际的演示操作。形式:实验讲解题目:了解程序的编译过程、动态库、静态库、编译器请按照以下要求开始第一节上机课:要求如下:1) 了解C语言的编译过程,教师在Linux或Windows平台展示C语言编译详细过程。2) 带领学生认识并熟练使用Visual Studio2019 Communit开发工具。3) 认识C语言中的动态库、静态库。4) 了解C语言中不同的编译器。思考题和习题教学后记C语言程序设计教程教学设计课程名称:C语言程序设计
7、教程授课年级: 授课学期: 教师姓名: 年 月 日课题名称第2章 C语言数据类型计划学时4学时内容分析本章首先介绍了C语言的基础知识关键字、标识符、常量,在掌握这些基础知识后,认识C语言的数据类型并掌握基本数据类型的定义,掌握不同数据类型间的转换。随后讲解C语言库函数中的输入输出函数的使用,最后讲解了C语言的编写风格。教学目标及基本要求5. C 99标准关键字和标识符6. 常量合格变量以及关键字修饰变量7. C语言数据类型和基本数据类型之间的转换8. 格式化输入和输出函数的使用9. C语言的编程风格教学重点4. C语言发展历史、C语言应用领域5. 程序编译原理教学难点2. 关键字修饰基本数据类
8、型产生的变化3. 标准库输入输出函数的格式控制用法教学方式教学采用教师课堂讲授为主,结合教学PPT进行讲解教学过程第一课时(C语言的关键字、标识符)三、 构造情境,导入C语言关键字和标识符(1)什么C语言的的关键字。类比生活中的例子讲解什么是C语言关键字、以及C语言标识符命名规范。(2)进入主题,逐项讲解以下内容。l 介绍C语言的关键字l 介绍C语言标识符(3)明确学习目标。l 要求学生掌握C99标准关键字l 要求学生掌握正确的命名规范四、 进行重点知识的讲解(3) 教师对关键字进行讲解C语言关键字在编程中有特殊的用处在其他编程语言中也存在关键字,教师提及关键字将会在后续学习中使用。(4) 教
9、师对C语言标识符进行讲解。标识符在命名中必须遵循规范,做到见名知意。从开始学编程养成良好的习惯,就像,先正确握笔再写字。三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。带领学生回顾什么是C语言关键字、C语言的命名规范。第二课时(变量与常量、关键字修饰变量)三、 由上节讲解知识,引出变量与常量以及关键字修饰变量(1)进入主题,逐项讲解以下内容。l 常量与变量l 修饰变量的关键字l 关键字修饰变量后产生的变化(3)明确学习目标。l 要求学生掌握基本数据类型变量的定义l 要求学生掌握关键字修饰变量后产生的变化四、 进行重点知识的
10、讲解(4) 教师对C语言中的常量和变量进行讲解。主要讲解什么是C语言常量和变量,并讲解使用基本类型定义变量。(5) 讲解关键字修饰变量后产生的变化。教师首先讲解修饰变量的关键字有哪些,在讲解关键字修饰变量后产生的变化。类比生活中的例子为什么要这么做。三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾关键字修饰变量后产生的变化。(6) 布置课后习题作业。第三课时(语言的数据类型、类型转换)教师依次讲解基本数据类型、指针类型、构造类型,简单介绍指针类型和构造类型,重点讲解基本数据类型的定义以及不同类型之间的转换。五、 由上节
11、讲解知识,引出变量与常量以及关键字修饰变量(1) 进入主题,逐项讲解以下内容。l C语言数据类型l 基本数据类型之间的转换方式(2) 明确学习目标。l 要求学生掌握基本数据类型之间的转换l 要求学生了解指针类型、构造类型六、 进行重点知识的讲解(1) 教师对C语言数据类型进行讲解主要讲解什么是C语言的数据类型有哪些。(2) 教师讲讲解基本数据类型之间的转化教师讲解讲解C语言发生类型转换是程序设计不好才发生转换,讲解转换的两种方式以及对数据产生的变化。三、归纳总结,布置课后作业 (1) 回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾C语言数据类型、C语
12、言基本数据类型之间的转化。(2) 布置课后习题作业。第四课时(格式化输入输出函数、编程风格)教师依次讲解标准库中格式化输入输出函数的用法(格式控制符的使用),最后讲解C语言的编程风格。一、 由上节讲解知识,引出变量与常量以及关键字修饰变量(1) 进入主题,逐项讲解以下内容。l 格式化输入输出l 编程风格(2) 明确学习目标。l 要求学生掌握C语言的格式化输入输出风格l 要求学生掌握C语言编程风格二、 进行重点知识的讲解(1) 教师对格式化输入输出讲解主要讲解格式化输入输出的格式控制符的使用。(2) 教师讲解C语言编程风格教师在有网络的状态下,在github查找纯C语言、C等编程语言大型项目,展
13、示大型项目的编程命名规范和编程风格。目的让初学编程的学生从开始养成良好的编程习惯。三、归纳总结,布置课后作业 (1) 回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾标准库格式化输入输出函数可是控制符的用法。(2) 布置课后习题作业。思考题和习题教学后记C语言程序设计教程教学设计课程名称:C语言程序设计教程授课年级: 授课学期: 教师姓名: 年 月 日课题名称第3章 运算符与表达式计划学时4学时内容分析本章首先讲解了C语言中运算符与表达式的概念,接着分别对赋值运算符与赋值表达式、算术运算符及算术表达式等的讲解,最后讲解了运算符的优先级。C语言的运算符比
14、较简单,仍然需要进行详细学习才能在编程中灵活的使用。教学目标及基本要求10. 赋值运算符和赋值表达式11. 算术运算符和算术运算符表达式12. 关系运算符和关系运算符表达式13. 逻辑运算符和逻辑运算符表达式14. 位运算15. 条件运算符16. sizeof运算符17. 运算符优先级教学重点6. C语言运算符和运算符相关的表达式7. 位运算8. 了解运算符的优先级教学难点4. 运算符优先级教学方式教学采用教师课堂讲授为主,结合教学PPT进行讲解教学过程第一课时(赋值运算符和赋值表达式、算术运算符和算术表达式、关系运算符和关系表达式)五、 构造情境,导入运算符的概念(1)什么是C语言运算符。类
15、比数学中运算符号提及C语言中的运算符,类比数学中结合率提及运算符的优先级。(2)进入主题,逐项讲解以下内容。l 介绍C语言中的运算符l 赋值运算符和赋值表达式l 算术运算符和算术表达式l 关系运算符和关系表达式(3)明确学习目标。l 要求学生掌握运算符与表达式的用法六、 进行重点知识的讲解(5) 教师对运算符进行讲解教师在讲解赋值运算符时,一定要进行示范,左值和右值错误的相关编译错误。是如何解决的?三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。带领学生回顾已经讲解的运算符和运算符相关的表达式。第二课时(逻辑运算符和逻辑表
16、达式、位运算符、条件运算符)七、 由上节讲解知识,本节讲解的运算符及其运算符相关的表达式(1)进入主题,逐项讲解以下内容。l 逻辑运算符和逻辑表达式l 位运算符l 条件运算符(3)明确学习目标。l 要求学生掌握本节讲解的运算符与表达式的内容八、 进行重点知识的讲解(7) 教师对本节运算符与表达式进行讲解。主要讲解如何使用运算符并举例进行演示。三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾讲解完成的运算符与表达式。(8) 布置课后习题作业。第三课时(sizeof运算符、运算符优先级)教师依次讲解sizeof运算符(si
17、zeof运算符是关键字)、运算符优先级,并结合课堂作业和课堂作业对本章内容进行总结。九、 讲解运算符与运算符优先级 (3) 进入主题,逐项讲解以下内容。l sizeof运算符l 运算符优先级(4) 明确学习目标。l 要求学生掌握基本数据类型之间的转换l 要求学生掌握sizeof运算符的用法l 要求学生掌握运算符优先级十、 进行重点知识的讲解(3) 教师对sizeof运算符进行讲解对sizeof运算符结合实际上机演示进行讲解。(4) 教师讲解基本数据类型之间的转化教师讲解运算符时结合多运算符表达式进行讲解。三、归纳总结,布置课后作业 (3) 回顾上课前的学习目标,对本节课知识点进行总结。 提问讲
18、解的知识点,对存在问题进行讲解。回顾本章讲解的运算符、运算符相关的表达式运算,运算符优先级。(4) 布置课后习题作业。思考题和习题教学后记C语言程序设计教程教学设计课程名称:C语言程序设计教程授课年级: 授课学期: 教师姓名: 年 月 日课题名称第4章 结构化程序设计计划学时4学时内容分析本章首先讲解了程序流程图,接着讲解了程序执行的顺序结构、选择结构、循环结构和跳转语句。通过本章的学习,学生可以编写简单的程序。教学目标及基本要求18. 程序流程图19. 顺序结构20. 条件语句使用21. 循环语句使用22. 循环嵌套使用23. 跳转语句使用教学重点9. 条件语句10. 循环嵌套11. 跳转语
19、句教学难点5. 循环结构教学方式教学采用教师课堂讲授为主,结合教学PPT进行讲解教学过程第一课时(程序流程图、顺序结构)七、 构造情境,导入程序流程图(1)教师讲解程序流程图、顺序结构。教师对流程图的含义进行讲解,并带领学生掌握流程图的基本画法。在讲解顺序结构时,类比生活中的例子让学生理解顺序结构,如A对B将故事,A从头至尾按顺序讲完,B在听的过程中没有提问A。(2)进入主题,逐项讲解以下内容。l 程序流程图l 顺序结构(3)明确学习目标。l 要求学生掌握程序流程图l 要求学生对顺序结构的理解八、 进行重点知识的讲解(6) 教师对程序流程图进行讲解教师讲解结合具体实例对流程图进行讲解。(7)
20、教师对顺序结构进行讲解教师讲解顺序结合书中案例。三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。带领学生回顾已经讲解的程序流程图和顺序结构。第二课时(条件语句)十一、 由上节讲解知识,引出本节讲解条件分支语句(1)进入主题,讲解条件语句。l if语句l if-else语句l switch-case语句(3)明确学习目标。l 要求学生掌握条件语句的使用十二、 进行重点知识的讲解(9) 教师对条件语句进行讲解。主要讲解如何使用条件判断语句,如何避免意大利面条代码的出现,以及关键字break在switch-case语句中的作用。
21、三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾讲解完成的条件语句。(10) 布置课后习题作业。第三课时(循环语句、循环嵌套)教师依次讲解C语言中的三种循环结构。十三、 讲解C语言中的循环结构 (5) 进入主题,逐项讲解以下内容。l while循环l for循环l do-while循环l 循环嵌套(6) 明确学习目标。l 要求学生掌握C语言中三种循环语句的使用l 要求学生掌握循环嵌套的使用十四、 进行重点知识的讲解(5) 教师讲解while循环教师课堂举实例进行讲解。(6) 教师讲解for循环教师讲解课堂举实例进行讲解
22、,并讲解while循环和for循环之间的转化。(7) 教师讲解do-while循环教师课堂举实例进行讲解,并讲解与while循环的区别(8) 教师讲解循环嵌套教师课堂举实例进行讲解循环语句嵌套。三、归纳总结,布置课后作业 (5) 回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾本章讲解的三种循环结构和循环嵌套的使用。(6) 布置课后习题作业。第四课时(跳转语句)教师依次讲解跳转语句的作用。一、 讲解跳转语句 (1) 进入主题,逐项讲解以下内容。l continue跳转语句l break跳转语句l goto跳转语句(2) 明确学习目标。l 要求学生掌握跳
23、转语句的使用二、 进行重点知识的讲解(1) 教师讲解三种跳转语句教师课堂举实例进行讲解,并对学过的三种循环语句进行总结。三、归纳总结,布置课后作业 (1) 回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾本章讲解的三种跳转语句使用。(2) 布置课后习题作业思考题和习题教学后记C语言程序设计教程教学设计课程名称:C语言程序设计教程授课年级: 授课学期: 教师姓名: 年 月 日课题名称第5章 指针计划学时7学时内容分析本章指针章节时本书核心内容,旨在学生理解和掌握指针,在后续数组、函数、字符串、结构体章节中学习指针起到强化作用。首先讲解了指针和计算机内存的
24、关系(计算机专业可参考计算机组成原理、C和指针、深入理解操作习题等书籍进行学习)接着假关节了指针的概念、指针运算、特殊类型指针、内存操作函数、const修饰符和二级指针。教学目标及基本要求24. 计算机内存25. 指针的概念26. 指针变量类型和大小27. 指针的运算28. 特殊指针类型29. 常见的内存操作函数30. 指针与const修饰符31. 二级指针教学重点12. 指针的概念13. 指针变量的大小14. 指针运算15. 特殊指针类型16. 常见的内存操作函数17. 指针与const修饰符18. 二级指针教学难点6. 指针的概念7. 指针变量类型8. 指针的运算教学方式教学采用教师课堂讲
25、授为主,结合教学PPT进行讲解教学过程第一课时(计算机内存)九、 构造情境,导入指针与内存地址的概念(1)教师讲解计算机内存相关知识。教师讲解计算机内存时,查找早期8位、16位等计算机中指针与内的相关资料,根据学校课程安排情况可以对计算机虚拟内存地址映射进行扩展讲解。核心讲解计算机内存具有线性存储的特点,并且内存是有地址编号的。讲解完成计算机内存后,讲解一个进行(运行中的程序)在内存中的空间分布状态。(2)进入主题,逐项讲解以下内容。l 计算机内存l 进程空间(3)明确学习目标。l 要求学生了解计算机内存线性存储的特点l 要求学生了解进程空间分布十、 进行重点知识的讲解(8) 教师对计算机内存
26、进行讲解教师讲解时结合计算机相关资料讲解内存,让学生认识内存具有线性存储的特点。(9) 教师对进程空间进行讲解教师讲解进程空间时,可在Windows或linux中查看进程的状态,了解什么时进程。如第一章第一个程序“Helloword”运行后,打开任务管理器查看hello word进程的相关信息。三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。带领学生回顾已经讲解的计算机内存和进程空间。第二课时(指针的概念、指针变量的类型和大小)十五、 由上节讲解知识,引出本节讲解的指针知识(1)进入主题,讲解指针的概念。l 指针的概念l
27、指针变量类型和大小(3)明确学习目标。l 要求学生掌握指针的概念l 要求学生掌握指针变量类型和大小十六、 进行重点知识的讲解(11) 教师对指针的概念进行讲解。教师讲解指针就是内存中的地址编号是一个不可更改的常量,(和指针变量时不一样的,指针变量具有类型)并结合生活中的事例让学生理解什么是指针。如酒店楼层的房间都有编号,把楼层看成内存,房间的编号就是指针(内存中的地址)。(12) 教师讲解指针变量类型和大小教师讲解指针变量时区分指针和指针变量,强调指针就是内存中的地址,而指针变量是一个变量,具有类型。好比定义的int类型是一个整型变量存储的是整数类型,指针变量存储的是地址。指针变量大小和操作系
28、统的位数有关系,和定义的指针变量类型无关。在条件运行的情况下,可以在虚拟机中安装32位和64位系统(Windows或Linux)进行验证。此外,指针的大小和编译器有关,编译器选择编译运行的平台时指针大小发生变化,可以在Visual Studio中进行验证。三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾讲解的指针概念和指针变量类型和大小。(13) 布置课后习题作业。第三课时(指针运算)教师讲先复习指针的概念在对指针运算进行讲解。一、 讲解指针的运算 (9) 进入主题,逐项讲解以下内容。l 指针的取值运算l 指针的取址运
29、算l 指针的算术运算(10) 明确学习目标。l 要求学生掌握指针的取值运算l 要求学生掌握指针的取址运算l 要求学生掌握指针的算术运算二、 进行重点知识的讲解(7) 教师讲解指针的取值运算教师课堂举实例并画图讲解指针的取值运算。若学生未理解指针的概念则对指针进行复习后进行讲解。(8) 教师讲解指针的取址运算教师课堂举实例并画图进行讲解指针的取址运算。(11) 教师讲解指针的算术运算教师讲解指针的算术运算时,提及指针的算术运算应用与连续的内存空间,如后续数组中以及数据结构课程中的链表结构。三、归纳总结,布置课后作业 (7) 回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在
30、问题进行讲解。回顾本章讲解的指针的的取值运算、取址运算和指针的算术运算。(8) 布置课后习题作业。第四课时(特殊类型指针)教师依次讲解特殊类型指针。三、 讲解特殊类型的指针 (3) 进入主题,逐项讲解以下内容。l 空指针l 野指针l void*指针(4) 明确学习目标。l 要求学生掌握特殊类型指针四、 进行重点知识的讲解(2) 教师讲解特殊类型指针教师课堂讲解特殊类型指针的具体用途,空指针是为了避免野指针导致程序崩溃的出现、void*指针的用法。 三、归纳总结,布置课后作业 (3) 回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾讲解的特殊指针类型。(
31、4) 布置课后习题作业第五课时(常见的内存操作函数)教师依次讲解内存操作函数,内存操作函数将会在数组章节使用,在本章中学生了解即可。一、 讲解常见的内存操作函数(1) 进入主题,逐项讲解以下内容。l 堆内存操作函数l 堆内存释放l 其他内存操作函数(2) 明确学习目标。l 要求学生了解常见的内存操作函数二、 进行重点知识的讲解(1) 教师讲解特殊类型指针教师课堂讲解特殊类型指针的具体用途,如空指针是为了避免野指针导致程序崩溃的出现、void*指针用于函数返回值称为通用指针,本章讲解的内存操作函数就是这种类型的。三、归纳总结,布置课后作业 (1) 回顾上课前的学习目标,对本节课知识点进行总结。
32、提问讲解的知识点,对存在问题进行讲解。回顾讲解的内存操作函数。(2) 布置课后习题作业第六课时(指针与const修饰符)教师依次讲解const修饰符与指针之间的关系。一、 讲解指针与const修饰符(1) 进入主题,逐项讲解以下内容。l 常量指针l 指针常量l 常量常指针(2) 明确学习目标。l 要求学生了解const与指针变量值之间的关系二、 进行重点知识的讲解(1) 教师讲解const与指针变量之间的关系教师讲解const关键字修饰指针变量是如何区分的。三、 归纳总结,布置课后作业 (1) 回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾讲解的co
33、nst修饰指针变量的关系。(2) 布置课后习题作业第七课时(二级指针)教师讲解二级指针时视学生对指针的掌握情况进行讲解,若未掌握一级指针本节可不讲,则本课时内容复习一级指针章节的内容。一、 讲解二级指针 (1) 进入主题,逐项讲解以下内容。l 二级指针间接修改变量的值l 二级指针修改一级指针的指向(2) 明确学习目标。l 要求学生了解二级指针二、 进行重点知识的讲解(1) 教师讲解特殊类型指针教师课堂讲解二级指针的概念,指针变量是存储地址的变量,指针变量在内存中有自己的地址,用一个指针变量存储指针变量的地址被称为二级指针。三、归纳总结,布置课后作业 (1) 回顾上课前的学习目标,对本节课知识点
34、进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾讲解的二级指针。(2) 布置课后习题作业思考题和习题教学后记C语言程序设计教程教学设计课程名称:C语言程序设计教程授课年级: 授课学期: 教师姓名: 年 月 日课题名称第6 章数组计划学时7学时内容分析本章开始讲解C语言中的构造类型-数组,数组是内存中一块连续的内存单元,学习完指针可以使用指针很方便的操作数组中的元素。首先讲解了一维数组的定义和初始化、数组三要素、一维数组在内存中的存储方式、一维数组的遍历以及一维数组中元素的排序方式。最后讲解了二维数组的定义、初始化和访问、二维数组在内存中存储方式、变长数组和动态数组和指针与数组之间的关系。
35、教学目标及基本要求32. 一维数组的定义和初始化33. 数组的三要素34. 一维数组在内存总的存储方式35. 数组遍历36. 一维数组元素排序方式37. 二维数组定义、初始化和访问38. 二维数组在内存中的存储方式39. 变长数组和动态数组40. 指针与数组之间的关系教学重点19. 一维数组的定义和初始化20. 数组的三要素21. 一维数组在内存总的存储方式22. 数组遍历23. 二维数组定义、初始化和访问24. 二维数组在内存中的存储方式教学难点9. 一维数组元素排序方式10. 变长数组和动态数组11. 指针与数组之间的关系教学方式教学采用教师课堂讲授为主,结合教学PPT进行讲解教学过程第一
36、课时(一维数组的定义和初始化、数组的三要素)十一、 构造情境,导入一维数组的概念(1)教师讲解一维数组的概念教师讲解一维数组时,举例生活中的例子如烤串,烤串中的食物按顺序排列就像一维数组中的元素按顺序排列一样。每个元素在内存中是连续的并且元素地址编号也是连续的(2)进入主题,逐项讲解以下内容。l 一维数组的定义和初始化l 数组三要素(3)明确学习目标。l 要求学生掌握一维数组的定义和初始化l 要求学生掌握数组的三要素十二、 进行重点知识的讲解(10) 教师对一维数组的定义和初始化进行讲解教师讲解时结合具体案例进行讲解。(11) 教师对数组三要素进行讲解教师讲解数组三要素时,对定义的数组进行拆分
37、讲解。三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。带领学生回顾一维数组相关知识点。第二课时(一维数组在内存中的存储方式、数组的遍历)十七、 由上节讲解知识,引出一维数组的知识(1)进入主题,讲解条件语句。l 数组的起始地址l 数组的步长l 数组的边界l 数组的遍历(3)明确学习目标。l 要求学生掌握数组在内村中的存储方式l 要求学生掌握数组的遍历十八、 进行重点知识的讲解(14) 教师对一维数组在内存中的存储方式进行讲解。教师讲解一维数组在内存中的存储方式结合实际案例并画出图示进行讲解。在讲解数组时提及C语言中数组对数
38、组越界并不进行检查,要注意数组使用中不同越界。(15) 教师讲解数组的遍历 教师在讲解数组的遍历时,对数组遍历涉及到的知识简单进行回顾,如循环、指针等。三、归纳总结,布置课后作业 (1)回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾讲解的一维数组在内存总的存储、一维数组的遍历。(16) 布置课后习题作业。第三课时(一维数组的排序方式)教师讲解数组元素排序时,对数中的排序算法进行详细讲解。让学生对算法知识有初步的认识。三、 讲解一维数组元素的排序方式 (12) 进入主题,逐项讲解以下内容。l 冒泡排序l 选择排序l 插入排序(13) 明确学习目标。l
39、要求学生掌握一维数组的排序方式四、 进行重点知识的讲解(9) 教师讲解一维数组排序方式教师课堂举实例并画图讲解一维数组的排序方式,结合生活中的例子类比进行讲解。数组元素排序涉及到算法,本节讲解的是数组元素的基本排序算法。根据学生掌握情况可适当扩展其他排序算法。三、归纳总结,布置课后作业 (9) 回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾本章讲解的一维数组元素排序方式。(10) 布置课后习题作业。第四课时(二维数组的定义、初始化和访问)五、 讲解二维数组的定义、初始化和访问 (5) 进入主题,逐项讲解以下内容。l 二维数组的定义l 二维数组的初始化
40、l 二维数组的访问(6) 明确学习目标。l 要求学生掌握二维数组的定义、初始化和访问六、 进行重点知识的讲解(3) 教师讲解二维数组的定义、初始化和访问教师课堂讲解二维数组时类比生活中的例子进行类比讲解,如国庆阅兵时一个方阵的士兵就是一个二维数组,方阵的行列可以看成二维数组的行和列,每个士兵可以看成二维数组中的元素。三、归纳总结,布置课后作业 (5) 回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾讲解的二维数组。(6) 布置课后习题作业第五课时(二维数组在内存中的存储方式)教师在讲解二维数组时简单回顾一维数组在内存中的存储方式,再进行二维数组在内存中
41、的存储方式。三、 讲解二维数组在内存中的存储方式 (3) 进入主题,逐项讲解以下内容。l 二维数组在内存中的存储方式(4) 明确学习目标。l 要求学生掌握二维数组在内存中的存储方式四、 进行重点知识的讲解(2) 教师讲解二维数组在内存中的存储方式教师课堂讲解二维数组在内存总的存储方式时结合数中案例并画出图示进行讲解。三、归纳总结,布置课后作业 (3) 回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾讲解二维数组在内存中的存储方式。(4) 布置课后习题作业第六课时(变长数组和动态数组)教师讲解动态数组时,设计到内存申请函数的使用,可回头查看第5章内存操作
42、函数章节详细介绍。四、 讲解变长数组和动态数组 (3) 进入主题,逐项讲解以下内容。l 变长数组l 动态数组(4) 明确学习目标。l 要求学生掌握变长数组l 要求学生掌握动态数组五、 进行重点知识的讲解(2) 教师讲解变长数组教师讲解变长数组时提及变长数组时C99中的标准,并结合实际案例进行讲解。(3) 教师讲解动态数组 教师在讲解动态数组时结合书中案例并画出图示进行讲解,并对动态内存分配函数进行讲解。若设计的指针知识学生未完全掌握可再次进行复习指针章节内容。六、 归纳总结,布置课后作业 (3) 回顾上课前的学习目标,对本节课知识点进行总结。 提问讲解的知识点,对存在问题进行讲解。回顾讲解的变长数组和动态数组内容。(4) 布置课后习题作业第七课时(指针与数组之间的关系)教师讲解指针与数组的关系时简单回顾指针和数组相关的基础知识,在进行讲解,让学生理解指针数组与数组指针