21天学通C++

21天学通C++

(美) 罗奥 (Rao,S.) , 著

出版社:人民邮电出版社

年代:2012

定价:59.0

书籍简介:

本书是当今市场上最受欢迎的C++学习教程,在讲解C++基本知识(如变量、数组、循环、线程)和高级主题(如面向对象编程、宏和模板的类和对象)的同时,还涵盖了最新的C++标准模板库(STL)等在内的知识。

书籍目录:

第1章 绪论1.1 C 简史1.1.1 与C语言的关系1.1.2 C 的优点1.1.3 C 标准的发展历程1.1.4 哪些人使用C 程序1.2 编写C 应用程序1.2.1 生成可执行文件的步骤1.2.2 分析并修复错误1.2.3 集成开发环境1.2.4 编写第一个C 应用程序1.2.5 生成并执行第一个C 应用程序1.2.6 理解编译错误1.3 C 11新增的功能1.4 总结1.5 问与答1.6 作业1.6.1 测验1.6.2 练习第2章 C 程序的组成部分2.1 Hello World程序的组成部分2.1.1 预处理器编译指令#include2.1.2 程序的主体-main()2.1.3 返回值2.2 名称空间的概念2.3 C 代码中的注释2.4 C 函数2.5 使用std;;cin和std;;cout执行基本输入输出操作2.6 总结2.7 问与答2.8 作业2.8.1 测验2.8.2 练习第3章 使用变量和常量3.1 什么是变量3.1.1 内存和寻址概述3.1.2 声明变量以访问和使用内存3.1.3 声明并初始化多个类型相同的变量3.1.4 理解变量的作用域3.1.5 全局变量3.2 编译器支持的常见C 变量类型3.2.1 使用bool变量存储布尔值3.2.2 使用char变量存储字符3.2.3 有符号整数和无符号整数的概念3.2.4 有符号整型short、int、long和long long3.2.5 无符号整型unsigned short、unsigned int、unsigned long和unsigned longlong3.2.6 浮点类型float和double3.3 使用sizeof确定变量的长度3.4 使用typedef替换变量类型3.5 什么是常量3.5.1 字面常量3.5.2 使用const将变量声明为常量3.5.3 使用constexpr声明常量3.5.4 枚举常量3.5.5 使用#define定义常量3.6 给变量和常量命名3.7 不能用作常量或变量名的关键字3.8 总结3.9 问与答3.10 作业3.10.1 测验3.10.2 练习第4章 管理数组和字符串4.1 什么是数组4.1.1 为何需要数组4.1.2 声明和初始化静态数组4.1.3 数组中的数据是如何存储的4.1.4 访问存储在数组中的数据4.1.5 修改存储在数组中的数据4.2 多维数组4.2.1 声明和初始化多维数组4.2.2 访问多维数组中的元素4.3 动态数组4.4 C风格字符串4.5 C 字符串:使用std;;string4.6 总结4.7 问与答4.8 作业4.8.1 测验4.8.2 练习第5章 使用表达式、语句和运算符5.1 语句5.2 复合语句(语句块)5.3 使用运算符5.3.1 赋值运算符(=)5.3.2 理解左值和右值5.3.3 加法运算符( )、减法运算符、乘法运算符(*)、除法运算符(/)和求模运算符(%)5.3.4 递增运算符( )和递减运算符(——)5.3.5 前缀还是后缀5.3.6 相等运算符(==)和不等运算符(!=)5.3.7 关系运算符5.3.8 逻辑运算NOT、AND、OR和XOR5.3.9 使用C 逻辑运算NOT(!)、AND(&&)和OR(||)5.3.10 按位运算符NOT(~)、AND(&)、OR(|)和XOR(^)5.3.11 按位右移运算符(>>)和左移运算符()访问成员9.2 关键字public和private9.2.1 使用关键字private实现数据抽象9.3 构造函数9.3.1 声明和实现构造函数9.3.2 何时及如何使用构造函数9.3.3 重载构造函数9.3.4 没有默认构造函数的类9.3.5 带默认值的构造函数参数9.3.6 包含初始化列表的构造函数9.4 析构函数9.4.1 声明和实现析构函数9.4.2 何时及如何使用析构函数9.5 复制构造函数9.5.1 浅复制及其存在的问题9.5.2 使用复制构造函数确保深复制9.5.3 有助于改善性能的移动构造函数9.6 构造函数和析构函数的其他用途9.6.1 不允许复制的类9.6.2 只能有一个实例的单例类9.6.3 禁止在栈中实例化的类9.7 this指针9.8 将sizeof()用于类9.9 结构不同于类的地方9.10 声明友元9.11 总结9.12 问与答9.13 作业9.13.1 测验9.13.2 练习第10章 实现继承10.1 继承基础10.1.1 继承和派生10.1.2 C 派生语法10.1.3 访问限定符protected10.1.4 基类初始化-向基类传递参数10.1.5 在派生类中覆盖基类的方法10.1.6 调用基类中被覆盖的方法10.1.7 在派生类中调用基类的方法10.1.8 在派生类中隐藏基类的方法10.1.9 构造顺序10.1.10 析构顺序10.2 私有继承10.3 保护继承10.4 切除问题10.5 多继承10.6 总结10.7 问与答10.8 作业10.8.1 测验10.8.2 练习第11章 多态11.1 多态基础11.1.1 为何需要多态行为11.1.2 使用虚函数实现多态行为11.1.3 为何需要虚构造函数11.1.4 虚函数的工作原理——理解虚函数表11.1.5 抽象基类和纯虚函数11.2 使用虚继承解决菱形问题11.3 可将复制构造函数声明为虚函数吗11.4 总结11.5 问与答11.6 作业11.6.1 测验11.6.2 练习第12章 运算符类型与运算符重载12.1 C 运算符12.2 单目运算符12.2.1 单目运算符的类型12.2.2 单目递增与单目递减运算符12.2.3 转换运算符12.2.4 解除引用运算符(*)和成员选择运算符(->)12.3 双目运算符12.3.1 双目运算符的类型12.3.2 双目加法与双目减法运算符12.3.3 实现运算符 =与(=12.3.4 重载等于运算符(==)和不等运算符(!=)12.3.5 重载运算符、=12.3.6 重载复制赋值运算符(=)12.3.7 下标运算符12.4 函数运算符operator()12.5 不能重载的运算符12.6 总结12.7 问与答12.8 作业12.8.1 测验12.8.2 练习第13章 类型转换运算符13.1 为何需要类型转换13.2 为何有些C 程序员不喜欢C风格类型转换13.3 C 类型转换运算符13.3.1 使用static_cast13.3.2 使用dynamic_cast和运行阶段类型识别13.3.3 使用reinterpret_cast13.3.4 使用const_cast13.4 C 类型转换运算符存在的问题13.5 总结13.6 问与答13.7 作业13.7.1 测验13.7.2 练习第14章 宏和模板简介14.1 预处理器与编译器14.2 使用#define定义常量14.3 使用#define编写宏函数14.3.1 为什么要使用括号14.3.2 使用assert宏验证表达式14.3.3 使用宏函数的优点和缺点14.4 模板简介14.4.1 模板声明语法14.4.2 各种类型的模板声明14.4.3 模板函数14.4.4 模板与类型安全14.4.5 模板类14.4.6 模板的实例化和具体化14.4.7 声明包含多个参数的模板14.4.8 声明包含默认参数的模板14.4.9 一个模板示例14.4.10 模板类和静态成员14.4.11 在实际C 编程中使用模板14.5 总结14.6 问与答14.7 作业14.7.1 测验14.7.2 练习第15章 标准模板库简介15.1 STL容器15.1.1 顺序容器15.1.2 关联容器15.1.3 选择正确的容器15.1.4 容器适配器15.2 STL迭代器15.3 STL算法15.4 使用迭代器在容器和算法之间交互15.5 STL字符串类15.6 总结15.7 问与答15.8 作业第16章 STL string类16.1 为何需要字符串操作类16.2 使用STL string类16.2.1 实例化和复制STL string16.2.2 访问std;;string的字符内容16.2.3 拼接字符串16.2.4 在string中查找字符或子字符串16.2.5 截短STL string16.2.6 字符串反转16.2.7 字符串的大小写转换16.3 基于模板的STL string实现16.4 总结16.5 问与答16.6 作业16.6.1 测验16.6.2 练习第17章 STL动态数组类17.1 std;;vector的特点17.2 典型的vector操作17.2.1 实例化vector17.2.2 使用push_back()在末尾插入元素17.2.3 使用insert()在指定位置插入元素17.2.4 使用数组语法访问vector中的元素17.2.5 使用指针语法访问vector中的元素17.2.6 删除vector中的元素17.3 理解大小和容量17.4 STL deque 类17.5 总结17.6 问与答17.7 作业17.7.1 测验17.7.2 练习第18章 STL list和forward_list18.1 std;;list的特点18.2 基本的list操作18.2.1 实例化std;;list对象18.2.2 在list开头或末尾插入元素18.2.3 在list中间插入元素18.2.4 删除list中的元素18.3 对list中的元素进行反转和排序18.3.1 使用list;;reverse()反转元素的排列顺序18.3.2 对元素进行排序18.3.3 对包含对象的list进行排序以及删除其中的元素18.4 总结18.5 问与答18.6 作业18.6.1 测验18.6.2 练习第19章 STL集合类19.1 简介19.2 STL set和multiset的基本操作19.2.1 实例化std;;set对象19.2.2 在set或multiset中插入元素19.2.3 在STL set或multiset中查找元素19.2.4 删除STL set或multiset中的元素19.3 使用STL set和multiset的优缺点19.4 总结19.5 问与答19.6 作业19.6.1 测验19.6.2 练习第20章 STL映射类20.1 STL映射类简介20.2 std;;map和std;;multimap的基本操作20.2.1 实例化std;;map和std;;multimap20.2.2 在STL map或multimap中插入元素20.2.3 在STL map或multimap中查找元素20.2.4 在STL multimap中查找元素20.2.5 删除STL map或multimap中的元素20.3 提供自定义的排序谓词20.3.1 散列表的工作原理20.3.2 使用C 11散列表unordered_map和unordered_multimap20.4 总结20.5 问与答20.6 作业20.6.1 测验20.6.2 练习第21章 理解函数对象21.1 函数对象与谓词的概念21.2 函数对象的典型用途21.2.1 一元函数21.2.2 一元谓词21.2.3 二元函数21.2.4 二元谓词21.3 总结21.4 问与答21.5 作业21.5.1 测验21.5.2 练习第22章 C lambda表达式22.1 lambda表达式是什么22.2 如何定义lambda表达式22.3 一元函数对应的lambda表达式22.4 一元谓词对应的lambda表达式22.5 通过捕获列表接受状态变量的lambda表达式22.6 lambda表达式的通用语法22.7 二元函数对应的lambda表达式22.8 二元谓词对应的lambda表达式22.9 总结22.10 问与答22.11 作业22.11.1 测验22.11.2 练习第23章 STL算法23.1 什么是STL算法23.2 STL算法的分类23.2.1 非变序算法23.2.2 变序算法23.3 使用STL算法23.3.1 根据值或条件查找元素23.3.2 计算包含给定值或满足给定条件的元素数23.3.3 在集合中搜索元素或序列23.3.4 将容器中的元素初始化为指定值23.3.5 使用std;;generate()将元素设置为运行阶段生成的值23.3.6 使用for_each()处理指定范围内的元素23.3.7 使用std;;transform()对范围进行变换23.3.8 复制和删除操作23.3.9 替换值以及替换满足给定条件的元素23.3.10 排序、在有序集合中搜索以及删除重复元素23.3.11 将范围分区23.3.12 在有序集合中插入元素23.4 总结23.5 问与答23.6 作业23.6.1 测验23.6.2 练习第24章 自适应容器:栈和队列24.1 栈和队列的行为特征24.1.1 栈24.1.2 队列24.2 使用STL stack类24.2.1 实例化stack24.2.2 stack的成员函数24.2.3 使用push()和pop()在栈顶插入和删除元素24.3 使用STL queue类24.3.1 实例化queue24.3.2 queue的成员函数24.3.3 使用push()在队尾插入以及使用pop()从队首删除24.4 使用STL优先级队列24.4.1 实例化priority_queue类24.4.2 priority_queue的成员函数24.4.3使用push()在priority_queue末尾插入以及使用pop()在priority_queue开头删除24.5 总结24.6 问与答24.7 作业24.7.1 测验24.7.2 练习第25章 使用STL位标志25.1 bitset类25.2 使用std;;bitset及其成员25.2.1 std;bitset的运算符25.2.2 std;;bitset的成员方法25.3 vector25.3.1 实例化vector25.3.2 vector的成员函数和运算符25.4 总结25.5 问与答25.6 作业25.6.1 测验25.6.2 练习第26章 理解智能指针26.1 什么是智能指针26.1.1 常规(原始)指针存在的问题26.1.2 智能指针有何帮助26.2 智能指针是如何实现的26.3 智能指针类型26.3.1 深复制26.3.2 写时复制机制26.3.3 引用计数智能指针26.3.4 引用链接智能指针26.3.5 破坏性复制26.4 深受欢迎的智能指针库26.5 总结26.6 问与答26.7 作业26.7.1 测试26.7.2 练习第27章 使用流进行输入和输出27.1 流的概述27.2 重要的C 流类和流对象27.3 使用std;;cout将指定格式的数据写入控制台27.3.1 使用std;;cout修改数字的显示格式27.3.2 使用std;;cout对齐文本和设置字段宽度27.4 使用std;;cin进行输入27.4.1 使用std;;cin将输入读取到基本类型变量中27.4.2 使用std;;cin;get将输入读取到char数组中27.4.3 使用std;;cin将输入读取到std;;string中27.5 使用std;;fstream处理文件27.5.1 使用open()和close()打开和关闭文件27.5.2 使用open()创建文本文件并使用运算符>读取文本文件27.5.4 读写二进制文件27.6 使用std;;stringstream对字符串进行转换27.7 总结27.8 问与答27.9 作业27.9.1 测验27.9.2 练习第28章 异常处理28.1 什么是异常28.2 导致异常的原因28.3 使用try和catch捕获异常28.3.1 使用catch(...)处理所有异常28.3.2 捕获特定类型的异常28.3.3 使用throw引发特定类型的异常28.4 异常处理的工作原理28.4.1 std;;exception类28.4.2 从std;;exception派生出自定义异常类28.5 总结28.6 问与答28.7 作业28.7.1 测验28.7.2 练习第29章 继续前行29.1 当今的处理器有何不同29.2 如何更好地利用多个内核29.2.1 线程是什么29.2.2 为何要编写多线程应用程序29.2.3 线程如何交换数据29.2.4 使用互斥量和信号量同步线程29.2.5 多线程技术带来的问题29.3 编写杰出的C 代码29.4 更深入地学习C 29.4.1 在线文档29.4.2 提供指南和帮助的社区29.5 总结29.6 问与答29.7 作业附录A 二进制和十六进制A.1 十进制A.2 二进制A.2.1 计算机为何使用二进制A.2.2 位和字节A.2.3 1KB相当于多少字节A.3 十六进制A.4 不同进制之间的转换A.4.1 通用转换步骤A.4.2 从十进制转换为二进制A.4.3 从十进制转换为十六进制附录B C 关键字附录C 运算符优先级附录D 答案附录E ASCII码

内容摘要:

  畅销全球的C 经典入门教程  全面涵盖C 11新标准  帮助读者编写高效的C 应用程序  中文版累计销售超50000册  《21天学通C (第7版)》通过大量短小精悍的程序,详细而全面地阐述了C 基本概念和技术以及C 11新增的功能,包括管理输入/输出、循环和数组、面向对象编程、模板、使用标准模板库以及lambda表达式等。这些内容被组织成结构合理、联系紧密的章节,每章都可在1小时内阅读完毕;每章都提供了示例程序清单,并辅以示例输出和代码分析,以阐述该章介绍的主题。为加深读者对所学内容的理解,每章末尾都提供了常见问题及其答案以及练习和测验。读者可对照附录D提供的测验和练习答案,了解自己对所学内容的掌握程度。  《21天学通C (第7版)》是针对C 初学者编写的,不要求读者有C语言方面的背景知识,可作为高等院校教授C 课程的教材,也可供初学者自学C 时使用。【作者简介】Siddhartha Rao是一位Microsoft Visual C MVP,拥有在各种平台上编写驱动程序和应用程序的丰富经验。他受聘于SAP AG,当前为SAP Product SecurityIndia的负责人,主要职责包括制定软件开发最佳实践,以确保SAP软件的安全和全球竞争力。

书籍规格:

书籍详细信息
书名21天学通C++站内查询相似图书
9787115296245
如需购买下载《21天学通C++》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位人民邮电出版社
版次1版印次1
定价(元)59.0语种简体中文
尺寸26 × 19装帧平装
页数 300 印数 3000

书籍信息归属:

21天学通C++是人民邮电出版社于2012.11出版的中图分类号为 TP312 的主题关于 C语言-程序设计 的书籍。