华南农业大学课时教学计划(教案)
 
C语言程序设计
(C Programming)
 

陈 湘 骥
(软件工程系)


说明1:本教案适用下面学时情况:
讲授48学时/计算机专业上机32学时/其他专业上机16学时





















 

第一次课:2学时
内容:“第一部分:概述”之——§1.1 C语言的发展历史与特点、§1.2 C语言程序的基本结构、§1.3 C程序的上机调试过程、§1.4 常用数学库函数
一、教学目的:
  1. 了解C语言出现的历史背景、C语言的特点;
  2. 了解简单C程序的编写;
  3. 理解C程序书写的一些规定;
  4. 掌握TC环境下C程序的上机步骤;
  5. 了解常用数学库函数。
二、教学重点:正确编写C程序
三、教学难点:上机步骤的理解和应用
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
[引言]:                          (约5分钟,语言表述)
介绍《程序设计(C语言)》课程的教学要求和目的,讲述高级计算机语言及结构化程序设计含义,引入具体内容的学习。
  • C语言出现的历史背景    (约5分钟,)
  1. 说明C语言的产生;
  2. 说明C语言与UNIX的关系;
  • C语言的特点        (约10分钟,学生阅读,ppt文档结合讲解)
  1. 逐条解释C语言的特点;
  2. 说明C语言的强大功能;
  • C语言程序的基本结构         (约30分钟,ppt文档结合讲解)
  1. main函数;
  2. 格式输入/输出函数;
  3. 标识符;
  4. 用户自定义函数;
  5. 表达式--算术表达式;
  6. 注释;
  7. 程序书写习惯;
  • C程序的上机调试过程          (约30分钟,ppt文档结合讲解)
  1. 说明上机的一般步骤,解释上机流程图;
  2. 说明CodeBlocks的安装,简单的使用。
  3. 在CodeBlocks集成环境中演示前面讲过的简单C程序,并解释存盘、编译、运行、看结果,加载等操作命令的作用
  • 常用数学库函数         (约10分钟,ppt文档结合讲解)
1.演示教材上的举例程序并分析输出的结果;
 
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:实验一堂下作业,题号(11126)

第二次课:2学时               
内容:“第二部分:基本数据类型”之——§2.1 C语言的数据类型、 §2.2 常量、§2.3 变量及基本数据类型、§2.4 变量的定义与初始化 §2.5 数值型数据间的混合运算
一、教学目的:
1.了解C语言的数据类型;
2.掌握常量的表示方法;
3.理解并掌握变量的使用方法;
4.理解并掌握变量的定义与初始化的方法;
5.掌握数值型数据间的混合运算方法。
二、教学重点:常量与变量的用法
三、教学难点:数值型数据间的混合运算
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • C语言的数据类型    (约5分钟,ppt文档结合讲解)
著名的毕达哥拉斯学说——“一切都是数字。”“世界是由数构成的”
1.C语言的数据类型分类;
2.基本数据类型;
  • 常量  (约25分钟,ppt文档结合讲解)
1.常量的概念
2.数常量;
3.字符与字符串常量;
  • 变量及基本数据类型          (约20分钟,ppt文档结合讲解)
1.变量的概念;
2.变量的属性;
3.变量名、地址和值之间的关系;
4.基本数据类型;
  • 变量的定义与初始化         (约20分钟,ppt文档结合讲解)
1.变量定义的方法;
2.变量初始化的作用;
3.变量初始化的方法;
  • 数值型数据间的混合运算      (约20分钟,ppt文档结合讲解)
1.数据类型之间的转换顺序;
2.算术表达式运算举例;
3.变量初始化的方法;
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:实验二堂下作业,题号(1118)


第三次课:2学时
内容:“第三部分:运算与运算表达式”之——§3.1 算术运算、 §3.2 赋值运算、§3.3 关系运算、§3.4 逻辑运算 §3.5 条件运算§3.6 逗号运算 §3.7 强制类型转换运算
一、教学目的:
1.理解运算符的优先级和结合方向;
2.了解数学公式与运算表达式的差别;
3.掌握书写正确的运算表达式的方法;
4.掌握运算表达式的正确求解步骤;
5.初步掌握使用运算表达式表示条件。
二、教学重点:掌握书写和求解运算表达式。
三、教学难点:正确使用运算表达式表示各种条件。
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
[引言]
C语言中存在各种各样的运算,运算的分类也有多种。
  • 算术运算    (约10分钟,ppt文档结合讲解)
1.算术运算符及其优先级、结合方向;
2.算术表达式的运算;
  • 赋值运算   (约15分钟,ppt文档结合讲解)
1.赋值运算符及其优先级、结合方向;
2.赋值表达式的运算;
3.赋值运算是“左值运算”(Lvalue)即左边必须为变量
  • 关系运算           (约20分钟,ppt文档结合讲解)
1.关系运算符及其优先级、结合方向;
2.关系表达式的运算;
3.关系表达式的结果;
4.关系表达式表示条件;
  • 逻辑运算          (约20分钟,ppt文档结合讲解)
1.逻辑运算符及其优先级、结合方向;
2.逻辑表达式的运算;
3.如何判断一个量是否为“真”;
3.逻辑运算的“短路原则”
4.逻辑表达式可以表示“复合条件”;
  • 条件运算         (约5分钟,ppt文档结合讲解)
1.条件运算符及其优先级、结合方向;
2.条件表达式的运算规则;
3.条件表达式的结果类型;
  • 逗号运算          (约5分钟,ppt文档结合讲解)
1.逗号运算符及其优先级、结合方向;
2.逗号表达式的运算规则;
3.区分逗号作分隔符与运算符;
  • 强制类型转换运算     (约5分钟,ppt文档结合讲解)
1.能够系统自动转换,为何还需要强制转换?
2.强制类型转换运算符及其优先级、结合方向;
3.强制类型转换为何是“一时性转换”?
七、课程小结:                       (约10分钟,语言表述)
八、布置作业:实验三堂下作业,题号(11127)

第四次课:2学时               
内容:“第四部分:C程序的流程控制”之—§4.1算法、§4.2 C语句概述、§4.3 “条件分支”之--§4.3.1 if~else分支 §4.3.2 if分支
一、教学目的:
1.了解算法的基本知识;
2.理解并掌握算法的流程图、N-S图的表示方法;
3.理解三种基本结构的概念;
4.了解三种基本结构的C语句的表示;
5.理解并掌握if~else分支和if分支
二、教学重点:三种基本结构、流程图、N-S流程图
三、教学难点:流程图、N-S流程图
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 算法    (约45分钟,ppt文档结合讲解)
1.算法的概念;
2.算法的特性;
3.算法的表示;
4.三种基本结构:顺序、选择、循环;
5.三种基本结构的流程图和N-S图的画法;
6.三种基本结构的共同特点。
  • C语句概述 (约10分钟,ppt文档结合讲解)
1.C语言语句的分类;
2.流程控制语句;
3.顺序结构表示程序的执行的前后顺序,没有专门的控制语句对应。
  • 条件分支          (约30分钟,ppt文档结合讲解)
1.条件分支的概念;
2.if~else分支、流程图形式及程序形式;
3.字母大小写转换程序实现;
4.if分支、流程图形式及程序形式;
5.借助中间变量的数据交换程序实现。
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:实验四堂下练习,题号(1007)

第五次课:2学时               
内容:“第四部分:C程序的流程控制”之——“§4.3 条件分支”之--§4.3.3 条件分支嵌套、§4.3.4 else if结构 §4.4 多分支选择(switch~case)
一、教学目的:
1.理解条件分支嵌套的概念;
2.掌握else配对原则;
3.理解else if结构中else所表示的条件;
4.掌握else if结构表示多分支的方法;
5.理解并掌握switch~case多分支选择。
二、教学重点:多分支选择
三、教学难点:else配对,case分量的设计
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 条件分支嵌套    (约45分钟,ppt文档结合讲解)
1.条件分支嵌套的概念;
2.字母、数字的条件表示;
3.else配对原则;
4.不能企图用书写格式体现的逻辑关系去规定程序执行的逻辑;
5.else if结构程序形式、流程图形式;
6.程序举例4.5,分析else if结构中else表示的条件。
  • 多分支选择(switch~case) (约40分钟,ppt文档结合讲解)
1.else if结构实现多分支的不足;
2.switch~case的结构程序实现、流程图形式;
3.区分switch~case的结构中的两类表达式;
4.多分支程序的实现中如何确定case分量?
5.在switch~case的结构中break的作用;
 
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:实验四堂下练习,题号(1017,1120)


第六次课:2学时               
内容:“第四部分:循环结构”之——§4.5.1 while循环 §4.5.2 do~while循环
一、教学目的:
1.理解循环的基本概念;
2.了解各种循环形式;
3.理解并掌握各种循环结构程序形式、流程图画的方法;
4.学会分析循环的执行过程;
二、教学重点:循环的结构、循环的执行过程
三、教学难点:循环条件的设计
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 循环结构    (约5分钟,ppt文档结合讲解)
1.循环的概念;
2.循环的分类;
  • while循环  (约40分钟,ppt文档结合讲解)
1.while循环的概念;
2.while循环程序形式、流程图;
3.while循环的使用方法;
  • do~while循环          (约40分钟,ppt文档结合讲解)
1.do~while循环的概念;
2.do~while循环程序形式、流程图;
3.do~while循环的使用方法;
4.累加运算的处理;
5.while循环与do~while循环的比较;
4.限制goto语句的必要性;
 
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:实验五堂下练习,题号(1030,1037)

第六次课:2学时               
内容:“第四部分:循环结构”之——§4.5.3 for循环、§4.5.4 if~goto循环
一、教学目的:
1.理解循环的基本概念;
2.了解各种循环形式;
3.理解并掌握各种循环结构程序形式、流程图画的方法;
4.学会分析循环的执行过程;
二、教学重点:循环的结构、循环的执行过程
三、教学难点:循环条件的设计
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • for循环         (约65分钟,ppt文档结合讲解)
1.for循环的一般形式;
2.for循环中三个表达式各自的含义;
3.for循环的执行过程;
4.结合程序举例图解for循环的执行过程;
5.for语句的表达式缺省;
  • if~goto循环         (约15分钟,ppt文档结合讲解)
1.if~goto循环的一般形式;
2.语句标号;
3.goto语句的功能;
4.限制goto语句的必要性;
 
七、课程小结:                       (约10分钟,语言表述)
八、布置作业:实验五堂下练习,题号(1031,1042)

第八次课:2学时               
内容:“第四部分:C程序的流程控制”之——“§4.5 循环结构”之--§4.5.5 循环的嵌套
一、教学目的:
1.理解循环嵌套的含义;
2.掌握循环嵌套的方法;
3.理解循环嵌套的执行过程;
二、教学重点:循环嵌套的方法与中途结束循环;
三、教学难点:循环嵌套的执行过程;
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 循环嵌套  (40分钟,ppt文档结合讲解)
1.循环嵌套的概念;
2.循环嵌套的用法;
3.结合程序举例分析循环嵌套的执行过程;
4.掌握多分支选择的流程图;
  • 循环嵌套应用举例  (约45分钟,ppt文档结合讲解)
1.百人百砖问题;
 
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:实验六堂下练习,题号(1038)

第九次课:2学时               
内容:“第四部分:C程序的流程控制”之——“§4.5.6 break语句和continue语句
一、教学目的:
1.理解并掌握break和continue语句的用法;
二、教学重点:循环嵌套的方法与中途结束循环;
三、教学难点:循环嵌套的执行过程;
四、教学方法:利用ppt文档及课本讲解

五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 中途结束循环break和continue  (约45分钟,ppt文档结合讲解)
1.break语句的作用与用法;
2.continue语句的作用与用法;
3.结合程序举例分析break和continue的使用不同;
  • 循环结构的总结         (约40分钟,ppt文档结合讲解)
1.循环结构在算法设计中的作用;
2.循环条件的设置;
3.循环体的构成;
4.学生作业评点;
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:实验六堂下练习,题号(1137)

第十次课:2学时               
内容:“第四部分:C语言的流程控制”之——§4.5 结构化程序设计方法
一、教学目的:
1.理解结构化程序设计的基本思想;
3.理解各种典型程序的编写方法;
二、教学重点:介绍典型程序的编写方法;
三、教学难点:结构化程序设计的思想
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 结构化程序设计方法 (30分钟,ppt文档结合讲解)
1.结构化程序设计思想;
2.结构化程序设计方法;
3.“自顶向下,逐步细化”的设计方法;
  • 字符菜单设计  (约35分钟,ppt文档结合讲解)
1.菜单的含义与作用;
2.菜单程序的框架;
3.菜单程序的实现;
  • 累加程序设计(约20分钟,ppt文档结合讲解)
1.数学展开式的变形;
2.累加的项、符号;
3.计算的中止条件;
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:

第十一次课:2学时           
内容:“第四部分:C语言的流程控制”之——§4.5 结构化程序设计方法
一、教学目的:
1.初步掌握“自顶向下,逐步细化”的方法;
2.理解各种典型程序的编写方法;
二、教学重点:介绍典型程序的编写方法;
三、教学难点:结构化程序设计的思想
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 连乘程序设计        (约30分钟,演示结合讲解)
1.连乘的概念;
2.存放连乘结果的变量赋初始值;
3.注意连乘结果的范围;
  • 计算素数的程序设计     (约30分钟,演示结合讲解)
1.素数的概念;
2.判断素数的方法;
  • 猜数游戏程序设计(约25分钟,演示结合讲解)
1.猜数游戏规则;
2.随机数的产生;
3.提示信息的设计;
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:

第十二次课:2学时           
内容:“第五部分:数组”之——§5.1 概述、§5.2 一维数值数组
一、教学目的:
1.理解并掌握一维数组的定义、初始化和引用;
二、教学重点:数组的定义、初始化和引用;
三、教学难点:数组的应用;
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 概述  (5分钟,ppt文档结合讲解)
1.数组的概念;
2.数组的分类;
3.数组元素与变量;
  • 一维数组 (约40分钟,演示结合讲解)
1.定义方法;
2.初始化;
3.引用(从下标0开始);
  • 二维数组应用 (约40分钟,演示结合讲解)
1.一维数组表示矩阵、行列式;
2.一维数组的应用;
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:实验七堂下练习,题号(1046,1040)

第十三次课:2学时           
内容:“第五部分:数组”之——§5.3 二维数组
一、教学目的:
1.理解并掌握二维数组和多维数组的定义和引用;
二、教学重点:数组的定义、初始化和引用;
三、教学难点:数组的应用;
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 二维数组 (约40分钟,演示结合讲解)
1.定义方法;
2.初始化;
3.引用(从下标0开始);
  • 二维数组应用 (约45分钟,演示结合讲解)
1.二维数组表示矩阵、行列式;
2.二维数组的应用;
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:实验七堂下练习,题号(1051)


第十四次课:2学时           
内容:“第五部分”之——§5.4 字符串与字符数组
一、教学目的:
1.理解字符串的概念;
2.掌握字符数组的定义、初始化和输入/输出;
3.掌握字符串处理函数;
二、教学重点:字符串处理函数;
三、教学难点:字符串处理函数的应用;
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 字符串和字符串结束标志  (5分钟,ppt文档结合讲解)
1.字符串的概念;
2.字符串结束标志;
  • 字符串和字符数组(约20分钟,ppt文档和演示结合讲解)
1.字符数组的定义;
2.字符数组的初始化;
3.字符数组的格式输入/输出;
  • 字符串处理函数 (约20分钟,板书、演示结合讲解)
1.字符串输出puts函数;
2.字符串输入gets函数;
3.字符串连接strcat函数;
4.字符串拷贝strcpy函数;
  • 字符串处理其他函数 (约20分钟,板书、演示结合讲解)
1.字符串比较strcmp函数;
2.计算字符串长度strlen函数;
3.字母大小写转换函数strlwr/strupr;
  • 程序演示 (约20分钟,演示结合讲解)
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:实验八堂下练习,题号(1122,1050)

第十五次课:2学时           
内容:“第六部分 函数与预处理”之——§6.1 模块化软件与C程序的模块结构、§6.2 函数定义、参数和返回值 §6.3 函数调用
一、教学目的:
1.理解软件模块化的基本概念及C程序的模块结构;
2.掌握函数定义的方法;
3.理解并掌握参数的设计与参数的传递;
4.了解函数的返回值;
5.掌握函数调用的基本方法;
二、教学重点:函数的应用;
三、教学难点:函数的嵌套调用;
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 模块化软件与C程序的模块结构  (20分钟,ppt文档结合讲解)
1.模块化软件的概念;
2.C语言的模块结构;
3.函数的分类;
  • 函数定义、参数和返回值(约20分钟,ppt文档和演示结合讲解)
1.函数定义的方法;
2.函数参数的分类;
3.函数参数的传递;
4.函数的返回值;
  • 函数调用(约40分钟,ppt文档和演示结合讲解)
1.函数的一般调用;
2.函数嵌套调用其他函数;
3.函数的递归调用;
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:实验九堂下练习,题号(1151)
 
第十六次课:2学时           
内容:“第六部分 函数与预处理”之——§6.4 函数中使用的变量、§6.5 内部函数与外部函数、§6.6 多文件的程序运行、§6.7 预处理命令
一、教学目的:
1.理解局部变量和全局变量的概念;
2.掌握全局变量的用法;
3.了解变量的存储类别、变量的作用域和生存期;
4.了解内部函数与外部函数;
5.掌握多文件的程序运行方法;
6.了解宏定义、包含文件和条件编译;
二、教学重点:函数中使用的变量;
三、教学难点:多文件的程序运行;
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 函数中使用的变量  (35分钟,ppt文档结合讲解)
1.局部变量与全局变量;
2.变量的作用域(作用范围);
3.全局变量的应用;
4.变量的存储方式;
5.变量的存储类别;
6.静态变量的应用;
7.文件内部的变量与文件外部的变量
  • 内部函数与外部函数(约10分钟,ppt文档和演示结合讲解)
1.内部函数与外部函数的概念;
2.内部函数与外部函数的应用;
  • 多文件的程序运行(约20分钟,ppt文档和演示结合讲解)
1.工程方法;
2.文件包含的方法;
  • 预处理命令    (约20分钟,ppt文档和演示结合讲解)
1.宏定义方法与宏展开的方法;
2.文件包含;
3.条件编译;
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:

第十七次课:2学时           
内容:“第七部分 指针”之—§7.1 变量的地址与指针、§7.2 指针变量的定义、初始化和引用、§7.3 指针与函数、§7.4 指针运算、§7.5 指针与一维数组§7.6 字符指针和字符串
一、教学目的:
1.理解指针的概念;
2.掌握指针变量的定义、初始化和引用方法;
3.了解指针在函数参数传递中的应用;
4.理解并掌握指针运算的基本方法;
5.理解指针与一维数组的关系;

二、教学重点:指针应用;
三、教学难点:指针的概念;
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 变量的地址与指针  (5分钟,ppt文档结合讲解)
1.变量的地址;
2.指针与变量地址的关系;
  • 指针变量的定义、初始化和引用  (20分钟,ppt文档结合讲解)
1.指针变量的概念;
2.指针变量的定义、初始化和引用方法;
  • 指针预函数  (10分钟,ppt文档结合讲解)
1.指针变量作函数的参数;
2.地址传递的概念;
  • 指针运算(约10分钟,ppt文档结合讲解)
1.指针运算符;
2.指针运算;
  • 指针与一维数组  (约20分钟,ppt文档和演示结合讲解)
1.指向数组的指针变量的含义;
2.指向数组的指针变量与数组名的关系;
  • 字符指针和字符串(约10分钟,ppt文档和演示结合讲解)
1.字符指针变量的定义;
2.将字符串赋值给字符指针变量的含义;
3.字符指针变量的应用;
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:
 
第十八次课:2学时           
内容:“第七部分 指针”之——§7.7 指针数组、§7.8 指针和二维数组
一、教学目的:
1.理解指针数组的含义;
2.理解指针与二维数组的关系;
3.掌握二维数组元素的指针表示方法;
4.理解并掌握行指针的用法;
二、教学重点:指针与其他数据间的关系;
三、教学难点:指向指针的指针
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 指针数组  (40分钟,ppt文档和演示结合讲解)
1.指针数组的概念;
2.指针数组的用法;
3.main函数的参数表示;
  • 指针和二维数组  (约40分钟,ppt文档和演示结合讲解)
1.二维数组、行、元素的地址与指针变量的关系;
2.二维数组元素的指针表示方法;
3.行指针的概念;
 
七、课程小结:                       (约10分钟,语言表述)
八、布置作业:实验十堂下练习,题号(11128)

第十九次课:2学时           
内容:“第七部分 指针”之——§7.9 指向指针的指针、§7.10 返回指针值的函数、§7.11 指向函数的指针
一、教学目的:
1.理解指向指针的指针的含义;
2.了解返回指针的函数;
3.理解指向函数的指针;
二、教学重点:指针与其他数据间的关系;
三、教学难点:指向指针的指针
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 指向指针的指针(约20分钟,ppt文档和演示结合讲解)
1.指向指针的指针的概念;
2.指向指针的指针的用法;
  • 返回指针的函数(约30分钟,ppt文档和演示结合讲解)
1.返回指针的函数的定义;
2.返回指针的函数的应用;
  • 指向函数的指针(约30分钟,ppt文档和演示结合讲解)
1.函数的地址与函数的指针;
2.函数指针变量;
 
七、课程小结:                       (约10分钟,语言表述)
八、布置作业:实验十堂下练习,题号(1065)

第二十次课:2学时           
内容:“第八部分 结构、联合及枚举类型”之——§8.1结构体类型和结构体变量的定义、§8.2 结构体变量的引用和初始化、§8.3 结构体数组、§8.4 结构体类型的指针变量
一、教学目的:
1.理解构造类型的含义;
2.掌握定义结构体类型及其变量的方法、结构体变量的使用方法;
3.理解结构体数组和结构体指针的含义;
4.掌握结构体数组和结构体指针的使用方法;
二、教学重点:结构体类型的应用;
三、教学难点:结构体成员的引用方法;
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 结构体类型和结构体变量的定义  (20分钟,ppt文档结合讲解)
1.结构体类型的定义方法;
2.结构体变量的定义;
  • 结构体变量的引用和初始化 (约25分钟,ppt文档和演示结合讲解)
1.结构体变量的初始化;
2.结构体成员的引用方法;
3.结构体变量的应用;
  • 结构体数组(约20分钟,ppt文档和演示结合讲解)
1.结构体数组表示的数组对象;
2.结构体数组的定义;
3.结构体数组的应用;
  • 结构体类型的指针变量(约20分钟,ppt文档和演示结合讲解)
1.结构体类型的指针变量的概念;
2.结构体类型的指针变量的定义;

3.指针方式引用结构体成员的方法;
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:
 
第二十一次课:2学时       
内容:“第八部分 结构、联合及枚举类型”之——§8.5结构体与函数、§8.6 用typedef定义类型 §8.7 用指针处理链表 §8.8 共用体 §8.9 枚举类型
一、教学目的:
1.了解结构体类型变量作为函数参数;
2.理解结构体类型的指针变量作为函数参数的意义;
3.了解用typedef定义类型的方法;
4.理解并掌握用指针处理链表的方法;
二、教学重点:指针处理链表;
三、教学难点:指针处理链表;
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 结构体与函数  (25分钟,ppt文档和演示结合讲解)
1.结构体变量作为函数参数的用法;
2.结构体指针作为函数的参数;
3.结构体指针引用成员的方法;
  • 用typedef定义类型(约10分钟,ppt文档和演示结合讲解)
1.用typedef定义类型的实质含义;
2.用typedef定义类型的方法;
  • 链表的生成、输出(约45分钟,ppt文档和演示结合讲解)
1.结点的概念;
2.结点的定义;
3.链表的生成;
4.链表的输出;
 
七、课程小结:                       (约10分钟,语言表述)
八、布置作业:实验十一堂下练习,题号(1098)
 
第二十二次课:2学时       
内容:“第八部分 结构、联合及枚举类型”之——§8.5结构体与函数、§8.6 用typedef定义类型 §8.7 用指针处理链表 §8.8 共用体 §8.9 枚举类型

一、教学目的:
1.理解并掌握用指针处理链表的方法;
2.了解共用体的使用方法;
3.了解枚举类型的使用方法;
二、教学重点:指针处理链表;
三、教学难点:指针处理链表;
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 链表的操作(约45分钟,ppt文档和演示结合讲解)
1.插入操作;
2.删除操作;
3.链表处理的综合;
  • 共用体 (约10分钟,ppt文档和演示结合讲解)
1.共用体的概念;
2.共用体与结构体;
3.共用体的使用;
 
  • 枚举类型(约10分钟,ppt文档和演示结合讲解)
1.枚举类型的定义;
2.枚举变量的定义;
3.枚举数据的应用;
 
七、课程小结:                       (约10分钟,语言表述)
八、布置作业:实验十一堂下练习,题号(1101)

第二十三次课:2学时       
内容:“第九部分 文件”之——§9.1文件的概念、§9.2 文件类型指针、§9.3 文件的操作、§9.4 出错的检测
一、教学目的:
1.理解文件概念;
2.了解文件系统的概念;
3.理解文件类型指针的含义;
4.掌握文件的操作方法;
5.了解出错的检测方法;
二、教学重点:文件的操作;
三、教学难点:文件操作;
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 文件的概念  (15分钟,ppt文档和演示结合讲解)
1.文件;
2.文件系统;
  • 文件类型指针、文件的打开与关闭(约30分钟,ppt文档和演示结合讲解)
1.文件类型指针的含义;
2.文件类型指针的使用;
3.文件打开的方法
4.文件的关闭
  • 文件的读写操作与出错检测(约40分钟,ppt文档和演示结合讲解)
1.文件的顺序读写方法;
2.文件的随机读写方法;
3.出错的检测;
 
七、课程小结:                       (约5分钟,语言表述)
八、布置作业:实验十二堂下练习,题号(11129,1107)
 
第二十四次课:2学时       
内容:“期末复习”之——知识点、考试题型
一、教学目的:
1.巩固教学的效果;
二、教学重点:知识点串讲;
三、教学难点:
四、教学方法:利用ppt文档及课本讲解
五、教学用具:黑板、计算机及Powerpoint软件、投影仪
六、教学过程:
  • 知识点  (45分钟,ppt文档和演示结合讲解)
1.串讲以增强学生对整本书知识的全面掌握;
2.指出不同类型知识点的复习方法;
  • 考试题型(约20分钟,ppt文档和演示结合讲解)

1.指出各种题型的特点和解题技巧;
  • 学生反馈 (约20分钟,语言表达)
1.了解学生不明白的地方;
七、课程小结:                       (约5分钟,语言表述)
1.对整门课程进行总结;
八、布置作业:认真复习书本的内容和习题,重点在于程序实现能力。