扫描二维码,下载手机APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038

C++高级程序设计-(第二版)

综合评级:
★★★★★

定价:
¥69.80

作者:
田秀霞

出版社:
清华大学

出版日期:
2016/07/01

页数:
574

ISBN:
9787302429807

书籍介绍

本书在讲授c 语言基础和编程知识部分的每一章最后,都有一个典型而且实用的编程案例,内容涉及计算机、信息安全、网络安全等领域的经典算法和管理系统设计中的基础用例,从而使读者在解决实际问题中有所借鉴。在最后一章融入了大型企业开发经验,作者结合在全球eda主导企业synopsys的研发经历,在项目开发的角度对各项流程、要求、模式和规范总结成文,可以帮助广大的初学者运用c 知识轻松步入研发岗位。

本书的组织吸纳了mooc的教育思想,融合了多个课程建设项目(如c 校精品课程,c 上海市重点课程建设(结题优秀))和教学研究课题的成果,以本书内容为主导的c 课程获“上海市精品课程”称号。

目录

第1章绪论

1.1计算机程序设计语言

1.1.1程序设计语言的演变

1.1.2C 程序设计语言的发展

1.2程序设计方法

1.2.1面向过程程序设计

1.2.2面向对象程序设计

1.3计算机信息的存储与表示

1.3.1数据在计算机中的表示

1.3.2数据单位

1.3.3不同形式数据的表示方法

1.4C 程序结构与开发过程

1.4.1C 程序的开发流程

1.4.2**个C 程序

1.4.3C 程序设计环境

1.4.4带命令行参数的程序

1.5C 的词和规则

1.5.1C 的字符集

1.5.2词与词法规则

1.6编程实例——程序设计方法比较

习题1

第2章数据类型、表达式与基本输入输出

2.1数据类型基本概念

2.1.1C 数据类型的种类

2.1.2整型和实型

2.1.3数值的范围

2.1.4有符号数和无符号数

2.1.5有符号数和无符号数的范围区别

2.1.6本章用到的关键字

2.2C 基本数据类型

2.2.1整型、实型和字符型

2.2.2布尔型和无类型

2.2.3为数据类型起别名

2.2.4sizeof的使用

2.3变量

2.3.1变量概述

2.3.2变量的定义

2.3.3赋值语句

2.3.4变量的初始化

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.2const与#define的比较

2.6基本输入输出

2.6.1cout输出流

2.6.2cin输入流

2.7运算符和表达式

2.7.1C 语言运算符的种类

2.7.2算术运算符

2.7.3赋值运算符

2.7.4关系运算符

2.7.5逻辑运算符

2.7.6位运算符

2.7.7条件运算符

2.7.8逗号运算符

2.7.9运算符的优先级及结合性

2.8编程实例——获取IP地址并计算网络号等信息

2.8.1背景

2.8.2源代码及程序解释

习题2

第3章语句和控制结构

3.1顺序结构

3.1.1表达式语句

3.1.2函数调用语句

3.1.3复合语句

3.1.4空语句

3.1.5赋值语句

3.2选择结构

3.2.1if…else语句和if语句

3.2.2多路分支

3.2.3程序应用举例

3.3循环结构

3.3.1while语句

3.3.2do…while语句

3.3.3for语句

3.3.43种循环语句的选用

3.3.5循环的嵌套

3.4控制转移

3.4.1break语句

3.4.2continue语句

3.4.3goto语句

3.4.4return语句

3.5编程实例——凯撒加/解密和维吉尼亚加/解密

3.5.1背景

3.5.2源代码及程序解释

习题3

第4章函数

4.1函数概述

4.2预定义函数

4.3自定义函数

4.3.1函数的定义

4.3.2函数的返回值

4.3.3函数参数和传值调用

4.3.4函数定义和函数声明的区别

4.4函数的重载

4.5带默认参数的函数

4.6内联函数

4.7函数的嵌套调用

4.8函数的递归调用

4.9局部变量与全局变量

4.10变量的存储类别

4.10.1自动变量

4.10.2静态局部变量

4.10.3寄存器变量

4.10.4外部变量和静态外部变量

4.11预处理命令

4.11.1文件包含

4.11.2条件编译

4.12编程实例——Hanoi(汉诺)塔问题

习题4

第5章数组

5.1一维数组

5.1.1定义和引用一维数组

5.1.2数组的初始化

5.1.3数组下标越界

5.1.4一维数组和循环

5.1.5一维数组的应用

5.2多维数组

5.2.1定义和引用二维数组

5.2.2二维数组的初始化

5.2.3二维数组的应用

5.2.4多维数组简单介绍

5.3字符数组

5.3.1定义和引用一维字符数组

5.3.2一维字符数组的初始化

5.3.3多维字符数组

5.3.4字符数组的输入与输出

5.3.5字符数组处理函数

5.4string类型

5.4.1定义和初始化string类型变量

5.4.2string对象的使用

5.5数组在函数中的应用

5.5.1数组元素作为函数参数

5.5.2整个数组作为函数参数

5.6编程实例——大整数加减运算

5.6.1设计思路

5.6.2源代码和程序解释

习题5

第6章指针和引用

6.1指针与指针变量

6.1.1指针的概念

6.1.2定义指针变量

6.1.3引用指针变量

6.1.4无名变量

6.1.5指针作为函数参数

6.2数组与指针

6.2.1指向数组元素的指针

6.2.2指针变量作为函数参数接收数组地址

6.3字符串与指针

6.4const修饰指针

6.4.1指向常量的指针

6.4.2指针常量

6.5引用

6.5.1引用的基本概念

6.5.2引用的应用

6.6动态数组

6.7其他指针

6.7.1函数指针

6.7.2指向指针的指针

6.7.3指针数组

6.8编程实例——选择法排序

习题6

第7章自定义数据类型

7.1结构体类型

7.1.1结构体类型的声明

7.1.2结构体变量的定义、初始化及使用

7.1.3结构体数组的定义、初始化及使用

7.1.4结构体作为函数参数

7.2共用体

7.2.1共用体变量的定义与初始化

7.2.2共用体变量的使用

7.3枚举类型

7.3.1枚举类型变量的定义与初始化

7.3.2枚举类型变量的使用

7.4typedef声明

7.5编程实例——递归下降语法分析器

7.5.1算法介绍

7.5.2程序源代码

习题7

第8章类

8.1类的声明

8.1.1类类型的声明

8.1.2对象的定义

8.1.3类的访问属性

8.1.4取值函数和赋值函数

8.1.5内联成员函数

8.1.6this指针

8.2构造函数和析构函数

8.2.1构造函数

8.2.2拷贝构造函数

8.2.3析构函数

8.3组合对象

8.3.1组合对象概述

8.3.2构造函数和析构函数在组合对象中的使用

8.4对象数组

8.4.1对象数组的定义

8.4.2对象数组的初始化

8.5对象指针

8.5.1对象指针的定义与使用

8.5.2指向对象成员的指针

8.6编程实例——学生成绩排名

8.6.1算法介绍

8.6.2程序源代码

习题8

第9章静态成员与友元

9.1变量的使用

9.1.1作用域

9.1.2可见性

9.1.3生存期

9.2类的静态成员

9.2.1静态数据成员

9.2.2静态成员函数

9.3类的友元

9.3.1友元函数

9.3.2友元类

9.4const修饰符

9.4.1const修饰变量

9.4.2const修饰引用

9.4.3const修饰对象

9.4.4const修饰类中的成员

9.5编程实例——缓冲区溢出

9.5.1背景

9.5.2程序源代码

习题9

第10章运算符重载

10.1重载二元运算符

10.1.1成员函数实现运算符重载

10.1.2友元函数实现运算符重载

10.2重载一元运算符

10.3和运算符重载

10.4重载运算符限制与设计规则

10.5编程实例——矩阵及向量间的运算

10.5.1背景

10.5.2程序源代码

习题10

第11章继承与派生

11.1类的继承与派生

11.1.1继承与派生的概念

11.1.2派生类的声明

11.1.3继承方式

11.1.4派生类中的构造函数和析构函数

11.1.5重定义成员函数

11.1.6构造函数和析构函数的调用顺序

11.2二义性问题

11.3虚基类

11.3.1虚基类的声明

11.3.2虚基类的构造函数

11.4编程实例——银行账户管理系统

11.4.1需求分析与数据结构设计

11.4.2程序源代码

习题11

第12章多态

12.1upcast

12.2后期绑定与虚函数

12.3重新定义和超载

12.4VPTR和VTABLE

12.5关于运算效率的考虑

12.6纯虚函数与抽象类

12.7纯虚函数的定义

12.8编程实例——虚函数实现求不同图形的面积

习题12

第13章输入输出流

13.1流的概念

13.1.1与I/O流类库有关的头文件

13.1.2iostream头文件中的重载运算符

13.2输入输出格式控制

13.2.1iOS类中的枚举常量

13.2.2ios类中的成员函数

13.2.3iomanip头文件中的控制符

13.3字符I/O

13.3.1get函数

13.3.2put函数

13.3.3getline函数

13.4其他成员函数

13.4.1ignore函数

13.4.2eof函数

13.4.3peek函数

13.4.4putback函数

13.5文件和文件I/O

13.5.1文件的概念

13.5.2文件流类与文件流对象

13.5.3文件的打开与关闭

13.5.4I/O对象的条件状态

13.5.5ASCII文件的访问

13.5.6二进制文件的访问(选读)

13.6编程实例——ini文件的读/写

13.6.1ini文件结构

13.6.2源代码和程序解释

习题13

第14章模板

14.1函数模板

14.1.1函数模板的定义

14.1.2函数模板的应用

14.2类模板

14.2.1类模板的定义

14.2.2类模板的应用

14.3编程实例——复数类的定义和实现

习题14

第15章链表

15.1链表概述

15.2单链表类的定义

15.3链表结点的访问

15.4链表结点的插入

15.5链表结点的删除

15.6链表实例——简单的链表操作

习题15

第16章异常处理

16.1C 错误处理

16.2C 异常处理机制

16.2.1异常处理机制的3个部分

16.2.2异常处理的语法

16.2.3自定义异常类

16.2.4多个throw和catch

16.2.5catch(…)

16.2.6异常规范

16.3编程实例——病毒的自我复制

习题16

第17章项目开发指南

17.1项目管理基础

17.1.1项目与项目管理

17.1.2项目流程

17.1.3项目实施管理

17.2项目开发团队

17.2.1项目团队组成

17.2.2项目团队要求

17.3项目的研发

17.3.1软件版本控制

17.3.2程序编写规范

17.3.3功能设计说明书的撰写

17.3.4程序设计与实现

17.3.5单元测试

17.3.6提交代码

17.3.7功能维护

习题17

参考文献