《C语言程序设计》课程教学大纲 英文名称:The C Programming Language 课程号:25102202 一、课程基本情况 (共中:理论学时:32实验学时:16上机学时: 4、适用专业:电气工程及其自动化 5、支撑该专业毕业要求指标点:1-5、5-2 6、先修课程:大学计算机 7、后续课程:单片机原理及应用 8、开课单位:计算机与控制工程学院 二、课程说明 C语言程 十》是面 工程及其自 有必修课。C语言是广泛流行 一种结构化程序 设计 第充 构化 方对术专业摆皮锅股中程铜题进行树步的分折和处理,为李尘以赠的学精子作货是花婴的整 三、课程目标 倍的整梦,器并9开质变程群他绿哥连铁、运行、以与排 熟练掌握使用M 程,能择精结豪季夜配序释韵基本赞业结构化程序位计的基本思想。熟琴软件开发的基本流 要求:1-5 序解决本等州美钢高整亮程续善售是真定的受预棉竖决同的能力,能够运用计算思维C语言程 四、课程的主要内容及基本要求 第一单元C语言程序设计初步 (共4学时,支撑课程目标:1,2) (一)教学内容: 第一节C语音概述 知识点:C语言发展简史,C语言特点,C语言程序结构 第二节算法 知识点:算法的概念,算法的特性,算法的表示 第三节结构化程序设计方法 知识点:自项向下,逐步细化,模块化设计,结构化编码 第四书C语言程序的运行 知识占, soft Visual C+2010集成环境,C语言程序的运行 本单元教 学重点:C语音程序结构,C语言程序的运行方法 本单元教学难点:C语言程序的运行方法 (二)教学基本要求: isu基本知设的赞奏程酱,了解机程序设过言的发展过程。了解C语言的发展历史和特点,了解icr0so 2、能力、技能培养:初步掌握算法 语言程序的结构、然练C语言程序的运行过程。 第二单元数据类型 运算符与表达式 (共8学时,支撑课程目标:1,2) (一)教学内容: 第一节C语言的数据类型 知识点:整型,字符型,浮点型 第二节C语言的基本算术运算符与表达式
《C语言程序设计》课程教学大纲 英文名称:The C Programming Language 课程号:25102202 一、课程基本情况 1、学 分:3 2、学 时:48 (其中:理论学时:32 实验学时:16 上机学时: ) 3、课程类别:通识教育必修课 4、适用专业:电气工程及其自动化 5、支撑该专业毕业要求指标点:1-5、5-2 6、先修课程:大学计算机 7、后续课程:单片机原理及应用 8、开课单位:计算机与控制工程学院 二、课程说明 《C语言程序设计》是面向电气工程及其自动化专业开设的一门通识教育必修课。C语言是广泛流行的一种结构化程序 设计语言,该语言能够充分体现计算机结构化程序设计思想,适合训练学生的计算思维能力,对培养学生利用计算机解决本 专业相关问题的思维能力和创新能力具有重要的作用。通过本课程的学习,使学生能够利用结构程序设计思想和计算思维能 力对本专业涉及的一般工程问题进行初步的分析和处理,为学生以后的学习和工作奠定必要的基础。 三、课程目标 1、熟练掌握使用Microsoft Visual C++ 2010的集成开发环境进行C语言程序的编辑、编译、连接、运行、测试与排 错的基本技能,提高实践操作能力,能够利用开发工具解决实际工程问题。(支撑毕业要求:1-5) 2、培养学生掌握C 语言程序设计的基础知识及基本技能,树立结构化程序设计的基本思想,熟悉软件开发的基本流 程,能够将问题抽象为数学模型,并用程序代码实现。(支撑毕业要求:1-5) 3、使学生具备初步的高级语言程序设计能力,具有一定的分析问题和解决问题的能力,能够运用计算思维和C语言程 序解决本专业的相关的基础问题,为后续课程学习打好基础。(支撑毕业要求:5-2) 四、课程的主要内容及基本要求 第一单元 C语言程序设计初步 (共4学时,支撑课程目标:1,2) (一)教学内容: 第一节 C语言概述 知识点:C语言发展简史,C语言特点,C语言程序结构 第二节 算法 知识点:算法的概念,算法的特性,算法的表示 第三节 结构化程序设计方法 知识点:自顶向下,逐步细化,模块化设计,结构化编码 第四节 C语言程序的运行 知识点:Microsoft Visual C++ 2010集成环境,C语言程序的运行 本单元教学重点:C语言程序结构,C语言程序的运行方法 本单元教学难点:C语言程序的运行方法 (二)教学基本要求: 1、基本知识、基本理论:了解计算机程序设计语言的发展过程,了解C语言的发展历史和特点,了解Microsoft Visual C++ 2010的安装与使用,理解算法的概念及算法的特性。 2、能力、技能培养:初步掌握算法的表示方法,掌握C语言程序的结构,熟练掌握C语言程序的运行过程。 第二单元 数据类型、运算符与表达式 (共8学时,支撑课程目标:1,2) (一)教学内容: 第一节 C语言的数据类型 知识点:整型,字符型,浮点型 第二节 C语言的基本算术运算符与表达式
第三节常量和变量 知识点:变量,常量,符号常量 第四节数据输入与输出 知识点:printf(),scanf(O,getchar(),putchar() 本单元教学重点:数据类型,变量,运算符,表达式,数据输入与输出 本单元教学难点:运算符,表达式,数据输入与输出 (一救学其木要 getchar(),putchar()的格式。 入输品方熊办、技能培养:拿握常量的使用,熟练举发变量的使用,拿握各种表达式的书写与求值,掌提基本数据类型的输 第三单元控制结构 (共12学时,支撑课程目标:2,3) (一)教学内容 第一节顺序结构程序设计 知识点:表达式语句,空语句,复合语句 第一节选择结构程序设计 知识点:if语句,switchi语句,breaki语句,if语句嵌套 第三节循环结构程序设计 知识点:whilei语句,d whilei语句,for语句,breaki语句,continuei语句,循环嵌套 选择结构程序设计, 择结构嵌套 教学基本要求 c0mt子能高在营能季中统程造择结构程序设计的基本方法。熟练家程循环结构程序设计的基本方法。零提r©k和 第四单元数组 (共10学时,支撑课程目标:2,3) (一)教学内容: 第一节一维数组 知识点:数组的概念,一维数组的定义,一维数组元素的引用,一维数组的初始化,排序算法 第一节一维数组 知识点:一维数组的定义,一维数组元素的引用。二维数组元素的初始化 第三节字符数组和字符串 理点 :字符数组的定义,字符数组的初始化,字符数组的引用,字符串与字符数组,字符数组的输入输出,字符串 本单元教学重点:一维数组,字符数组 本单元教学难点:排序算法 (一)教学基本要求 米斋消导粉净莫薇尚看阳准数组选行胖位计的方法。热炼幸韩序宝法。幸据字符数组处理字符丰的方法 第五单元函数 (共8学时,支撑课程目标:2,3) (一)教学内容: 第一节模块化程序设计思想及函数的定义 知识点:模块化程序设计的概念,C语言函数分类,函数的定义 第二节函数的调用
知识点:基本算术运算符,强制类型转换运算符,自增与自减运算符,赋值运算符,逗号运算符,关系运算符,逻辑 运算符,条件运算符、按位与运算符,按位或运算符,异或运算符,取反运算符,左移运算符,右移运算符,运算符的优先 级 第三节 常量和变量 知识点:变量,常量,符号常量 第四节 数据输入与输出 知识点:printf(),scanf(),getchar(),putchar() 本单元教学重点:数据类型,变量,运算符,表达式,数据输入与输出 本单元教学难点:运算符,表达式,数据输入与输出 (二)教学基本要求: 1、基本知识、基本理论:掌握C语言的基本数据类型,掌握运算符的优先级及结合性的概念、运算符的使用及对应的 表达式,掌握常量及符号常量的定义,掌握变量概念、变量声明方式及变量的初始化,熟练掌握printf(),scanf(), getchar(),putchar()的格式。 2、能力、技能培养:掌握常量的使用,熟练掌握变量的使用,掌握各种表达式的书写与求值,掌握基本数据类型的输 入输出方法。 第三单元 控制结构 (共12学时,支撑课程目标:2,3) (一)教学内容: 第一节 顺序结构程序设计 知识点:表达式语句,空语句,复合语句 第二节 选择结构程序设计 知识点:if语句,switch语句,break语句,if语句嵌套 第三节 循环结构程序设计 知识点:while语句,do.while语句,for语句,break语句,continue语句,循环嵌套 本单元教学重点:选择结构程序设计,循环结构程序设计 本单元教学难点:选择结构嵌套,循环结构嵌套 (二)教学基本要求: 1、基本知识、基本理论:理解结构化程序设计的三种流程控制结构,掌握常用的顺序结构语句的分类、书写格式,掌 握if和switch语句的语法规则,掌握while、do.while、for语句的语法规则,掌握break和continue语句的功能,理解 循环嵌套的作用。 2、能力、技能培养:熟练掌握选择结构程序设计的基本方法,熟练掌握循环结构程序设计的基本方法,掌握break和 continue语句在循环嵌套中的功能。 第四单元 数组 (共10学时,支撑课程目标:2,3) (一)教学内容: 第一节 一维数组 知识点:数组的概念,一维数组的定义,一维数组元素的引用,一维数组的初始化,排序算法 第二节 二维数组 知识点:二维数组的定义,二维数组元素的引用,二维数组元素的初始化 第三节 字符数组和字符串 知识点:字符数组的定义,字符数组的初始化,字符数组的引用,字符串与字符数组,字符数组的输入输出,字符串 处理函数 本单元教学重点:一维数组,字符数组 本单元教学难点:排序算法 (二)教学基本要求: 1、基本知识、基本理论:理解数组的概念,熟练掌握一维数组的定义及初始化、数组元素的访问,了解二维数组的定 义、初始化及数组元素的访问,掌握字符数组的定义及初始化,了解字符串操作的常用库函数。 2、能力、技能培养:掌握利用一维数组进行程序设计的方法,熟练掌握排序算法,掌握字符数组处理字符串的方法, 掌握常用字符串操作函数的使用。 第五单元 函数 (共8学时,支撑课程目标:2,3) (一)教学内容: 第一节 模块化程序设计思想及函数的定义 知识点:模块化程序设计的概念,C语言函数分类,函数的定义 第二节 函数的调用
知识点:函数调用,函数声明,函数参数传递 第三节函数的撒套与递归调用 知识点:函数嵌套调用,函数递归调用 第四节变量的分类与存储类别 知识点:全局变量,局部变量,静态存储,动态存储 第五节预处理命令 知识点:宏定义,文件包含 本单元教学重点:函数的调用,函数参数传递 本单元教学 函数参数传递,函数的递归调用 教学基本要求 auto、static和extern,掌振宏定义命令,了解带参数的宏定义,理解”文件包含“处理的含义: 数帐金与能是的搞旗养·家养茶视型终尖现整林程社鹤裤的养费丽数调用时实参和形参的传递方式。初步幸提西 第六单元指针 (共2学时,支撑课程目标:2,3) (一)教学内容 第一节指针概述 知识点:指针概念,指针变量的定义,指针变量的使用 第二节指针与数组 知识点:指针与一维数组,指针与字符串 本单元教学重点:指针的基本操作 指针与数组 教学基本 访本知识、基本理论:理解指针的概念,程通过指针对变量间接访。掌提使用指针来操作数组,懂得运用指针 系能整费秀整量的定义和引用方法。用指针对变量行作。指布针与维数组的大 持能培 第七单元结构体 (共2学时,支撑课程目标:2,3) (一)教学内容 第一节结构体类型 知识点:结构体类型的定义,结构体变量的定义、引用及初始化 知识点: 结构体数组的定义、初始化及访问 本单元教学重点:结构体变量 结构体数组 本单元敦学难点:结构体数组 (二)教学基本要求: 1、基本知识、基本理论:掌握结构体类型的定义及结构体变量的引用,掌握结构体数组的定义、初始化及引用。 2、能力、技能培养:掌握利用结构体类型进行程序设计的方法,初步掌握利用结构体数组进行程序设计的方法。 第八单元文件 (共2学时,支撑课程目标:2,3) (一)教学内容 知识点:文本文件 二进制文件,缓冲文件系统 第二节文件的打开与关闭 知识点:fopen0,fclose0 第三节文件的顺序读写 知i识点:fputc0,fgetc(,fread0,fwrite0,fprintf(,fscanf(),fputs(),fgets() 本单元教学重点:文件的基本读/写操作 本单元教学难点:文件的基本读/写操作 (二)教学基本要求
知识点:函数调用,函数声明,函数参数传递 第三节 函数的嵌套与递归调用 知识点:函数嵌套调用,函数递归调用 第四节 变量的分类与存储类别 知识点:全局变量,局部变量,静态存储,动态存储 第五节 预处理命令 知识点:宏定义,文件包含 本单元教学重点:函数的调用,函数参数传递 本单元教学难点:函数参数传递,函数的递归调用 (二)教学基本要求: 1、基本知识、基本理论:掌握函数的定义及调用,理解函数声明的作用,掌握函数参数概念及传递规则,理解函数嵌 套与递归调用的概念,理解动态变量和静态变量,外部变量和局部变量的区别,了解变量的各种存储属性register、 auto、static和extern,掌握宏定义命令,了解带参数的宏定义,理解"文件包含"处理的含义。 2、能力、技能培养:掌握利用函数实现模块化程序设计的方法,掌握函数调用时实参和形参的传递方式,初步掌握函 数嵌套与递归调用方法,掌握宏定义命令和"文件包含"命令在程序中的作用。 第六单元 指针 (共2学时,支撑课程目标:2,3) (一)教学内容: 第一节 指针概述 知识点:指针概念,指针变量的定义,指针变量的使用 第二节 指针与数组 知识点:指针与一维数组,指针与字符串 本单元教学重点:指针的基本操作 本单元教学难点:指针与数组 (二)教学基本要求: 1、基本知识、基本理论:理解指针的概念,掌握通过指针对变量间接访问,掌握使用指针来操作数组,懂得运用指针 访问字符串。 2、能力、技能培养:掌握指针类型变量的定义和引用方法,掌握用指针对变量进行操作,掌握指针与一维数组的关 系,初步掌握使用指针进行程序设计的方法。 第七单元 结构体 (共2学时,支撑课程目标:2,3) (一)教学内容: 第一节 结构体类型 知识点:结构体类型的定义,结构体变量的定义、引用及初始化 第二节 结构体数组 知识点:结构体数组的定义、初始化及访问 本单元教学重点:结构体变量,结构体数组 本单元教学难点:结构体数组 (二)教学基本要求: 1、基本知识、基本理论:掌握结构体类型的定义及结构体变量的引用,掌握结构体数组的定义、初始化及引用。 2、能力、技能培养:掌握利用结构体类型进行程序设计的方法,初步掌握利用结构体数组进行程序设计的方法。 第八单元 文件 (共2学时,支撑课程目标:2,3) (一)教学内容: 第一节 文件概述 知识点:文本文件,二进制文件,缓冲文件系统 第二节 文件的打开与关闭 知识点:fopen(),fclose() 第三节 文件的顺序读写 知识点:fputc(),fgetc(),fread(),fwrite(),fprintf(),fscanf(),fputs(),fgets() 本单元教学重点:文件的基本读/写操作 本单元教学难点:文件的基本读/写操作 (二)教学基本要求:
件的基李想器基本理论:了解C语言的输入与输出念,星解文件的本概念:家文件的打开和关。了解顺序文 2、能力、技能培养:掌握文件的定义、打开、关闭方法,了解顺序文件的读写函数的使用方法。 五、课内实验(上机)环节及要求 序号 实验项目名称 内容提要 时分想 避 爱喜赛境 2 1 语言应用程序, 验证型 必做 课程目标】 顺序结构 2 1 验证型 必做 课程目标2 格式实不同数据类型 结果验证逻辑运算表达式的 利用if语句实现分支结 选择结构 2 1 设 必做 程用标 分支语句实现多 循环结构 句实现计数型 4 1 设 必做 速程月标 环铁号尿种句的循 利用一推数组编写排序 数组 利用二维数组实现二维 1 设 必做 课程目标 2,3 符数组编写字符 编程实现函数的定义及 函数 综合型 必做 课程目标 2,3 递和地址传递。 六、学时分配 知识单元 讲课 实验 上机 合计 第一单元C语言程序设计初步 第二单元数据类型、运算符与表达式 第三单元控制结构 第四单元数组 第五单元函数 第六单元指针 第七单元结构体 第八单元文件
1、基本知识、基本理论:了解C语言的输入与输出概念,理解文件的基本概念;掌握文件的打开和关闭,了解顺序文 件的基本读/写函数。 2、能力、技能培养:掌握文件的定义、打开、关闭方法,了解顺序文件的读写函数的使用方法。 五、课内实验(上机)环节及要求 序号 实验项目名称 内容提要 学时分 配 每组 人数 实验 类型 实验要 求 支撑课程 目标 1 C语言集成环境 及程序初步 1、使用Microsoft Visual C++ 2010调试运行简单的C 语言应用程序。 2 1 验证型 必做 课程目标1 2 顺序结构 1.验证C语言中各种数据类 型的取值范围及各种类型变 量的定义和使用方法; 2 .验证各种运算符的使 用; 3.编程实现不同数据类型 格式的输入输出。 2 1 验证型 必做 课程目标2 3 选择结构 1.验证逻辑运算表达式的 结果; 2.利用 if语句实现分支结 构程序; 3. 利用if嵌套语句实现多 分支结构程序; 4.利用switch语句实现多 分支结构程序。 2 1 设计研 究型 必做 课程目标 2,3 4 循环结构 1.利用while、do while 语句实现条件型循环结构程 序; 2.利用for语句实现计数型 循环结构程序; 3.利用以上三种语句的循 环嵌套编写程序。 4 1 设计研 究型 必做 课程目标 2,3 5 数组 1.利用一维数组编写排序 程序; 2.利用二维数组实现二维 数据表的运算及输出; 3.利用字符数组编写字符 串的应用程序。 4 1 设计研 究型 必做 课程目标 2,3 6 函数 1.编程实现函数的定义及 调用; 2.用户输入任意两个操作 数,实现实参与形参间值传 递和地址传递。 2 1 综合型 必做 课程目标 2,3 六、学时分配 知识单元 讲课 实验 上机 合计 第一单元 C语言程序设计初步 2 2 4 第二单元 数据类型、运算符与表达式 6 2 8 第三单元 控制结构 6 6 12 第四单元 数组 6 4 10 第五单元 函数 6 2 8 第六单元 指针 2 0 2 第七单元 结构体 2 0 2 第八单元 文件 2 0 2
合计 32 16 七、教学方法与手段 为课程, 求教师理论教学 展开: 趣 果。3、 尝试翻转课教学方 决学生学习能力的差异。 八、思想政治教育融入点的描述 额的 控制语句 计自由度救大程序 算法 样性、抽象性 逻辑性都较强 初学 很大困难 所 学习过程 和能力.为外、在C学考核过程中采用全方位项控的诚信考场进程北考神培学生目百件的诚 九、考核方法 1、考核方式:考试 2、期末考核形式:全校统考闭卷 3、成绩评价细则 评价项目构成 (合0分) 各项目评价办法说明 评价课程目标 ()主要考核学生对每章节知识点的学习、 平时成绩 10 程 分9 课程实验 向写、 课程目标3 第一姿被程化 10 成 第一被程化 10 考运算箱和表式种控制结构 队入分为100分算,按比例 课程目标 期末考核 50 十、建议选用教材和主要参考资料 1、建议选用教材: 《C语言程序设计教程一面向计算思维和问题求解》,陈立湖,高等教育出版社,2016年,第一版
合计 32 16 48 七、教学方法与手段 本课程是一门实践性很强的课程,要求教师理论教学和实验教学紧密结合,要借助现代教育技术手段,探索启发式、 案例式、讨论式等教学方法,重点从三个方面展开:1、建设立体化课程资源,促进学生个性化学习。2、注重过程化考核, 多种考核方式并举,有效地激发学生的学习兴趣,提高学习效果。3、注重计算思维能力培养,尝试翻转课堂教学方法,解 决学生学习能力的差异。 八、思想政治教育融入点的描述 本课程在教学过程中,全面贯彻党的教育方针,奉行思想政治坚定,积极践行社会主义核心价值观,树立"以德树 人"的教育理念。C语言的授课对象是大一新生,这时的学生正处在塑造健康人格的关键时期。在C语言教学中挖掘思政元 素,使之与传授知识过程有机的融合,以实现"知识传授、能力提升和价值引领"的教学效果。C语言是一门简洁、紧凑、灵 活的计算机语言,具有丰富的运算符和数据结构,语法限制不太严格、具有结构化的控制语句,程序是由函数构成,程序设 计自由度较大,程序算法多样性、抽象性、逻辑性都较强,给初学者带来很大困难。所以,在学习过程中,要培养学生抽象 严谨的逻辑思维能力、灵活创新勇于面对困难、积极动脑思考问题的品质、团结合作的团队精神、把握全局的工程设计思想 和能力。另外,在C语言教学考核过程中,采用全方位视频监控的诚信考场进行过程化考核,培养学生自觉自律的诚信品 质。 九、考核方法 1、考核方式:考试 2、期末考核形式:全校统考闭卷 3、成绩评价细则: 评价项目构成 分值 (合计100分) 各项目评价办法说明 评价课程目标 平 时 过 程 考 核 平时成绩 10 (1) 主要考核学生对每章节知识点的学习、 理解和掌握程度。 (2) 根据课前学习、课堂学习和课后作业完 成情况,以满分为100分计算,按比例计入课 程总评成绩。 课程目标1 课程目标2 课程实验 20 (1) 主 要 考 核 学 生 熟 练 使 用 Microsoft Visual C++ 2010进行程序的编写、调试和 运行,以及分析问题和解决问题的能力。 (2) 根据实验的课前预习情况和实验完成质 量以及报告质量评分,以满分为100分计算, 按比例计入课程总评成绩。 课程目标1 课程目标2 课程目标3 第一次过程化 考核 10 (1) 考核C语言程序设计初步、数据类型、运 算符和表达式、三种控制结构等知识的理解 以及掌握程度。 (2) 考核成绩,以满分为100分计算,按比例 计入课程总评成绩。 课程目标1 课程目标2 第二次过程化 考核 10 (1) 考核运算符和表达式、三种控制结构、 数组等知识的理解以及掌握程度。 (2) 考核成绩,以满分为100分计算,按比例 计入课程总评成绩。 课程目标1 课程目标2 课程目标3 期末考核 50 (1) 主要考核C语言的基本操作、运算符和表 达式、程序的控制结构、数组、函数、指 针、结构体、共用体、文件等的基础知识的 理解和掌握情况。 (2) 考试题型为选择题、填空题、判断题、 程序填空题、程序改错题和程序设计题。 (3) 卷面满分成绩100分,按比例计入课程总 评成绩。 课程目标1 课程目标2 课程目标3 十、建议选用教材和主要参考资料 1、建议选用教材: 《C语言程序设计教程—面向计算思维和问题求解》,陈立潮,高等教育出版社,2016年,第一版