根据规范今日网校,遵循规范,采用标准C进行编码; 测试、发布和记录代码。 掌握(了解)使用GCC工具链进行单(多)文件C程序的开发和维护等。课程的主要内容,课程内容的深度、广度、重点和难点。 以下是为实现教学目标应掌握或理解的内容:程序设计常识、自由软件运动和GNU/Linux UNIX以及C语言的历史。 C语言的优缺点,C语言学家集群介绍了其他语言、各种编程范式,并介绍了C语言的基本概念。 C语言程序的基本结构标识符和注释宏: #include、#define、#ifdef、#ifndef 常量整数、浮点数、八进制数、十六进制数字字符和字符串的常用转义字符 变量声明和作用域 * 存储限制: extern、auto、register、static * 类型限制:const、volatile、restrict 数据类型 基本类型:int、long、char、short、float、double、pointer、Boolean 数据复合:array、struct、union、enum 类型定义: typedef 数据抽象:*class (C++) 表达式运算符算术、赋值、关系、自增/自减、逻辑、括号、函数调用、类型转换条件、逗号、数组下标、地址获取、指针、字段访问、sizeof 、位运算表达式求值语句:选择:if-else、switch-case-default语句循环:while、do-while、for跳转:return、break、 continue、goto标准库stdio.h:printf、scanfstdbool.h*math .h:sqrt、pow、sin、cos、fabs、round、retainer*stdlib.h:abs、labs、rand、assert、exit、malloc、free、system、getenv、atoi、atof、qsort、bsearchstring.h:strlen 、strcmp、puts、不安全的strcpy、strcat、getsvector、字符串运算符重载对象、类、模板、异常编程环境使用GCC编译单文件C语言源程序使用EclipseCDTGCC编译多文件项目*使用通用文本编辑器GNUEmacs *源代码的管理与维护 程序设计方法 编码风格、标准递归、迭代、模块化 *信息隐藏 *数据抽象 *面向对象 *软件工程项目分析 结对编程(注:以上带*的项目及其子项是可选的。
)要求学生了解常识和概念内容,记忆常用的标准库函数,掌握标准C语法,基本掌握编程方法。 困难在于如何将日常松散的思维过程转化为严谨的计算机程序。 教学时应详细描述这个转换过程; 对于刚接触编程的同学来说,不要跳过,直接给出计算机程序。 上述教学内容列表是逻辑分类而非教学顺序。 教学内容的组织顺序可根据“课时分配”的要求单独制定。 课程的主要实践教学部分包括计算机实验和课外作业。 计算机实验主要用于验证所学的概念、语法和知识; 根据必要的内容安排实验项目。 每个实验可以包含多个项目,每个项目只能围绕一个知识点,并写出清晰的操作步骤,方便学生通过模仿学习或实验操作来理解。 课外作业需要学习计算机实验后独立思考,并在规定的时限内按照软件工程规范和编码标准完成综合题。 本课程的实验要求和内容详见《实验大纲》; 课外作业的要求和参考问题详见《课外作业》。 课程的主要教学方式和方法在教学方法上考虑:强调软件工程和现代编程理念,在知识阐述中突出业界最佳实践、实践经验和编程风格,使学生能够合理运用所学知识,编写出可读、可靠、可维护的代码。 C语言应该放在实际开发的上下文中,解释何时以及如何正确使用每种语言特性。
C语言的教学应该由易到难,循序渐进,螺旋式进行。 示例和练习应该贴近实践。 在教学方法上:教材要充分调动学生的感官系统。 为了帮助提高学生的成就感和学习兴趣,提倡寓教于乐(Learning Doing); 建议引入仿真机器人编程平台。 为了激发学生的学习主动性和积极性,可以对具有积极学习态度的学生进行奖励。 每堂课应对新引入的专业词汇进行中英对比和解释。 课程的考核方式和方法。 课程总成绩评价中,平时成绩占60%,期末考试成绩占40%。 分别说明如下: 考核项目 考核内容 最高分百分比 每日成绩 课堂出勤情况 课堂出勤情况。 1515% 平时表现的学习态度和奖励状况。 计算机实验已完成55%。 1515% 课外作业 课外作业的完成质量。 2525%期末考试标准C、GCC工具链、编程方法、编码标准。 10040% 本课程考核要求及方式详见《考核大纲》。 课程学分分配数量内容理论学分实践学分C语言概述。 22 种数据类型、char、scanf、条件和循环、gcc 和 gdb。 22 函数和作用域、编程、C 预处理器和头文件。 22指针、数组和指针、多源代码程序、makefile。 22指针和函数参数、输入和输出、重定向和管道。 22字符串,指针字符串,string.h,命令行参数。
22malloc,内存管理,多维数组。 22 结构体、类型定义、联合、枚举; 链接列表。 22 指针、函数指针的高级应用以及编写大型程序。 22 低级编程、位操作。 面向对象,C++ 概述 22C++ 数组、指针和字符串。 使用 C++ 类进行数据抽象。 C++ 中的运算符重载。 友元函数和类。 22C++抽象数据类型在C++中实现链表。 22 模板:函数模板和类模板。 异常处理、继承和派生、C++ 标准库。 22 期中复习、测验、评估 42 软件工程 24 期末复习、问答 44 总计 = SUM(ABOVE) 36 = SUM(ABOVE) 36 C++ 部分可以根据实际情况安排,这些课时允许分配给其他部分。 另外,上表仅为理论课时和实践课时的分配,并非教学进度。 实际课时分配和日程安排应根据学生资质、教材选择、教学方法、教师风格等实际情况另行制定,但至少应涵盖前10项。 本课程使用的教材和参考书为 ISBN 978-7-115-16707-1,《ModernMethods ofProgramming in C Language》,参考书为 ISBN 978-7-111-12806-9,《C 语言程序设计》 》 ISBN 978-7-115-17179-5,《C 陷阱与陷阱》 ISBN 978-7-115-15973-1,《C 语言难题》 ISBN 978-7-115-16188-8,《C 语言参考手册》 (英文影印版)(第5版)》网络资源 本课程其他说明 教学平台应优先使用跨平台的免费软件或自由软件,帮助培养学生的版权意识和协作分享精神;相关教学材料还应以开放文档格式提供,并且不应依赖专有商业软件。