C++程序设计教程 第三版
作者: 朱红,赵琦,王庆宝编著
出版时间: 2019年版
丛编项: 21世纪高等学校计算机教育实用规划教材
内容简介
C++是一种高效实用的程序设计语言,它既可以进行过程化程序设计,也可以进行面向对象程序设计,是编程人员广泛使用的工具。本书是为高等院校第1门程序设计课程编写的教材。全书共分为两部分:第1部分是C++语言基础,包括第1章~第8章,主要讲述C++的数据类型,运算规则,顺序、选择、循环结构的程序设计,函数、数组、指针和结构体等内容,侧重于基本概念、基本语法及常规算法;第二部分是面向对象程序设计基础,包括第9章~第16章,主要介绍类和对象、类的构造和析构、友元、运算符重载、继承和派生以及输入输出流等内容,侧重于编程的训练,强调模块化、规范化的程序设计,引导读者逐步体会面向对象程序设计的特点。本教材配有实验教材《C++程序设计上机实践与学习辅导(第三版)》,以方便读者复习和上机操作。 本书所列举的例题、习题均在VisualStudio2010下调试通过。 本书面向计算机及其相关专业本、专科学生,是学习C++语言的基础教材。
目录
目录
第一部分C++语言基础
第1章C++基础知识
1.1C++与Visual C++语言
1.2C++程序的基本要素
1.2.1一个简单的程序
1.2.2C++程序的基本要素
1.2.3C++程序的书写规则
1.3C++程序的开发步骤与上机实践
1.3.1C++程序的开发步骤
1.3.2C++程序的上机实践
1.4信息在计算机中的表示
1.4.1进位计数制
1.4.2带符号数在计算机中的表示
1.4.3字符在计算机中的表示
练习题
第2章基本数据类型与表达式
2.1数据类型
2.2常量和变量
2.2.1常量
2.2.2变量
2.3整型数据
2.3.1整型常量
2.3.2整型变量
2.4浮点型数据
2.4.1浮点型常量
2.4.2浮点型变量
2.5字符型数据
2.5.1字符型常量
2.5.2字符型变量
2.5.3字符串常量
2.6类型转换
2.6.1不同类型数据间的混合算术运算
2.6.2赋值时的类型转换
2.6.3强制类型转换符
2.7运算符与表达式
目录
C++程序设计教程(第三版)
2.7.1算术运算符与算术表达式
2.7.2关系运算符与关系表达式
2.7.3逻辑运算符与逻辑表达式
2.7.4赋值运算符与赋值表达式
2.7.5自增运算符与自减运算符
2.7.6逗号运算符与逗号表达式
2.7.7sizeof运算符及表达式
2.7.8表达式中运算符的运算顺序
2.8简单的输入输出语句
2.8.1十进制整数、实数与字符数据的输入
2.8.2十六进制或八进制数据的输入
2.8.3数据的输出
练习题
第3章基本流程控制结构
3.1结构化程序设计
3.1.1结构化程序设计
3.1.2基本控制结构
3.1.3C++语言的语句分类
3.2选择结构语句
3.2.1if语句
3.2.2条件运算符“?:”
3.2.3switch语句
3.3循环结构语句
3.3.1while语句
3.3.2dowhile语句
3.3.3for语句
3.3.4三种循环的比较及适用场合
3.3.5多重循环
3.4控制执行顺序的语句
3.4.1break语句
3.4.2continue语句
*3.4.3goto语句
*3.4.4exit和abort函数
3.5综合应用举例
练习题
第4章函数
4.1概述
4.2函数的定义与调用
4.2.1函数的定义
4.2.2函数的调用
4.2.3引用作为函数参数
4.3函数的嵌套调用
4.4函数的递归调用
4.5内联函数
4.6函数重载
4.7带有默认参数的函数
4.8局部变量和全局变量
4.8.1局部变量
4.8.2全局变量
4.9变量的存储类别
4.9.1变量的生存期和存储类别
4.9.2auto型变量
4.9.3static局部变量
4.9.4register型变量
4.9.5extern型变量
4.9.6用static声明全局变量
4.10内部函数和外部函数
4.10.1内部函数
4.10.2外部函数
练习题
第5章编译预处理
5.1宏定义
5.1.1不带参数的宏定义
5.1.2带参数的宏定义
5.2文件包含
5.3条件编译
练习题
第6章数组
6.1数组的定义和引用
6.1.1一维数组的定义
6.1.2一维数组的引用
6.1.3一维数组的初始化
6.1.4一维数组程序举例
6.2二维数组的定义和引用
6.2.1二维数组的定义
6.2.2二维数组的引用
6.2.3二维数组的初始化
6.2.4二维数组程序举例
6.3数组作为函数的参数
6.3.1数组元素作为函数的实参
6.3.2数组名作为函数的实参
6.3.3二维数组作为函数的参数
6.4字符数组
6.4.1字符数组的定义
6.4.2字符数组的初始化
6.4.3字符串和字符串结束标志
6.4.4字符数组的输入输出
6.4.5字符串处理函数
6.4.6字符数组的应用举例
练习题
第7章指针
7.1指针与地址
7.1.1指针概念
7.1.2指针变量的定义
7.1.3指针变量作为函数参数
7.2指针与一维数组
7.2.1通过指针引用一维数组中的元素
7.2.2通过指针在函数间传递一维数组
7.3字符指针与字符串
7.3.1字符数组与字符指针
7.3.2字符串操作的特点
7.4指针与函数
7.4.1函数指针变量
7.4.2指针型函数
7.5指针与二维数组
7.5.1二维数组的地址
7.5.2通过指针引用二维数组中的元素
7.6指针数组与指向指针的指针
7.6.1指针数组
7.6.2指向指针的指针
7.6.3多级指针小结
7.7const指针
7.8动态存储分配
练习题
第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.4枚举
8.5用typedef声明类型
练习题
第二部分面向对象程序设计基础
第9章类和对象
9.1面向对象程序设计概述
9.1.1面向对象
9.1.2面向对象中的主要概念
9.1.3面向对象的程序设计
9.2类的声明和对象的定义
9.2.1类的声明
9.2.2对象的定义
9.2.3对象成员的访问
9.2.4用类的指针访问对象成员
9.2.5用对象的引用变量访问对象成员
9.3重载类的成员函数
9.3.1重载类的成员函数
9.3.2默认参数的类的成员函数
9.4this指针
9.4.1this指针
9.4.2在成员函数中访问成员函数
9.5类和对象的应用举例
练习题
第10章构造函数和析构函数
10.1构造函数
10.1.1构造函数的作用
10.1.2构造函数重载
10.1.3默认的构造函数
10.2析构函数
10.3构造对象的顺序
10.4对象的动态建立和释放
10.5复制构造函数
10.6临时对象
10.7const成员与对象
10.7.1const成员
10.7.2常对象
10.8面向对象的程序设计应用举例
练习题
第11章静态成员与友元
11.1静态成员
11.2静态成员函数
11.3友元函数
11.3.1普通函数声明为类的友元函数
11.3.2其他类的成员函数声明为类的友元函数
11.4友元类
练习题
第12章运算符重载
12.1运算符重载的概念
12.2运算符重载为成员函数
12.2.1双目运算符重载为成员函数
12.2.2单目运算符重载为成员函数
12.2.3赋值运算符重载为成员函数
12.3运算符重载为友元函数
12.3.1双目运算符重载为友元函数
12.3.2单目运算符重载为友元函数
12.4类型转换运算符函数
12.5重载流插入和流提取运算符
12.6综合实例
练习题
第13章继承和派生
13.1继承与派生的概念
13.1.1继承与派生的概念
13.1.2派生类的定义
13.1.3派生类的三种继承方式
13.2派生类的构造函数和析构函数
13.2.1单继承派生类的构造函数
13.2.2多继承派生类的构造函数
13.2.3有子对象的派生类的构造函数
13.3继承的冲突与支配
13.3.1冲突
13.3.2支配
13.3.3赋值兼容规则
13.4虚基类
13.4.1虚基类的定义
13.4.2虚基类的初始化
练习题
第14章虚函数
14.1多态性的概念
14.2虚函数
14.3纯虚函数与抽象类
练习题
第15章输入输出流
15.1C++的输入输出流
15.1.1ios类的结构
15.1.2输入流
15.1.3输出流
15.2格式化的输入输出
15.2.1输入格式化
15.2.2输出格式化
15.3文件流
15.3.1文件的概念
15.3.2文件的打开与关闭
15.3.3对文本文件的操作
15.3.4对二进制文件的操作
15.4字符串流
练习题
*第16章C++工具
16.1模板
16.1.1模板的概念
16.1.2函数模板
16.1.3类模板
16.2异常处理
16.2.1异常的概念
16.2.2异常处理的机制
练习题
参考文献