普通高等教育精品教材 C++程序设计系列教材:C++程序设计教程(第2版)

普通高等教育精品教材 C++程序设计系列教材:C++程序设计教程(第2版) pdf epub mobi txt 电子书 下载 2025

钱能 著
图书标签:
  • C++
  • 程序设计
  • 教材
  • 精品教材
  • 高等教育
  • 教程
  • 第2版
  • 编程
  • 计算机
  • C++语言
  • 学习
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 兰兴达图书专营店
出版社: 清华大学出版社
ISBN:9787302114642
商品编码:10644930681
包装:平装
出版时间:2005-09-01

具体描述

基本信息

书名:普通高等教育精品教材 C++程序设计系列教材:C++程序设计教程(第2版)

:39.50元

作者:钱能

出版社:清华大学出版社

出版日期:2005-09-01

ISBN:9787302114642

字数:

页码:551

版次:2

装帧:平装

开本:16开

商品重量:0.840kg

编辑推荐


《普通高等教育精品教材·C++程序设计系列教材:C++程序设计教程(第2版)》荣获教育部全国高校教材奖!以C++标准为蓝本,从过程化编程的基本描述,到对象化编程的方法展开,乃至高级编程的实质揭示,形成一条自然流畅的主线,通俗易懂,形象风趣。本书在内容结构上自成体系,并以独特的描述手法,辐射到计算机专业其他诸课程,体系严谨,结构独特。
n 本书特色:
n 1、第二版全方位改版,代码全部以标准C++重写,风格独特,极具模仿价值;文字诙谐生动,通俗易懂。
n 2、自成体系,结构独特,整体关联,辐射计算机各门课程。
n 3、引读者由欣赏书中的初级精彩到享受国外经典名著的内在精彩。
n 4、观点鲜明,客观褒贬C++,对术语的见解独到。
n 5、C++内部特性和抽象编程并重,强化编程实践,以实际编程能力衡量计算机水平。
n 部分为程序设计基础,分四章,包括概述,基本编程语句,数据类型和计算表达。其中基本编程语句和数据类型为重点,它们一个为算法描述的基础,一个为数据结构和抽象数据类型描述的基础。
n 第二部分为过程化程序设计,分三章,包括函数机制,性能和程序结构。其中函数机制和程序结构是重点,前者描述过程,后者描述过程组织。
n 第三部为分面向对象编程基础,实际上就是基于对象的编程方法,分四章,包括类,对象生灭,继承和基于对象编程。前三章对类机制作了全面描述,后一章是基于对象方法的一个归纳和实例。
n 第四部分为高级编程,分四章,包括多态,抽象类,模板,异常。多态和抽象类是面向对象编程的核心内容,模板论述了泛型编程,异常则强化了面向对象编程中的可靠性和容错性。

内容提要


本书是《C++程序设计教程》的第二版。然而从指导思想、内容结构、写作特点等方面,都以全新的面貌呈现于读者。《普通高等教育精品教材·C++程序设计系列教材:C++程序设计教程(第2版)》全部重新执笔,代码全部重写,涵盖了基本C++编程方法的全部技术特征。
n 本书以C++标准为蓝本,从过程化编程的基本描述,到对象化编程的方法展开,乃至高级编程的实质揭示,形成一条自然流畅的主线,通俗易懂,形象风趣。本书在内容结构上自成体系,并以独特的描述手法,辐射到计算机专业其他诸课程,体系严谨,结构独特。
n 作者在长期的教学、科研实践以及ACM大学生程序设计竞赛培训工作中,总结出了许多难能可贵的教学经验,能使读者快捷而准确地找到编程技术要领,洞穿C++内部实现要害,直击抽象编程本质。
n 与本书配套,《C++课程设计指导》、《C++程序设计习题及解答》、《C++程序设计教程详解》和《C++程序设计教程精粹》也将陆续面世。除此之外,还配有C++程序设计教程课件和源代码供读者下载。
n 本书适用于大学计算机程序设计教学,也适合于立志自学成才的读者,帮助他们从零开始走向高级程序员。本书也旨在引导读者从欣赏C++入门的初级精彩到享受C++经典名作的内在精彩,因而,也是一本软件工作者不可多得的案头参考书。

目录


部分 基础编程
n第1章 概述
n1.1 程序设计语言
n1.2 C++前史
n1.3 C++
n1.3.1 褒贬C
n1.3.2 C继承者
n1.3.3 标准C++
n1.4 C++编程流程
n1.4.1 编程过程
n1.4.2 小样板程序
n1.4.3 编程风格
n1.5 程序与算法
n1.5.1 程序
n1.5.2 算法
n1.5.3 编程与结构
n1.6 过程化程序设计
n1.6.1 基于过程的程序设计
n1.6.2 结构化程序设计
n1.7 对象化程序设计
n1.7.1 基于对象的程序设计
n1.7.2 面向对象的程序设计
n1.8 目的归纳
n1.9 练习1
n第2章 基本编程语句
n2.1 说明语句
n2.1.1 变量定义
n2.1.2 函数声明和定义
n2.1.3 初始化与赋值
n2.2 条件语句
n2.2.1 if语句
n2.2.2 条件表达式
n2.2.3 switch语句
n2.2.4 if或switch语句
n2.3 循环语句
n2.3.1 for循环结构
n2.3.2 for循环
n2.3.3 while循环
n2.4 循环设计
n2.4.1 字符图形
n2.4.2 素数判定
n2.5 输入输出语句
n2.5.1 标准I/O流
n2.5.2 流状态
n2.5.3 文件流
n2.6 转移语句
n2.6.1 break语句
n2.6.2 continue语句
n2.7 再做循环设计
n2.7.1 逻辑判断
n2.7.2 级数逼近
n2.8 目的归纳
n2.9 练习2
n第3章 数据类型
n3.1 整型
n1.3.1 二进制补码
n1.3.2 整型数表示范围
n1.3.3 编译器与整数长度
n1.3.4 整数字面值
n1.3.5 整数算术运算
n3.2 整数子类
n3.2.1 字符型
n3.2.2 枚举型
n3.2.3 布尔型
n3.3 浮点型
n3.3.1 浮点数表示
n3.3.2 浮点型表示范围
n3.4 C-串与string
n……
n第4章 计算表达
n第二部分 过程化编程
n第5章 函数机制
n第6章 性能
n第7章 程序结构
n第三部分 面向对象编程技术
n第8章 类
n第9章 对象生灭
n第10章 继承
n第11章 基于对象编程
n第四部分 高级编程
n第12章 多态
n第13章 抽象类
n第14章 模板
n第15章 异常
n附录
n附录A 语法导读
n附录B 标准模板库导用
n附录C 参考文献

作者介绍


钱能,1984年毕业于上海复旦大学计算机软件专业;1988年获电子工业部科技青年称号;两次获得浙江省级教学成果奖二等奖。
n 1999年在清华大学出版社出版 “C++程序设计系列教材” 的批,共三种:《C++程序设计教程》、《C++程序设计实验指导》及《C++程序设计习题及解答》。
n 2002年,《C++程序设计教程》一书获得国家教育部评选的全国高校教材二等奖。目前该书累计已超过400000册,深受高校师生的欢迎。
n 指导学生多次在ACM/ICPC亚洲预赛北京赛区中获得铜奖以上成绩;2004年指导学生在ACM/ICPC亚洲预赛北京赛区中获得排名第8。
n 从事《程序设计》、《数据结构》、《离散数学》、《算法与设计》、《编程与技巧》等专业基础类课程教学,及算法研究,教学经验丰富。

文摘


序言



《C++程序设计教程(第2版)》是一本旨在为读者打下坚实C++程序设计基础的教材。本书在吸收了经典C++教程的精髓基础上,结合了当前C++语言的发展趋势和教学实践,力求内容准确、循序渐进、易于理解。全书共分为十章,涵盖了C++程序设计的核心概念和关键技术。 第一章 C++语言概述 本章将带领读者走进C++的世界,首先介绍C++语言的起源、发展历程以及其在当今软件开发领域的重要地位。我们将探讨C++作为一种通用、高效、面向对象的程序设计语言所具备的独特优势,例如其对底层硬件的强大控制能力,以及其在系统编程、游戏开发、高性能计算等领域的广泛应用。接着,本章将详细介绍C++语言的特点,包括面向对象特性(封装、继承、多态)、泛型编程能力、强大的标准库以及与C语言的兼容性。通过对这些特点的理解,读者将初步建立起对C++语言的整体认识。随后,我们将介绍C++程序的开发环境和基本结构。这包括了对集成开发环境(IDE)的简要说明,如Visual Studio、Code::Blocks、Dev-C++等,以及一个最简单的“Hello, World!”程序的编写、编译和运行过程。通过这个入门级的实例,读者将亲手体验C++程序从代码到可执行文件的转化过程,为后续的学习打下实践基础。最后,本章将对C++语言的学习方法和注意事项给出建议,帮助读者更有效地掌握这门语言。 第二章 C++程序设计基础 本章是C++学习的基石,将深入讲解构成C++程序的基本元素。我们将从最基础的数据类型开始,详细介绍C++提供的各种内置数据类型,如整型(`int`, `short`, `long`, `char`)、浮点型(`float`, `double`, `long double`)以及布尔型(`bool`)。每种数据类型的特点、取值范围和使用场景都将进行清晰的阐述。接着,我们将学习变量和常量,理解它们在程序中存储和表示数据的作用,以及如何声明、初始化和使用它们。常量则强调了数据不可变性在程序设计中的重要性。运算符是程序进行计算和逻辑操作的核心,本章将全面介绍算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符以及复合赋值运算符等。我们将通过具体的例子来展示这些运算符的用法和优先级,帮助读者掌握表达式的构建。流程控制语句是实现程序逻辑跳转和顺序执行的关键,本章将详细讲解顺序结构、选择结构(`if`, `else if`, `else`, `switch`)和循环结构(`while`, `do-while`, `for`)。读者将学会如何根据不同的条件控制程序的执行路径,以及如何重复执行某段代码。最后,本章还将介绍输入输出(I/O)的基本概念和常用函数,通过`cin`和`cout`实现与用户的交互,让程序能够读取用户输入的数据并显示计算结果。 第三章 函数 函数是C++程序设计中模块化和代码复用的核心。本章将带领读者深入理解函数的概念、定义和使用。我们将首先阐述函数的作用,即“分而治之”,将复杂问题分解为更小的、易于管理的部分,提高代码的可读性和可维护性。接着,我们将学习如何定义一个函数,包括函数头(返回类型、函数名、参数列表)和函数体。函数的参数传递机制将是本章的重点,我们将详细介绍传值调用和传址调用(指针作为参数)的区别和适用场景。对于初学者来说,理解这两者的差异至关重要。此外,我们将学习函数的返回值,以及如何在函数中使用`return`语句。作用域是理解函数和变量生命周期的关键,本章将区分局部变量和全局变量,并解释它们的作用域规则。我们还会介绍函数的重载,即允许在同一作用域内存在多个同名函数,但它们的参数列表不同,这使得函数调用更加灵活。最后,本章将涉及递归函数,介绍其概念、工作原理以及如何设计和调试递归程序。 第四章 数组与字符串 数组和字符串是处理同类型数据的基本结构。本章将详细介绍数组的概念,它是一种存储相同类型数据项的集合。我们将学习如何声明和初始化一维数组,如何通过索引访问数组元素,以及如何遍历数组。一维数组在表示列表、序列等数据结构时非常有用。接着,我们将扩展到多维数组,特别是二维数组,理解其在表示矩阵、表格等二维数据结构时的应用。我们将学习二维数组的声明、初始化和访问方式。C++的字符串处理是本章的另一重要部分。我们将介绍C风格字符串(以null字符``结尾的字符数组)及其常用的处理函数,如`strlen`, `strcpy`, `strcat`等。同时,本章将着重介绍C++标准库提供的`string`类,它提供了更强大、更方便的字符串操作功能,如字符串的拼接、查找、替换、比较等。通过`string`类的学习,读者将能够更高效地处理文本数据。 第五章 指针与引用 指针和引用是C++语言中强大而又容易混淆的概念,本章将对其进行深入的讲解。首先,我们将介绍指针的概念,理解内存地址以及指针变量存储内存地址的特性。我们将学习如何声明和使用指针,包括指针变量的定义、取址运算符`&`和解引用运算符``。通过指针,我们可以直接操作内存,实现更灵活的数据访问和管理。接着,我们将探讨指针与数组的关系,理解数组名本身可以看作是指向数组首元素的指针,并学习如何使用指针遍历数组。指针在函数参数传递中的作用将是重点,即通过指针实现对函数外部变量的修改,这是实现“传址调用”的关键。本章还将介绍动态内存分配,使用`new`和`delete`运算符在运行时动态地创建和销毁内存空间,这对于处理大小不确定的数据结构至关重要。引用是C++引入的另一个重要概念,它为变量提供了别名。我们将学习引用的声明和使用,理解引用与指针在某些方面的相似性和区别,以及引用在函数参数传递和返回值中的优势。 第六章 结构体与共用体 结构体和共用体允许我们创建自定义的数据类型,将不同类型的数据组合在一起。本章将首先介绍结构体的概念,它是一种将多个不同类型的数据项组合成一个单一实体的数据结构。我们将学习如何定义结构体类型,声明结构体变量,以及如何通过成员运算符`.`访问结构体成员。结构体在表示复杂数据时非常有用,例如表示一个学生的信息(姓名、学号、成绩等)或一个日期(年、月、日)。接着,我们将学习如何将函数与结构体结合,例如创建操作结构体数据的函数。本章还将介绍共用体(`union`),它允许在同一块内存区域存储不同类型的数据,但同一时间只能存储其中一种类型。我们将理解共用体的特点和适用场景,以及它与结构体的区别。最后,本章将简要介绍枚举类型(`enum`),它用于定义一组命名的整数常量,可以提高代码的可读性。 第七章 面向对象程序设计基础 面向对象程序设计(OOP)是C++的核心范式,本章将为读者打开OOP的大门。我们将首先介绍面向对象程序设计的核心思想,即“对象”是程序的基本单元,对象包含了数据(属性)和行为(方法)。我们将深入讲解OOP的三大基本特性:封装、继承和多态。封装强调将数据和操作数据的方法捆绑在一起,形成一个独立的单元,隐藏内部实现细节,只对外提供接口。我们将学习如何使用`class`关键字来定义类,以及访问控制符`public`, `private`, `protected`的作用。继承允许一个类(派生类)继承另一个类(基类)的属性和方法,实现代码的重用和层次化设计。我们将学习派生类的定义和访问基类成员的方式。多态允许使用相同的接口来处理不同的对象,实现“一个接口,多种实现”。我们将介绍函数重载、运算符重载以及虚函数和纯虚函数等实现多态的方式。通过对这些基本概念的理解,读者将能够开始构建更具结构化和可扩展性的C++程序。 第八章 类与对象的深入 本章将进一步深化对C++类和对象的理解,介绍更多类设计中的重要概念和技术。我们将重点讲解构造函数和析构函数,理解它们在对象生命周期中的作用,以及如何为类定义默认构造函数、带参数构造函数和拷贝构造函数。析构函数则用于在对象被销毁时执行清理工作。`this`指针是类成员函数内部访问当前对象自身的一种方式,我们将详细讲解其用法。静态成员(静态数据成员和静态成员函数)将是本章的另一个重要内容,它们属于类本身而不是类的某个具体对象,可以实现类之间的数据共享和共享状态。友元函数和友元类将介绍如何打破封装的限制,允许外部函数或类访问类的私有成员,这在某些特定场景下非常有用。常对象和常成员函数将强调常量性和不可修改性在程序设计中的重要性。最后,本章还将介绍类之间的关系,如关联、聚合和组合,这些关系有助于构建更复杂的类模型。 第九章 继承与多态 本章将深入探讨C++面向对象三大特性中的继承和多态,这是构建灵活、可扩展程序的关键。我们将详细介绍继承的各种方式,包括公有继承、保护继承和私有继承,以及它们对基类成员在派生类中的访问权限的影响。单继承和多重继承的实现方式将一一展示,并讨论多重继承可能带来的问题(如菱形继承)及其解决方案。本章的重头戏是多态。我们将详细讲解静态多态(编译时多态),包括函数重载和运算符重载,以及动态多态(运行时多态),其核心是虚函数。我们将学习如何通过虚函数实现动态绑定,并理解虚函数表(vtable)的工作原理。纯虚函数和抽象类将介绍如何定义接口,强制派生类实现特定的功能。最后,我们将讨论多态的应用场景,例如使用基类指针或引用指向派生类对象,实现通用的算法和数据结构。 第十章 模板与STL 模板是C++实现泛型编程的重要机制,允许编写与类型无关的代码。本章将首先介绍函数模板,它能够根据不同的参数类型自动生成相应的函数实例。我们将学习函数模板的定义和使用,以及函数模板的匹配规则。接着,我们将深入讲解类模板,它允许我们创建与类型无关的类,例如可以存储任何类型数据的容器。我们将学习类模板的定义、实例化和使用。C++标准模板库(STL)是C++最重要的组成部分之一,它提供了一系列通用的模板类和函数,极大地提高了开发效率。本章将重点介绍STL中的几个核心组件:容器(如`vector`, `list`, `set`, `map`),迭代器(用于访问容器中的元素)以及算法(如排序、查找、遍历等)。我们将通过实例演示这些STL组件的用法,让读者能够高效地利用STL来解决实际问题。通过本章的学习,读者将能够编写出更通用、更高效的C++程序。 本书通过由浅入深的章节安排,配合丰富的代码示例和习题,旨在帮助读者扎实掌握C++程序设计的基本概念、语法结构和核心技术,培养良好的编程习惯和面向对象的设计思想,为进一步深入学习C++的高级特性和实际应用打下坚实的基础。

用户评价

评分

作为一名计算机科学专业的学生,我接触过不少C++相关的教材,但不得不说,这本《C++程序设计教程(第2版)》是我认为最值得推荐的一本。它在内容编排上,紧扣C++语言的特点,从基础语法到高级特性,都进行了系统性的梳理。我特别喜欢它在介绍一些复杂的主题时,能够有效地利用图示和流程图来辅助说明,这使得原本可能比较抽象的逻辑变得一目了然。书中对C++11及之后版本的一些新特性也有所提及,这使得教材内容更具前瞻性,也让我能够接触到更现代的C++编程范式。而且,书中提供的每一个代码示例,都经过了精心设计,逻辑清晰,注释到位,并且能够直接运行,极大地节省了我们查找和调试代码的时间。总而言之,这本书是一本内容充实、讲解透彻、兼具理论深度和实践指导意义的优秀教材。

评分

这本书的内容设计非常贴合高等教育的教学需求,理论与实践的结合做得非常出色。在讲解每一个新的概念时,作者都会先给出清晰的定义和原理,然后立即附上相关的代码示例,并且这些示例往往都足够简单且具有代表性,能够帮助读者快速理解抽象的概念。更难得的是,书中很多章节都设置了“课后习题”,这些习题的难度梯度设计得很合理,从基础的巩固性练习到具有一定挑战性的综合性题目,能够满足不同水平读者的需求。我尤其喜欢那些需要运用前面章节所学知识来解决问题的题目,这极大地提升了我的学习效率和独立思考的能力。通过这些练习,我不仅掌握了C++的语法,更重要的是学会了如何运用C++去解决实际的编程问题,这种成就感是无与伦比的。

评分

这本书实在是一次超乎预期的学习体验!从拿到它开始,我就被它严谨而不失趣味的编排深深吸引。每一章的讲解都循序渐进,从最基础的概念入手,然后逐渐深入到更复杂的应用。我特别喜欢它在解释抽象概念时,总是能辅以非常贴切的现实生活中的例子,这让我在理解诸如类、对象、继承、多态这些核心概念时,不再感到枯燥乏味,而是能够体会到它们在实际编程中的强大力量。书中提供的代码示例也十分精炼,结构清晰,能够很好地帮助我们巩固所学知识。而且,作者并没有止步于理论的讲解,很多章节都包含了“挑战”或者“思考题”,这些题目非常有启发性,能够锻炼我们的逻辑思维和解决问题的能力,让我感觉不仅仅是在学习语法,更是在学习如何“编程”。我已经迫不及待地想通过这些练习来进一步提升我的C++技能了。

评分

说实话,我之前对C++一直有些畏惧,觉得它是一门非常高深且难以掌握的语言。但是,这本《C++程序设计教程(第2版)》彻底改变了我的看法。作者在内容呈现上花费了大量的心思,让原本可能晦涩难懂的知识变得生动有趣。最让我印象深刻的是,书中对指针和内存管理的讲解,这部分内容通常是很多初学者的“绊脚石”,但这本书却用非常形象的比喻和逐步递进的示例,将复杂的概念解释得清晰透彻,让我这个初学者都能茅塞顿开。此外,书中对STL(标准模板库)的介绍也非常到位,它展示了如何利用STL来高效地解决常见编程问题,这对于提高代码的可读性和可维护性非常有帮助。我感觉这本书就像一位经验丰富的导师,耐心地引导我一步步走出C++的迷雾,找到通往精通的道路。

评分

坦白讲,一本好的程序设计教材,关键在于能否让读者“学得懂、用得上”。而这本《C++程序设计教程(第2版)》在这方面做得非常出色。作者在写作风格上,既有学术的严谨性,又不失通俗易懂的亲和力。对于C++中一些容易引起混淆的概念,比如函数重载、运算符重载、模板等,书中都进行了非常细致的辨析,并且通过大量的示例代码来佐证其用法和区别。我尤其赞赏书中对面向对象编程思想的深入阐述,它不仅仅是罗列语法,更是引导读者理解面向对象设计的核心理念,这对于培养良好的编程习惯至关重要。此外,书中对异常处理和文件操作的讲解也十分详尽,这些都是实际编程中非常重要的技能,掌握它们能让我们的程序更加健壮和可靠。

评分

这家店开的发票没有写书名,不能报销,而且店家态度emmmm

评分

不错

评分

用的还好,就是有一点点小破损,包装不好。

评分

这家店开的发票没有写书名,不能报销,而且店家态度emmmm

评分

一本好书,刚开始看。

评分

用的还好,就是有一点点小破损,包装不好。

评分

还可以咯……可以用

评分

用的还好,就是有一点点小破损,包装不好。

评分

这家店开的发票没有写书名,不能报销,而且店家态度emmmm

相关图书

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

© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有