𝔖 Scriptorium
✦   LIBER   ✦

📁

C++程序设计: (第3版)

✍ Scribed by 谭浩强


Publisher
清华大学出版社
Year
2015
Tongue
Chinese
Leaves
484
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


C++是近年来国内外广泛使用的现代计算机语言,它既支持基于过程的程序设计,也支持面向对象的程序设计。国内许多高校陆续开设了C++程序设计课程。但是,由于C++涉及概念很多,语法比较复杂,内容十分广泛,使不少人感到学习难度较大,难以入门。

《C++程序设计(第3版)》作者深入调查了大学的程序设计课程的现状和发展趋势,参阅了国内外数十种有关C++的教材,认真分析了读者在学习中的困难和认识规律,设计了读者易于学习的教材体系,于2004年出版了《C++程序设计》一书。《C++程序设计(第3版)》降低入门起点,不需要C语言的基础,从零起点介绍程序设计和C++。广大师生用后反映非常好,认为《C++程序设计(第3版)》定位准确,概念清晰,深入浅出,取舍合理,以通俗易懂的语言对C++的许多难懂的概念作了透彻而通俗的说明,大大降低了初学者学习的困难,是初学者学习C++...

C++是近年来国内外广泛使用的现代计算机语言,它既支持基于过程的程序设计,也支持面向对象的程序设计。国内许多高校陆续开设了C++程序设计课程。但是,由于C++涉及概念很多,语法比较复杂,内容十分广泛,使不少人感到学习难度较大,难以入门。

《C++程序设计(第3版)》作者深入调查了大学的程序设计课程的现状和发展趋势,参阅了国内外数十种有关C++的教材,认真分析了读者在学习中的困难和认识规律,设计了读者易于学习的教材体系,于2004年出版了《C++程序设计》一书。《C++程序设计(第3版)》降低入门起点,不需要C语言的基础,从零起点介绍程序设计和C++。广大师生用后反映非常好,认为《C++程序设计(第3版)》定位准确,概念清晰,深入浅出,取舍合理,以通俗易懂的语言对C++的许多难懂的概念作了透彻而通俗的说明,大大降低了初学者学习的困难,是初学者学习C++的一本好教材。

✦ Table of Contents


封面
书名
版权
前言
目录
第1篇 基本知识
第1章 C++的初步知识
1.1 从C到C++
1.2 最简单的C++程序
1.3 C++程序的构成和书写形式
1.4 C++程序的编写和实现
1.5 关于C++上机实践
习题
第2章 数据的存储、表示形式和基本运算
2.1 C++的数据类型
2.2 常量
2.2.1 什么是常量
2.2.2 数值常量
2.2.3 字符常量
2.2.4 符号常量
2.3 变量
2.3.1 什么是变量
2.3.2 变量名规则
2.3.3 定义变量
2.3.4 对变量赋初值
2.3.5 常变量
2.4 C++的运算符
2.5 算术运算符与算术表达式
2.5.1 基本的算术运算符
2.5.2 算术表达式和运算符的优先级与结合性
2.5.3 表达式中各类数值型数据间的混合运算
2.5.4 自增(++)和自减(--)运算符
2.5.5 强制类型转换运算符
2.6 赋值运算符和赋值表达式
2.6.1 赋值运算符
2.6.2 赋值过程中的类型转换
2.6.3 复合赋值运算符
2.6.4 赋值表达式
2.7 逗号运算符和逗号表达式
习题
第2篇 基于过程的程序设计
第3章 程序设计初步
3.1 基于过程的程序设计和算法
3.1.1 算法的概念
3.1.2 算法的表示
3.2 C++的程序结构和C++语句
3.3 赋值操作
3.4 C++的输入与输出
3.4.1 输入流与输出流的基本操作
3.4.2 在标准输入流与输出流中使用控制符
3.4.3 用getchar和putchar函数进行字符的输入和输出
3.4.4 用scanf和printf函数进行输入和输出
3.5 编写顺序结构的程序
3.6 关系运算和逻辑运算
3.6.1 关系运算和关系表达式
3.6.2 逻辑常量和逻辑变量
3.6.3 逻辑运算和逻辑表达式
3.7 选择结构和if语句
3.7.1 if语句的形式
3.7.2 if语句的嵌套
3.7.3 条件运算符和条件表达式
3.7.4 多分支选择结构与switch语句
3.7.5 编写选择结构的程序
3.8 循环结构和循环语句
3.8.1 用while语句构成循环
3.8.2 用do-while语句构成循环
3.8.3 用for语句构成循环
3.8.4 循环的嵌套
3.8.5 提前结束循环(break语句和continue语句)
3.8.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.4 函数的调用
4.4.1 函数调用的一般形式
4.4.2 函数调用的方式
4.4.3 对被调用函数的声明和函数原型
4.5 函数的嵌套调用
4.6 函数的递归调用
4.7 内置函数
4.8 函数的重载
4.9 函数模板
4.10 有默认参数的函数
4.11 局部变量和全局变量
4.11.1 局部变量
4.11.2 全局变量
4.12 变量的存储类别
4.12.1 动态存储方式与静态存储方式
4.12.2 自动变量
4.12.3 用static声明静态局部变量
4.12.4 用register声明寄存器变量
4.12.5 用extern声明外部变量
4.12.6 用static声明静态外部变量
4.13 变量属性小结
4.14 关于变量的声明和定义
4.15 内部函数和外部函数
4.15.1 内部函数
4.15.2 外部函数
4.16 头文件
4.16.1 头文件的内容
4.16.2 关于C++标准库和头文件的形式
习题
第5章 利用数组处理批量数据
5.1 为什么需要用数组
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.4 用数组作函数参数
5.5 字符数组
5.5.1 定义和初始化字符数组
5.5.2 字符数组的赋值与引用
5.5.3 字符串和字符串结束标志
5.5.4 字符数组的输入输出
5.5.5 使用字符串处理函数对字符串进行操作
5.5.6 字符数组应用举例
5.6 C++处理字符串的方法——字符串类与字符串变量
5.6.1 字符串变量的定义和引用
5.6.2 字符串变量的运算
5.6.3 字符串数组
5.6.4 字符串运算举例
习题
第6章 善于使用指针与引用
6.1 什么是指针
6.2 变量与指针
6.2.1 定义指针变量
6.2.2 引用指针变量
6.2.3 用指针作函数参数
6.3 数组与指针
6.3.1 指向数组元素的指针
6.3.2 用指针变量作函数形参接收数组地址
6.4 字符串与指针
6.5 函数与指针
6.6 返回指针值的函数
6.7 指针数组和指向指针的指针
6.7.1 指针数组
6.7.2 指向指针的指针
6.8 const指针
6.9 void指针类型
6.10 有关指针的数据类型和指针运算的小结
6.10.1 有关指针的数据类型的小结
6.10.2 指针运算小结
6.11 引用
6.11.1 什么是变量的引用
6.11.2 引用的简单使用
6.11.3 引用作为函数参数
习题
第7章 用户自定义数据类型
7.1 结构体类型
7.1.1 为什么需要用结构体类型
7.1.2 结构体类型变量的定义方法及其初始化
7.1.3 引用结构体变量
7.1.4 结构体数组
7.1.5 指向结构体变量的指针
7.1.6 结构体类型数据作为函数参数
7.1.7 用new和delete运算符进行动态分配和撤销存储空间
7.2 枚举类型
7.3 用typedef声明新的类型名
习题
第3篇 基于对象的程序设计
第8章 类和对象的特性
8.1 面向对象程序设计方法概述
8.1.1 什么是面向对象的程序设计
8.1.2 面向对象程序设计的特点
8.1.3 类和对象的作用
8.1.4 面向对象的软件开发
8.2 类的声明和对象的定义
8.2.1 类和对象的关系
8.2.2 声明类类型
8.2.3 定义对象的方法
8.3 类的成员函数
8.3.1 成员函数的性质
8.3.2 在类外定义成员函数
8.3.3 内置成员函数
8.3.4 成员函数的存储方式
8.4 对象成员的引用
8.4.1 通过对象名和成员运算符访问对象中的成员
8.4.2 通过指向对象的指针访问对象中的成员
8.4.3 通过对象的引用来访问对象中的成员
8.5 类的封装性和信息隐蔽
8.5.1 公用接口与私有实现的分离
8.5.2 类声明和成员函数定义的分离
8.5.3 面向对象程序设计中的几个名词
8.6 类和对象的简单应用举例
习题
第9章 怎样使用类和对象
9.1 利用构造函数对类对象进行初始化
9.1.1 对象的初始化
9.1.2 用构造函数实现数据成员的初始化
9.1.3 带参数的构造函数
9.1.4 用参数初始化表对数据成员初始化
9.1.5 构造函数的重载
9.1.6 使用默认参数的构造函数
9.2 析构函数
9.3 调用构造函数和析构函数的顺序
9.4 对象数组
9.5 对象指针
9.5.1 指向对象的指针
9.5.2 指向对象成员的指针
9.5.3 this指针
9.6 共用数据的保护
9.6.1 常对象
9.6.2 常对象成员
9.6.3 指向对象的常指针
9.6.4 指向常对象的指针变量
9.6.5 对象的常引用
9.6.6 const型数据的小结
9.7 对象的动态建立和释放
9.8 对象的赋值和复制
9.8.1 对象的赋值
9.8.2 对象的复制
9.9 静态成员
9.9.1 静态数据成员
9.9.2 静态成员函数
9.10 友元
9.10.1 友元函数
9.10.2 友元类
9.11 类模板
习题
第10章 运算符重载
10.1 什么是运算符重载
10.2 运算符重载的方法
10.3 重载运算符的规则
10.4 运算符重载函数作为类成员函数和友元函数
10.5 重载双目运算符
10.6 重载单目运算符
10.7 重载流插入运算符“<<”和流提取运算符“>>”
10.7.1 重载流插入运算符“<<”
10.7.2 重载流提取运算符“>>”
10.8 有关运算符重载的归纳
10.9 不同类型数据间的转换
10.9.1 标准类型数据间的转换
10.9.2 用转换构造函数进行不同类型数据的转换
10.9.3 类型转换函数
习题
第4篇 面向对象的程序设计
第11章 继承与派生
11.1 继承与派生的概念
11.2 派生类的声明方式
11.3 派生类的构成
11.4 派生类成员的访问属性
11.4.1 公用继承
11.4.2 私有继承
11.4.3 保护成员和保护继承
11.4.4 多级派生时的访问属性
11.5 派生类的构造函数和析构函数
11.5.1 简单的派生类的构造函数
11.5.2 有子对象的派生类的构造函数
11.5.3 多层派生时的构造函数
11.5.4 派生类构造函数的特殊形式
11.5.5 派生类的析构函数
11.6 多重继承
11.6.1 声明多重继承的方法
11.6.2 多重继承派生类的构造函数
11.6.3 多重继承引起的二义性问题
11.6.4 虚基类
11.7 基类与派生类的转换
11.8 继承与组合
11.9 继承在软件开发中的重要意义
习题
第12章 多态性与虚函数
12.1 多态性的概念
12.2 一个典型的例子
12.3 利用虚函数实现动态多态性
12.3.1 虚函数的作用
12.3.2 静态关联与动态关联
12.3.3 在什么情况下应当声明虚函数
12.3.4 虚析构函数
12.4 纯虚函数与抽象类
12.4.1 纯虚函数
12.4.2 抽象类
12.4.3 应用实例
习题
第13章 输入输出流
13.1 C++的输入和输出
13.1.1 输入输出的含义
13.1.2 C++的I/O对C的发展——类型安全和可扩展性
13.1.3 C++的输入输出流
13.2 标准输出流
13.2.1 cout,cerr和clog流
13.2.2 标准类型数据的格式输出
13.2.3 用流成员函数put输出字符
13.3 标准输入流
13.3.1 cin流
13.3.2 用于字符输入的流成员函数
13.3.3 istream类的其他成员函数
13.4 对数据文件的操作与文件流
13.4.1 文件的概念
13.4.2 文件流类与文件流对象
13.4.3 文件的打开与关闭
13.4.4 对ASCII文件的操作
13.4.5 对二进制文件的操作
13.5 字符串流
习题
第14章 C++工具
14.1 异常处理
14.1.1 异常处理的任务
14.1.2 异常处理的方法
14.1.3 在函数声明中进行异常情况指定
14.1.4 在异常处理中处理析构函数
14.2 命名空间
14.2.1 为什么需要命名空间
14.2.2 什么是命名空间
14.2.3 使用命名空间解决名字冲突
14.2.4 使用命名空间成员的方法
14.2.5 无名的命名空间
14.2.6 标准命名空间std
14.3 使用早期的函数库
习题
参考文献


📜 SIMILAR VOLUMES


C++程序设计(第3版)
✍ 王挺、周会平、贾丽丽、徐锡山 📂 Library 📅 2015 🏛 清华大学出版社 🌐 Chinese

本书参照ACM和IEEE CS CC2013以及教育部高等学校计算机类专业教学指导委员会编制的《高等学校计算机科学与技术专业发展战略研究报告暨专业规范(试行)》的要求,面向大学计算机专业本科教学的需要,系统地介绍C++程序设计语言的语法、语义和语用,使读者掌握结构化程序设计方法和面向对象程序设计方法。全书分为程序设计基础和面向对象程序设计两大部分。第一部分主要介绍类型、运算符与表达式、输入与输出、控制结构、函数、数组、指针、结构、联合、枚举、链表等程序设计的基本概念和结构化程序设计方法;第二部分主要介绍类与对象、类和对象的使用、操作符重载、继承、多态性、文件和流、异常和模板等面向对象程序设计的

C语言程序设计(第3版)
✍ 蒋彦,韩玫瑰 📂 Library 📅 2018 🏛 电子工业出版社 🌐 Chinese

本书是国家精品课程教材,以任务驱动的方式,通过实例讲授程序设计的基本概念和基本方法,把重点放在解题思路上,试图贯穿以程序编写带动语法教学的模式,引导读者掌握C语言的核心编程方法,提高应用能力。本书共7章,主要内容包括:C语言程序基础、C语言程序基本结构、模块化程序设计思想、简单构造数据类型、复杂构造数据类型、磁盘数据存储、实用程序设计技巧等。本书配套《C语言程序设计实验教程(第3版)》,并提供课程网站、电子课件、习题答案及程序源代码。

C程序设计教程(第3版)
✍ 谭浩强 📂 Library 📅 2018 🏛 清华大学出版社 🌐 Chinese

C语言是国内外广泛使用的计算机语言,学会使用C语言进行程序设计是计算机工作者的一项基本功。本书系统地介绍怎样使用C语言进行程序设计。通过本书的学习,可以基本掌握C语言的主要内容和使用方法,同时学习程序设计的方法及有关算法的基本知识,初步掌握用计算机解题的全过程。 本书作者具有丰富的教学经验和编写教材的经验,善于把复杂的问题简单化,化解了学生学习过程中的许多困难。作者所著的《C程序设计》一书受到专家和读者的一致好评,公认为是学习C程序设计的理想教材,被全国大多数高校选用,是学习C语言的主流用书,已累计发行逾1400万册,创同类书的国内外发行高纪录。 根据国内一般大学非计算机专业的教学需要,作者在

C++程序设计教程(第3版)(通用版)
✍ 钱能 📂 Library 📅 2019 🏛 清华大学出版社 🌐 Chinese

<p>C++是一种高效实用的程序设计语言,它既可进行过程化程序</p> <p>设计,也可进行面向对象程序设计,因而成为编程人员z广泛使用的工具。学好</p> <p>C++,再学习其他软件就很容易,C++架起了通向强大、易用、真正的软件开发应用的桥梁。</p> <p>本书共分两大部分: 第一部分包括第1章~第10章,是基础部分,主要介绍C++程序设计语言、程序结构和过程化基础; 第二部分包括第11章~第21章,是面向对</p> <p>象程序设计部分,它建立在C++程序设计基础之上,讲述了面向对象程序设计方法。</p> <p>本书提供课程教学的全程视频,读者可扫描封底的刮刮卡观看。本书还

汇编语言程序设计(第3版)
✍ 丁辉 编 📂 Library 📅 2009 🏛 电子工业出版社 🌐 Chinese

<p>《汇编语言程序设计》内容主要包括微机基础知识,Intel 8086/8088指令系统,Intel 80x86、Pentium增强和扩展指令,程序设计方法,高级汇编技术,系统功能调用,汇编语言与C/C++的混合编程技术,上机操作方法。在程序设计各章中在给出一般例题的基础上,特别设置了综合举例章节;在系统功能调用、汇编语言与C/C++的混合编程两章中更特地设置了实例章节。每章附有习题,书后附有上机实验指导。《汇编语言程序设计》可作为高等学校、高等职业学校计算机专业或相近专业汇编语言程序设计课程教材,微型计算机原理课程辅助教材,亦可供软件开发人员参考。</p>

Windows 程序设计(第3版)
✍ 张铮 📂 Library 📅 2015 🏛 人民邮电出版社 🌐 Chinese

本书试图为Windows程序设计初学者提供一条由入门到深入,由简单到复杂的编程设计之路,最终使他们有能力独立开发出像Windows防火墙一样复杂的应用程序.为此,本书首先介绍了Win32程序运行原理和最基本的Win32 API编程;然后通过模拟MFC中关键类,全局函数和宏定义的实现详细讲述了框架程序的设计方法和MFC的内部工作机制,并指出了这些机制是如何对用戶程序造成影响的;继而完整讲述了开发内核驱动和Windows防火墙的过程;最后对计算机3D图形和音频控制技术进行了介绍.此外,书中各章均配以丰富的实例,它们从最简单的"Hello World!"开始,到多线程,用戶界面,注册表和网络通信,3