“C语言程序设计”课程思政版教学大纲(理论48学时+实践32学时,视频+代码+课件+习题答案)_数组_函数_结构

大纲说明

课程名称

C语言程序设计(C Language Programming)

总学时

80学时(其中理论48学时,实践32学时)

总学分

4 学分

课程类别

必修课

1

课程描述和目标

通过本课程的学习,有助于学生逻辑思维能力的训练,使学生掌握程序设计的思想,掌握程序设计的基础知识、基本概念、基本技能和方法,培养学生用计算机解决实际问题的动手能力,使学生具备初步的C语言程序设计能力,为后续课程的学习与实践打下良好的基础。

本课程的教学目标分为以下三方面。

1. 专业知识

(1)了解基本数据类型、运算符及表达式;

(2)理解常量和变量的概念,了解指针与计算机内存的关系;

(3)了解算法及其描述方法;

(4)掌握并应用三种基本结构进行程序设计;

(5)掌握一维数组、二维数组的定义和使用;

(6)理解字符、字符串和字符数组的关系,掌握字符数组的定义和使用;

(7)深入理解指针,掌握指针和数组的综合应用;

展开全文

(8)掌握函数定义和调用的方法,能实现自定义函数;

(9)理解结构体的概念,能运用结构体解决相关问题;

(10)了解链表的基本知识和链表的基本操作;

(11)了解文件及其基本操作。

2.专业能力

(1)具备初步的算法设计能力,并能利用程序流程图来表达算法设计思想;

(2)能编写结构清晰、可读性较好的程序;

(3)初步具备调试程序的技能;

(4)初步具备运用C语言和其他领域知识解决实际问题的能力;

(5)具备从事软件研发的基本职业素养。

3.课程思政和综合素养

(1)树立科学的人生观和价值观,激发求知热情和创新潜能;

(2)养成独立思考的良好习惯和求真务实的良好品质;

(3)掌握文献检索、资料查询及运用现代信息技术获取相关信息的基本方法;

(4)树立终身学习的理念,增强自主学习能力;

(5)逐步掌握科学的学习方法,具备一定的分析问题和解决问题的能力;

(6)逐步形成一定的人际交往能力以及在团队中发挥作用的能力。

2

教学基本要求

本课程的教学环节主要包括课堂讲授、上机实验、考试等。网络教学平台上提供课程课件、教学视频、习题解答和算法演示等丰富的课程资源,可供学生随时随地进行课外自主学习,有助于学生对相关知识的理解与巩固。

3

教学方法和教学手段建议

教学方式建议采用课内讲授、实验课与课外自学三位一体的立体化教学模式。课堂教学要突破以教师为中心、学生为主体、语言为媒介的传统教学方式,要充分利用信息化教学手段和计算机多媒体技术,活跃课堂教学气氛,增进师生互动,激发学生的学习热情,建立以学生为中心的新型课堂教学模式。实验课根据理论课程进度完成相应的实验内容,并提交到实验平台上。

4

大纲使用说明

本大纲的软件环境可以是C-free、Microsoft Visual C++、Microsoft Visual Studio、Dev C++等,版本视实验室环境而定。

大纲正文

第1章 C语言概述

总 学时:4学时(理论2学时,实践2学时)

本章教学基本要求:了解C语言的发展及特点;了解C语言源程序的书写规则;掌握C语言源程序在C-Free和VC6.0环境中运行的操作步骤。

教学重点:掌握C语言源程序的上机操作步骤。

教学难点:掌握C语言源程序的书写规则。

教学内容:

(1)C语言的历史背景;

(2)C语言的特点;

(3)C语言程序的基本组成;

(4)C程序的上机步骤。

课程思政:遵守实验室规章制度,独立完成实验任务。培养自觉遵守规则,诚实守信的良好品质。

第2章 C语言的基础知识

总 学时:6学时(理论4学时,实践2学时)

本章教学基本要求: 理解C语言中常量、变量的概念;掌握基本数据类型(整型、实型、字符型)常量的表示和变量的使用;理解运算符与表达式的概念并了解其使用方法;掌握常用的输入、输出函数的使用;理解指针与指针变量的基本概念。

教学重点: 掌握三种基本数据类型,常用运算符的使用和常用的输入、输出函数的使用。

教学难点:各类数据混合运算;掌握标准输入、输出函数的格式书写要求和指针变量的使用。

教学内容:

(1)常量与变量;

(2)指针变量;

(3)C语言数据类型;

(4)常用的输入、输出函数的使用;

(5)常用运算符及表达式;

(6)不同类型数据的混合运算。

课程思政:独立完成相关学习任务,养成认真、严谨的学习习惯。

第3章 程序与算法

总 学时:4学时(理论2学时,实践2学时)

本章教学基本要求: 理解算法的概念,了解描述算法的常用方法;了解结构化程序设计的特点和三种基本结构;了解构成程序的基本成份,能够进行简单的顺序结构程序设计。

教学重点: 理解算法的概念,掌握算法的描述。

教学难点: 算法及其描述。

教学内容:

(1)算法及其描述;

(2)程序的三种基本结构;

(3)顺序结构程序设计。

课程思政:结合算法及其描述特点,培养学生诚信、坚持的良好品质。

第4章 程序控制结构

总 学时:16学时(理论10学时,实践6学时)

本章教学基本要求: 了解关系表达式与逻辑表达式的的基本知识;理解分支结构的应用意义,掌握if语句和switch语句的特点和使用;了解循环的含义,掌握for、while、do-while等循环语句的特点和使用;掌握break、continue语句的特点和用法;理解循环嵌套。

教学重点 :关系表达式和逻辑表达式;分支结构及语句;循环结构及语句。

教学难点: 分支结构的嵌套;循环结构程序设计及其循环嵌套。

教学内容:

(1)关系运算符和关系表达式;

(2)逻辑运算符和逻辑表达式;

(3)if语句及其应用;

(4)switch语句及其应用;

(5)分支结构的嵌套;

(6)While语句及其应用;

(7)do-While语句及其应用;

(8)for语句及其应用;

(9)break和continue语句;

(10)循环嵌套;

(11)控制结构综合应用。

课程思政:结合程序控制结构的学习,培养学生 不怕困难,勇于实践的良好品质。

第5章 数组

总 学时:20学时(理论12学时,实践8学时)

本章教学基本要求: 弄清数组的意义与分类,理解一维数组、二维数组的概念 ,并掌握其定义、初始化和引用;理解字符、字符数组和字符串的概念,掌握它们之间的联系与区别;掌握常用的字符串处理函数的使用;掌握使用指针变量访问数组。

教学重点:一维数组、二维数组和字符数组的使用,数组的应用,指针与数组。

教学难点:数组的应用(包括排序、查找等),二维数组,指针与数组。

教学内容:

(1)一维数组及其应用

(2)二维数组及其应用

(3)字符数组及其应用

(4)指针与数组

(5)数组综合应用

课程思政:结合数组的应用,强调诚信的品质和敬业精神。

第6章 函数

总 学时:20学时(理论12学时,实践8学时)

本章教学基本要求: 了解函数定义与函数调用的方法;理解形式参数与实际参数的概念,掌握函数参数的传递方式;掌握递归函数的定义和调用;理解变量的作用域与存储属性;掌握指针作为函数参数的定义与调用方法;掌握数组作为函数参数的定义与调用方法;了解编译预处理的概念,了解宏定义和文件包含的使用方法。

教学重点: 掌握函数定义和调用,函数的嵌套调用与递归函数,变量的作用域与存储属性,数组作为函数参数。

教学难点: 函数参数的传递,函数的嵌套调用与递归函数,变量的存储属性,数组作为函数参数。

教学内容:

(1)函数的概念;

(2)函数的定义与调用方法;

(3)形式参数与实际参数的概念,函数参数传递的方式;

(4)函数的嵌套调用与递归函数;

(5)变量的作用域与存储属性;

(6)指针作为函数参数的定义与调用方法;

(7)数组作为函数参数的定义与调用方法;

(8)宏定义;

(9)文件包含。

课程思政:结合函数的特点与应用,强调团队协作的重要性。

第7章 结构体

总 学时:6学时(理论4学时,实践2学时)

本章教学基本要求: 了解结构体的特点,掌握结构体类型的构造;掌握结构体变量的定义、初始化和成员的引用方法;掌握结构体类型指针变量和结构体数组的使用;了解链表的特点,掌握建立链表以及在链表中插入和删除结点的操作。

教学重点: 结构体变量的定义和成员的引用方法,结构体指针变量和结构体数组的使用。

教学难点: 结构体指针变量,链表及其相关操作。

教学内容:

(1)结构体类型的构造;

(2)结构体类型变量的定义和引用;

(3)用typedef 定义类型;

(4)结构体指针变量的定义与使用;

(5)结构体数组的定义与使用;

(6)链表的概念及其建立链表、插入和删除结点等操作。

课程思政:结合结构体的特点与应用,培养友善、包容的品质。

第8章 文件

总 学时:4学时(理论2学时,实践2学时)

本章教学基本要求: 了解C语言有关文件的基本概念和文件结构;掌握文件的打开、关闭与文件的读写等相关函数的使用。

教学重点: 文件的打开、读写与关闭等操作。

教学难点: 文件的读写相关函数的特点与使用。

教学内容:

(1)文件概述;

(2)文件类型指针;

(3)文件的打开与关闭;

(4)文件的读写。

课程思政:结合文件的应用,培养学生包容、和谐、协作的意识。

本课程对学生自学的要求:本课程旨在训练学生进行程序设计的技能和培养良好的程序设计思路,课程本身具有一定难度。因此要求学生在学习过程中必须理论联系实践。课前认真预习,记下疑点;课中积极参与,跟上教学进度;课后认真完成实验,并及时总结。除了在教学过程中完成习题作业和上机实验外,要求根据自己的实际情况选择校园网教学平台上的学习资料,进行课后自主学习,积极参加程序设计水平考试,努力培养自己独立进行程序设计和综合开发程序的能力,为后续课程的学习打下坚实的基础。

作业布置与要求:每次课后要求布置实验内容,学生将程序提交到实验平台。

课程考核方式与要求:平时成绩占 50%,期末成绩占 50%。期末以闭卷笔试或者上机操作形式进行考核。

平时成绩的组成:

①平时表现,占平时成绩的 25%。考虑考勤、课堂提问、课堂讨论、学习态度、学习团队表现等各种过程性因素。

②实验与作业完成情况,占平时成绩的 40%。

③随堂测验,占平时成绩的 15%。

④期中考试,占平时成绩的 20%。

参考书目:

(1)张丽华、梁田主编:《C语言程序设计案例教程(第3版·微课视频版)》,北京:清华大学出版社,2023年。

(2)谭浩强主编:《C语言程序设计(第五版)》,北京:清华大学出版社,2017年。

(3)霍尔顿(Horton, I.)著, 杨浩译:《C语言入门经典(第5版)》,北京:清华大学出版社,2013年。

(4)仇芒仙主编:《C/C++程序设计案例教程》,北京:清华大学出版社,2012年。

参考书籍

《C语言程序设计案例教程(第3版·微课视频版)》

作者:张丽华、梁田、刘小军、殷联甫

定价:59.80元

扫码优惠购书

内容简介

C语言既是目前应用极为广泛的高级程序设计语言之一,也是高等学校“程序设计”课程的首选入门语言。全书共10章,主要内容包括C语言概述、程序与算法、数据类型和表达式、程序控制结构、数组、函数、结构体与共用体、文件、位运算、综合实例等。本书主要章节的内容采用任务驱动的方式,通过实例引出基本概念和基本方法,内容叙述自然,顺理成章。全书案例丰富、阐述清晰、分析透彻、层次分明,注重培养读者分析问题和解决问题的能力。

本书第1版于2015年出版,第2版于2018年出版,根据读者的反馈意见和建议,编者对本书进行再修订,对部分章节的内容进行全面更新和调整,主要知识点配套微视频进行讲解,内容更加完善,便于读者学习使用。书中所有实例的源程序均已调试通过。

本书可作为高等学校理工类专业“程序设计”课程的教学用书,也可作为计算机二级考试的培训或自学教材。为配合教学,本书配有PPT教学课件、习题参考答案,还有配套的辅助教材《C语言程序设计学习指导》(第3版),供读者参考。

目录

向上滑动阅览

第1章C语言概述

1.1C语言程序结构

1.1.1简单的C语言程序

1.1.2C语言程序结构概述

1.1.3C语言程序的书写风格

1.2C语言的发展

1.2.1C语言的历史

1.2.2C语言的特点

1.3C语言程序的运行过程

本章小结

习题

第2章程序与算法

2.1程序与算法概述

2.1.1算法的概念

2.1.2算法的组成要素

2.1.3算法的特性

2.2算法的描述

2.2.1自然语言表示法

2.2.2传统流程图表示法

2.2.3NS结构化流程图表示法

2.2.4伪代码表示法

2.3结构化程序设计

2.3.1结构化程序设计的特点与方法

2.3.2结构化程序的基本结构

2.3.3结构化程序设计的过程

2.3.4程序设计的原则

本章小结

习题

第3章数据类型和表达式

3.1标识符

3.2常量与变量

3.2.1常量

3.2.2变量

3.3基本数据类型

3.3.1整型

3.3.2实型

3.3.3字符型

3.4常用的输入输出函数

3.4.1格式化输入输出函数

3.4.2字符输入输出函数

3.5运算符与表达式

3.5.1算术运算符

3.5.2赋值运算符

3.5.3逗号运算符

3.5.4指针运算符

3.6数据类型转换

3.6.1赋值类型转换

3.6.2自动类型转换

3.6.3强制类型转换

3.7应用实例

本章小结

习题

第4章程序控制结构

4.1程序控制结构概述

4.2顺序结构

4.3关系运算

4.3.1关系运算符

4.3.2关系表达式

4.4逻辑运算

4.4.1逻辑运算符

4.4.2逻辑运算的值

4.4.3逻辑表达式

4.5选择结构

4.5.1if语句

4.5.2switch语句

4.5.3选择结构的嵌套

4.6循环结构

4.6.1while语句

4.6.2do…while语句

4.6.3for语句

4.6.4循环结构的应用

4.7break和continue语句

4.7.1break语句

4.7.2continue语句

4.7.3两种语句的应用

4.8循环嵌套

4.9控制结构应用实例

本章小结

习题

第5章数组

5.1数组概述

5.2一维数组

5.2.1一维数组的定义

5.2.2一维数组的引用

5.2.3一维数组的初始化

5.2.4一维数组的程序举例

5.3二维数组

5.3.1二维数组的定义

5.3.2二维数组的引用

5.3.3二维数组的初始化

5.3.4二维数组的程序举例

5.4字符数组

5.4.1字符数组和字符串

5.4.2字符数组的定义和初始化

5.4.3字符数组的输入和输出

5.4.4常用字符串处理函数

5.4.5字符数组的程序举例

5.5数组与指针

5.5.1使用指针处理数组元素

5.5.2使用指针处理字符串

5.5.3数组与指针的程序举例

5.6数组综合举例

5.6.1查找

5.6.2排序

5.6.3求最大、最小值

5.6.4其他

5.7数组应用实例

本章小结

习题

第6章函数

6.1函数概述

6.2函数的定义

6.2.1有返回值函数的定义

6.2.2无返回值函数的定义

6.3函数的调用

6.3.1函数调用的形式

6.3.2函数的参数

6.3.3被调函数的原型声明

6.4函数的嵌套调用和递归调用

6.4.1函数的嵌套调用

6.4.2函数的递归调用

6.5变量的作用域与生存期

6.5.1局部变量和全局变量

6.5.2变量的生存期

6.5.3存储类别小结

6.6指针与函数

6.6.1指针变量作为函数参数

6.6.2数组作为函数参数

6.7返回指针的函数和函数指针

6.7.1返回指针的函数

6.7.2函数指针

6.8main函数的参数

6.9编译预处理

6.9.1宏定义

6.9.2文件包含

6.9.3条件编译

6.10函数的应用实例

本章小结

习题

第7章结构体与共用体

7.1结构体类型的概念

7.1.1引例

7.1.2结构体类型的定义

7.2结构体变量的定义

7.3结构体变量初始化与引用

7.3.1结构体变量的初始化

7.3.2结构体变量的引用

7.4结构体数组

7.4.1结构体数组的定义

7.4.2结构体数组的初始化

7.4.3结构体数组的引用

7.5结构体指针变量

7.5.1指向结构体变量的指针

7.5.2指向结构体数组的指针

7.6结构体与函数

7.6.1结构体变量的成员作函数参数

7.6.2结构体变量作函数参数

7.6.3指向结构体变量的指针作函数参数

7.7链表

7.7.1静态链表

7.7.2动态内存函数

7.7.3链表的基本操作

7.8共用体

7.8.1共用体的概念

7.8.2共用体变量的引用

7.8.3共用体类型数据的说明

7.9枚举类型

7.10用户自定义类型

7.11结构体的应用实例

本章小结

习题

第8章文件

8.1文件概述

8.1.1文件分类

8.1.2缓冲文件系统与非缓冲文件系统

8.1.3文件指针

8.2文件的打开与关闭

8.2.1文件的打开

8.2.2文件的关闭

8.3文件的读写

8.3.1格式化读写函数

8.3.2字符读写函数

8.3.3字符串读写函数

8.3.4数据块读写函数

8.4文件的其他操作

8.4.1文件的定位

8.4.2文件的检测

8.5文件的应用实例

本章小结

习题

第9章位运算

9.1计算机中的数据表示

9.2位运算符

9.3位段

9.4位运算的应用实例

本章小结

习题

第10章综合实例

10.1应用程序的开发流程

10.2综合应用程序实例

本章小结

附录A运算符的优先级与结合性

附录BC语言中的关键字

附录C常用字符的ASCII码

附录DC语言常用库函数

参考文献

在公众号书圈后台回复【9787302615415】,下载本书配套的教学资源

特别声明

本文仅代表作者观点,不代表本站立场,本站仅提供信息存储服务。

分享:

扫一扫在手机阅读、分享本文