第1章C++概述
1.1计算机语言的发展
1.1.1计算机语言简介
1.1.2C++的发展
1.2C++的特点
1.3C++的程序构成
1.3.1预处理命令
1.3.2函数体
1.3.3程序行
1.3.4程序注释
1.4C++运行环境
1.4.1运行环境简介
1.4.2C++程序创建
1.5本章教学案例
1.5.1输出字符信息
1.5.2用自定义函数输出字符信息
1.5.3两个数的和
1.5.4用自定义函数求两个数的和
1.5.5求圆的面积
1.5.6用自定义函数求圆的面积
1.5.7求一个数的绝对值
1.5.8用自定义函数求一个数的绝对值
1.6本章课外实验
第2章C++数据类型
2.1C++数据类型
2.1.1C++数据类型的构成
2.1.2C++数据类型的声明
2.2常量
2.2.1整型常量
2.2.2浮点型常量
2.2.3字符型常量
2.2.4字符串常量
2.2.5符号常量
2.2.6逻辑常量
2.3变量
2.3.1变量的定义
2.3.2变量的分类
2.4本章教学案例
2.4.1数据类型的宽度
2.4.2英寸转换成厘米
2.4.3十进制与其他进制的转换
2.4.4其他进制与十进制的转换
2.4.5用小数和指数形式输出变量值
2.4.6用符号常量计算圆面积
2.5本章课外实验
第3章C++运算符及表达式
3.1基本运算符与表达式
3.1.1算术运算符及表达式
3.1.2自增自减运算符
3.1.3pow函数
3.1.4强制类型转换函数
3.1.5数据长度运算符
3.2逻辑值运算符与表达式
3.2.1关系运算符及表达式
3.2.2逻辑运算符
3.3位运算符
3.4条件运算符与逗号表达式
3.4.1条件运算符
3.4.2逗号运算符
3.5赋值运算符及复合赋值运算符
3.5.1赋值运算符
3.5.2复合赋值运算符
3.6本章教学案例
3.6.1除法运算
3.6.2取余运算
3.6.3求商运算
3.6.4数位分解运算
3.6.5自增自减运算
3.6.6用pow函数计算数的次方
3.6.7左移与右移
3.6.8用条件运算符求最大值
3.7本章课外实验
第4章顺序结构与选择结构
4.1C++语句分类
4.1.1赋值语句
4.1.2声明语句
4.1.3表达式语句
4.1.4空语句
4.1.5复合语句
4.1.6函数调用语句
4.2数据的输入
4.2.1cin语句
4.2.2getchar函数
4.2.3scanf函数
4.3数据的输出
4.3.1cout语句
4.3.2putchar函数
4.3.3printf函数
4.4选择结构
4.4.1if语句
4.4.2if…else…语句
4.4.3if…else if…
4.4.4switch
4.5本章教学案例
4.5.1用三个数求最大值
4.5.2输入字母进行大小写转换
4.5.3复合语句变量作用范围
4.5.4运用putchar输出字符
4.5.5运用printf输出字符
4.5.6用八进制与十六进制数输入
4.5.7用小数与指数输入
4.5.8用字符常量输出
4.5.9用函数方程求解
4.5.10用if…else if计算货款打折
4.5.11用switch计算货款打折
4.6本章课后实验
第5章循环结构
5.1C++循环语句
5.1.1for循环
5.1.2while循环
5.1.3do循环
5.2跳转语句
5.2.1break语句
5.2.2continue语句
5.2.3goto语句
5.3本章教学案例
5.3.1用for循环求1~100的和
5.3.2用goto语句退出循环
5.3.3用while求1~100的和
5.3.4用break终止while循环
5.3.5用do…while循环求1~100的和
5.3.6用goto语句求1~100的和
5.3.7用while语句计算1~100奇数的和
5.3.8用do…while计算数列和
5.3.9用goto语句控制数列求和
5.3.10计算10!
5.3.11判断素数
5.3.12通过continue结束本次循环
5.3.13学生成绩计算
5.4本章课外实验
第6章一维数组与指针
6.1一维数组
6.1.1一维数组的定义
6.1.2一维数组的初始化
6.1.3一维数组下标的引用
6.2指针变量
6.2.1指针的含义
6.2.2指针变量的定义
6.3一维数组与指针变量
6.3.1首地址的确定
6.3.2首地址的下一个地址的表示方法
6.4本章教学案例
6.4.1用数组中的10个数求和
6.4.2fibonacci数列
6.4.3数组排序
6.4.4用数组进行学生成绩统计
6.4.5用数组存储数据
6.4.6通过指针变量分析一维数组
6.4.7通过指针变量计算10个数的和
6.5本章课外实验
第7章二维数组与指针
7.1二维数组
7.1.1二维数组的定义
7.1.2二维数组的初始化
7.1.3二维数组下标的引用
7.2二维数组的指针
7.3本章教学案例
7.3.1二维数组的输出
7.3.2二维数组每行最大数
7.3.3将一维数组转换成二维数组
7.3.4五行五列矩阵
7.3.5用二维数组指针输出地址及数据
7.3.6用指针变量求二维数组中的最大数
7.3.7用指针变量求二维数组中每行的和
7.4本章课外实验
第8章字符数组与指针
8.1字符串数组
8.1.1字符串一维数组
8.1.2字符串一维数组下标的引用
8.1.3字符串二维数组
8.1.4字符串数组的输入与输出
8.2字符串的string类型
8.2.1string字符串变量
8.2.2string字符串数组
8.3字符串常用函数
8.4字符串指针变量
8.4.1字符串指针变量的定义
8.4.2字符串指针下一个地址的表示方法
8.5本章教学案例
8.5.1字符串大小写转换
8.5.2字符分类统计
8.5.3字符串空格删除
8.5.4字符出现的次数
8.5.5字符串长度的计算
8.5.6字符串倒置
8.5.7字符串连接
8.5.8字符串指针地址
8.5.9英文的输入与输出
8.6本章课外实验
第9章自定义函数与参数传递
9.1自定义函数
9.1.1无参函数
9.1.2有参函数
9.2函数的调用
9.3参数传递
9.3.1按值传递
9.3.2按地址传递
9.3.3引用传递
9.4函数模板与函数重载
9.5函数的递归
9.6本章教学案例
9.6.1小写字母转换
9.6.2按值传递两个数
9.6.3按地址传递两个数
9.6.4按引用传递两个数
9.6.5大于M的K个素数
9.6.6通过函数模板求三个数中的最大数
9.6.7通过函数重载求三个数中的最大数
9.6.8用递归计算一个数的阶乘
9.7本章课外实验
第10章变量的作用域
10.1变量作用域
10.1.1局部变量
10.1.2全局变量
10.1.3变量作用域分类
10.2变量的存储类型
10.2.1自动变量
10.2.2静态变量
10.2.3寄存器变量
10.2.4外部变量
10.3内部函数与外部函数
10.3.1内部函数
10.3.2外部函数
10.4本章教学案例
10.4.1局部变量的应用
10.4.2全局变量的应用
10.4.3变量的作用域应用
10.4.4用静态变量求阶乘
10.4.5用外部变量求两个数的和
10.4.6用外部函数求一个数的阶乘
10.5本章课外实验
第11章结构体与共用体
11.1结构体概述
11.1.1结构体的概念
11.1.2结构体的定义格式
11.2结构体的使用
11.2.1定义结构体的方法
11.2.2结构体变量
11.3结构体数组与指针
11.3.1结构体数组的定义
11.3.2结构体数组的初始化
11.3.3结构体指针
11.4共用体
11.4.1共用体的格式
11.4.2共用体变量
11.5本章教学与案例
11.5.1用结构体输出三个学生(1)
11.5.2用结构体输出三个学生(2)
11.5.3用自定义结构体输入输出一个学生
11.5.4用结构体求三个学生的总分
11.5.5用结构体排序
11.5.6用结构体数组指针输出三个学生
11.6本章课外实验
第12章类与对象
12.1类与对象概述
12.1.1类与对象的概念
12.1.2对象的状态
12.2类与对象的创建
12.2.1类的创建
12.2.2对象的创建
12.2.3类的成员函数
12.3构造函数与析构函数
12.3.1构造函数
12.3.2析构函数
12.3.3构造函数的重载
12.4本章教学案例
12.4.1用学生类及类内定义输入输出成员函数
12.4.2用学生类及类外定义输入输出函数
12.4.3用三个数求最大数
12.4.4求梯形的面积
12.4.5用两个类处理学生成绩
12.4.6构造函数重载与析构函数应用
12.4.7计算子串在字符串中出现的次数
12.4.8构造函数与指针变量
12.5本章课外实验
第13章对象数组与指针
13.1对象数组
13.1.1对象数组的声明
13.1.2对象数组的引用
13.2对象指针
13.2.1类的指针变量
13.2.2对象指针
13.2.3this指针
13.3静态成员
13.3.1静态数据成员
13.3.2静态成员函数
13.4友元
13.4.1友元函数
13.4.2友元类
13.5本章教学案例
13.5.1用对象数组处理三个学生的成绩
13.5.2用对象数组求梯形的面积
13.5.3用对象数组指针计算三个学生成绩的和
13.5.4用常成员和常函数计算梯形的面积
13.5.5用静态成员求梯形的面积
13.5.6用友元函数输出最大数和最小数
13.6本章课外实验
第14章运算符重载
14.1运算重载概述
14.1.1运算符重载
14.1.2运算符重载定义
14.1.3运算符重载格式
14.2运算符重载与成员函数
14.2.1单目运算符重载为成员函数
14.2.2双目运算符重载为成员函数
14.3运算符重载与友元函数
14.3.1单目运算符重载为友元函数
14.3.2双目运算符重载为友元函数
14.4成员运算符函数与友元运算符函数的比较
14.4.1定义的差别
14.4.2调用的差别
14.5本章教学案例
14.5.1使用运算符重载,求复数的差
14.5.2使用运算符重载,求复数与实数的差
14.5.3通过运算符<,>,==重载,比较两个字符串的大小
14.5.4重载调用运算符()
14.5.5重载下标运算符
14.5.6重载复数加法(+)和赋值(=)
14.5.7用友元函数重载运算符
14.5.8用友元函数方式重载插入运算符“<<”
14.6本章课外实验
第15章继承与派生
15.1继承与派生概述
15.1.1继承与派生的概念
15.1.2派生类的声明方式
15.1.3派生类的构成
15.1.4派生类的访问权限
15.1.5派生类构造函数和析构函数的构建
15.1.6派生类构造函数和析构函数的执行顺序
15.1.7基类与派生类的赋值兼容
15.2多重继承
15.2.1多重继承的声明
15.2.2多重继承的构造函数和析构函数
15.2.3多重继承的二义性
15.3虚基类与继承组合
15.3.1虚基类的定义
15.3.2虚基类的构造与析构
15.3.3继承与组合
15.4本章教学案例
15.4.1通过继承学生类来实现研究生类
15.4.2公有继承访问权限
15.4.3私有继承访问权限
15.4.4保护继承访问权限
15.4.5派生类的构造顺序和析构顺序
15.4.6基类与派生类的赋值兼容
15.4.7类的多继承
15.4.8虚拟继承与虚基类
15.4.9继承与组合
15.5本章课外实验
第16章多态性与虚函数
16.1多态
16.1.1多态的概念与作用
16.1.2多态的实现方法
16.2虚函数
16.2.1虚函数的引入
16.2.2虚函数的定义
16.2.3虚函数的使用
16.3静态联编与动态联编
16.3.1联编的概念
16.3.2静态联编与动态联编
16.3.3静态的多态性和动态多态性
16.3.4动态联编实现原理
16.4纯虚函数与抽象类
16.4.1纯虚函数
16.4.2抽象类
16.5本章教学案例
16.5.1没有虚函数的情况下继承学生类来实现研究生类
16.5.2有虚函数的情况下继承学生类来实现研究生类
16.5.3学习纯虚函数、抽象类的定义与使用
16.6本章课外实验
第17章文件的输入与输出
17.1C++流类库
17.1.1基本I/O流类库
17.1.2文件I/O流类库
17.1.3字符串I/O流类库
17.2文件流
17.2.1文件的概念
17.2.2文件指针与文件对象
17.3文件的读写操作
17.3.1使用指针读写文件
17.3.2用文件对象读写文件
17.3.3文件尾函数
17.4顺序文件读写
17.4.1数值数据的读写
17.4.2字符数据的读写
17.4.3字符串数据的读写
17.5二进制文件的读写
17.5.1二进制文件的读写操作
17.5.2二进制随机文件读写
17.6本章教学案例
17.6.1利用文件指针写1~100的数
17.6.2利用文件对象写1~100的数
17.6.3利用文件指针读数据
17.6.4利用文件对象读数据
17.6.5利用文件指针写字符
17.6.6利用文件指针读字符
17.6.7利用文件对象写字符
17.6.8利用文件对象读字符
17.6.9利用文件指针写字符串
17.6.10利用文件指针读字符串
17.6.11利用文件对象写字符串
17.6.12利用文件对象读字符串
17.7本章课外实验
附录A课外实验参考答案
附录BC/C++头文件
附录C7位基本ASCⅡ码表
附录DC++运算符
参考文献