《C++程式设计实用案例驱动教程(第二版)》是2015年由清华大学出版社出版社出版的图书,作者是徐军、邢海峰。
基本介绍
- 书名C++程式设计实用案例驱动教程
- 作者徐军、邢海峰
- ISBN9787302388104
- 定价34.5元
- 出版社清华大学出版社
- 出版时间2015年1月20日
- 装帧平装
图书简介
C++是目前高校中普遍开设的一门程式设计基础课,本书是作者结合自己学习和使用C++语言的经验和感悟,用最简洁的语言去阐述原理,以案例驱动的编程思路去编排全书内容,由浅入深,循序渐进,通俗易懂。为了提高读者的学习兴趣,本书对语言知识的理论介绍也通过案例程式加以消化,而且辅以运行时的输入输出示例截图,直观明了。每个章节的课后均有针对本章节精心设计的课外实验,学生可以边学边练,加强理解,提高兴趣。
本书既可以作为普通高等院校开设的C++程式设计课程教材,也可作为教师教学参考书,即使没有教师讲授,也可以读懂教材中的内容; 可作为初学者自学教材,还可以作为从事计算机套用的各类工程技术人员的参考书; 对于参加全国计算机等级考试的学生也具有一定的参考价值。
图书目录
第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本章课外实验
1.6.1计算梯形的面积
1.6.2用自定义函式计算梯形的面积
1.6.3用自定义函式进行算术四则运算
第2章C++数据类型
2.1C++数据类型概述
2.1.1C++数据类型的构成
2.1.2C++数据类型的声明
2.2C++常量
2.2.1整型常量
2.2.2浮点型常量
2.2.3字元型常量
2.2.4字元串常量
2.2.5符号常量
2.2.6逻辑常量
2.3C++变数
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本章课外实验
2.5.1计算圆的周长和面积
2.5.2不同数据类型的赋值
第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本章课外实验
3.7.1数据位运算
3.7.2计算表达式的值
3.7.3条件运算符求绝对值
3.7.4逗号表达式的计算
3.7.5条件运算符判断成绩等级
第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…elseif…语句
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…elseif计算货款打折
4.5.11用switch计算货款打折
4.6本章课后实验
4.6.1不用自定义函式求三个数中的最大数
4.6.2计算三角形的面积
4.6.3一元二次方程求解
4.6.4用条件运算符求三个数中的最大数
4.6.5用条件运算符计算函式y的值
4.6.6用switch语句判断成绩等级
4.6.7用if语句判断计算运费
4.6.8用switch语句判断计算运费
第5章循环结构
5.1C++循环语句
5.1.1for循环
5.1.2while循环
5.1.3do循环
5.2C++跳转语句
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本章课外实验
5.4.1输出10~20间的素数
5.4.2求Fibonacci数列的前40项
5.4.3输出九九乘法表
5.4.4计算多项式的和
5.4.5输出三位数的水仙花数
5.4.6猴子吃桃
5.4.7百钱百鸡
5.4.8鸡兔同笼
5.4.9三位数的迴文数
5.4.10同构数
5.4.11最大公约数与最低公倍数
第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本章课外实验
6.5.1数组逆序输出
6.5.2冒泡法排序
6.5.3两个数互换
6.5.4指针变数排序
6.5.5数组与指针变数
6.5.6用指针变数计算最大值和最小值
第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本章课外实验
7.4.1计算数组每行的和
7.4.2计算数组每行的平均值
7.4.3数组行列互换
7.4.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本章课外实验
8.6.126个大写英文字母存入数组
8.6.2字元串连线
8.6.3查找相同的字元
8.6.4相同字元的删除
8.6.5字元串中的最大字元
8.6.6计运算元串的个数
8.6.7字元串排序
第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本章课外实验
9.7.1完全平方数
9.7.2计算整数部分和小数部分之和
9.7.3计算相同字元的个数
9.7.4字元串左移
9.7.5数的整除
9.7.6递归求和
9.7.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本章课外实验
10.5.1递归计算1~100的和
10.5.2偶数分解成两个素数的和
10.5.3插入排序
10.5.4计算字元串的长度
第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本章课外实验
11.6.1指针变数计算成绩总分
11.6.2指针变数输入数据计算总分
11.6.3结构体数组排序
11.6.4结构体计算总分
第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本章课外实验
12.5.1学生类的套用
12.5.2通过成员函式计算字元串的长度
12.5.3构造函式重载求三个数的最大数
12.5.4成员函式计算二维数值每行的最大数
12.5.5成员函式与文本档案的读写
12.5.6成员函式对字元串进行大小写转换
第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本章课外实验
13.6.1对象数组计算梯形的面积
13.6.2对象指针计算成绩和
13.6.3静态数据成员计算梯形的面积
13.6.4友元函式计算三个数的和
第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本章课外实验
14.6.1运算符“-”和“+”的重载
14.6.2自增“++”运算符的重载
14.6.3算术运算符的重载
14.6.4“”和“”运算符的重载
第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本章课外实验
15.5.1圆类的套用
15.5.2点类的套用
15.5.3ABC类的继承
15.5.4父类的继承
15.5.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本章课外实验
16.6.1形状类的派生
16.6.2动物类的派生
第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本章课外实验
17.7.1档案指针写入被3和7整除的数
17.7.2档案对象写入被3和7整除的数
17.7.3档案指针写入1~100的奇数
17.7.4档案对象写入1~100的奇数
17.7.5把两位数的素数写入文本档案
17.7.6文本档案字元的读取
17.7.7将四位数中数位全是偶数的写入文本档案
17.7.8一元二次方程求解
附录A课外实验参考答案
附录BC/C++头档案
附录C7位基本ASCII码錶
附录DC++运算符
参考文献