已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C C 语言程序设计语言程序设计 教案教案 单 位 湖南理工职业技术学院 学院 教研室 风能工程学院 工业机器人专业 授课教师 周常欣 职 称 助教 课程名称C 语言程序设计 教材C 语言程序设计 第四版 作者 谭浩强 清华大学出版社 考核方式 考查课程 总成绩 课堂参与占 10 试验报告占 20 期末考试占 70 闭卷考 试 程序编写题目 教 学 基 本 目 的 和 要 求 C 语言是近年来国内外得到迅速推广使用的一种计算机语言 C 语言程序设计课程 是计算机专业和信息管理专业的核心专业基础课 它功能丰富 表达能力强 使用灵活方 便 应用面广 目标程序效率高 可移植性好 既具有高级语言的优点 又具有低级语 言的优点 既适用于应用软件编写 又适用于系统软件的编写 在现代的工业机器人的 众多语言中 大多编程风格以 C 语言非常类似 学生学好 C 语言 对将来的工作中 从事工业机器人现场编程是非常有帮助的 课程的性质和任务课程的性质和任务 语言程序设计 这门课是我校工业机器人 分布式发电与微电网专业的专业必修课 作为计算机系的数据结构 c 单片机编程等课程的前导课程 也是一门实践性很强 的课程 既要掌握概念 又要动手编程 还要上机调试运行 对工业机器人专业来说是 一门必修的课程 同时 这门课程也是 湖南省非计算机专业学生计算机应用能力水平考试 二级考试 的主要语种之一 课程的教学目标课程的教学目标 本课程的教学目标是 通过理论和实践教学 使学生较好地掌握 C 语言各方面的知识 掌握基本的程序设计过程和技巧 具备初步的高级语言程序设计能力 并能熟练应用 VC 6 0 集成环境进行 C 语言的编写 编译与调试 能应用 C 语言解决一般编程问题 的水平 教 学 重 点 和 难 点 一 程序设计和一 程序设计和 C 语言语言 重点 计算机程序 计算机语言 C 语言编译软件的安装 最简单的 C 语言程序 二 算法 程序的灵魂二 算法 程序的灵魂 重点 简单的算法举例 算法的特性 用流程图表示算法 三 顺序结构程序设计三 顺序结构程序设计 重点 C 语言的数据类型 C 语句的种类 赋值语句 数据的输入输出及输入输出 中最常用的控制格式 四 选择结构程序设计四 选择结构程序设计 重点 关系运算符与逻辑运算符及其组成的具有逻辑值的表达式 二条分支语句的 格式及基本应用 多分支的选择语句 五 循环结构程序设计五 循环结构程序设计 重点 C 构成循环的四种方法 尤其是后三种方法 break 与 continue 语句的基本 作用 难点 while 语句 do while 语句 for 语句 循环的嵌套 break 与 continue 语句 六 数组六 数组 重点 一维数组 二维数组的定义与引用 字符数组的定义与引用 常用字符串处 理函数及字符处理函数 数组的应用 难点 二维数组的定义与引用 字符数组 数组的应用 七 函数七 函数 重点 函数的定义 函数的参数和函数的值 函数的调用 函数的嵌套调用 函数 的递归调用 数组作为函数参数 变量作用域 量存储类别 难点 函数定义 函数调用 函数声明等基本基本概念 函数的嵌套调用与递归调 用 数组作为函数的参数 变量的存储类别与作用域 八 指针八 指针 重点和难点 指针与地址的基本概念 指针与变量的关系 指针与数组 指针与字 符串 指针数组与二级指针 指针的应用 九 建立自己的数据类型九 建立自己的数据类型 重点和难点 定义和使用结构体变量 用指针处理链表 共用体类型 十 文件十 文件 重点 文件的基本知识 fopen fclose 函数打开与关闭文件 顺序读写数据文件 随机读写数据文件 难点 用二进制方式向文件读写一组数据 十一 常见错误分析十一 常见错误分析 重点和难点 文件的基本概念 文件的打开 关闭 常用读写方法 十二 数组高级应用十二 数组高级应用 重点 不定长数组与二维数组的应用 难点 不定长数组与二维数组的应用 十三 综合应用十三 综合应用 重点 数组 if 语句 循环语句 函数知识的综合应用 难点 二维数组 指针 教材 参考书 教材 教材 C 程序设计 第四版 谭浩强著 清华大学出版社 2010 年 6 月 参考书 参考书 C 程序设计语言 Kernighan 熟练绘制选择语句算术的流程图 掌握关系运算符 关系表达式 逻辑运算符 逻辑表达式 重点 难点 重点 关系运算符 关系表达式 逻辑运算符 关系表达式 难点 熟练绘制选择语句算术的流程图 教 学 安 排 讲授讲授 一 选择结构的条件判断一 选择结构的条件判断 1 理解条件 产生逻辑值的表达式 2 选择结构的流程图绘制 3 二元二次方程求根的算法及程序编写 二 关系运算符与关系表达式二 关系运算符与关系表达式 关系运算 比较运算 即 将两个值进行比较 判断是否符合或满足给定的条件 1 关系运算符及其优先次序 a C 语言提供 6 种关系运算符 表 5 1 b 关于优先次序 前 4 种高于后两种 关系低于算术 关系高于赋值 例 5 2 2 关系表达式 关系表达式的值是逻辑值 即 真 假 C 语言没有逻辑型数据 1 真 0 假 例 5 3 三 逻辑运算符和逻辑表达式三 逻辑运算符和逻辑表达式 关系运算 比较运算 即 两个逻辑值的运算 1 逻辑运算符 1 else max b max a b a b 1 条件表达式的一般形式 表达式 1 表达式 2 表达式 3 2 条件表达式说明 5 点 例 5 4 二 二 switch caseswitch case 语句 多分支选择语句语句 多分支选择语句 开关语句 开关语句 3 switch 一般形式 4 switch 语句说明 1 7 三 分支程序例子三 分支程序例子 例 5 5 写程序 判断某一年是否是闰年 例 5 6 求一元二次方程 ax2 bx c 0 的根 例 5 7 运输公司对用户计算运费 六 应用举例六 应用举例 例 6 14 从键盘输入一个大于 2 的整数 n 判断是不是素数 例 6 15 求 100 200 之间的所有素数 例 6 16 输出下三角 99 乘法表 七 上机演示及学生操作七 上机演示及学生操作 在讲课的同时切换软件界面调试代码 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 21 2221 22 课时课时 授课内容 第 6 章 1 一维组的应用 教学目的 和要求 数组的基本概念 一维数组定义 初始化 引用 最大值 冒泡排序 选择排序算法 重点 难点 重点 一维数组定义 初始化 引用 求最大值 冒泡排序 选择排序算法 矩阵操作 难点 冒泡排序 选择排序算法 教 学 安 排 引言引言 基本数据类型 构造类型的数据 数组 数组 数组元素 数组的下标 数组的维数 例如 int a 10 一维数组可以看作一个数列 向量 例如 float b 3 3 二维数组可以看作一个矩阵 讲授讲授 一 定义和引用一维数组一 定义和引用一维数组 1 一维数组的定义 类型说明 数组名 整型常量表达式 2 一维数组定义说明 下标从 0 开始 3 数组元素的引用 例 6 1 利用数组输出 1 10 1 循环语句 2 数组下标越界 4 一维数组的初始化的几种形式 1 定义时赋初值 2 部分赋初值 3 数组元素全部置 0 4 数组元素如全部赋值可不指定长度 5 给数组元素赋初值和给数组集合赋初值的异同 1 给数组元素赋初值 int temp 1 9 2 给数组集合赋初值 int temp 10 1 2 3 二 一维数组的应用例子二 一维数组的应用例子 例 6 2 用数组来处理斐波那契数列 例 6 3 采用 冒泡法 对任意输入的 10 个整数按由小到大的顺序排序 例 6 4 采用 选择法 对任意输入的 10 个整数按由大到小的顺序排序 三 动态内存分配法实现不定长一维数组三 动态内存分配法实现不定长一维数组 某些情境需要定义一个数组 但数组的长度不定 因为这个长度是根据某些其他条件 确定的 这时我们需要定义一个长度不定的数组 如读取不同声音的语音数据序列 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 23 2423 24 课时课时 授课内容 第 6 章 2 二维数组和多维数组的应用 教学目的 和要求 二维数组定义 初始化 引用 多维数组 重点 难点 重点 二维数组定义 初始化 双重 for 循环读取二维数组 二维数组 1 维和 2 维的分辨 难点 双重 for 循环读取二维数组 二维数组 1 维和 2 维的分辨 教 学 安 排 二 二维数组二 二维数组 注意 类比一维数组注意 类比一维数组 1 二维数组的应用场景 2 二维数组的定义 3 二维数组元素的内存分布 二 二维数组元素的引用二 二维数组元素的引用 例 6 5 二维数组元素的引用的例子 自学 构造 打印单位矩阵 思考 下标是从 1 开始使用的 哪些元素在此例子中未使用 它们的值是多少 随机值 三 二维数组的初始化的几种形式三 二维数组的初始化的几种形式 1 分行给二维数组赋值 2 将所有数组写在一个花括号内 3 对部分元素赋值 4 对全部元素赋初值 二维数组的 1 维长度可以省略 2 维长度不能省略 四 双重四 双重 for 循环法读取二维数组循环法读取二维数组 比较抽象 图解较直观 五 二维数组应用举例五 二维数组应用举例 例 6 4 将二维数组的行和列互换 存到另一个数组里 例 6 5 找出矩阵所有元素中的最大值 例 6 附加 分别计算矩阵的两条对角线 主 辅对角线 上的元素之和 六 多维数组的应用六 多维数组的应用 1 多维数组的定义 2 多维数组元素的引用 3 多维数组的初始化 七 不定长二维数组的实现七 不定长二维数组的实现 某些情境需要定义一个二维数组 但二维数组的长度不定 因为这个长度是根据某些其他 条件确定的 这时我们需要定义一个长度不定的二维数组 如读取不同尺寸图像点的像素 值 八 上机演示及学生操作八 上机演示及学生操作 在讲课的同时切换软件界面调试代码 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 25 2625 26 课时课时 授课内容 第 6 章 3 字符数组 教学目的 和要求 字符数组定义 初始化 引用 字符串与字符数组 字符串处理函数 字符数组应用 重点 难点 重点 字符串与字符数组 字符串处理函数 难点 字符串与字符数组 字符串处理函数 教 学 安 排 引言引言 复习数组概念 数组定义 初始化 元素引用方法 引入字符数组 元素为字符 讲授讲授 一 字符数组一 字符数组 1 字符数组的定义 2 字符数组的初始化 3 字符数组的引用 4 二维字符数组的应用举例 二 字符和字符串结束标志二 字符和字符串结束标志 1 字符串与字符数组的区别 2 字符串结束标记志 系统对字符串常量也自动加一个 0 作为结束符 例如 C Program 共有 9 个字符 但在内 存中占 10 个字节 最后一个字节 0 是系统自动加上的 通过 sizeof 函数可验证 三 字符数组的输入和输出三 字符数组的输入和输出 1 逐个字符输入输出 2 将整个字符串输出 3 利用字符串的结束符批量输出 四 字符串概述四 字符串概述 1 字符串的输出 1 s 格式符 2 print 语句的输出项参数用字符数组名 而非数组元素名 2 字符串的引用 五 由字符数组来构造字符串五 由字符数组来构造字符串 根据定义 可由字符数组添加一个 0 符形成字符串 六 二维字符数组六 二维字符数组 1 二维字符数组的定义 2 二维字符数组的初始化 3 二维字符数组的引用 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 27 2827 28 课时课时 授课内容 第 6 章 4 字符串函数的应用 教学目的 和要求 字符数组定义 初始化 引用 字符串与字符数组 字符串处理函数 字符数组应用 重点 难点 重点 字符串与字符数组 字符串处理函数 难点 字符串与字符数组 字符串处理函数 教 学 安 排 讲授讲授 一 使用字符串处理函数一 使用字符串处理函数 1 puts 函数 2 gets 函数 3 strcat 函数 字符串截取函数 4 strcopy 和 strncopy 函数 字符串复制函数 5 strcmp 函数 字符串比较函数 6 strlen 测试字符串长度函数 7 strlwr 函数 转换为小写的函数 8 strupr 函数 转换为大写的函数 二 字符数组应用举例二 字符数组应用举例 例 6 8 由键盘任意输入一个字符串和一个字符 要求从该字符串中删除所指定的字符 例 6 9 由键盘输入三个字符串 找出其中的最大串 字符串库函数的应用 三 学会阅读三 学会阅读 C C 标准函数手册标准函数手册 附录 F C 库函数 1 引用预编译头文件 include 包含头文件 2 学会阅读函数库函数的函数类型和参数 四 字符数组函数的综合练习四 字符数组函数的综合练习 1 打印杨辉三角形 2 有一个已排好序的数组 要求输入一个数后 按原来排序的规律将它插入数组中 3 魔方阵 要求输出 1 n2 4 找出二维数组的鞍点 即该位置上的元素在该行上最在 在该列上最小 也可能没有鞍 点 5 编一程序 将两个字符串连接起来 不要用 strcat 函数 四 上机演示及学实践操作四 上机演示及学实践操作 在讲课的同时切换软件界面调试代码 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 29 3029 30 课时课时 授课内容 第 7 章 1 函数及函数的调用 教学目的 和要求 掌握函数定义 调用 声明 函数参数传递方式 了解函数递归调用 重点 难点 重点 函数定义 调用 声明 函数参数传递方式 难点 函数参数传递方式 传址 尚未学习指针 用数组举例 教 学 安 排 讲授讲授 一 函数概述一 函数概述 1 C 语言的函数 C 语言的函数是子程序的总称 包括函数和过程 C 语言函数可以分为库函数 用户自定义函数 2 C 语言的程序由函数组成 函数是 C 语言程序的基本单位 程序的总体功能通过函数的 调用来实现 其中 main 起点 图 3 函数的一些概念 主函数 其它函数 主调函数 被调函数 库函数 用户自定义函数 无参函数 有参函数 无返回值函数 有返回值函数 二 函数的一般形式 二 函数的一般形式 函数应当先定义 后调用 函数定义的一般形式及说明 1 2 例 7 1 输入三个整数 求三个整数中的最大值 打印 思考问题 三 函数的参数和返回值三 函数的参数和返回值 1 形式参数 2 实际参数 3 参数的传递 2 函数返回值 return 语句及说明 四 函数的调用四 函数的调用 1 函数调用的一般形式及说明 单独语句 表达式中 参数相容 例 7 3 以表达式的形式进行函数的调用 自学 2 函数调用时数据的传递 参数传递 函数的返回值 全局变量 例 7 4 求学生平均成绩 P110 注意参数传递的是数组的地址 3 函数的声明 例 7 5 函数声明例子 P112 五 函数的嵌套调用和递归调用五 函数的嵌套调用和递归调用 函数允许嵌套调用和递归调用 递归调用是嵌套调用的特例 1 函数的嵌套调用 例 7 6 计算两整数的最小公倍数 P113 2 函数的递归调用 例 7 7 用递归法求 n P 114 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 31 3231 32 课时课时 授课内容 第 7 章 2 函数变量的作用域和生命周期 教学目的 和要求 掌握变量作用域 生命期 掌握插入排序 重点 难点 重点 变量作用域 生命期 插入排序 难点 变量作用域 生命期 插入排序 教 学 安 排 讲授讲授 六 变量的作用域 有效范围 可见性 六 变量的作用域 有效范围 可见性 变量的作用域 变量的有效范围或者变量的可见性 变量定义的位置决定了变量的作用域 变量从作用域 变量的有效范围 可见性 的角度可以分为 局部变量 全局变量 1 局部变量 函数体内变量 形参变量 复合语句内变量 互不干预 动态分配 例 7 8 各函数局部变量同名的应用示例 P116 117 2 全局变量 所有函数之外 文件作用域 程序作用域 全局变量可以和局部变量同名 坐井观天 例 7 9 全局变量 局部变量同名的应用示例 P118 例 7 10 全局变量 局部变量的应用示例 P118 七 变量的存储类别 生存期 生命期 七 变量的存储类别 生存期 生命期 变量从空间上分为局部变量 全局变量 从变量存在的时间的长短 即变量生存期 来划分 变量还可以分为 动态存储变量 静 态存储变量 变量的存储方式决定了变量的生存期 C 语言变量的存储方式可以分为 动态存储方式 静态存储方式 全局变量全部是静态的 局部变量可以是静态 也可以是动态 auto register 例 7 11 寄存器局部变量的应用 P120 完成 n n 1 n 2 1 例 7 12 静态局部变量的应用示例 P121 八 内部函数和外部函数八 内部函数和外部函数 默认是外部函数 九 函数应用举例九 函数应用举例 例 7 14 字符串逆序 P124 例 7 15 求矩阵最大元素 P124 125 例 7 16 利用插入法将 10 个字符从小到大进行排序 P125 126 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 33 3433 34 课时课时 授课内容 第 8 章 1 指针概述及指针作为函数参数 教学目的 和要求 指针的基本概念 变量访问方式 指针变量定义 赋值 引用 指针作为函数参数 重点 难点 重点 指针的基本概念 指针变量定义 赋值 引用 指针作为函数参数 难点 指针的基本概念 教 学 安 排 讲授 指针基础讲授 指针基础 一 指针变量的定义一 指针变量的定义 变量先定义后使用 1 定义格式 2 说明 1 指针变量基类型 指针变量指向数据的类型 2 指针变量存放地址值 本身占用空间 2 字节 二 指针变量的赋值二 指针变量的赋值 使用未赋值指针等同于向一个随机的内存中写入数据 1 将地址直接赋值给指针变量 例如 float f malloc 4 2 将变量地址赋值给指针变量 例如 float a p p a 三 指针变量的引用三 指针变量的引用 1 运算符 取地址运算符 2 运算符 指针运算符 间接访问运算符 例 9 1 P137 指针变量定义 赋值 引用例子 四 指针变量作为函数的参数四 指针变量作为函数的参数 变量可以作为函数参数 指针变量同样可以作为函数参数 使用指针作为函数参数 可 以在函数中对指针所指向变量的值进行处理 修改 指针作为函数参数 本质上同样是单向传值 但是由于传递的是地址值 所以可以通过 地址值间接修改形参 实参共同指向的变量 例 9 2 输入 a b 两个数交换后输出 在 swap 函数中使用两个指针作为函数参数 对两个指针所指向变量值进行交换 结论 1 要在被调用函数中 修改主调函数的变量值应当 1 将主调函数变量的地址传递给被调用函数 就是说函数应当传递的是变量的地址 2 被调用函数的形参应当使用指针变量接受主调函数的地址值 3 在被调用函数中通过形参指针变量间接访问 修改实参 形参地址所共同指向的变量 本例的操作是交换两个指针变量所指向的变量 2 函数使用指针作为参数 可以增加主调函数与被调函数之间数据沟通的渠道 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 35 3635 36 课时课时 授课内容 第 8 章 2 通过指针引用数组 教学目的 和要求 通过指针引用数组元素 数组的指针变量 作为函数参数 通过指针指向多维数组 重点 难点 重点 数组的指针变量 作为函数参数 通过指针指向多维数组 难点 数组的指针变量 作为函数参数 通过指针指向多维数组 教 学 安 排 讲授讲授 一 数组元素的指针一 数组元素的指针 每个数组元素都在内存中占有存储单元 它们都有相应的地址 所谓数组元素的指针就是 数组元素的地址 二 在引用指针元素时指针的运算二 在引用指针元素时指针的运算 1 在一定条件下允许对指针进行加和减的运算 2 在指针指向数组元素时 可以对指针进行加和自加 减和自减运算 三 通过指针引用数组元素三 通过指针引用数组元素 1 下标法 2 指针法 例 8 7 通过指针变量输出整型数组 a 的 10 个元素 四 用数组名和四 用数组名和 数组的指针变量数组的指针变量 作为函数参数作为函数参数 例 8 8 将数组 a 中 n 个整数按相反顺序存放 例 8 9 将例 8 8 写成指针变量作实参 例 8 10 用指针法对 10 个整数按从大到小顺序排序 五 通过指针指向多维数组五 通过指针指向多维数组 1 多维数组的地址 2 指向多维数组元素的指针 1 指向数组元素的指针变量 例 8 12 有一个 3 4 的二维数组 要求用指向元素的指针变量输出二维数组各元素的值 2 指向由 m 个元素组成的一维数组的指针变量 3 用指向数组的指针作函数参数 例 8 14 有一个班 3 个学生 各学 4 门课程 计算总平均分数以及第 n 个学生的成绩 例 8 15 在例 8 14 的基础上 查找有 1 门以上课程不及格的学生 输出他们全部课程的成 绩 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 37 3837 38 课时课时 授课内容 第 8 章 3 通过指针引用字符串 教学目的 和要求 掌握字符指针作为函数参数 理解使用字符指针变量和字符数组的异同 重点 难点 重点 字符指针作为函数参数 理解使用字符指针变量和字符数组的异同 难点 字符指针作为函数参数 理解使用字符指针变量和字符数组的异同 教 学 安 排 讲授讲授 一 字符串的引用方式一 字符串的引用方式 1 可通过字符数组名和下标引用字符串中的一个字符 2 也可以通过数组名和格式声明 s 输出该字符串 例 8 16 定义一个字符数组 在其中存放字符串 I love China 输出该字符串和第 8 个 字符 C 语言中只有字符变量 没有字符串变量 例 8 18 将字符串 a 复制为字符串 b 然后输出字符串 b 例 8 19 例 8 18 改用指针变量来处理 二 字符指针作为函数参数二 字符指针作为函数参数 例 8 20 用函数调用实现字符串的复制 1 用字符数组名作为函数的参数 2 用字符指针变量作为函数的参数 其实编译系统把字符数组名按指针变量处理的 只是表示形式不同 三 使用字符指针变量和字符数组的比较三 使用字符指针变量和字符数组的比较 1 字符数组由若干个元素组成 每个元素中放一个字符 而字符指针变量中存放的是地址 2 赋值方式 可以对字符指针变量赋值 但不能对数组名赋值 3 初始化含义 4 存储单元内容 5 指针变量的值是可以改变的 而数组名代表一个固定的值 6 字符数组中各元素的值是可以改变的 7 引用数组元素 四 随堂练习四 随堂练习 写一函数 实现两个字符串的比较 int strcmp char p1 char p2 五 上机演示及学实践操作五 上机演示及学实践操作 在讲课的同时切换到编译器界面调试代码 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 39 4039 40 课时课时 授课内容 第 8 章 4 动态内存管理与指向它的指针变量 教学目的 和要求 掌握用函数指针变量调用函数 掌握用指向函数的指针作函数参数 重点 难点 重点 用函数指针变量调用函数 用指向函数的指针作函数参数 难点 用函数指针变量调用函数 用指向函数的指针作函数参数 教 学 安 排 讲授讲授 一 指向函数的指针一 指向函数的指针 编译系统为函数代码分配一段存储空间 这段存储空间的起始地址 称为这个函数的指针 二 用函数指针变量调用函数二 用函数指针变量调用函数 例 8 22 求两个整数的最大值 讲解通过函数名调用函数与通过指针变量访问它所指向的函数的异同 三 怎样定义和使用指向函数的指针变量三 怎样定义和使用指向函数的指针变量 类型名 指针变量名 函数参数表列 例 8 23 讲解 四 用指向函数的指针作函数参数四 用指向函数的指针作函数参数 指向函数指针变量的一个重要用途是把函数的地址作为参数传递到其它函数 例 8 24 讲解 五 返回指针值的函数五 返回指针值的函数 一个函数可以返回一个整型值 字符值 实型值等 也可以返回指针型的数据 即地址 定义返回指针值函数的一般形式为 类型名 函数名 参数表列 例 8 25 讲解 六 指针数组和多重指针六 指针数组和多重指针 1 什么是指针数组 2 指向指针数据的指针 例 8 28 讲解 3 指针数组作主函数的形参 七 上机演示及学实践操作七 上机演示及学实践操作 在讲课的同时切换到编译器界面调试代码 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 41 4241 42 课时课时 授课内容 第 8 章 5 动态内存分配动态内存分配 教学目的 和要求 掌握指针数组和多重指针 掌握动态内存分配的技巧 重点 难点 重点 指针数组和多重指针 动态内存分配的技巧 难点 指针数组和多重指针 动态内存分配的技巧 教 学 安 排 讲授讲授 C 定义了 4 个内存区间 代码区 全局变量与静态变量区 局部变量区即栈区 动态存储区 即堆 heap 区或自由存储区 free store 一 堆栈和队列一 堆栈和队列 1 堆栈 堆栈是一种特殊的线性表 1 栈顶和栈底 2 队列 堆栈也是一种特殊的线性表 1 队头与队尾 二 堆与动态内存分配二 堆与动态内存分配 有些操作对象只在程序运行时才能确定 这样编译时就无法为他们预定存储空间 只能在 程序运行时 系统根据运行时的要求进行内存分配 这种方法称为动态内存分配 所有动 态内存分配都在堆区中进行 三 动态内存分配三 动态内存分配 1 什么是内存的动态分配 2 建立内存分配的动态分配 1 malloc 函数 malloc 是一个函数 专门用来从堆上分配内存 使用 malloc 函数需要几个要求 内存分配给谁 分配多大内存 是否还有足够内存分配 内存的将用来存储什么格式的数据 即内存用来做什么 分配好的内存在哪里 如果这五点都确定 那内存就能分配 下面先看 malloc 函数的原型 void malloc uint size 2 calloc 函数 3 free 函数 4 realloc 函数 四 什么是野指针四 什么是野指针 1 野鸡指针的形成 2 野指针的危害 五 五 void 指针类型指针类型 指向空类型指针 而非指向任意类型的指针 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 43 4443 44 课时课时 授课内容 第 9 章 1 结构体概述及应用 教学目的 和要求 结构体类型 变量的定义及初始化 结构体变量的引用 结构体数组 结构体指针 重点 难点 结构体类型 变量的定义及初始化 结构体变量的引用 结构体数组 结构体指针 教 学 安 排 引言引言 例子 学生信息管理系统 讲授讲授 一 结构体类型一 结构体类型 1 结构体类型和结构体变量 1 结构体类型定义的一般形式 例如 定义关于学生信息的结构体类型 2 结构体变量的定义 三种方法 先定义结构体类型 再定义结构体变量 概念 含义相当清晰 定义结构体类型的同时定义结构体变量 直接定义结构体变量 不给出结构体类型名 匿名的结构体类型 2 结构体变量的引用 1 引用结构体变量中的一个成员 结构体变量名 成员名 2 成员本身又是结构体类型时的子成员的访问 使用成员运算符逐级访问 3 同一种类型的结构体变量之间可以直接赋值 4 不允许将一个结构体变量整体输入 输出 1 结构体变量的初始化 二 结构体数组二 结构体数组 结构体数组 数组元素的类型为结构体类型的数组 1 结构体数组的定义 类似结构体变量定义 只是将 变量名 用 数组名 长度 代替 也有 3 种方式 2 结构体数组的初始化 三 结构体指针变量三 结构体指针变量 1 结构体指针变量 1 结构体指针变量的定义 2 通过结构体指针变量访问结构体变量的成员 结构体指针变量名 成员名 结构体指针变量名 成员名 2 结构体变量 结构体指针变量作函数参数 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 45 4645 46 课时课时 授课内容 第 9 章 2 链表 教学目的 和要求 掌握链表的使用 重点 难点 重点 掌握链表的使用 掌握共同体类型的使用 理解枚举类型的概念 难点 掌握链表的使用 掌握共同体类型的使用 理解枚举类型的概念 教 学 安 排 讲授讲授 一 链表概述一 链表概述 1 什么是链表 1 链表中节点的定义 2 链表的基本操作 2 建立简单的静态链表 二 建立动态链表二 建立动态链表 1 动态链表 1 处理动态链表所需要的函数 malloc calloc free 2 结点的动态分配 2 输出链表 例 9 10 编写一个输出链表的函数 print 3 对链表的删除操作 4 对链表的插入操作 二 双向链表二 双向链表 1 双向链表的存储结构 2 建立双向链表 3 双向链表的操作 三 环形链表三 环形链表 1 儿时玩的丢手绢的游戏 环形 约瑟夫问题 2 解决环形情况的问题比较方便 3 构造环形链表 4 环形链表的特点 四 上机演示及实践操作四 上机演示及实践操作 在讲课的同时切换到编译器界面调试代码 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 47 4847 48 课时课时 授课内容 第 9 章 3 共用体及枚举 教学目的 和要求 掌握链表的使用 掌握共用体类型的使用 理解枚举类型的概念 重点 难点 重点 掌握链表的使用 掌握共同体类型的使用 理解枚举类型的概念 难点 掌握链表的使用 掌握共同体类型的使用 理解枚举类型的概念 教 学 安 排 讲授讲授 一 共用体一 共用体 1 什么是共用体类型 有时想用同一段内存单元存放不同类型的变量 这种使几个不同类型的变量共享同一段内 存的结构 称为 共用体 类型结构 2 共用体与结构体的异同 1 结构体的各个成员会占用不同的内存 互相之间没有影响 而共用体的所有成员占用 同一段内存 修改一个成员会影响其余所有成员 2 结构体占用的内存大于等于所有成员占用的内存的总和 成员之间可能会存在缝隙 共用体占用的内存等于最长的成员占用的内存 共用体使用了内存覆盖技术 同一时刻只 能保存一个成员的值 如果对新的成员赋值 就会把原来成员的值覆盖掉 3 引用共用体变量的方式 4 共用体类型数据的特点 5 国内有些资料把共用体这一概念称之为 联合 例 9 11 二 枚举二 枚举 1 枚举类型概念 如果一个变量只有几中可能的值 则可以定义为枚举类型 枚举类型是一种基本数据类型 而不是一种构造类型 因为它不能再分解为任何基本类型 2 枚举类型的定义和变量的说明 3 枚举类型变量的赋值和使用 例 9 12 4 用 typedef 声明新类型名 三 上机演示及实践操作三 上机演示及实践操作 在讲课的同时切换到编译器界面调试代码 课后自我 总结分析 备注 C C 语言程序设计语言程序设计 教案教案 第第 49 5049 50 课时课时 授课内容 第 10 章 1 文本文件及二进制文件的打开与关闭 教学目的 和要求 了解文件存储的物理结构与编码 了解文本文件与二进制文件的异同 fopen 函数 fclose 函数的使用 重点 难点 重点 文件存储的物理结构与编码 文本文件与二进制
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit 3 Where did you go(说课稿)-2023-2024学年人教PEP版英语六年级下册
- Unit 6 Review Period 4 (说课稿)-2024-2025学年北师大版(三起)英语三年级上册
- 《1、了解学习好习惯》(说课稿)-2024-2025学年二年级上册综合实践活动鲁科版
- 《10 交通安全小常识》(说课稿)-2023-2024学年四年级上册综合实践活动长春版
- 23《梅兰芳蓄须》说课稿2024-2025学年统编版语文四年级上册
- 14《我要的是葫芦》第一课时 说课稿-2024-2025学年语文二年级上册统编版
- Unit5 The colourful world第三课时(说课稿)-2024-2025学年人教PEP版(2024)英语三年级上册
- 2024-2025学年高中历史 第四单元 工业文明冲击下的改革 第12课 俄国农奴制改革(2)教学说课稿 岳麓版选修1
- 2025合同约定的“滞纳金”是否可以视为违约金
- 2025建安施工合同文本
- 新人教版小学数学五年级下册教材解读
- 标杆地产集团 研发设计 工程管理 品质地库标准研发成果V1.0
- TMS开发业务需求文档
- 2023年1月浙江高考英语听力试题及答案(含MP3+录音原文)
- HI-IPDV10芯片产品开发流程V10宣课件
- 房产抵押注销申请表
- 【课件】第三课 蒙娜丽莎 课件高中美术湘美版美术鉴赏
- 象数疗法好疗效
- A320系列飞行训练课程:电子飞行仪表系统概况
- 2020新版个人征信报告模板
- 东芝空调维修故障代码汇总
评论
0/150
提交评论