出版时间:2010.7 出版社:机械工业出版社 作者:(美)Bjarne Stroustrup 页数:649 译者:王刚 等
Tag标签:无
前言
程序设计是这样一门艺术,它将问题求解方案描述成计算机可以执行的形式。程序设计中很多工作都花费在寻找求解方案以及对其求精上。通常,只有在真正编写程序求解一个问题的过程中才会对问题本身理解透彻。本书适合于那些从未有过编程经验但愿意努力学习程序设计的初学者,它能帮助你理解使用C++语言进行程序设计的基本原理并获得实践技巧。我的目标是使你获得足够多的知识和经验,以便能使用最新最好的技术进行简单有用的编程工作。达到这一目标需要多长时间呢?作为大学一年级课程的一部分,你可以在一个学期内完成这本书的学习(假定你有另外四门中等难度的课程)。如果你是自学的话,不要期望能花费更少的时间完成学习(一般来说,每周15个小时,共14周是合适的学时安排)。三个月可能看起来是一段很长的时间,但要学习的内容很多,写第一个简单程序之前,就要花费一个小时。而且,所有学习过程都是渐进的:每一章都会介绍一些新的有用的概念,并通过从实际应用中获取的例子来阐述这些概念。随着学习进程的推进,你通过程序代码表达思想的能力——也就是让计算机按你的期望工作的能力,会逐渐稳步地提高。我从不会说:“先学习一个月的理论知识,然后看看你是否能使用这些理论吧。”为什么要学习程序设计呢?因为计算机文化是建立在软件之上的。如果不理解软件,那么你将退化到只能相信“魔术”的境地,并且将被排除在很多最为有趣、最具经济效益和社会效益的领域之外。当谈论程序设计时,我所想到的是整个计算机程序家族,从带有GuI(图形用户界面)的个人计算机程序,到工程计算和嵌入式系统控制程序(如数码相机、汽车和手机中的程序),以及文字处理程序等,在很多日常应用和商业应用中都能看到这些程序。程序设计与数学有些相似,如果认真去做的话,它会是一种非常有用的智力训练,可以锻炼我们的思考能力。然而,由于计算机能做出反馈,程序设计又不像大多数数学形式那么抽象,因而对更多人来说更容易接受。可以说,程序设计是一条能够打开你的眼界,将世界变得更美好的途径。最后,程序设计非常有趣。为什么学习c++这门程序设计语言呢?学习程序设计不可能不借助一门程序设计语言,而c++直接支持现实世界中的软件所使用的那些关键概念和技术。c++是使用最为广泛的程序设计语言之一,其应用领域几乎没有局限。从大洋深处到火星表面,到处都能发现c++程序的身影。C++是由一个开放的国际标准组织全面考量、精心设计的。在任何一种计算机平台上都能找到高质量的和免费的C++实现。而且,你用c++所学到的程序设计思想,大多数都可直接用于其他程序设计语言,如c、c#、Fonran以及Java。最后一个原因,我喜欢c++适合编写优美、高效的代码这一特点。
内容概要
本书是经典程序设计思想与C++开发实践的完美结合,是C++之父回归校园后对C++编程原理和技巧的全新阐述。书中全面地介绍了程序设计基本原理,包括基本概念、设计和编程技术、语言特性以及标准库等,教你学会如何编写具有输入、输出、计算以及简单图形显示等功能的程序。此外,本书通过对C++思想和历史的讨论、对经典实例(如矩阵运算、文本处理、测试以及嵌入式系统程序设计)的展示,以及对C语言的简单描述,为你呈现了一幅程序设计的全景图。
·C++初学者的权威指南。无论你是从事软件开发还是其他领域的工作,本书将为你打开程序开发之门。
·中高级程序员的必备参考。通过观察程序设计大师如何处理编程中的各种问题,使你获得新的领悟和指引。
·全面阐释C++基本概念和技术。与传统的C++教材相比,本书对基本概念和技术的介绍更为深入,为你编写实用、正确、易维护和有效的代码打下坚实的基础。
·强调现代C++编程风格。本书从开篇就介绍现代C++程序设计技术,并揭示了大量关于如何使用C++标准库来简化程序设计的原理,使你快速掌握实用编成技巧。
·配套教辅资源丰富。本书网站(www.stroustrup.com/Programming)提供了丰富的辅助资料,包括实例源码、PPT、勘误等。
作者简介
Bjarne Stroustrup
英国剑桥大学计算机科学博士,C++的设计者和最初的实现者。他现在是德州农工大学计算机科学首席教授。1993年,由于在C++领域的重大贡献,他获得了ACM的
Grace Murray Hopper大奖并成为ACM院士。在进入学术界之前,他在AT&T贝尔实验室工作,是ISO
C++标准委
书籍目录
出版者的话
译者序
前言
第0章 致读者
0.1 本书结构
0.2 讲授和学习本书的方法
0.3 程序设计和计算机科学
0.4 创造性和问题求解
0.5 反馈方法
0.6 参考文献
0.7 作者简介
第1章 计算机、人与程序设计
1.1 介绍
1.2 软件
1.3 人
1.4 计算机科学
1.5 计算机已无处不在
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.6 组合赋值运算符
3.7 命名
3.8 类型和对象
3.9 类型安全
第4章 计算
4.1 计算
4.2 目标和工具
4.3 表达式
4.4 语句
4.5 函数
4.6 向量
4.7 语言特性
第5章 错误
5.1 介绍
5.2 错误的来源
5.3 编译时错误
5.4 连接时错误
5.5 运行时错误
5.6 异常
5.7 逻辑错误
5.8 估计
5.9 调试
5.10 前置条件和后置条件
5.11 测试
第6章 编写一个程序
6.1 一个问题
6.2 对问题的思考
6.3 回到计算器问题
6.4 文法
6.5 将文法转换为程序
6.6 试验第一个版本
6.7 试验第二个版本
6.8 单词流
6.9 程序结构
第7章 完成一个程序
7.1 介绍
7.2 输入和输出
7.3 错误处理
7.4 处理负数
7.5 模运算:%
7.6 清理代码
7.7 错误恢复
7.8 变量
第8章 函数相关的技术细节
8.1 技术细节
8.2 声明和定义
8.3 头文件
8.4 作用域
8.5 函数调用和返回
8.6 求值顺序
8.7 名字空间
第9章 类相关的技术细节
9.1 用户自定义类型
9.2 类和成员
9.3 接口和实现
9.4 演化一个类
9.5 枚举类型
9.6 运算符重载
9.7 类接口
9.8 Date类
第二部分 输入和输出
第10章 输入/输出流
第11章 定制输入/输出
第12章 一个显示模型
第13章 图形类
第14章 设计图形类
第15章 绘制函数图和数据图
第16章 图形用户界面
第三部分 数据结构和算法
第17章 向量和自由空间
第18章 向量和数组
第19章 向量、模板和异常
第20章 容器和迭代器
第21章 算法和映射
第四部分 拓宽视野
第22章 理念和历史
第23章 文本处理
第24章 数值计算
第25章 嵌入式系统程序设计
第26章 测试
第27章 C语言
术语表
参考书目
第五部分 附录?
附录A C++语言概要
附录B 标准库概要
附录C Visual Studio简要入门教程
附录D 安装FLTK
附录E GUI实现
章节摘录
插图:第0章 致读者 本章汇集了多种信息,目的是使你对本书剩余部分的内容有初步了解。你可以略过本章,直接阅读后面你感兴趣的部分。对教师来说,可以立即发现很多有用的内容。如果没有一个好的老师指导你学习本书,请不要试图阅读并理解本章的所有内容,只要阅读“本书结构”一节和“讲授和学习本书的方法”一节的第一部分即可。当你已经能自如编写和执行小程序时,可能需要回过头来重读本章。0.1 本书结构本书由四个部分和若干个附录组成:·第一部分:基本知识,介绍了程序设计的基本概念和技术,以及开始编写代码需要了解的一些C++语言和库的知识。这部分包括类型系统、算术运算、控制结构、错误处理,以及函数和用户自定义类型的设计、实现和使用等内容。·第二部分:输入/输出,介绍了如何从键盘和文件获取数值和文本数据,以及如何生成相应的输出到屏幕和文件。然后介绍了如何以图形化方式表示数值数据、文本和几何图形,以及如何从图形用户界面(graphical user interface,GUI)获取输入数据。·第三部分:数据结构和算法,关注C++标准库中的容器和算法框架(标准模板库standard template library.STL)。展示了容器(如向量、列表和映射)是如何(用指针、数组、动态内存、异常和模板)实现的以及如何使用它们。还展示了标准库算法(如排序、查找和内积)如何设计及使用。·第四部分:拓宽视野,通过对C++思想和历史的讨论,通过一些实例(如矩阵运算、文本处理、测试以及嵌入式系统程序设计),以及通过C语言的一个简单描述,为我们呈现了程序设计的一个全景。·第五部分:附录,提供了一些不适合作为教学但很有用的内容,如c++语言和标准库的概要介绍,以及集成开发环境(integrated development environment,IDE)和图形用户界面库(GUl库)的入门简介等。
媒体关注与评论
“这本书非常好,首先它以简单、易懂的方式阐述了C++原理和实践.而且强调养成良好的编程习惯,注意编程细节,C++编程人员都应该人手一册,常读常新。” “作为C++语言的发明人,作者站在专业程序员的角度讲述如何为现实世界中的计算问题设计有效的解决方案。尽管《C++程序设计原理与实践》采用的是C++语言,但其中涵盖的程序设计思想同样适用于其他语言,而且这些颇具实践意义的编程思想还可以弥补高校程序设计课程偏重语法细节,忽视总体思想方法和整体过程实现的问题,使读者充分认识到程序设计是一种解决问题的方法和能力,最终是对程序设计语言的应用,这也是《C++程序设计原理与实践》的价值所在。” “这本书是学习程序设计的最佳选择.无论是课堂学习还是自学,《C++程序设计原理与实践》独具深度的思想、缜密的思路、开阔的视野及专业的讲解都会使你获益匪浅。” “这本书与作者另一本享有盛誉的著作——《C++程序设计语言(特别版)》相辅相成……” ——Amazon评论
图书封面
图书标签Tags
无
评论、评分、阅读与下载