第一章 绪论
本章主要介绍C/C++语言的发展与特点,C/C++语言的基本程序结构,语法单位,以及C/C++语言程序的开发过程等,为以后各章的学习奠定全面基础。主要内容如下:
1. 前言:介绍本课程主要内容及章节安排;教材和参考书籍;成绩构成比例
2. 软件与程序:介绍软件与程序的关系;C语言发展历史;C语言能够解决的问题类型
3. 软件开发环境与编程实战
4. 程序设计学习方法介绍
第二章 数据类型与表达式
本章主要介绍C程序设计的基础知识,内容包括基本数据类型、常量、变量、基本运算、类型转换及运算的优先级与结合性等。主要内容如下:
1. 引言
2. C语言的符号
3. 数据类型
4. 常量与变量
5. 基本运算
6. 优先级与结合性
7. 数据类型转换
8. 输入与输出
9. 编程实战
10. 小结
第三章 控制语句
本章主要讲述程序的三种基本结构:顺序结构、分支结构和循环结构。主要内容如下:
1. 引言
2. 顺序结构
3. 选择结构
4. 循环结构
5. breakContinue
6. 编程实战
第四章 数组与结构
本章介绍一维和多维数组的定义,使用,特点与注意事项;介绍了如何定义新的构造数据类型-结构。主要内容如下:
1. 数组
2. 结构
3. 编程实战
第五章 指针
本章主要介绍指针概念、定义、运算及应用。指针类型是C语言提供的一种特殊的数据类型。主要内容如下:
1. 指针基础
2. 指针与数组
3. 指针与结构
4. 二重指针
5. 字符指针
6. 动态内存
第六章 函数
本章主要讲述C语言的自定义函数,内容包括:函数定义,函数调用,函数参数,函数与数组,函数与指针,递归函数,命令行参数等。主要内容如下:
1. 认识函数
2. 函数参数
3. 函数与数组
4. 函数返回值
5. 函数指针
6. 函数与结构
7. 递归函数
8. 作用域与存储类型
9. 模块化设计
10. 编程实战
第七章 C++编程基础
本章讲述C++的基本编程基础,包括结构化程序设计和面向对象程序设计的区别、简单介绍面向对象程序设计的三大特点(封装、继承和多态)、基本的I/O操作(cin、cout的基本使用方式)、C++的常变量、C++的引用类型、内联函数、带默认形参值函数、函数重载、使用new和delete运算符进行动态内存分配与释放的方式。要求学生:
(1)掌握cin、cout的基本用法。
(2)理解C++常变量与C语言符号常量的异同。
(3)理解内联函数的作用、与宏定义的区别,学会定义内联函数。
(4)默认形参值函数的定义和使用方式;函数重载的作用、如何进行函数重载、调用重载函数的方式;在函数调用时使用引用进行参数传递的方式。
(5)掌握new和delete的基本用法。
第八章 类与对象
本章讲述数据封装的基本概念(将一组数据以及操作这组数据的函数形成一个有机的整体);类的定义和使用方式;类成员的访问控制方式;构造函数、拷贝构造函数及析构函数的作用、定义及使用方式;对象数组的定义及初始化方式;对象指针的定义及使用方式,this指针的作用及典型用法;静态成员的特点,作用及使用方式;友元机制的特点及基本使用方式。要求学生:
(1)掌握类的定义和类成员的访问控制。
(2)掌握构造函数、拷贝构造函数及析构函数。
(3)理解this指针;理解静态成员。
(4)理解类组合的意义与子对象的初始化方法。
第九章 继承、派生与多态性
本章讲述派生类的概念和分类;单继承和多继承派生类的定义方式;派生方式下构造函数和析构函数的调用顺序;继承方式下同名成员的访问方式;继承方式对基类成员的影响;类型兼容规则;派生方式下的二义性问题,以及用虚基类解决二义性问题;讲述运算符重载的概念及重载方式;典型的运算符重载实例;引入虚函数的意义、虚函数的定义和使用方式;纯虚函数及抽象类。运算符重载的概念、及语法形式,一元和二元运算符的特点;类型转换函数的基本定义方式;虚函数及抽象类。要求学生:
(1)掌握派生类的定义和使用方式。
(2)理解public继承的逻辑意义。
(3)理解private继承的逻辑意义。
(4)理解派生方式下的二义性问题。
(5)了解类型兼容规则。
(6)理解运算符重载的概念和意义。
(7)掌握运算符重载的语法。
(8)了解将运算符重载为成员函数与重载为友元函数的区别,它们各自的适用范围。
(9)掌握+、-、*等二元运算符的重载。
(10)理解如何区分前缀和后缀两种重载形式。
(11)理解虚函数的概念、作用;掌握虚函数使用方式。
(12)理解抽象类的特性,掌握抽象类的用法。
第十章 模板、命名空间和异常处理
本章主要讲述C++函数模板、类模板的概念、作用定义及使用方式,C++中命名空间的概念和作用,异常处理的作用及语法格式。通过典型案例,理解简单算法设计、表达、程序编写等过程。要求学生:
(1)理解函数模板、类模板的概念和作用,能够使用模板机制解决简单的实际问题。
(2)理解命名空间的概念和作用。
(3)了解C++的异常处理机制。
(4)了解C++语言协同开发能力和解决实际问题的常见方法。
(5)理解简单算法设计、表达、程序编写等过程,具备利用语言解决实际问题的能力,具备工程实践观和效益意识,具有良好的程序开发组织管理、协作能力。