《C语言程序设计》课程教学大纲 英文名称:The C Programming Language 课程号:25102102 一、课程基本情况 (其中:理论学时:32实验学时:32上机学时: 3、课程类别:通识教育必修课 4、适用专业:电子信息工程 5、支撑该专业毕业要求指标点:1-2、5-1 6、先修课程:大学计算机 7、后续课程:数据结构与算法、计算机通信网络 8、开课单位:计算机与控制工程学院 二、课程说明 +》是面向电子信息工程专业开设的 现计 光程序设计 三、课程目标 倍的梦蜀器,器并9开变程胖攀手连技。运标、测与样 熟练掌握使用M 昆金精霜告表孕配异曾壳爱枝器经菜构产度计的本思品,品怎软作开发的整本货 序解决本等丹关钢的旁强豪程学计熊基:瑞具有支塞的金风圈决问愿的能力,能够运用计算思推和谱音程 四、课程的主要内容及基本要求 第一单元C语言程序设计初步 (共4学时,支撑课程目标:1,2) (一)教学内容 第一节C语音概述 知识点:C语言发展简史,C语言特点,C语言程序结构 第二节算法 知识点:算法的概念,算法的特性,算法的表示 第三节结构化程序设计方法 知识点:自项向下,逐步细化,模块化设计,结构化编码 第四书C语言程序的运行 知识占,M 0 soft Visual C+2010集成环境,C语言程序的运行 本单元教学 重点:C语音程序结构,C语言程序的运行方法 本单元教学难点:C语言程序的运行方法 (二)教学基本要求: isu基本知设的赞奏程酱,了解机程序设过言的发展过程。了解C语言的发展历史和特点,了解iCr0so1 2、能力、技能培养:初步掌握算 的 语言程序的结构、然练C语言程序的运行过程。 二单元数据类型 运算符与表达式 (共7学时,支撑课程目标:1,2) (一)教学内容: 第一节C语言的数据类型 知识点:整型,字符型,浮点型 第二节C语言的基本算术运算符与表达式
《C语言程序设计》课程教学大纲 英文名称:The C Programming Language 课程号:25102102 一、课程基本情况 1、学 分:4 2、学 时:64 (其中:理论学时:32 实验学时:32 上机学时: ) 3、课程类别:通识教育必修课 4、适用专业:电子信息工程 5、支撑该专业毕业要求指标点:1-2、5-1 6、先修课程:大学计算机 7、后续课程:数据结构与算法、计算机通信网络 8、开课单位:计算机与控制工程学院 二、课程说明 《C语言程序设计》是面向电子信息工程专业开设的一门通识教育必修课。C语言是广泛流行的一种结构化程序设计语 言,该语言能够充分体现计算机结构化程序设计思想,适合训练学生的计算思维能力,对培养学生利用计算机解决本专业相 关问题的思维能力和创新能力具有重要的作用。通过本课程的学习,使学生能够利用结构程序设计思想和计算思维能力对本 专业涉及的一般工程问题进行初步的分析和处理,为学生以后的学习和工作奠定必要的基础。 三、课程目标 1、熟练掌握使用Microsoft Visual C++ 2010的集成开发环境进行C语言程序的编辑、编译、连接、运行、测试与排 错的基本技能,提高实践操作能力,能够利用开发工具解决实际工程问题。(支撑毕业要求:1-2) 2、培养学生掌握C 语言程序设计的基础知识及基本技能,树立结构化程序设计的基本思想,熟悉软件开发的基本流 程,能够将问题抽象为数学模型,并用程序代码实现。(支撑毕业要求:5-1) 3、使学生具备初步的高级语言程序设计能力,具有一定的分析问题和解决问题的能力,能够运用计算思维和C语言程 序解决本专业的相关问题,为后续课程学习打好基础。(支撑毕业要求:5-1) 四、课程的主要内容及基本要求 第一单元 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语言程序的运行过程。 第二单元 数据类型、运算符与表达式 (共7学时,支撑课程目标:1,2) (一)教学内容: 第一节 C语言的数据类型 知识点:整型,字符型,浮点型 第二节 C语言的基本算术运算符与表达式
第三节常量和变量 知识点:变量,常量,符号常量 第四节数据输入与输出 知识点:printf(),scanf(O,getchar(),putchar() 本单元教学重点:数据类型,变量,运算符,表达式,数据输入与输出 本单元教学难点:运算符,表达式,数据输入与输出 (二)教学基本要求 入输品方熊力、技能培养:攀指常量的使用,。熟练学据变量的使用,家握各种表达式的书写与求值。家提基本数据类型的输 第三单元控制结构 (共15学时,支撑课程目标:2,3) (一)教学内容 第一节顺序结构程序设计 知识点:表达式语句,空语句,复合语句 第一节选择结构程序设计 知识点:if语句,switchi语句,breaki语句,if语句嵌套 第三节循环结构程序设计 知识点:whi1e语句,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、能力、技能培养:掌握常量的使用,熟练掌握变量的使用,掌握各种表达式的书写与求值,掌握基本数据类型的输 入输出方法。 第三单元 控制结构 (共15学时,支撑课程目标: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,掌振宏定义命令,了解带参数的宏定义,理解”文件包含“处理的含义: 数长金与是搞费旗养·家素秀视型高终现经松程移社的裤的养损丽数阔用时实参和形参的传递方式。初步幸提西 第六单元指针 (共6学时,支撑课程目标:2,3) (一)教学内容 第一节指针概述 知识点:指针概念,指针变量的定义,指针变量的使用 第二节指针与数组 知识点:指针与一维数组、指针与二维数组、指针与字符串 本单元教学重点:指针的基本操作 指针与 教学基才 访禁本知识、基本理论:理解指针的概念,程通过指针对变量间接访。掌提使用指针来操作数组,懂得运用指针 掌握指针类型变量的定义和引用方法,掌握用指针对变量进行操作,掌握指针与一维数组、字符 第七单元结构体与共用体 (共8学时,支撑课程目标:2,3) (一)教学内容 第一节结构体类型 知识点:结构体类型的定义,结构体变量的定义、引用及初始化 知识点:结构体数组的定义、初始化及访问 第三节指向结构体类型数据的指针 知识点:指向结构体变量的指针,指向结构体数组的指针 第四节共用体类型 知识点:共用体类型的定义,共用体变量的定义、引用及初始化 第五节单向萨 知识点:链表,处理动态链表的常用函数,单向链表的建立、遍历、删除、插入等操作 第六节使用 typedef定义类型 ypedef声明类型 :结构体变量 结构体数组 本单元教学难点 结构体数组单向链表 (二)教学基本要求: 为使用方法。 第八单元文件 (共6学时,支撑课程目标:2,3)
知识点:函数调用,函数声明,函数参数传递 第三节 函数的嵌套与递归调用 知识点:函数嵌套调用,函数递归调用 第四节 变量的分类与存储类别 知识点:全局变量,局部变量,静态存储,动态存储 第五节 预处理命令 知识点:宏定义,文件包含 本单元教学重点:函数的调用,函数参数传递 本单元教学难点:函数参数传递,函数的递归调用 (二)教学基本要求: 1、基本知识、基本理论:掌握函数的定义及调用,理解函数声明的作用,掌握函数参数概念及传递规则,理解函数嵌 套与递归调用的概念,理解动态变量和静态变量,外部变量和局部变量的区别,了解变量的各种存储属性register、 auto、static和extern,掌握宏定义命令,了解带参数的宏定义,理解"文件包含"处理的含义。 2、能力、技能培养:掌握利用函数实现模块化程序设计的方法,掌握函数调用时实参和形参的传递方式,初步掌握函 数嵌套与递归调用方法,掌握宏定义命令和"文件包含"命令在程序中的作用。 第六单元 指针 (共6学时,支撑课程目标:2,3) (一)教学内容: 第一节 指针概述 知识点:指针概念,指针变量的定义,指针变量的使用 第二节 指针与数组 知识点:指针与一维数组、指针与二维数组、指针与字符串 本单元教学重点:指针的基本操作 本单元教学难点:指针与二维数组 (二)教学基本要求: 1、基本知识、基本理论:理解指针的概念,掌握通过指针对变量间接访问,掌握使用指针来操作数组,懂得运用指针 访问字符串。 2、能力、技能培养:掌握指针类型变量的定义和引用方法,掌握用指针对变量进行操作,掌握指针与一维数组、字符 数组的关系,初步掌握使用指针进行程序设计的方法。 第七单元 结构体与共用体 (共8学时,支撑课程目标:2,3) (一)教学内容: 第一节 结构体类型 知识点:结构体类型的定义,结构体变量的定义、引用及初始化 第二节 结构体数组 知识点:结构体数组的定义、初始化及访问 第三节 指向结构体类型数据的指针 知识点:指向结构体变量的指针,指向结构体数组的指针 第四节 共用体类型 知识点:共用体类型的定义,共用体变量的定义、引用及初始化 第五节 单向链表 知识点:链表,处理动态链表的常用函数,单向链表的建立、遍历、删除、插入等操作 第六节 使用typedef定义类型 知识点:使用typedef声明类型 本单元教学重点:结构体变量,结构体数组 本单元教学难点:结构体数组,单向链表 (二)教学基本要求: 1、基本知识、基本理论:掌握结构体类型的定义及结构体变量的引用,掌握结构体数组的定义、初始化及引用,掌握 指向结构体变量的指针定义,理解指向结构体数组指针的作用,掌握动态数据结构和静态数据结构的区别,理解链表作用, 了解单向链表的基本操作方式,了解共用体的概念,了解 typedef定义类型的格式。 2、能力、技能培养:掌握利用结构体类型进行程序设计的方法,初步掌握利用结构体数组进行程序设计的方法,初步 掌握单向链表的建立、遍历、插入和删除等操作,了解共用体的使用方法。 第八单元 文件 (共6学时,支撑课程目标:2,3)
(一)教学内容 第一节文件概述 知识点:文本文件, 二进制文件,缓冲文件系统 第二节文件的打开与关闭 知识点:fopen0,felose0 第二节文件的顶字读写 知i识点:fpute(),fgete(),fread(),fwrite0,fprintf(,fscanf(),fputs0,fgets0 第四节文件的定位与随机读写 知识占 本单元教学重 文件的基本读/ 写提作 本单元教学难点: 文件的基本读/写操作 (二)教学基本要 变量的定麦本架文弄异买分理的警瑟解文件的件的用:文件指针 机访方、技能培养 掌握文件的定义、打开、关闭方法, 掌握文件的各种读写函数的使用方法,掌握文件的定位和随 五、课内实验(上机)环节及要求 序号 实验项目名称 内容提要 煲毁 实静 实浆要支增送 1 验证型 必做 课程目标 语言应用程序。 顺序结构 量的各种运算符的使 3 1 验证型 必做 课程目标2 赛不同数据类型 站果验证逻辑运算表达式的 利用1f语句实现分支结 选择结构 利用if嵌套语句实现多 1 设社研 必做 程具标 分支 用 Ch语句实现多 分支结构程序。 循环结构 利用for语句实现计数型 1 必做 三种语句的 利用一维数组编写排序 据利用二维数组实现二维 数组 利用字符数组编写字符 1 设对 必做 利用字符操作函数编写 程序 函数 编程实现函数的定义及 4 综合型 必做 程标
(一)教学内容: 第一节 文件概述 知识点:文本文件,二进制文件,缓冲文件系统 第二节 文件的打开与关闭 知识点:fopen(),fclose() 第三节 文件的顺序读写 知识点:fputc(),fgetc(),fread(),fwrite(),fprintf(),fscanf(),fputs(),fgets() 第四节 文件的定位与随机读写 知识点:rewind(),fseek(),ftell() 本单元教学重点:文件的基本读/写操作 本单元教学难点:文件的基本读/写操作 (二)教学基本要求: 1、基本知识、基本理论:深入理解C语言的输入与输出概念,理解文件的基本概念和文件指针的作用;掌握文件指针 变量的定义,掌握文件的打开和关闭,熟练掌握文件的基本读/写函数,了解文件的定位与随机读写函数。 2、能力、技能培养:掌握文件的定义、打开、关闭方法,掌握文件的各种读写函数的使用方法,掌握文件的定位和随 机访问方法。 五、课内实验(上机)环节及要求 序号 实验项目名称 内容提要 学时分 配 每组 人数 实验 类型 实验要 求 支撑课程 目标 1 C语言集成环境 及程序初步 1、使用Microsoft Visual C++ 2010调试运行简单的C 语言应用程序。 2 1 验证型 必做 课程目标1 2 顺序结构 1.验证C语言中各种数据类 型的取值范围及各种类型变 量的定义和使用方法; 2 .验证各种运算符的使 用; 3.编程实现不同数据类型 格式的输入输出。 3 1 验证型 必做 课程目标2 3 选择结构 1.验证逻辑运算表达式的 结果; 2.利用 if语句实现分支结 构程序; 3. 利用if嵌套语句实现多 分支结构程序; 4.利用switch语句实现多 分支结构程序。 3 1 设计研 究型 必做 课程目标 2,3 4 循环结构 1.利用while、do while 语句实现条件型循环结构程 序; 2.利用for语句实现计数型 循环结构程序; 3.利用以上三种语句的循 环嵌套编写程序。 5 1 设计研 究型 必做 课程目标 2,3 5 数组 1.利用一维数组编写排序 程序; 2.利用二维数组实现二维 数据表的运算及输出; 3.利用字符数组编写字符 串的应用程序; 4.利用字符操作函数编写 程序。 6 1 设计研 究型 必做 课程目标 2,3 6 函数 1.编程实现函数的定义及 调用; 2.用户输入任意两个操作 数,实现实参与形参间值传 递和地址传递; 4 1 综合型 必做 课程目标 2,3
,第写用递归实现的程 利用预处理命令编写相 程彩用指针变量编写程 指针 1 设所 必做 的程用指针实现对字行 定义结构体变量编写程 定义共用体变量编写稻 结构体与共用体 4 1 综合型 必做 课程目标 4。利用位运算编写程序。 文件 进制文件 1 综合型 必做 课程目标 机访问的方法读取该 2,3 六、学时分配 知识单元 讲课 实验 上机 合计 第一单元C语言程序设计初步 2 2 4 第二单元数据类型、运算符与表达式 5 第三单元控制结构 9 15 第四单元数组 10 第五单元函数 4 第六单元指针 第七单元结构体与共用修 第八单元文件 合计 32 32 64 七、教学方法与手段 本课程实强的是求款师理论散学实狼学紧结合素现代有技术手发式: 教着效流受生的今兴提高效。化注重算能力暗养,尝试转课教学方法,解 八、思想政治教育融入点的描述 本课程在教学过程中, 雨突的数方针,行思想政治坚定, 积极践行社会主义核心价值观,树立以德树 识过程有机 现“知 C语言 的计算机语言 的 具有 由函 成学 思维能力 灵活包 品厨 程化考核 团队精神 考核过程中, 自觉目
3 .编写用递归实现的程 序; 4.测试变量的各种存储属 性对变量值的影响。 7 指针 1.利用预处理命令编写相 应程序; 2 .利用指针变量编写程 序; 3.利用指针实现数组元素 的访问; 4 .利用指针作函数的参 数; 5. 编程用指针实现对字符 串的操作。 2 1 设计研 究型 必做 课程目标 2,3 8 结构体与共用体 1.定义结构体变量编写程 序; 2. 定义共用体变量编写程 序; 3. 编程建立一个链表,实 现对链表的插入、删除操 作; 4.利用位运算编写程序。 4 1 综合型 必做 课程目标 2,3 9 文件 1.建立一个文本文件,以 顺序访问方法读取该文件; 2.建立一个二进制文件, 以随机访问的方法读取该文 件。 3 1 综合型 必做 课程目标 2,3 六、学时分配 知识单元 讲课 实验 上机 合计 第一单元 C语言程序设计初步 2 2 4 第二单元 数据类型、运算符与表达式 5 2 7 第三单元 控制结构 6 9 15 第四单元 数组 4 6 10 第五单元 函数 4 4 8 第六单元 指针 4 2 6 第七单元 结构体与共用体 4 4 8 第八单元 文件 3 3 6 合计 32 32 64 七、教学方法与手段 本课程是一门实践性很强的课程,要求教师理论教学和实验教学紧密结合,要借助现代教育技术手段,探索启发式、 案例式、讨论式等教学方法,重点从三个方面展开:1、建设立体化课程资源,促进学生个性化学习。2、注重过程化考核, 多种考核方式并举,有效地激发学生的学习兴趣,提高学习效果。3、注重计算思维能力培养,尝试翻转课堂教学方法,解 决学生学习能力的差异。 八、思想政治教育融入点的描述 本课程在教学过程中,全面贯彻党的教育方针,奉行思想政治坚定,积极践行社会主义核心价值观,树立"以德树 人"的教育理念。C语言的授课对象是大一新生,这时的学生正处在塑造健康人格的关键时期。在C语言教学中挖掘思政元 素,使之与传授知识过程有机的融合,以实现"知识传授、能力提升和价值引领"的教学效果。C语言是一门简洁、紧凑、灵 活的计算机语言,具有丰富的运算符和数据结构,语法限制不太严格、具有结构化的控制语句,程序是由函数构成,程序设 计自由度较大,程序算法多样性、抽象性、逻辑性都较强,给初学者带来很大困难。所以,在学习过程中,要培养学生抽象 严谨的逻辑思维能力、灵活创新勇于面对困难、积极动脑思考问题的品质、团结合作的团队精神、把握全局的工程设计思想 和能力。另外,在C语言教学考核过程中,采用全方位视频监控的诚信考场进行过程化考核,培养学生自觉自律的诚信品 质