C++程序设计(原理与实践基础篇原书第2版)/计算机科学丛书

C++程序设计(原理与实践基础篇原书第2版)/计算机科学丛书 pdf epub mobi txt 电子书 下载 2026

出版者:机械工业出版社
作者:[美] Bjarne Stroustrup
出品人:
页数:401
译者:任明明
出版时间:2017-4-1
价格:99.00元
装帧:平装
isbn号码:9787111562252
丛书系列:计算机科学丛书
图书标签:
  • C++
  • 计算机
  • 计算机科学
  • 程序设计
  • C/C++
  • 编程
  • *C++
  • -美国
  • C++
  • 程序设计
  • 计算机科学
  • 教材
  • 编程
  • 入门
  • 基础
  • 算法
  • 数据结构
  • 原书
  • 第2版
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

C++之父BjarneStroustrup的经典著作《C++程序设计:原理与实践(原书第2版)》基于新的C++11和C++14,广泛地介绍了程序设计的基本概念和技术,包括类型系统、算术运算、控制结构、错误处理等;介绍了从键盘和文件获取数值和文本数据的方法以及以图形化方式表示数值数据、文本和几何图形;介绍了C++标准库中的容器(如向量、列表、映射)和算法(如排序、查找和内积)的设计和使用。同时还对C++思想和历史进行了详细的讨论,很好地拓宽了读者的视野。为方便读者循序渐进地学习,加上篇幅所限,《C++程序设计:原理与实践(原书第2版)》分为基础篇和进阶篇两册出版,基础篇包括第1~11章、第17~19章和附录A、C,进阶篇包括第12~16章、第20~27章和附录B、D、E。本书是基础篇。本书通俗易懂、实例丰富,可作为大学计算机、电子工程、信息科学等相关专业的教材,也可供相关专业人员参考。

作者简介

作者:(美国)本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup) 译者:任明明 王刚 李忠伟

本贾尼·斯特劳斯特鲁普(Bjarne Stroustrup),英国剑桥大学计算机科学博士,C++的设计者和最初的实现者。他现在是德州农工大学计算机科学首席教授。1993年,由于在C++领域的重大贡献,他获得了ACM的Grace Murray Hopper大奖并成为ACM院士。在进入学术界之前,他在AT&T贝尔实验室工作,是ISO C++标准委员会的创始人之一。

目录信息

出版者的话
译者序
前言
引言
作者简介
第1章计算机、人与程序设计
1.1简介
1.2软件
1.3人
1.4计算机科学
1.5计算机已无处不在
1.5.1有屏幕和无屏幕
1.5.2船舶
1.5.3电信
1.5.4医疗
1.5.5信息领域
1.5.6一种垂直的视角
1.5.7与C++程序设计有何联系
1.6程序员的理想境界
思考题
术语
习题
附言
第2章Hello,World!
2.1程序
2.2经典的第一个程序
2.3编译
2.4链接
2.5编程环境
简单练习
思考题
术语
习题
附言
第3章对象、类型和值
3.1输入
3.2变量
3.3输入和类型
3.4运算和运算符
3.5赋值和初始化
3.5.1实例:检测重复单词
3.6复合赋值运算符
3.6.1实例:重复单词计数
3.7命名
3.8类型和对象
3.9类型安全
3.9.1安全转换
3.9.2不安全转换
简单练习
思考题
术语
习题
附言
第4章计算
4.1简介
4.2目标和工具
4.3表达式
4.3.1常量表达式
4.3.2运算符
4.3.3类型转换
4.4语句
4.4.1选择语句
4.4.2循环语句
4.5函数
4.5.1为什么使用函数
4.5.2函数声明
4.6VeCtor
4.6.1遍历一个vector
4.6.2vector空间增长
4.6.3一个数值计算实例
4.6.4一个文本实例
4.7语言特性
简单练习
思考题
术语
习题
附言
第5章错误
5.1简介
5.2错误的来源
5.3编译时错误
5.3.1语法错误
5.3.2类型错误
5.3.3警告
5.4链接时错误
5.5运行时错误
5.5.1调用者处理错误
5.5.2被调用者处理错误
5.5.3报告错误
5.6异常
5.6.1参数错误
5.6.2范围错误
5.6.3输入错误
5.6.4窄化错误
5.7逻辑错误
5.8估计
5.9调试
5.9.1实用调试建议
5.10前置条件和后置条件
5.10.1后置条件
5.11测试
简单练习
思考题
术语
习题
附言
第6章编写一个程序
6.1一个问题
6.2对问题的思考
6.2.1程序设计的几个阶段
6.2.2策略
6.3回到计算器问题
6.3.1第一步尝试
6.3.2单词
6.3.3实现单词
6.3.4使用单词
6.3.5重新开始
6.4文法
6.4.1英文文法
6.4.2设计一个文法
6.5将文法转换为程序
6.5.1实现文法规则
6.5.2表达式
6.5.3项
6.5.4基本表达式
6.6试验第一个版本
6.7试验第二个版本
6.8单词流
6.8.1实现Tbken—stream
6.8.2读单词
6.8.3读数值
6.9程序结构
简单练习
思考题
术语
习题
附言
第7章完成一个程序
7.1简介
7.2输入和输出
7.3错误处理
7.4处理负数
7.5模运算%
7.6清理代码
7.6.1符号常量
7.6.2使用函数
7.6.3代码布局
7.6.4注释
7.7错误恢复
7.8变量
7.8.1变量和定义
7.8.2引入name单词
7.8.3预定义名字
7.8.4我们到达目的地了吗
简单练习
思考题
术语
习题
附言
第8章函数相关的技术细节
8.1技术细节
8.2声明和定义
8.2.1声明的类别
8.2.2变量和常量声明
8.2.3默认初始化
8.3头文件
8.4作用域
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.9constexpr函数
8.6计算顺序
8.6.1表达式计算
8.6.2全局初始化
8.7名字空间
8.7.1using声明和using指令
简单练习
思考题
术语
习题
附言
第9章类相关的技术细节
9.1用户白定义类型
9.2类和成员
9.3接口和实现
9.4演化一个类
9.4.1结构和函数
9.4.2成员函数和构造函数
9.4.3保持细节私有性
9.4.4定义成员函数
9.4.5引用当前对象
9.4.6报告错误
9.5枚举类型
9.5.1“平坦”枚举
9.6运算符重载
9.7类接口
9.7.1参数类型
9.7.2拷贝
9.7.3默认构造函数
9.7.4const成员函数
9.7.5类成员和“辅助函数”
9.8Date类
简单练习
思考题
术语
习题
附言
第10章输入输出流
10.1输入和输出
10.2I/O流模型
10.3文件
10.4打开文件
10.5读写文件
10.6I/O错误处理
10.7读取单个值
10.7.1将程序分解为易管理的子模块
10.7.2将人机对话从函数中分离
10.8用户自定义输出运算符
10.9用户自定义输入运算符
10.10一个标准的输入循环
10.11读取结构化的文件
10.11.1在内存中的表示
10.11.2读取结构化的值
10.11.3改变表示方法
练习
思考题
术语
习题
附言
第11章定制输入输出
11.1有规律的与无规律的输入和输出
11.2格式化输出
11.2.1输出整数
11.2.2输入整数
11.2.3输出浮点数
11.2.4精度
11.2.5域
11.3打开和定位文件
11.3.1文件打开模式
11.3.2二进制文件
11.3.3在文件中定位
11.4字符串流
11.5面向行的输入
11.6字符分类
11.7使用非标准分隔符
11.8更多未讨论内容
简单练习
思考题
术语
习题
附言
第12章向量和自由空间
12.1简介
12.2vector的基本知识
12.3内存、地址和指针
12.3.1sizeof运算符
12.4自由空间和指针
12.4.1自由空间分配
12.4.2通过指针访问数据
12.4.3指针范围
12.4.4初始化
12.4.5空指针
12.4.6自由空间释放
12.5析构函数
12.5.1生成的析构函数
12.5.2析构函数和自由空间
12.6访问元素
12.7指向类对象的指针
12.8类型混用:void*和类犁转换
12.9指针和引用
12.9.1指针参数和引用参数
12.9.2指针、引用和继承
12.9.3实例:链表
12.9.4链表操作
12.9.5链表的使用
12.10this指针
12.10.1关于链表使用的更多讨论
简单练习
思考题
术语
习题
附言
第13章向量和数组
13.1简介
13.2初始化
13.3拷贝
13.3.1拷贝构造函数
13.3.2拷贝赋值
13.3.3拷贝术语
13.3.4移动
13.4必要的操作
13.4.1显式构造函数
13.4.2调试构造函数和析构函数
13.5访问vector元素
13.5.1对const向量重载运算符
13.6数组
13.6.1指向数组元素的指针
13.6.2指针和数组
13.6.3数组初始化
13.6.4指针问题
13.7实例:回文
13.7.1使用string实现回文
13.7.2使用数组实现回文
13.7.3使用指针实现回文
简单练习
思考题
术语
习题
附言
第14章向量、模板和异常
14.1问题
14.2改变大小
14.2.1表示方式
14.2.2reserve和capaclty
14.2.3resize
14.2.4push_back
14.2.5赋值
14.2.6到目前为止的vector类
14.3模板
14.3.1类型作为模板参数
14.3.2泛型编程
14.3.3概念
14.3.4容器和继承
14.3.5整数作为模板参数
14.3.6模板实参推断
14.3.7泛化vector
14.4范围检查和异常
14.4.1旁白:设计上的考虑
14.4.2坦白:使用宏
14.5资源和异常
14.5.1潜在的资源管理问题
14.5.2资源获取即初始化
14.5.3保证
14.5.4unique_ptr
14.5.5以移动方式返回结果
14.5.6vector类的RAⅡ
简单练习
思考题
术语
习题
附言
附录AC++语言概要
附录BVisual Studio简要入门教程
术语表
参考文献
· · · · · · (收起)

读后感

评分

概括来说,这是一本以C++为载体讲述如何学习程序设计的书。书的起始(第0章),作者在表明了对一些常见学习程序设计思路的不认同后,表达了在方法论层面上自己对如何学习程序设计的观点:在程序设计的实践中学习程序设计。随后,作者以学习C++程序设计为例演示了这样的一个学习...  

评分

这本书是Bjarne爷爷用C++来教授程序设计原理的书,放在第一位的应该是“程序设计”,而不是C++。 在这本书出来前,我心中C++入门最佳选择一直是Andrew Koenig夫妇的《Accelerated C++》。然而我入行稍早了几年,错过了阅读Bjarne爷爷这本新作的最佳时间,当然书中仍然有许多非...  

评分

“师傅领进门,修行靠个人”,首先应选好“师傅”,才是捷径之选!好的师傅,一定能带出好的学生。 我在上大学时,编程学得很糟,现在看来,没选对教材是最直接的原因之一,加之自己的悟性不够,对自身要求也不够严格,致使学无所得,后悔呀! 这本书语言通俗易懂,理论与实践...  

评分

首先声明我不是什么技术牛人,以下评论都只是我的阅读的感受,非常可能有些武断言论与评价,请谅解。我在学校学过C++用过一本清华的教材,之前学过C是我入门语言,后来学过JAVA、JS,自学过PHP,了解过一些C#,Perl,Python,即将毕业没做过什么大项目,以上是我的技术背景,下...  

评分

用户评价

评分

说实话,我买了很多本关于C++的书,大多都是浅尝辄止,或者侧重于某个特定库的使用,真正能系统梳理C++核心思想的少之又少。这本《C++程序设计》的独特之处在于它的“深度优先”策略。它没有急于炫耀最新的C++特性(虽然必要的更新也都有涵盖),而是将重点放在了那些历经时间考验的核心概念上,比如内存管理、RAII、虚函数的工作机制等等。我特别欣赏作者在解释这些底层机制时所展现出的严谨和精确,每一个术语的定义都经过了反复推敲。书中的章节安排逻辑性极强,前一个知识点是后一个知识点的坚实基础,很少出现跳跃性的内容。我感觉自己通过这本书,不仅掌握了C++的语法,更重要的是建立了起一个稳固的知识框架,这对于处理复杂项目中的疑难杂症至关重要。读完后,我再看一些其他框架的源码时,视野豁然开朗,很多过去看不懂的巧妙设计现在都能理解其背后的C++哲学了。

评分

这本《C++程序设计(原理与实践基础篇原书第2版)/计算机科学丛书》简直是C++学习者的“圣经”!我之前学C++就像在大雾里摸索,各种概念混淆不清,书上那些晦涩难懂的术语看得我头大。但是自从翻开这本书,一切都变得清晰明了。它不是那种只会罗列语法规则的枯燥教材,而是真的深入到C++的设计哲学和底层原理。作者的讲解非常细腻,从最基础的数据类型讲起,逐步过渡到面向对象的设计思想,再到模板元编程的精妙之处。最让我惊喜的是,它在讲解每个知识点时,都会结合大量的实际应用场景和代码示例,让你能真切感受到理论是如何转化为实践的。阅读这本书的过程,就像是跟随一位经验丰富的工程师进行一对一的指导,总能及时解答我心中那些“为什么是这样设计”的疑问。对于想要扎扎实实打下C++基础,并且希望未来能写出高质量、高性能代码的读者来说,这本书绝对是物超所值。它不仅教你如何写C++,更教你如何“思考”C++。

评分

这本书的排版和设计也令人印象深刻。在技术书籍中,清晰的结构和良好的可读性往往被忽视,但在这本书中,这一点做得非常出色。代码块的格式规范,关键概念都有醒目的标记或注释,这大大降低了阅读疲劳感。对于我们这些需要长时间对着屏幕学习的人来说,这一点非常重要。此外,作者在叙述复杂的算法或数据结构时,经常会穿插一些“陷阱”提醒,这些都是作者自己“踩过坑”后总结出来的宝贵经验,对于初学者尤其友好,可以有效避免犯下那些代价高昂的低级错误。这本书绝不是那种“读完就忘”的快餐读物,它更像一本工具书,你可以在需要深入理解某个主题时随时翻阅,每次都能找到新的理解角度。我甚至建议把一些章节反复研读,因为C++的内涵实在太丰富了,需要时间来沉淀。

评分

我对市面上很多“速成”类编程书是持保留态度的,因为C++的复杂性决定了它不可能通过快速浏览就能掌握。这本《C++程序设计(原理与实践基础篇原书第2版)》恰恰相反,它要求读者投入时间和精力,但回报是巨大的。我尤其喜欢它对“实践”的强调,书中的每一个例子都不是孤立的,而是被组织在一个个微小的、但结构完整的系统中进行展示。这种“小系统”的构建方式,让我能够更好地理解模块化设计的重要性。在学习模板和泛型编程的部分,我原本感觉非常抽象,但在作者的引导下,我开始理解如何编写既通用又高效的代码。这本书的价值在于它提供了一种“正宗”的C++思维方式,而不是仅仅停留在“实现功能”的层面。如果你真的想把C++学透,而不是停留在“会用”的水平,那么这本书的深度是不可替代的。

评分

作为一本“计算机科学丛书”中的成员,这本书的学术严谨性毋庸置疑。它并没有为了迎合初学者而牺牲内容的准确性,而是通过优秀的组织和阐述,将严谨的学术内容变得触手可及。我记得有一次,我在处理一个多线程同步的问题时遇到了瓶颈,查阅了许多资料依然困惑不解。后来翻到这本书中关于并发模型和内存排序的章节,作者用非常清晰的图示和精确的语言解释了底层硬件和编译器的交互,瞬间茅塞顿开。这本书不仅是关于C++的知识传授,更是一种工程思维的培养。它教会了我如何从更宏观的视角去看待软件设计,如何权衡性能、安全和可维护性之间的关系。这本书的定价虽然不低,但考虑到它所提供的知识密度和对职业生涯的潜在助益,这笔投资绝对是值得的。它是我书架上那本被翻阅次数最多、也留下了最多批注的经典之作。

评分

非常适合了解c++语言特性。读起来非常流畅。也就比那本c++ primer好出几个海岸线的距离吧。

评分

这本书的第12-14章分别是原书的第17-19章。不知道为什么要这样拆分,读起来不够连贯。

评分

这本书的第12-14章分别是原书的第17-19章。不知道为什么要这样拆分,读起来不够连贯。

评分

非常适合了解c++语言特性。读起来非常流畅。也就比那本c++ primer好出几个海岸线的距离吧。

评分

非常适合了解c++语言特性。读起来非常流畅。也就比那本c++ primer好出几个海岸线的距离吧。

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有