《C语言程序设计教案模板.pdf》由会员分享,可在线阅读,更多相关《C语言程序设计教案模板.pdf(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、教教案案Xx 学年 第 xx 学期课程名称:程序设计基础教学模式:线上 线下 混合实践授课班级:xx 专业 xx 年级 xx 班授课教师:xx职称:xx授课教材:C 语言程序设计(第二版)编编 写写 说说 明明1教案是教学过程的实施方案,是根据课程教学大纲规定的教学内容和教学基本要求,结合授课对象的实际情况,对教学活动的全程设计。2建议理论授课每次课(2 小节)编写一个教案,实践课根据实践内容编写教案;每门课程的教案按学期用一个封面左侧装订,A4 纸双面打印,手写亦可。3本表的每项内容都要认真填写,“教学过程”部分要详细填写;要求格式整齐,段落清晰,注重思想性、科学性、逻辑性和艺术性。4每门课
2、程的授课教案在每次授课时应及时更新。第 1 讲授课时间11 月 9 日,第 10 周 周 一第 5-6 节授课类型理论课 讨论课 习题课 实验课 其他:授课题目课程介绍课次课时安排12知识:了解 C 语言的发展历史和特点了解程序与程序语言的概念了解计算机实现问题求解的过程教学目标了解 C 程序的上机步骤能力:掌握 C 程序格式和结构特点素养:认识工具对编程的重要性教学重点难点:计算机实现问题求解的过程和难点教学方式板书 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容课前准备内容简介教学须达到的目的教学方式、学习方法、考核方式及评分标准;师生互动设计教学方法和时间安排雨课堂问
3、卷讲授,5m讲授,5m讲授,5m讲授,5m讲授,演示,5m实习,5m实习,5m调查讨论,10m授授课基本内容介绍;课内CB 工具安装介绍;容OJ 系统注册课堂调查:选择专业的目的;C 语言的了解程度微信注册雨课堂;1示例程序介绍;C 语言的发展过程C 语言的特点程序与程序设计语言程序的编译与编译环境C 程序的格式和结构特点实现问题求解的过程C 程序的上机步骤学习本门课程的方法提问:第一台电子计提问:计算机硬件的发展经历了哪几个阶段?提问:对一个具体的题目如求梯形面积,我们是如何求解的呢?演示,5m5m讲授,5m讲授,5m讲授,5m讲授,5m讲授,5m讲授,5m讲授,5m算机是如何产生的?课OJ
4、 系统注册并至少完成其中的 1 道题。后活动2第 2 讲授课时间11 月 11 日,第 10 周 周 三第 3-4 节授课类型理论课 讨论课 习题课 实验课 其他:授课题目用 C 语言编写程序课次课时安排12知识:掌握基本数据类型掌握基本输入输入函数用法能力:能够定义变量教学目标能够给变量赋值能够打印变量的值素养:变量定义的可读性,团队合作基础教学重点重点难点:变量类型和定义;输入输出的理解和难点教学方式板书 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容课课本 18-28 页或翁恺 MOOC 第一章(45m)前准备授课内容师生互动设计教学方法和时间安排3讲授与指导内容讲授
5、与指导内容数据类型数据类型本次课的讲授内容:本次课的讲授内容:提出了解、熟悉、掌握的内容C C 的数据类型的数据类型数据为什么要区分数据类型?不同类型的数据代表不同的数据表示形式合法的取值范围占用内存空间大小可参与的运算种类这四点是本章的根基所在,即本章要讲清楚的就是这四点内容。C C 的数据类型的数据类型基本数据类型中的(整型、字符型、浮点型)是本次课要掌握的,其他的类型将在后面的章节学习。常量与变量常量与变量理解:常量与变量是程序中对数据的表现形式。(一)标识符(一)标识符概念命名规则(二)常量(二)常量1、符号常量使用规则使用优点2、直接常量整型常量实型常量字符常量字符串常量(三)变量(
6、三)变量概念讲课、互动内讲课、互动内容设计容设计提问:上节讲过程序设计语言的一个功能是什么?就 是 对 数 据 的 描述,在 C 中是用数据类型来表达的。启发:数据为什么要区分类型?内容见教材 6.1课时课时分配分配1 分钟10 分钟10 分钟内容见教材 6.25 分钟启发:文件或文件夹是如何命名的?10 分钟通过实例说明使用符号常量的优点整型常量、实型常量与通常的计算用的数字进行对比字符常量、字符串常量是 C 特有的,掌握它们的特点,这里需要注意的是转义字符4定义形式1、变量赋初值赋值规则2、类型修饰符3、整型变量4、实型变量5、字符变量类型转换类型转换1、隐式类型转换2、显式类型转换(强制
7、类型转换)转换的形式注意区分变量与常量的概念,变量不能直接使用,必须先定义。理解:变量名代表内存中的一个存储单元,用于存放该变量的值,而该存储单元的大小由变量的类型决定。举例强调 C 语言没有字符串变量内容见教材 6.410 分钟4 分钟3 分钟2 分钟2 分钟2 分钟3 分钟10 分钟课完成 OJ 系统 18 道顺序结构的题目中的 10 道。后活动5第 3 讲授课时间11 月 16 日,第 11 周 周 一第 5-6 节授课类型理论课 讨论课 习题课 实验课 其他:授课题目C 语言中的运算符课次课时安排12知识:掌握 C 常用运算符和表达式(算术、关系、逻辑)的使用了解其它运算符和表达式(条
8、件、逗号)的使用能力:教学目标能够正确使用运算符和表达式素养:表达式的可读性对团队合作的重要性教学重点重点难点:自增,自减和难点教学方式板书 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容课课本 30-35 页或翁恺 MOOC 第二章(45m)前准备师生互动设计教学方法和时间安排讲授与指导内容讲授与指导内容运算符与表达式运算符与表达式本次课的讲授内容:本次课的讲授内容:提出了解、熟悉、掌握的内容运算符与表达式运算符与表达式(Operators and Expressions)(一)运算符的分类学习运算符应注意:学习运算符应注意:运算符功能讲课、互动内容讲课、互动内容设计设计
9、课时课时分配分配授课内容提问:数据为什5 分钟么要区分类型?这次课就是要讲清楚数据类型中第 4 点内容5 分钟6与运算量关系(要求运算量的个数和类型)运算符优先级别(precedence)(不同的运算符先算谁,后算谁)结合方向(相同的优先级是从左向右算还是从右向左算)结果的类型(结果是哪种类型的数据)(二)表达式的概念算术运算符与表达式算术运算符与表达式(Arithmetic Operator)1基本的算术运算符 +(加法运算符)addition -(减法运算符)subtraction *(乘法运算符)multiplication /(除法运算符)division%(模运算符)remainde
10、r2增量与减量运算(+与-)Increment andDecrement operators作用:使变量的值增1 或减 1。赋值运算符与表达式赋值运算符与表达式(Assignment operator)1赋值运算符2赋值表达式赋值表达式的运算过程关系运算符与表达式关系运算符与表达式(Relational operators)关系运算即比较运算(比大小)1关系运算符关系运算符的优先级讲清楚优先级和结合性的概念内容见教材 6.5注意讲清楚除法运算和取模运算的特点,与我们熟悉的四则运算作比较启发:算术运算符的优先级是怎样的?注意对比前置与后置的区别,举例说明注意讲清楚与通常 意 义 的 等 号(=)
11、的区别注意结合上一次课变量赋初值的内容注意关系等(=)与赋值等(=)的区别5 分钟10 分钟5 分钟5 分钟10 分钟10 分钟72关系表达式关系表达式的的结果是个逻辑值,即“真”或“假”。C 语言以“0”代表假,“1”代表真。逻辑运算符与表达式逻辑运算符与表达式(Logical operator)逻辑运算符有 3 种:&逻辑与(双目运算符)|逻辑或(双目运算符)!逻辑非(单目运算符)逻辑运算符的优先级求解逻辑运算符的过程(&和|)条件运算符与表达式条件运算符与表达式条件表达式的一般格式为:?:条件表达式的运算过程逗号运算符逗号运算符运算符格式优先级其他运算符其他运算符1.长度运算符(Leng
12、th operator)2.特殊运算符运算符的优先级与结合性运算符的优先级与结合性举例说明逻辑运算符的真值表举例说明举例说明10 分钟5 分钟5 分钟15 分钟第二节课完课完成 OJ 系统 18 道顺序结构的 5 道题目。后活动8第 4 讲授课时间11 月 18 日,第 11 周 周 三第 5-6 节授课类型理论课 讨论课 习题课 实验课 其他:授课题目分支结构(1)课次课时安排12知识:了解 C 语句的分类了解程序的三种基本结构能力:教学目标掌握分支(选择)结构的使用方法素养:分支语句的可达性,团队合作基础教学重点难点重点:嵌套语句和难点教学方式板书 多媒体音视频 演示 操作 参访 其他:教
13、 学 过 程教 学 内 容师生互动设计教学方法和时间安排课课本 38-51 页或翁恺 MOOC 第三章判断(45m)前准备授课讲授与指导内容讲授与指导内容讲课、互动内容设计讲课、互动内容设计内容课时课时分配分配9流程控制之分支结构流程控制之分支结构本次课的讲授内容:本次课的讲授内容:提出了解、熟悉、掌握的内容问题提出问题提出程序设计语言最基本的功能是数据的描述和数据处理,数据处理在高级语言中又称为流程控制。流程控制就是表达数据处理过程的一种手段,是程序的控制过程。C C 语句分类语句分类程序的三种基本结构程序的三种基本结构1、流程图流程图是用来描述算法的工具,它使用符号形象直观地表达算法。2、
14、三种基本结构顺序选择(分支)循环分支结构分支结构(一)二分支结构(一)二分支结构形式一:(Single-selection statement)(Single-selection statement)流程图执行过程源程序节选形式二:(Double-selection statement)(Double-selection statement)流程图执行过程源程序节选(二二)多多分分支支结结构构(Multiple-selection(Multiple-selectionstatement)statement)形式流程图执行过程源程序节选1 分钟1 分钟提问:在绪论中我们讲过程序设计语言最基本的功
15、能是什么?教材 P8 中部的内容流程图课标和教材中均未作要求,只是在讲流程控制时使用了,所以这里简单介绍每一种结构用流程图展示,说明程序流程4 分钟2 分钟5 分钟5 分钟5 分钟5 分钟给出每种分支结构形式,用流程图说明,注意结合流程图讲解每种结构的执行过程每个例题让同学先分析为什么要用分支结构、如何选10举例举例1、求一个数的绝对值(例38)2、输入两个数并判断两数是否相等3、判断输入字符种类(三)嵌套的(三)嵌套的 if if 语句语句形式举例举例比较两个数的大小(四)(四)switchswitch 语句语句形式流程图执行过程举例编写一个程序任意输入一个年份和月份,显示该月份的天数。择合
16、适的分支结构形式,进行互动。最后由教师进行总结。程序的执行过程用流程图说明讲清楚为什么需要嵌套 if语句给出四种嵌套的形式重点讲授 if 与 else 的配对原则通过实例讲清楚嵌套的 if语句流程4 分钟4 分钟4 分钟第一节课完10 分钟10 分钟让同学先行分析,进行互动。最后教师通过流程图讲清8 分钟楚 switch 语句的执行过程通过例题分析为何要用分支结构,如何用 switch 结构编写程序。12 分钟第二节课完课【课后要求】【课后要求】后完成 OJ 系统 21 道分支结构的 10 道题目。活动11第 5 讲授课时间11 月 23 日,第 12 周 周 一第 5-6 节授课类型理论课
17、讨论课 习题课 实验课 其他:授课题目分支结构(2)课次课时安排12知识:了解 C 语句的分类了解程序的三种基本结构能力:教学目标掌握分支(选择)结构的使用方法switch 结构中 case 语句的用法素养:程序所有语句均可达,程序完备性,团队合作基础教学重点难点重点:switch 语句条件和难点课程思政:软件漏洞和分支不完备覆盖带来的危害教学方式板书 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容师生互动设计教学方法和时间安排课【课前要求】【课前要求】前课本 51-62 页或翁恺 MOOC 第三章分支(45m)准备授课讲授与指导内容讲授与指导内容讲课、互动内容设计讲课、互
18、动内容设计内容课时课时分配分配12流程控制之分支结构流程控制之分支结构本次课的讲授内容:本次课的讲授内容:提出了解、熟悉、掌握的内容问题提出问题提出程序设计语言最基本的功能是数据的描述和数据处理,数据处理在高级语言中又称为流程控制。流程控制就是表达数据处理过程的一种手段,是程序的控制过程。C C 语句分类语句分类程序的三种基本结构程序的三种基本结构1、流程图流程图是用来描述算法的工具,它使用符号形象直观地表达算法。2、三种基本结构顺序选择(分支)循环分支结构分支结构(一)二分支结构(一)二分支结构形式一:(Single-selection statement)(Single-selection
19、 statement)流程图执行过程源程序节选形式二:(Double-selection statement)(Double-selection statement)流程图执行过程源程序节选(二二)多多 分分 支支 结结 构构(Multiple-selection(Multiple-selectionstatement)statement)形式流程图执行过程源程序节选提问:在绪论中我们讲过程序设计语言最基本的功能是什么?1 分钟1 分钟教材 P8 中部的内容流程图课 标和教材中 均未作要求,只是在讲流程控制时使用了,4 分钟所以这里简单介绍每一种结构用流程图展示,说明程序流程2 分钟5 分钟5
20、 分钟5 分钟5 分钟给出每种分支结构形式,用流程图说明,注意结合流程图讲解每种结构的执行过程每个例题让同学先分析为什么要用分支结构、如何选择合适的分支结构形式,进行互动。最后由教师进行总结。程序的执行过程用流程图说明13举例举例1、求一个数的绝对值(例38)2、输入两个数并判断两数是否相等3、判断输入字符种类(三)嵌套的(三)嵌套的 if if 语句语句形式举例举例比较两个数的大小(四)(四)switchswitch 语句语句形式流程图执行过程举例编写一个程序任意输入一个年份和月份,显示该月份的天数。讲清楚为什么需要嵌套 if 语句给出四种嵌套的形式重点讲授 if 与 else 的配对原则通
21、过实例讲清楚嵌套的 if 语句流程让同学先行分析,进行互动。最 后 教 师 通 过 流 程 图 讲 清 楚switch 语句的执行过程通过例题 分析为何要 用分支结构,如何用 switch 结构编写程序。4 分钟4 分钟4 分钟第一节课完10 分钟10 分钟8 分钟12 分钟第二节课完课【课后要求】【课后要求】后完成 OJ 系统 21 道分支结构的 5 道题目。活动14第 6 讲授课时间11 月 25 日,第 12 周 周 三第 3-4 节授课类型理论课 讨论课 习题课 实验课 其他:授课题目循环结构(1)课次课时安排12知识:掌握 for 循环,while 循环的用法能力:能够正确写出 fo
22、r 循环,while 循环语句教学目标能够正确写出循环条件表达式素养:避免死循环,增强程序可读性课堂讨论:循环的边界控制教学重点难点重点:循环的执行时机和难点教学方式板书 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容课【课前要求】【课前要求】前课本 65-74 页或翁恺 MOOC 第四章循环(30m)准备授课讲授与指导内容讲授与指导内容内容师生互动设计教学方法和时间安排互动设计互动设计课时分配课时分配15流程控制之循环结构流程控制之循环结构本次课的讲授内容:本次课的讲授内容:提出了解、熟悉、掌握的内容提问:在程序设计中为什问题提出问题提出在程序设计中循环的概念:在程序中,
23、么要使用循环?循环:就是反复做。循环:就是反复做。循环控制结构是指对某些语句反复执行。互动环节:给大家举一个例子:1-100 自然数求和,将算式展开,1+2+3+4+5+6+.+100,让大家找找规律,总结循环的概念三种循环语句均从语句形式、流程图和执行过程三方面讲解,最后完成1100自然数之和的程序。WhileWhile 语句语句语句形式:while(条件表达式)循环体流程图执行过程注意事项结合程序讲清楚与循环相关的几个概念:循环变量、循环条件、循环体do-whiledo-while 语句语句语句形式:do循环体while(条件表达式);流程图执行过程do-while 语句与 while 语
24、句比较设问:三种循环结构在实际中应该如何选择呢?forfor 语句语句三种循环结构选择的基本语句形式:原则for(表达式;表达式;表达式)1 分钟1 分钟4 分钟12 分钟8 分钟12 分钟16语句(循环体)流程图执行过程循环语句的选择循环语句的选择if(循环次数已知)使用 for 语句else/*循环次数未知*/if(循环条件在进入循环时明确)使用 while 语句else/*循环条件需要在循环体中明确*/使用 do-while 语句循环结构的嵌套(多重循环)循环结构的嵌套(多重循环)概念嵌套形式执行顺序举例1+2+3+100注意事项首先讲清楚什么是多重循环,其次讲明白什么时候需要用到多重循
25、环通过实例讲清楚多重循环的执行过程与顺序以及多重循环设计时的要点2 分钟这两个辅助循环控制语句15 分钟从四方面介绍,重点讲清楚什么时候用,怎么用在举例中设问:如果没有break 或 continue 语句,程序的结果会如何?20 分钟10 分钟第二节课完课【课后要求】【课后要求】后完成 OJ 系统 39 道循环结构的 10 道题目。活动17第 7 讲授课时间11 月 30 日,第 13 周 周 一第 5-6 节授课类型理论课 讨论课 习题课 实验课 其他:授课题目循环结构(2)课次课时安排12知识:掌握三种循环结构(whiledo-whilefor)的使用方法掌握多重循环结构的使用方法掌握辅
26、助循环控制语句(breakcontinue)的使用方法教学目标能力:能够正确使用三种循环语句素养:循环条件的可读性和可到达性,团队合作基础授课内容:结合示例讲解循环使用的技巧和注意事项教学重点难点重点:三种循环语句的条件和难点教学方式板书 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容课【课前要求】【课前要求】前课本 76-92 页或翁恺 MOOC 第四章循环应用(45m)准备授课讲授与指导内容讲授与指导内容内容师生互动设计教学方法和时间安排互动设计互动设计课时分配课时分配18计数控制的循环【例 1】数列求和:1+2+3+n【例 2】数列求和:1+1/2+1/3+1/n【例
27、 3】数列求和:1+1/3+1/5+1/7(前n 项)【例 4】数列求和:1-1/3+1/5-1/7+1/9(前 n 项)【例 5】求数列和 a+aa+aaa+(前 n 项)条件控制的循环【例 6】从键盘输入一批学生的成绩,计算总成绩。【例 7】字符的分类统计【例 8】求 的近似值【例 9】计算整数 n 的位数。C C 语言解决问题的“局限性”语言解决问题的“局限性”讨论5m5m10m10m10m10m10m10m10m10m课【课后要求】【课后要求】后完成 OJ 系统 39 道循环结构的 5 道题目。活动19第 8 讲授课时间12 月 2 日,第 13 周 周 三第 3-4 节授课类型理论课
28、 讨论课 习题课 实验课 其他:授课题目循环结构(3)课次课时安排12知识:掌握 Break 在循环中的使用掌握多重循环能力:教学目标能够根据需要终止循环能够判断多种循环的循环次数素养:循环对程序执行效率的影响授课内容:结合示例循环中 break 和 continue 的使用教学重点难点重点:break 和 continue 的使用技巧和难点课程思政课程思政:死循环、死机和编程效率教学方式板书 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容课【课前要求】【课前要求】(45m)前课本93-102页或翁恺MOOC第四章循环控制和应用准备师生互动设计教学方法和时间安排讲授与指导内
29、容讲授与指导内容授课内容流程控制之循环结构流程控制之循环结构本次课的讲授内容:本次课的讲授内容:复习上节重点知识【例1】判断素数【例2】简单的过 7 游戏讲课、互动内容讲课、互动内容设计设计雨课堂测验课时课时分配分配5m10m10m20嵌套循环练习 1练习 2练习 3练习 4【例3】百钱买百鸡【例4】n 钱买 n 鸡测验补充内容:多实例输入雨课堂5m5m5m5m15m5m5m20m课【课后要求】【课后要求】后完成 OJ 系统 39 道循环结构的 5 道题目。活动21第 9 讲授课时间12 月 7 日,第 14 周 周 一第 5-6 节授课类型理论课 讨论课 习题课 实验课 其他:授课题目函数(
30、1)课次课时安排12知识:了解函数的概念掌握函数的定义和调用方法了解变量生命周期、作用域的概念能力:教学目标掌握函数调用中参数传递的两种方式掌握全局变量与局部变量的使用方法素养:模块化编程,团队合作基础授课内容:函数使用的由来;函数定义,实现和调用教学重点难点重点:函数的值传递过程和难点教学方式板书 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容师生互动设计教学方法和时间安排课【课前要求】【课前要求】前课本 109-117 页或翁恺 MOOC 第七章函数的定义和使用准(40m)备授课讲课、互动内容设讲课、互动内容设讲授与指导内容讲授与指导内容内计计容课时分课时分配配22函数
31、函数本次课的讲授内容:本次课的讲授内容:提出了解、熟悉、掌握的内容函数概述函数概述函数是程序的一种组织方式,是 C 的基本模块。模块化程序设计思想函数的分类函数的定义函数的定义(Function Definitions)(Function Definitions)函数定义的一般形式函数返回值类型 函数名(形式参数表)说明部分执行部分举例编写一个函数,完成比较两个整数并返回大者编写一个函数,完成比较两个整数并返回大者大家想一想为什么要用 这 样 的 组 织 方 式呢?从实际中举两三个实例,总结其中的共同点:分工协作,所以函数正是为了达到分工协作的目的而实行的一种机制这次课简单介绍,随着课程学习的
32、深入,同学们需要认真体会略讲后面重点要讲授自定义函数总结出函数定义四要素:函数返回值(有还是无;若有,是什么类型)函数名函数参数列表(函数需要处理的数据来源)函数体(函数功能的实现)依据函数定义的四要素来进行讲解,启发同学思考,采用教师设问,同学回答的方式,形成热烈的互动讨论,加深同学的理解,学会函数的定义方法1 分钟6 分钟3 分钟5 分钟6 分钟5 分钟23函数返回值函数声明函数声明(Function Declarations)(Function Declarations)函数的调用函数的调用(Calling Functions)(Calling Functions)主调函数被调函数函数调
33、用的形式实际参数形式参数函数调用的过程举例函数参数的传递方式函数参数的传递方式(一)值传递方式(一)值传递方式(Call by value)(Call by value)方式:方式:函数调用时,为形参分配单元,并将实参的值复制到形参中;调用结束,形参单元被释放,实参单元仍保留并维持原值。特点:特点:形参与实参占用不同不同的内存单元 单向传递(实参单向传递(实参形参)形参)(二)地址传递方式(二)地址传递方式(call by reference)(call by reference)方式:方式:函数调用时,将数据的存储地址作为参数传递给形参特点:特点:形参与实参占用同一同一存储单元,形参的改变,
34、形参的改变会影响实参会影响实参“双向双向”传递传递 实参和形参必须是地址常量或变量通过例题总结出函数返回值使用时注意的问题首先讲明白为什么要进行函数声明?其次,函数声明的形式函数调用涉及的内容多,通过实例进行讲解,帮助大家理解通过一个实例的讲解使同学理解函数调用结束后,形参消失,它所占的内存释放这个概念,通过另一个实例的讲解,使同学理解值传递的方式不能实现交换数据的功能通过实例讲明白形参的改变会影响实参,数组作函数参数时的使用规则9 分钟5 分钟5 分钟10 分钟5 分钟10 分钟20 分钟课【课后要求】【课后要求】后完成 OJ 系统函数部分的 5 道题目。活动24第 10 讲授课时间12 月
35、 9 日,第 14 周 周 三第 3-4 节授课类型理论课 讨论课 习题课 实验课 其他:授课题目函数(2)课次课时安排12知识:了解变量生命周期、作用域的概念掌握函数嵌套调用的方法掌握函数递归调用的使用方法教 学能力:目标掌握函数调用中参数传递的两种方式掌握全局变量与局部变量的使用方法素养:模块化编程,团队合作基础授课内容:变量的范围;全局和局部变量;递归调用教学重点难点重点:递归函数和难点课程思政:团队合作的意义教学方式板书 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容课【课前要求】【课前要求】前课本 118-129 页或翁恺 MOOC 第七章函数的参数和变量准(40
36、m)备师生互动设计教学方法和时间安排讲授与指导内容讲授与指导内容函数函数本次课的讲授内容:本次课的讲授内容:提出了解、熟悉、掌握的内容复习函数的调用过程复习函数的调用过程变量的存储属性变量的存储属性(Storage Classes)(Storage Classes)讲课、互动内容讲课、互动内容设计设计课时分课时分配配1 分钟授课内容这部分内容概念很多,通4 分钟过画内存示意图和举例进行讲解,帮助同学理解10 分钟25作用域生命周期变量的存储属性局部变量与全局变量举例动态变量与静态变量举例内部函数与外部函数函数的嵌套调用函数的嵌套调用嵌套调用嵌套调用指在调用一个函数的过程中又调用了另一个函数。C
37、 C 语言规定:语言规定:函数不可以嵌套定义,函数不可以嵌套定义,但可以嵌但可以嵌套调用函数套调用函数函数的递归调用函数的递归调用(Recursion)(Recursion)定义:定义:函数直接或间接的调用自身叫函数的递函数的递归调用归调用函数与程序结构(多文件结构)函数与程序结构(多文件结构)需要同学掌握的是三文件结构三个文件结构:即在一个工程文件中包含三个文件:文件一:函数的声明文件(如:a.h)文件二:函数实现文件(如:a.cpp)必须含有#include a.h文件三:主文件(包含 main 函数的文件,一般调用其它函数)必须含有#include a.h通过举例讲明白函数的嵌套调用过程
38、举例讲明白函数递归调用的过程,总结函数递归调用的步骤通过实例教会同学如何建立三文件结构及每个文件应如何设计10 分钟10 分钟10 分钟10 分钟10 分钟25 分钟课【课后要求】【课后要求】后完成 OJ 系统函数部分的 5 道题目。活动26第 11 讲授课时间12 月 14 日,第 15 周 周 一第 5-6 节授课类型理论课 讨论课 习题课 实验课 其他:授课题目数组(1)课次课时安排22知识:了解数组的概念掌握数组的定义方法能力:教学目标掌握一维数组的使用方法素养:避免数据越界,团队合作基础教学重点难点重点:函数作为参数和难点授课内容:示例讲解一维数组;函数作为参数的示例讲解教学方式板书
39、 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容师生互动设计教学方法和时间安排课【课前要求】【课前要求】前课本 132-150 页或翁恺 MOOC 第八章数组(25m)准备授课讲课、互动内容设讲课、互动内容设讲授与指导内容讲授与指导内容内计计容课时课时分配分配27数组之一维、二维数组数组之一维、二维数组本次课的讲授内容:本次课的讲授内容:提出了解、熟悉、掌握的内容问题提出问题提出如何完成 100 个数按从大到小的顺序排列?如何实现下列数之和?788982906685766280数组的概念数组的概念一维数组一维数组(One dimension arrays)(一)一维数组的定
40、义(一)一维数组的定义定义形式注意事项总结:总结:定义数组的三要素:数据类型、数组名、数组长度(二)数组的初始化(二)数组的初始化(三)一维数组的引用(三)一维数组的引用举例举例1.有 10 个整数,找出其中最大值2.已知某班 20 人的英语成绩,求该班英语平均成绩3.冒泡排序(bubble sort or sinking sort)排序的概念冒泡排序的过程提这两个问题启发学生思考,总结出用现有的手段无法达到目的,怎么办?通过列举实例来引出数组的概念数组这部分要画出内存示意图,帮助同学理解连续分配内存空间的概念1 分钟4 分钟3 分钟8 分钟3 分钟3 分钟4 分钟3 分钟11 分钟先讲明白为
41、什么要用数组来组织数据,再介绍这类求最值常用的技巧。这道题实际上是回应引言中的第二个问题,让大家进一步体会为什么要用数组来组织数据以及如何来访问数据这是本次课的一个难点内容,也是要求同学掌握的一个算法。284.选择排序(Selection sort)选择排序过程二维数组二维数组(Two dimension arrays)(一)二维数组的定义定义形式如何理解二维数组(二)二维数组的初始化(三)二维数组的引用举例将数据存入二维表格中,求各行各列及所有数据之和。这也是同学必须掌握的一个算法,与冒泡排序算法进行比对第一节课完二维数组实际就是一张表格,所以存在行列的概14 分钟念,但内存是一维的,二维数
42、组中的数据是按行存放的,画出内存示意图,帮助同学理解二维数组数据的存放8 分钟启发同学分析如何组织数据以及如何访问数据,让同学归纳出在二维数组中各行、各列、所有数4 分钟据的访问方法。4 分钟10 分钟第 二 节课完课【课后要求】【课后要求】后完成 OJ 系统函数部分的 5 道题目。活动29第 12 讲授课时间12 月 16 日,第 15 周 周 三第 3-4 节授课类型理论课 讨论课 习题课 实验课 其他:授课题目数组(2)课次课时安排22知识:掌握二维数组定义掌握二维数组的存储方式了解多维数组的定义能力:教学目标能够定义二维数组能够遍历二维数组素养:变量定义的可读性,团队合作基础教学重点难
43、点重点:二维数组的存储格式和难点授课内容:二维数组;二维数组示例;矩阵和二维数组教学方式板书 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容师生互动设计教学方法和时间安排课【课前要求】【课前要求】前课本 151-159 页或翁恺 MOOC 第八章数组运算(40m)准备授课讲课、互动内容设讲课、互动内容设讲授与指导内容讲授与指导内容内计计容课时课时分配分配30数组之一维、二维数组数组之一维、二维数组本次课的讲授内容:本次课的讲授内容:提出了解、熟悉、掌握的内容一维数组回顾一维数组回顾二维数组二维数组(Two dimension arrays)(一)二维数组的定义来源定义形式(
44、二)二维数组的初始化(三)二维数组的引用举例将数据存入二维表格中,求各行各列及所有数据之和。二维数组数据的保存二维数组数据的遍历二维数组数据的打印矩阵和二维数组的操作的举例矩阵转置5 分钟二维数组实际就是一张表5 分钟格,所以存在行列的概念,但内存是一维的,二维数组中的数 据是 按行存放5 分钟的,画出内存示意图,帮助同学理解二维数组数据5 分钟的存放启发同学分析如何组织数10 分钟据以及如何访问数据,让同学归纳出在二维数组中10 分钟各行、各列、所有数据的访问方法。5 分钟5 分钟5 分钟5 分钟10 分钟10 分钟课【课后要求】【课后要求】后完成 OJ 系统数组部分的 5 道题目。活动31
45、第 13 讲授课时间12 月 21 日,第 16 周 周 一第 5-6 节授课类型理论课 讨论课 习题课 实验课 其他:授课题目字符数组与字符串课次课时安排12知识:了解字符串数组的用途掌握字符数组的定义与使用方法能力:教学目标能够定义字符串变量能够区分字符和字符串素养:避免使用字符数据边界越界造成的程序崩溃授课内容:字符串的定义和使用;常用字符串函数教学重点课堂讨论:字符串函数定义的必要性和难点难点重点:字符串和字符的区别;字符串的常用函数功能教学方式板书 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容师生互动设计教学方法和时间安排课【课前要求】【课前要求】前课本 163
46、-184 页或翁恺 MOOC 第十章字符串(40m)准备授课讲授与指导内容讲授与指导内容讲课、互动内容设计讲课、互动内容设计内容课时课时分配分配32数组之字符数组数组之字符数组本次课的讲授内容:本次课的讲授内容:提出了解、熟悉、掌握的内容问题提出问题提出为什么专门要讲字符数组?它有什么特别之处吗?字符数组字符数组(一)字符数组的定义、初始化、引用(一)字符数组的定义、初始化、引用(二)字符串(二)字符串举例举例字符串处理函数字符串处理函数1、字符串输出函数 puts格式:puts(字符数组)功能:向显示器输出字符串2、字符串输入函数 gets格式:gets(字符数组)功能:从键盘输入一个以回车
47、结束的字符串放入字符数组中,并自动加03、字符串连接函数 strcat格式:strcat(字符数组 1,字符数组 2)功能:把字符数组 2 连到字符数组 1 后面4、字符串拷贝函数 strcpy格式:strcpy(字符数组 1,字符串 2)功能:将字符串 2,拷贝到字符数组 1 中去提这两个问题启发学生思考,产生联想。1 分钟5 分钟讲出与一维、二维数组的异同10 分钟这是一类特殊的数据,讲出它的特殊性还要讲出字符串输入/输出的特点由同学进行讨论,最后给出结果15 分钟9 分钟第一节课完对于函数的学习需要把握函数功能、函数调用的形式、函数参数这几个方面,以下均按这种方式进行介绍,反复强调函数的
48、参数是数组名,数组中存放3 分钟的是字符串而不是字符4 分钟5 分钟通过实例让同学体会在实际中如何使用字符串处理函数注意分析程序设计过程、结果5 分钟33举例5、字符串比较函数 strcmp格式:strcmp(字符串 1,字符串 2)功能:比较两个字符串比较规则:对两串从左向右逐个字符比较(ASCII 码),到遇到不同字符或0为止返值:返回 int 型整数,a.若字符串 1 字符串 2,返回正整数c.若字符串 1=字符串 2,返回零说明:字符串比较不能用“=”,必须用 strcmp6、字符串长度函数 strlen格式:strlen(字符数组)功能:计算字符串长度返值:返回字符串实际长度,不包括
49、0在内举例这个函数是重点和难点,演示字符串比较的过程,解释比较结果的含义5 分钟8 分钟2 分钟8 分钟第二节课完课【课后要求】【课后要求】后完成 OJ 系统字符串部分的 5 道题目。活动34第 14 讲授课时间12 月 23 日,第 16 周 周 三第 3-4 节授课类型理论课 讨论课 习题课 实验课 其他:授课题目指针(1)课次课时安排12知识:了解变量、单元内容、内存地址的概念能力:掌握指针变量的定义与使用方法教学目标掌握指针作函数参数的用法素养:避免内存非法访问遇到困难要迎难而上授课内容:指针的定义和使用;基本运算;指针作为参数使用教学重点课堂讨论:指针变量的必要性和难点课程思政课程思
50、政:指针和软件破解难点重点:指针变量和内存的关系教学方式板书 多媒体音视频 演示 操作 参访 其他:教 学 过 程教 学 内 容课【课前要求】【课前要求】前课本 187-192 页或翁恺 MOOC 第九章指针(50m)准备授课讲授与指导内容讲授与指导内容内容师生互动设计教学方法和时间安排讲课、互动内容设计讲课、互动内容设计课时课时分配分配35指针指针本次课的讲授内容:本次课的讲授内容:提出了解、熟悉、掌握的内容指针的概念指针的概念(Pointer Concepts)(Pointer Concepts)变量与地址(Variable and its Address)指针与指针变量(Pointer