在面向对象的编程语言已经成为主流编程语言的今天,面向过程的C语言以其丰富的数据类型及运算、简洁灵活的表达、良好的系统移植性、高质量的目标代码和高效率的程序执行能力而保持着其持久旺盛的生命力。本课程以传统的面向过程的C语言为主要内容,着重难、重点和易错点的讲解及算法的分析;课程同时还融入部分面向对象的C++语言的内容,重点通过对面向对象语言所支持的类和对象、抽象、封装、继承、多态等基本概念的精炼讲解使学生初步掌握面向对象的现代编程思想,注重学生逻辑思维广度的培养。
由于本课程是一门实践性很强的课程,在教学实施中,我们注重教学和实践并重的原则。在教学中强调问题引导、案例驱动的教学方式,注重提出问题与解决问题的总体思路,通过分析算法加深学生对知识点的理解;同时学习者在学习过程中应按课程要求认真完成上机实践,而不仅仅是靠纸上谈兵来学习编程。
本课程以Visual Studio 2012 的 Visual C++为开发环境,为使初学者能快速上手、避免在语法细节上过多纠缠,程序中输入输出均采用C++语言的方式表达。
第1讲 C/C++程序设计入门
1.1 C/C++简介
1.2 程序框架及基本语法要素
1.3 Visual Studio C++开发环境简介
1.4 标准输入输出
第1讲内容小结
实验1 C/C++概述
第1讲单元测验
第2讲 数据类型、运算符和表达式
2.1 数据类型
2.2 运算符和表达式的基本概念
2.3 算数运算符
2.4 关系运算符和逻辑运算符
2.5 赋值运算符、条件运算符和逗号运算符
2.6 类型转换运算
第2讲内容小结
第2讲单元测验
实验2 顺序结构
第3讲 选择结构
3.1 三种控制结构
3.2 if语句及应用
3.3 switch语句及应用
第3讲内容小结
实验3 选择控制结构
第3讲 单元测验
第4讲 循环结构
4.1 循环语句的基本形式
4.2 循环结构的应用
4.3 循环的嵌套
4.4 辅助控制语句
第4讲内容小结
实验4 循环控制结构
第4讲 单元测验
第5讲 一维数组
5.1 数组的定义
5.2 一维数组的初始化
5.3 常用算法---选择法排序
5.4 常用算法---冒泡法排序
5.5 常用算法---插入与删除
5.6 常用算法---二分法查找
第5讲内容小结
第5讲 单元测验
第5讲 单元作业
第6讲 二维数组、字符数组
6.1 二维数组的定义和初始化
6.2 二维数组应用---矩阵转置、杨辉三角、最短路径
6.3 字符数组
6.4 字符串处理
第6讲内容小结
第6讲单元测验
第6讲 单元作业
第7讲 指针和数组
7.1指针的基本概念
7.2指针与一维数组的关系
第7讲内容小结
第7讲 单元作业
第7讲 单元测验
第8讲 函数
8.1 代码重用与模块化思想
8.2 函数的定义、调用与说明
8.3 函数间参数传递
8.4 数组名做函数参数
第8讲内容小结
单元作业8
第8讲单元测验
第9讲 函数(续)
9.1 返回指针值的函数
9.2 作用域与存储类别
9.3 递归函数
第9讲内容小结
第9讲单元作业
第9讲单元测验
第10讲 结构
10.1结构体类型
10.2 结构体变量
10.3 结构的应用
第10讲内容小结
第10讲单元作业
第10讲单元测验
第11讲 链表
11.1链表的概念
11.2 链表的常见操作---创建与遍历
11.3链表的常见操作---查找
11.4链表的常见操作---插入与删除
第11讲内容小结
第11讲链表单元作业
第11讲单元测验
第12讲 文件
12.1文件的概述
12.2文件的打开与关闭
12.3文件的读写
12.4文件的读写
第12讲内容小结
第12讲 单元作业
第12讲 单元测验
第13讲 类与对象
13.1 面向对象的基本概念及特征
13.2 类的定义
13.3 对象的定义与访问
13.4 构造函数与析构函数
13.5 类的特殊成员
第13讲 单元作业
第13讲 单元测验
第14讲 继承与多态
14.1 继承关系与派生类的定义
14..2 派生类对基类的访问
14.3 基于虚函数的多态性
14.4 抽象类
第14讲 单元测验