C语言程序设计课程教学大纲 一、课程基本信息 课程名称:C语言程序设计 课程英文名称:C Programming 课程编码:2115X0104 学时/学分:64/4 课程类型:专业学科基础课 适用专业:计算机科学与技术专业、信息工程专业、通信工程专业、物联网工程专业、T特色 实验班 先修课程:无 课程简介: 《c语言程序设计》是专业学科基础课,共4.0学分64学时。其中理论32学时,实验32学时。 主要讲授程序设计的思想和方法,既可为后继相关课程学习打下基础,也有利于学生理解基本计算 思想和方法,培养应用计算机求解问题的基本能力。 本课程的任务是通过介绍C程序设计语言及程序设计方法,使学生了解结构化程序设计的基本 方法,理解通过程序设计求解实际问题的基本过程,掌握程序设计的基本思想、方法和技巧,养成 良好的程序设计风格,初步具备利用程序设计语言和开发环境编程求解专业实际问题的能力,对复 杂工程问题进行建模、计算及分析和评价的能力。通过项目开发,培养学生的团队合作能力。 二、课程目标 (一)课程目标 通过学习本课程,使学生达到以下目标: 课程目标1:理解程序设计的基本思想,具备选择适当的程序设计语言与开发环境求解专业实 际问题的能力,具备对求解的实际问题进行分析和评价的能力。同时引导培养学生正确的人生观、 价值观,培养爱国情怀、时代责任感和使命感。 课程目标2:理解并掌握系统的设计与开发的基本步骤以及各个环节所需完成的任务,通过团 队成员的分工合作与讨论,完成系统设计与开发以及项目报告。增强“道路自信”,培养学生的团队 合作意识,同学之间通过相互合作,可以取长补短。 ((二)课程目标与毕业要求的关联分析 序号 课程目标 支撑的专业毕业要求及指标点 1工程知识 课程目标1 1.2掌握计算机专业基础知识和编程语言,能够用于 计算机领域工程问题的分析和程序设计 人和团队 课程目标2 92能够与团队其他成员有效沟通,团结协作,在团 队中独立或合作开展工作,并能胜任负责人的角 鱼
C 语言程序设计课程教学大纲 一、课程基本信息 课程名称: C 语言程序设计 课程英文名称:C Programming 课程编码:2115X0104 学时/学分:64/4 课程类型:专业学科基础课 适用专业:计算机科学与技术专业、信息工程专业、通信工程专业、物联网工程专业、IT 特色 实验班 先修课程:无 课程简介: 《c 语言程序设计》是专业学科基础课,共 4.0 学分 64 学时。其中理论 32 学时,实验 32 学时。 主要讲授程序设计的思想和方法,既可为后继相关课程学习打下基础,也有利于学生理解基本计算 思想和方法,培养应用计算机求解问题的基本能力。 本课程的任务是通过介绍 C 程序设计语言及程序设计方法,使学生了解结构化程序设计的基本 方法,理解通过程序设计求解实际问题的基本过程,掌握程序设计的基本思想、方法和技巧,养成 良好的程序设计风格,初步具备利用程序设计语言和开发环境编程求解专业实际问题的能力,对复 杂工程问题进行建模、计算及分析和评价的能力。通过项目开发,培养学生的团队合作能力。 二、课程目标 (一)课程目标 通过学习本课程,使学生达到以下目标: 课程目标 1:理解程序设计的基本思想,具备选择适当的程序设计语言与开发环境求解专业实 际问题的能力,具备对求解的实际问题进行分析和评价的能力。同时引导培养学生正确的人生观、 价值观,培养爱国情怀、时代责任感和使命感。 课程目标 2:理解并掌握系统的设计与开发的基本步骤以及各个环节所需完成的任务,通过团 队成员的分工合作与讨论,完成系统设计与开发以及项目报告。增强“道路自信”,培养学生的团队 合作意识,同学之间通过相互合作,可以取长补短。 (二)课程目标与毕业要求的关联分析 序号 课程目标 支撑的专业毕业要求及指标点 1 课程目标 1 1.工程知识 1.2 掌握计算机专业基础知识和编程语言,能够用于 计算机领域工程问题的分析和程序设计; 2 课程目标 2 9.个人和团队 9.2 能够与团队其他成员有效沟通,团结协作,在团 队中独立或合作开展工作,并能胜任负责人的角 色
三、教学内容及要求 (一)理论教学部分 1程序设计基础(支撞课程目标1) (1)了解程序设计与计算思维的概念:算法的基本概念与描述方法: (2)掌探软件的编制步骤: (3)了解C程序设计语言的特点: (4)掌握C语言集成开发环境 ※课程思政内容及教学要求:通过C语言历史,C语言之父的介绍,融入点:虽然乔布斯之死 被热烈报道,但科学家丹尼斯里奇终究会被历史铭记。要有理论自信,摒弃“一切向钱看”的拜金主 义、享乐主义、个人主义思想,认真学习专业知识,坚定共产主义的远大理想,建立正确的人生观, 世界观。 2数据类型(支撑课程目标1) (1)掌握C语言的基本数据类型 (2)掌握变量的定义与使用: (3)灵活运用数据类型转换。 ※课程思政内容及教学要求:数据的各种类型分配不同的字节,数据的溢出引出“度”,“过犹 不及”。通过各种数据类型的常量和变量的定义方式学习,告诚学生C语言的编写要道循它的规定。 在社会生活中,我们作为祖国未来的希望,也要遵守国家的法律法规,做一个守法的公民:在学校 时,在遵守学校的规章,做一个尊师守纪的好学生。 3运算符与表达式(支撑课程目标1) (1)掌握算术运算符和算术表达式、关系运算符和关系表达式、逻辑运算符和逻辑表达式、 赋值运算符和赋值表达式、逗号运算符和逗号表达式自增、自减运算符:条件运算符和条件表达式: (2)掌握各类型表达式的运算规则、优先级及结合性。 ※课程思政内容及教学要求:在运算符优先级别介绍中隐喻事情处理要分轻重缓急,合理安排 优先解决最紧迫的,同时要处理好最重要的事情和最紧急的事情的关系;C语言是表达式语言,表 达式的重要组成部分就是小小的运算符,从而认识到小小的运算符功能的强大及其重要性。深谙大 和小的辩证关系,大和小的智慧,大和小的互转换性。 4.选择结构(支排课程目标1) (1)掌握选择结构的单分支f语句,双分支f语句以及多分支f语句的语法规则: (2)理解条件运算符及表达式的运算规则、优先级及结合性: (3)掌握switch语句 (4)理解嵌套选择结构的设计 ※课程思政内容及教学要求:通过知识点双分支「语句,融入点“鱼和熊掌不可兼得”的历史典 故,与学生探讨生活中我们遇到的两难选择时,我们应当如何取舍。引导学生明白,人生道路上是 19
19 三、教学内容及要求 (一)理论教学部分 1.程序设计基础(支撑课程目标 1) (1)了解程序设计与计算思维的概念;算法的基本概念与描述方法; (2)掌握软件的编制步骤; (3)了解 C 程序设计语言的特点; (4)掌握 C 语言集成开发环境。 ※课程思政内容及教学要求:通过 C 语言历史,C 语言之父的介绍,融入点:虽然乔布斯之死 被热烈报道,但科学家丹尼斯.里奇终究会被历史铭记。要有理论自信,摒弃“一切向钱看”的拜金主 义、享乐主义、个人主义思想,认真学习专业知识,坚定共产主义的远大理想,建立正确的人生观, 世界观。 2.数据类型(支撑课程目标 1) (1)掌握 C 语言的基本数据类型; (2)掌握变量的定义与使用; (3)灵活运用数据类型转换。 ※课程思政内容及教学要求:数据的各种类型分配不同的字节,数据的溢出引出“度”,“过犹 不及”。通过各种数据类型的常量和变量的定义方式学习,告诫学生 C 语言的编写要遵循它的规定。 在社会生活中,我们作为祖国未来的希望,也要遵守国家的法律法规,做一个守法的公民;在学校 时,在遵守学校的规章,做一个尊师守纪的好学生。 3. 运算符与表达式(支撑课程目标 1) (1)掌握算术运算符和算术表达式、关系运算符和关系表达式、逻辑运算符和逻辑表达式、 赋值运算符和赋值表达式、逗号运算符和逗号表达式自增、自减运算符;条件运算符和条件表达式; (2)掌握各类型表达式的运算规则、优先级及结合性。 ※课程思政内容及教学要求:在运算符优先级别介绍中隐喻事情处理要分轻重缓急,合理安排 优先解决最紧迫的,同时要处理好最重要的事情和最紧急的事情的关系;C 语言是表达式语言,表 达式的重要组成部分就是小小的运算符,从而认识到小小的运算符功能的强大及其重要性。深谙大 和小的辩证关系,大和小的智慧,大和小的互转换性。 4. 选择结构(支撑课程目标 1) (1)掌握选择结构的单分支 if 语句,双分支 if 语句以及多分支 if 语句的语法规则; (2)理解条件运算符及表达式的运算规则、优先级及结合性; (3)掌握 switch 语句; (4)理解嵌套选择结构的设计 ※课程思政内容及教学要求:通过知识点双分支 if 语句,融入点“鱼和熊掌不可兼得”的历史典 故,与学生探讨生活中我们遇到的两难选择时,我们应当如何取舍。引导学生明白,人生道路上是
会有很多选择,做的每个决定都会产生蝴蝶效应,进而影响到大局,因此在今后的人生道路上要树 立正确的人生观和价值观。特别当面临者个人利益与社会利益乃至国家利益有冲突时,要以大局为 重,以社会利益、国家利益为重。 5循环结构(支撑课程目标1) (1)掌握while语句: (2)堂握for语句: (3)掌握do..while语句: (4)理解多重循环结构: (5)理解continue语句与break语句 ※课程思政内容及教学要求:通过知识点“循环计算累加和”,利用“棋盘上的麦粒”的故事,国 王感觉宰相的要求并无过分之处,可通过实际计算,却发现所需要的麦粒竟然是个天文数字。从而 引出不可小视积少成多的道理。对应到“制度自信”,教有学生不要小看积少成多的力量。只要坚持 不懈地去学习,总有水滴石穿的那一天。2013年习总书记首次提出“精准扶贫”的重要指示,经过几 年的努力,全国各县市区逐步脱贫摘帽,逐步实现中国梦”,实现中华民族伟大复兴。 6.数组(支排课粗目标1) (1)堂握一维数组的定义及使用: (2)掌握一维数组的指针运算: (3)掌握二维数组的定义及使用: (4)掌握字符数组与字符串的关系 (5)掌握常用的字符串处理函数 ※课程思政内容及教学要求:通过知识点二维数组解决“杨辉三角”。融入点:南宋数学家杨辉 发现规律比法国数学家帕斯卡早393年。中国古人为世界做出了巨大贡献。建立“文化自信”。唐代 白居易的《一七令·诗》与杨辉三角形相映成趣。中国本身就有很深的文化积淀,不必去崇洋媚外。 7.函数(支排课程目标1) (1)掌握函数定义与调用 (2)堂握函数的参数传递 (3)理解数组作为函数参数 (4)掌握函数的嵌套调用: (5)了解函数递归调用: (6)理解变量的作用域与存储类型: ※课程思政内容及教学要求:讲授“弦截法求解方程根”,融入点个复杂的C程序通常采用模块 化思想,不是将所有代码写在main函数中,而是由若干个函数组成。从而引出,同学们要有团队 合作精神,各取所长,从而提高学习工作效率。增强“道路自信”,培养学生的团队合作意识,同学 之间通过相互合作,可以取长补短。习总书记提出“一带一路”建设,可以加强国际合作,对接彼此发
会有很多选择,做的每个决定都会产生蝴蝶效应,进而影响到大局,因此在今后的人生道路上要树 立正确的人生观和价值观。特别当面临着个人利益与社会利益乃至国家利益有冲突时,要以大局为 重,以社会利益、国家利益为重。 5. 循环结构(支撑课程目标 1) (1)掌握 while 语句; (2)掌握 for 语句; (3)掌握 do...while 语句; (4)理解多重循环结构; (5)理解 continue 语句与 break 语句 ※课程思政内容及教学要求:通过知识点“循环计算累加和”,利用“棋盘上的麦粒”的故事,国 王感觉宰相的要求并无过分之处,可通过实际计算,却发现所需要的麦粒竟然是个天文数字。从而 引出不可小视积少成多的道理。对应到“制度自信”,教育学生不要小看积少成多的力量。只要坚持 不懈地去学习,总有水滴石穿的那一天。2013 年习总书记首次提出“精准扶贫”的重要指示,经过几 年的努力,全国各县市区逐步脱贫摘帽,逐步实现“中国梦”,实现中华民族伟大复兴。 6. 数组(支撑课程目标 1) (1)掌握一维数组的定义及使用; (2)掌握一维数组的指针运算; (3)掌握二维数组的定义及使用; (4)掌握字符数组与字符串的关系; (5)掌握常用的字符串处理函数 ※课程思政内容及教学要求:通过知识点二维数组解决“杨辉三角”。融入点:南宋数学家杨辉 发现规律比法国数学家帕斯卡早 393 年。中国古人为世界做出了巨大贡献。建立“文化自信”。唐代 白居易的《一七令 · 诗》与杨辉三角形相映成趣。中国本身就有很深的文化积淀,不必去崇洋媚外。 7. 函数(支撑课程目标 1) (1)掌握函数定义与调用; (2)掌握函数的参数传递; (3)理解数组作为函数参数 (4)掌握函数的嵌套调用; (5)了解函数递归调用; (6)理解变量的作用域与存储类型; ※课程思政内容及教学要求:讲授“弦截法求解方程根”,融入点个复杂的 C 程序通常采用模块 化思想,不是将所有代码写在 main 函数中,而是由若干个函数组成。从而引出,同学们要有团队 合作精神,各取所长,从而提高学习工作效率。增强“道路自信”,培养学生的团队合作意识,同学 之间通过相互合作,可以取长补短。习总书记提出“一带一路”建设,可以加强国际合作,对接彼此发
展战略,共享互利合作的成果。 8.指针(支撑课程目标1) (1)掌握指针与地址的概念 (2)理解指针数组与指向指针的指针: (3)理解指向字符串的指针: 9.结构体与共用体(支撑课程目标1) (I)掌握结构体的声明和使用: (2)掌握结构体数组的声明、使用和初始化: (3)理解指向结构体的指针: (4)理解共用体的声明和使用 10.文件(支撑课程目标1) (1)掌握文件和文件指针的概念 (2)了解文件的打开与关闭: (3)熟悉随机文件的读写: 11.综合实例开发(支排课程目标2) (1)模块化程序设计方法: (2)完整的综合应用程序开发流程 (二)实验教学部分 实验一熟悉C语言程序开发环境(支撑课程目标1) (1)掌握在该环境下如何编辑、编译、连接和运行C程序。 (2)了解C源程序的特点,掌握程序调试方法。 实验二数据类型(支撑课程目标1) (1)掌握C语言各种数据类型的定义以及对它们赋值的方法。 (2)掌握getchar、putchar、.scanf、printf四个函数的使用。 实验三运算符与表达式(支排课程目标1) (1)掌握常用运算符的使用规则 (2)了解混合运算的规则和结果类型 实验四选择结构程序设计(支撑课程目标1) (1)学会正确使用逻辑运算符和逻辑表达式。 (2)熟练掌握if语句的使用 (3)熟练掌握多分支switch语句。 实验五循环结构程序设计(支撑课程目标1) (1)掌握用while语句,do…while语句,for语句实现循环的方法 (2)掌握如何正确地设定循环条件,以及如何控制循环的次数 21
21 展战略,共享互利合作的成果。 8. 指针(支撑课程目标 1) (1)掌握指针与地址的概念; (2)理解指针数组与指向指针的指针; (3)理解指向字符串的指针; 9. 结构体与共用体 (支撑课程目标 1) (1)掌握结构体的声明和使用; (2)掌握结构体数组的声明、使用和初始化; (3)理解指向结构体的指针; (4)理解共用体的声明和使用 10. 文件 (支撑课程目标 1) (1)掌握文件和文件指针的概念; (2)了解文件的打开与关闭; (3)熟悉随机文件的读写; 11.综合实例开发(支撑课程目标 2) (1)模块化程序设计方法; (2)完整的综合应用程序开发流程 (二)实验教学部分 实验一 熟悉 C 语言程序开发环境(支撑课程目标 1) (1)掌握在该环境下如何编辑、编译、连接和运行 C 程序。 (2)了解 C 源程序的特点,掌握程序调试方法。 实验二 数据类型(支撑课程目标 1) (1)掌握 C 语言各种数据类型的定义以及对它们赋值的方法。 (2)掌握 getchar、putchar、scanf、printf 四个函数的使用。 实验三 运算符与表达式(支撑课程目标 1) (1)掌握常用运算符的使用规则 (2)了解混合运算的规则和结果类型 实验四 选择结构程序设计(支撑课程目标 1) (1)学会正确使用逻辑运算符和逻辑表达式。 (2)熟练掌握 if 语句的使用 (3)熟练掌握多分支 switch 语句。 实验五 循环结构程序设计(支撑课程目标 1) (1)掌握用 while 语句,do…while 语句,for 语句实现循环的方法 (2)掌握如何正确地设定循环条件,以及如何控制循环的次数
(3)掌握循环嵌套的使用 实验六数组(支排课雅目标1) (1)掌握一维数组的定义、初始化方法,一维数组元素的引用方法 一维数组与指针 (2)掌握二维数组的定义、初始化方法,二维数组元素的引用方法 (3)掌握字符数组的定义、初始化与引用 (4)掌握字符数组的输入和输出 (5)掌握常用的字符串处理函数 实验七函数(支排课程目标1) (1)掌握函数的定义及调用方法 (2)掌握函数实参与形参的对应关系 (3)掌握函数参数传递的两种方法 实验八指针(支排课接目标1) (1)掌握指针变量的定义和引用。 (2)学会正确使用数组的指针与指向数组的指针变量。 (3)学会正确使用字符串的指针和指向字符串的指针变量。 实验九结构体与共用体(支撑课程目标1) (1)掌握结构体变量的定义及引用。 (2)能正确使用链表, 实验十文件(支排课狸目标1) (1)掌握文件指针的的定义及文件的打开与关闭。 (2)掌握文件的读写函数。 (3)理解文件的出错检测函数 实验十一综合实例开发(支林课程目标2) (1)了解并掌握使用程序设计语言进行软件开发的具体步骤: (2)综合使用C语言的知识来实现一个信总系统。 四、学时分配和教学方式 课程教学学时分配表 序号 知识单元 学时 学方式 课堂讲授、讨 程序设计基础 论 课堂讲授、讨 数据类型 2 论 运算符与表达式 课堂讲授、讨
(3)掌握循环嵌套的使用 实验六 数组(支撑课程目标 1) (1)掌握一维数组的定义、初始化方法,一维数组元素的引用方法,一维数组与指针; (2)掌握二维数组的定义、初始化方法,二维数组元素的引用方法。 (3)掌握字符数组的定义、初始化与引用 (4)掌握字符数组的输入和输出 (5)掌握常用的字符串处理函数 实验七 函数(支撑课程目标 1) (1)掌握函数的定义及调用方法; (2)掌握函数实参与形参的对应关系 (3)掌握函数参数传递的两种方法 实验八 指针(支撑课程目标 1) (1)掌握指针变量的定义和引用。 (2)学会正确使用数组的指针与指向数组的指针变量。 (3)学会正确使用字符串的指针和指向字符串的指针变量。 实验九 结构体与共用体(支撑课程目标 1) (1)掌握结构体变量的定义及引用。 (2)能正确使用链表。 实验十 文件(支撑课程目标 1) (1)掌握文件指针的的定义及文件的打开与关闭。 (2)掌握文件的读写函数。 (3)理解文件的出错检测函数 实验十一 综合实例开发(支撑课程目标 2) (1)了解并掌握使用程序设计语言进行软件开发的具体步骤; (2)综合使用 C 语言的知识来实现一个信息系统。 四、学时分配和教学方式 课程教学学时分配表 序号 知识单元 学时 教学方式 1 程序设计基础 1 课堂讲授、讨 论 2 数据类型 2 课堂讲授、讨 论 3 运算符与表达式 1 课堂讲授、讨