出版社:中国矿业大学出版社
年代:2015
定价:35.0
本书包括从人机需求到C++语言,欲善其事先利其器,简单数据的描述和处理,结构化编程和程序组织,复合数据的描述和处理,描述和使用对象,对象的组合和继承,泛化数据类型:模板与泛型编程。
前言
第1章 从人机需求到C++语言
1.1 人类如何求解问题?
1.1.1 自己动手:过程化思维
1.1.2 求助他人:面向对象思维
1.1.3 发明炒菜机:泛型思维
1.2 计算机如何执行程序?
1.2.1 计算机的工作原理
1.2.2 存储器的逻辑结构
1.3 从人机需求到计算机语言
1.3.1 计算机母语:机器语言
1.3.2 引入助记符:汇编语言
1.3.3 满足人的需求:高级语言
1.4 从人机需求到C++语言
1.4.1 C++过程化思维篇
1.4.2 C++面向对象思维篇
1.4.3 C++语言泛型思维篇
1.5 章节小结
习题
第2章 欲善其事先利其器
2.1 编写素数判定程序
2.1.1 新建工程和C++源文件
2.1.2 C++程序的一般结构
2.1.3 编写素数判定程序
2.1.4 程序组织和编译链接
2.2 C++程序概览
2.2.1 C++程序是字符序列
2.2.2 C++程序是单词序列
2.2.3 C++程序是语句序列
2.2.4 C++程序是函数集合
2.2.5 C++程序是一组文件
2.3 章节小结
习题
第一篇 过程化思维篇
第3章 简单数据的描述和处理
3.1 描述简单数据
3.1.1 描述数据的人机需求
3.1.2 约定数据规格:数据类型
3.1.3 描述字面数据:字面量
3.1.4 描述可变数据:变量
3.2 数据的基本运算处理
3.2.1 C++语言的表达式
3.2.2 C++运算符及其表达式
3.2.3 表达式的类型转换规则
3.2.4 运算符和表达式小结
3.3 控制数据处理流程
3.3.1 选择:“如果一就”
3.3.2 循环:“如果一就反复执行”
3.3.3 控制流程的跳转
3.4 数据输入输出处理
3.4.1 输入输出流的概念
3.4.2 键盘输入处理:cin
3.4.3 屏幕输出处理:cout
3.4.4 输入输出格式控制
3.4.5 文件输入输出处理
3.5 数据处理机器:函数
3.5.1 从数据处理机器到函数
3.5.2 制造数据处理机器:定义函数
3.5.3 使用数据处理机器:调用函数
3.5.4 函数调用的形参生成
3.5.5 函数嵌套和递归
3.5.6 函数内联(inline)
3.5.7 函数重载和默认参数值
3.6 章节小结
习题
第4章 结构化编程和程序组织
4.1 结构化编程思想实践
4.1.1 进制转换演示程序
4.1.2 函数就地声明的问题
4.1.3 头文件集中声明
4.2 程序的多文件组织结构
4.2.1 多文件组织程序
4.2.2 独立编译和多目标链接
4.3 作用域和生存期
4.3.1 作用域:程序实体存在的空间范围
4.3.2 生存期:程序实体存在的时间范围
4.3.3 作用域和生存期小结
4.3.4 多文件共享程序实体:链接性
4.4 避免全局冲突:名字空间
4.4.1 全局程序实体的冲突问题
4.4.2 名字空间
4.4.3 C++标准名字空间
4.5 章节小结
习题
第5章 复合数据的描述和处理
第二篇 面向对象思维篇
第6章 描述和使用对象
第7章 对象的组合和继承
第三篇 泛型思维篇
第8章 泛化数据类型:模板与泛型编程
《C++语言探索发现学习教程》力图在人机需求的框架下通过理性思维的引导对C++语言的内容进行推理、组织以及编排。因此,《C++语言探索发现学习教程》第一章至关重要,梳理阐述人机需求,即人描述问题求解思路的需求和计算机理解执行程序的需求,然后从人机需求出发推理构建C++语言的知识结构,进而奠定《C++语言探索发现学习教程》的整体框架。
在本章中,我们通过一个现实生活中的示例,分析人类是如何求解问题的,总结人类求解问题的三种思维模式(过程化、面向对象和泛型思维),说明在这三种思维模式下的问题求解思路有哪些步骤和环节,从而确定我们描述这三类问题求解思路的需求,当然C++语言应该提供相应的语法工具和设施来满足这些需求。
进而,通过与工厂进行类比,说明计算机具有什么样的逻辑结构,以及在该逻辑结构下计算机是如何理解和执行程序的,即计算机的逻辑结构和工作原理。计算机的逻辑结构和工作原理,决定了计算机理解和执行程序需要哪些必要的信息,C++语言的语法工具必须能够为计算机理解和执行程序提供这些必要信息。
本章最后,我们从人和计算机的需求出发,分析推理从人机需求到语言知识的因果链路,构建C++语言的知识结构,厘清《C++语言探索发现学习教程》的总体组织框架。
“工欲善其事,必先利其器。”因此,在接下来的第二章,我们直接切入实践环节,通过编写程序求解素数判定问题,在实践中掌握VisualC++编程工具的使用方法,体会程序的编译链接调试等环节,并且认识一下C++程序。
此后,从第三章开始,我们分别针对过程化、面向对象和泛型三种思维模式,深入阐述其描述问题求解思路有哪些需求,C++语言又为之提供了哪些语法工具。