5.共用体、typedef【重点、难点】1.重点:结构体成员的引用方式;结构体数组。2.难点:结构体数组的使用。【教学方法】1.课堂讲解结构体概念、结构体变量、结构体数组、结构体指针等2.通过教学项目“工程师工资管理系统”讲解使用结构体描述工程师信息,处理工程师信息的方法。【学习要求】通过本章学习,学生能够使用结构体实现“工程师工资管理系统”的各个功能模块。【复习与思考】1.理解结构体与表格的对应关系。2.理解结构体成员访问方法。【学习资源】1.学习通自建在线课程《高级语言程序设计I》。2.使用在线EduCoder实训平台的实训案例。3.中国MOOC平台浙江大学《C语言程序设计》课程。【思政案例】案例名称:诚信考试系统。在学校的日常管理中,考试是检验学生学习成果的重要手段。然而,近年来考试中学生作现象屡禁不止,不仅严重影响了学校的学风和考风,而且损害了学生的个人信誉。为了倡导诚信考试,设计了一个简单的诚信考试系统,用于记录学生的考试信息和诚信状态。通过设置思政讨论问题,以讨论的形式使学生能够在实践中思考技术与社会、道德的关系,增强他们的社会责任感和道德意识。第五章文件【学习目标】1.掌握文件的建立、打开、访问的基本方法。2.掌握使用文件与结构体数组数据交换的基本方法。【课程内容】1.文件的概念及类型2.文本文件的定义、打开、读写、关闭23
23 5.共用体、typedef 【重点、难点】 1.重点:结构体成员的引用方式;结构体数组。 2.难点:结构体数组的使用。 【教学方法】 1.课堂讲解结构体概念、结构体变量、结构体数组、结构体指针等。 2.通过教学项目“工程师工资管理系统”讲解使用结构体描述工程师信息, 处理工程师信息的方法。 【学习要求】 通过本章学习,学生能够使用结构体实现“工程师工资管理系统”的各个 功能模块。 【复习与思考】 1.理解结构体与表格的对应关系。 2.理解结构体成员访问方法。 【学习资源】 1.学习通自建在线课程《高级语言程序设计Ⅱ》。 2.使用在线 EduCoder 实训平台的实训案例。 3.中国 MOOC 平台浙江大学《C 语言程序设计》课程。 【思政案例】 案例名称:诚信考试系统。 在学校的日常管理中,考试是检验学生学习成果的重要手段。然而,近年 来考试中学生作弊现象屡禁不止,不仅严重影响了学校的学风和考风,而且损 害了学生的个人信誉。为了倡导诚信考试,设计了一个简单的诚信考试系统, 用于记录学生的考试信息和诚信状态。通过设置思政讨论问题,以讨论的形式 使学生能够在实践中思考技术与社会、道德的关系,增强他们的社会责任感和 道德意识。 第五章 文件 【学习目标】 1.掌握文件的建立、打开、访问的基本方法。 2.掌握使用文件与结构体数组数据交换的基本方法。 【课程内容】 1.文件的概念及类型 2.文本文件的定义、打开、读写、关闭
3.二进制文件的定义、打开、读写、关闭【重点、难点】1.重点:文件的打开;文件的读写。2.难点:文件的读写。【教学方法】1.课堂讲解文件的概念及读写函数。2.通过教学项目“工程师工资管理系统”讲解使用文件存储工程师信息的方法。【学习要求】通过本章学习,学生能够使用文件读写“工程师工资管理系统”的数据。【复习与思考】1.文本文件与二进制文件的使用场合。2.不同文件读写函数的性能与特性。3.不同文件打开方式的区别。【学习资源】1.学习通自建在线课程《高级语言程序设计II》。2.使用在线EduCoder实训平台的实训案例。3.中国MOOC平台浙江大学《C语言程序设计》课程。五、实践教学安排本课程实践学时为16学时,主要用于项目实践。项目《工程师工资管理系统》覆盖教学内容的所有知识点,提供工资信息录入、工资统计分析、工资查询、工资修改、工资排序、将工资保存到文件等功能,并随着教学过程的进行逐步实现该项目的各个功能24
24 3.二进制文件的定义、打开、读写、关闭 【重点、难点】 1.重点:文件的打开;文件的读写。 2.难点:文件的读写。 【教学方法】 1.课堂讲解文件的概念及读写函数。 2.通过教学项目“工程师工资管理系统”讲解使用文件存储工程师信息的 方法。 【学习要求】 通过本章学习,学生能够使用文件读写“工程师工资管理系统”的数据。 【复习与思考】 1.文本文件与二进制文件的使用场合。 2.不同文件读写函数的性能与特性。 3.不同文件打开方式的区别。 【学习资源】 1.学习通自建在线课程《高级语言程序设计Ⅱ》。 2.使用在线 EduCoder 实训平台的实训案例。 3.中国 MOOC 平台浙江大学《C 语言程序设计》课程。 五、实践教学安排 本课程实践学时为 16 学时,主要用于项目实践。项目《工程师工资管理系 统》覆盖教学内容的所有知识点,提供工资信息录入、工资统计分析、工资查 询、工资修改、工资排序、将工资保存到文件等功能,并随着教学过程的进行 逐步实现该项目的各个功能
学时序号实践项目名称主要实践内容用一维数组实现,并用循环语句完成对工工程师工资管理系统v1资的输入、计算、排序和输出等功能。根据工程师工资进行排序用函数实现项目的各个功能,并用指针实2工程师工资管理系统v2现函数间数据的传递。定义结构体存储工程师的姓名、年龄、工资等数据,并定义结构体数组存放所有工3工程师工资管理系统v3程师的数据。按照结构体的用法重写各个函数的代码。将工程师数据存储于二进制文件中,运行程序时将数据从文件读入结构体数组,退工程师工资管理系统v4A出程序时再将结构体数组中数据保存到文件中。六、考核方式(一) 考核方式课程考核方式分为过程性考核、期末考核。过程性考核方式(平时成绩)包括课堂表现(30分)、作业(30分)、项目实践(40分),占比30%;期末考核采用闭卷考试,占比70%。(二)考核方式与课程目标的关系课程目标考核方式考核内容及所占比例(%)课程目标1基本知识和基本算法:30%课堂表现、期末考试课程目标2程序设计基本方法:30%作业、期末考试课程目标3程序测试基本方法:15%项目实践、期末考试课程目标4软件开发、测试和维护的能力:25%项目实践、期末考试七、成绩评定(一)评定方式1.总成绩评定总成绩=平时成绩×30%+期末成绩×70%。2.平时成绩评定25
25 序号 实践项目名称 学时 主要实践内容 1 工程师工资管理系统 v1 4 用一维数组实现,并用循环语句完成对工 资的输入、计算、排序和输出等功能。根 据工程师工资进行排序 2 工程师工资管理系统 v2 4 用函数实现项目的各个功能,并用指针实 现函数间数据的传递。 3 工程师工资管理系统 v3 4 定义结构体存储工程师的姓名、年龄、工 资等数据,并定义结构体数组存放所有工 程师的数据。按照结构体的用法重写各个 函数的代码。 4 工程师工资管理系统 v4 4 将工程师数据存储于二进制文件中,运行 程序时将数据从文件读入结构体数组,退 出程序时再将结构体数组中数据保存到 文件中。 六、考核方式 (一)考核方式 课程考核方式分为过程性考核、期末考核。 过程性考核方式(平时成绩)包括课堂表现(30 分)、作业(30 分)、项目 实践(40 分),占比 30%;期末考核采用闭卷考试,占比 70%。 (二)考核方式与课程目标的关系 课程目标 考核内容及所占比例(%) 考核方式 课程目标 1 基本知识和基本算法:30% 课堂表现、期末考试 课程目标 2 程序设计基本方法:30% 作业、期末考试 课程目标 3 程序测试基本方法:15% 项目实践、期末考试 课程目标 4 软件开发、测试和维护的能力:25% 项目实践、期末考试 七、成绩评定 (一)评定方式 1.总成绩评定 总成绩=平时成绩×30%+期末成绩×70%。 2.平时成绩评定
(1)课堂表现占平时成绩的30%,根据学生参与课堂活动情况分五档计分,一档90-100分,二档80-89分,三档70-79分,四档60-69分,五档60分以下。(2)作业占平时成绩的30%,采用百分制计分,所有作业成绩的平均值作为最终作业成绩。(3)项目实践占平时成绩的40%,采用百分制计分,共4个项目,每个项目25分。3.期末成绩评定详见期末试题评分标准。(二)评分标准评分标准序评价90-10080-8970-7960-690-59号项目良中优及格不及格上课能做认真听课,积上课较认真,上课不太认点笔记,互动听课很不认课堂极互动,主动互动较积极,真,有互动但有一定自主真,不互动也1表现讨论,发言积发言次数较不多,很少发性,能够发不发言。极。多。言。言。作业内容完作业内容完作业内容完作业内容完整,独立或合整,独立或合整,独立或合整,独立或全作完成全部作完成作业作业内容不作完成作业部完成作业2作业作业要求。书要求。书写较完整,没有达要求。书写端要求,书写端写端正,对问凌乱,没有对到作业要求。正,问题分析正,没有对问题有详细透问题进行分较全面。题进行分析。析。彻的分析。能够实现项能够正确实能够正确实能够正确实项目目部分功能,不能实现项3现项目所有现项目大部现项目部分实践但功能存在目功能。功能。分功能。功能。缺陷。八,选用教材教材名称编者出版社出版时间备注是否马工程教材北京邮电大学出C语言程序设计否杨路明2021.6版社教程(第5版)九、主要参考书目[1][美]布莱恩·W.克尼汉(BrianW.Kernighan),【美]丹尼斯·M.里奇26
26 (1)课堂表现占平时成绩的 30%,根据学生参与课堂活动情况分五档计 分,一档 90-100 分,二档 80-89 分,三档 70-79 分,四档 60-69 分,五档 60 分以下。 (2)作业占平时成绩的 30%,采用百分制计分,所有作业成绩的平均值 作为最终作业成绩。 (3)项目实践占平时成绩的 40%,采用百分制计分,共 4 个项目,每个 项目 25 分。 3.期末成绩评定 详见期末试题评分标准。 (二)评分标准 序 号 评价 项目 评分标准 90-100 80-89 70-79 60-69 0-59 优 良 中 及格 不及格 1 课堂 表现 认真听课,积 极互动,主动 讨论,发言积 极。 上课较认真, 互动较积极, 发 言 次 数 较 多。 上 课 能 做 一 点笔记,互动 有 一 定 自 主 性 , 能 够 发 言。 上 课 不 太 认 真,有互动但 不多,很少发 言。 听 课 很 不 认 真,不互动也 不发言。 2 作业 作 业 内 容 完 整,独立或合 作 完 成 全 部 作业要求。书 写端正,对问 题 有 详 细 透 彻的分析。 作 业 内 容 完 整,独立或合 作 完 成 作 业 要求。书写端 正,问题分析 较全面。 作 业 内 容 完 整,独立或全 部 完 成 作 业 要求,书写端 正,没有对问 题进行分析。 作 业 内 容 完 整,独立或合 作 完 成 作 业 要求。书写较 凌乱,没有对 问 题 进 行 分 析。 作 业 内 容 不 完整,没有达 到作业要求。 3 项目 实践 能 够 正 确 实 现 项 目 所 有 功能。 能 够 正 确 实 现 项 目 大 部 分功能。 能 够 正 确 实 现 项 目 部 分 功能。 能 够 实 现 项 目部分功能, 但 功 能 存 在 缺陷。 不 能 实 现 项 目功能。 八、选用教材 教材名称 编者 出版社 出版时间 是否马工程教材 备注 C 语言程序设计 教程(第 5 版) 杨路明 北京邮电大学出 版社 2021.6 否 九、主要参考书目 [1] [美]布莱恩·W.克尼汉(Brian W.Kernighan),[美]丹尼斯·M.里奇
(DennisM.Ritchie)编,徐宝文,李志译.C程序设计语言:北京:机械工业出版社,2019[2][美]肯尼斯·里科(KennethReek著,徐波译.C和指针.北京:人民邮电出版社,2020.[3][美]彼得·范德林登(PeterVanDerLinden】著,徐波译.C专家编程.北京:人民邮电出版社,2020十、课程学习建议学生自学参考书目的内容和MOOC平台的教学视频,主动到在线EduCoder实训平台进行实训项目练习。27
27 (Dennis M.Ritchie) 编,徐宝文,李志 译.C 程序设计语言.北京:机械工 业出版社,2019. [2] [美]肯尼斯·里科(Kenneth Reek)著,徐波 译.C 和指针.北京:人 民邮电出版社,2020. [3][美]彼得·范德林登(Peter Van Der Linden) 著,徐波 译.C 专家编 程.北京:人民邮电出版社,2020. 十、课程学习建议 学生自学参考书目的内容和MOOC平台的教学视频,主动到在线EduCoder 实训平台进行实训项目练习