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

C++程序设计(第3版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Rick Mercer)
出版社: 人民邮电出版社
2019-08
版次: 1
ISBN: 9787115512437
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 361页
  • 本书是以C++编程语言来讲解计算基础知识和技能的实用教程。全书共13 章。本书首先介绍了通过程序设计解决问题的思路和步骤,然后依次介绍了C++基础知识、函数的运用和实现、消息机制、成员函数、条件、循环、文件流、vector 类、泛型容器和二维数组等技术及其C++编程实现技巧。每一章中以及每章的最后,分别给出了自测题、练习题、编程技巧、编程项目等内容。附录部分给出了所有自测题的解答,供读者学习参考。本书适合作为高等院校计算机专业程序设计、编程基础等课程的教材,也适合专业程序员和想要学习C++编程的读者阅读参考。 瑞克·莫瑟(Rick Mercer),美国亚利桑那大学计算机科学系讲师,教授软件开发、程序设计等多门课程,先后编著了6本计算机教材。 第 1章 用C++来解决问题11.1 解决问题 11.1.1 分析(提问、考察、研究) 11.1.2 设计(模型、思考、计划、策划、模式、纲要) 41.1.3 算法模式 51.1.4 算法设计示例 61.1.5 实现(完成、操作、使用) 71.1.6 一段C++程序 71.1.7 测试 81.2 对象、类型与变量 9本章小结 11练习题 12解决问题:请编写一个算法 12第 2章 C++基础 142.1 C++程序的组成部分 142.1.1 标记:一个程序的最小零件 162.1.2 特殊符号 172.1.3 标识符 172.1.4 关键字 182.1.5 注释 182.1.6 C++字面常量 192.2 语句 212.2.1 cout输出语句 222.2.2 赋值与类型转换 222.2.3 cin输入语句 242.3 算术表达式 252.3.1 整数算术运算 272.3.2 整数与浮点数的混合运算 282.3.3 const对象 292.4 先提示再输入 302.5 程序实现中的错误与警告 322.5.1 在编译时被检测到的错误与警告 332.5.2 编译时的警告信息 352.5.3 连接时错误 362.5.4 运行时错误 372.5.5 意向性错误 372.5.6 当软件的设计与问题说明不相符时 38本章小结 39练习题 40编程技巧 43编程项目 44第3章 自由函数的运用 483.1 cmath函数 483.2 使用cmath函数解决问题 503.2.1 分析 503.2.2 设计 503.2.3 实现 523.3 调用已被文档化的函数 533.3.1 前置条件与后置条件 533.3.2 函数头信息 543.3.3 实参与形参的关联 563.3.4 面向int、char和bool这些类型的一些函数 58本章小结 61练习题 61编程技巧 63编程项目 63第4章 自由函数的实现 664.1 实现属于自己的函数 664.1.1 测试驱动器 694.1.2 只有一条返回语句的函数 704.2 分析、设计与实现 714.2.1 分析 714.2.2 设计 724.2.3 实现 724.2.4 测试 744.2.5 标识符的域 744.2.6 函数名的域 764.2.7 全局标识符 764.3 void函数与引用型形参 774.4 const的引用型形参 80本章小结 82练习题 83编程技巧 84编程项目 85第5章 发送消息 895.1 为真实世界建模 895.1.1 BankAccount对象 905.1.2 类与对象的图解 925.2 发送消息 935.3 string对象 955.3.1 访问性方法 955.3.2 修改性方法 965.3.3 为string对象本身定义的操作符 975.4 ostream和istream的成员函数 995.5 另一个非标准类:Grid 1035.5.1 Grid对象的其他操作 1055.5.2 不满足前置条件的情况 1085.5.3 即使函数没有任何实参也必须用()来调用 1095.6 类和函数为何而存在 109本章小结 111练习题 112编程技巧 114编程项目 116第6章 成员函数的实现 1206.1 在头文件中定义类 1206.2 实现类的成员函数 1246.2.1 实现构造函数 1246.2.2 实现修改型的类成员函数 1256.2.3 实现访问型的成员函数 1266.3 默认构造函数 1296.4 状态型对象模式 1316.4.1 构造函数 1316.4.2 修改型函数 1316.4.3 访问型函数 1326.4.4 命名约定 1326.4.5 public还是private 1336.4.6 将接口从实现中分离 1336.5 面向对象设计准则 1356.5.1 类的内聚力 1366.5.2 为什么const只用来修饰访问型函数,却不用于修改型函数 136本章小结 139练习题 140编程技巧 141编程项目 143第7章 选择操作 1497.1 实现选择控制 1497.1.1 保护性动作模式 1507.1.2 if语句 1507.2 关系运算符 1527.3 替代性动作模式 1537.4 选择操作结构中的语句块 1577.5 bool对象 1587.5.1 布尔运算 1607.5.2 运算符优先规则 1607.5.3 布尔运算符||与grid对象 1617.5.4 短路式布尔评估 1637.6 bool成员函数 1647.7 多重选择操作 1667.7.1 另一个示例:字母等级评定 1687.7.2 多路返回 1697.8 测试多重选择操作 1707.9 assert函数 1717.10 switch语句 173本章小结 177练习题 177编程技巧 180编程项目 181第8章 重复操作 1888.1 实现重复控制 1888.2 算法模式:确定性循环 1898.2.1 for语句 1918.2.2 赋值操作符与其他增量运算的结合 1928.2.3 对Grid对象使用确定性循环 1948.3 确定性循环模式的应用 1968.3.1 分析 1968.3.2 设计 1978.3.3 实现 1988.3.4 测试 1998.3.5 检测到错误时应该怎么做 2008.4 算法模式:不确定性循环 2018.4.1 使用while语句实现确定性循环模式 2028.4.2 对Grid对象使用不确定性循环 2038.4.3 设置了岗哨的不确定性循环 2048.4.4 用cin > > 来充当循环测试 2048.4.5 无限循环 2068.5 do while语句 2088.6 循环的选择与设计 2108.6.1 确定要使用的循环类型 2108.6.2 确定循环测试部分 2118.6.3 编写要重复执行的语句 2118.6.4 确保循环会越来越接近终止条件 2118.6.5 在必要情况下做好相关对象的初始化操作 211本章小结 212练习题 213编程技巧 216编程项目 218第9章 文件流 2249.1 ifstream对象 2249.2 将确定性循环模式应用于磁盘文件 2279.2.1 让处理过程终止于文件结束符 2279.2.2 让用户选择文件名 2299.3 使用不确定性循环处理更复杂的磁盘文件输入 2299.3.1 数字与字符串的混合 2319.3.2 getline函数 2319.4 ofstream对象 234本章小结 234练习题 235编程技巧 235编程项目 236第 10章 vector 23810.1 C++标准库中的vector类 23810.1.1 访问集合中的个别元素 23910.1.2 用确定的for循环来处理vector 24010.1.3 处理vector中的前n个元素 24110.1.4 检查下标出界 24210.1.5 vector::capacity、vector::resize与操作符= 24310.2 顺序搜索 24510.3 发送消息给vector中的各对象 24710.4 vector的实参 形参关联 25110.5 排序 25310.6 二分搜索法 258本章小结 262练习题 262编程技巧 267编程项目 270第 11章 泛型容器 27811.1 容器类 27811.1.1 传递类型实参 27911.1.2 模板 27911.2 Set类 28211.2.1 构造函数Set() 28311.2.2 bool contains(Type const&value) const 28311.2.3 void insert(Type const&element) 28411.2.4 bool remove(Type const&removalCandidate) 28411.3 迭代器模式 285本章小结 287练习题 288编程技巧 288编程项目 290第 12章 指针与内存管理 29412.1 内存因素考量 29412.1.1 指针 29512.1.2 指向对象 30012.2 原生的C数组 30212.2.1 原生数组与vector之间的差异 30312.2.2 数组与指针的联系 30312.2.3 传递原生数组实参 30412.3 用new操作符分配内存 30512.4 delete操作符 30912.5 用C的struct构建单向链接结构体 31012.5.1 用单向链接数据结构实现list类 31212.5.2 add(std::string) 31312.5.3 get(int index) 31412.5.4 remove(stringremovalCandidate) 314本章小结 316练习题 317编程技巧 318编程项目 319第 13章 存储vector的vector 32413.1 存储vector的vector 32413.2 Matrix类 32513.2.1 标量乘法 32813.2.2 矩阵加法 32813.3 原生的二维数组 33013.4 拥有两个以上下标的数组 331本章小结 333练习题 333编程技巧 336编程项目 336附录 自测题答案 342
  • 内容简介:
    本书是以C++编程语言来讲解计算基础知识和技能的实用教程。全书共13 章。本书首先介绍了通过程序设计解决问题的思路和步骤,然后依次介绍了C++基础知识、函数的运用和实现、消息机制、成员函数、条件、循环、文件流、vector 类、泛型容器和二维数组等技术及其C++编程实现技巧。每一章中以及每章的最后,分别给出了自测题、练习题、编程技巧、编程项目等内容。附录部分给出了所有自测题的解答,供读者学习参考。本书适合作为高等院校计算机专业程序设计、编程基础等课程的教材,也适合专业程序员和想要学习C++编程的读者阅读参考。
  • 作者简介:
    瑞克·莫瑟(Rick Mercer),美国亚利桑那大学计算机科学系讲师,教授软件开发、程序设计等多门课程,先后编著了6本计算机教材。
  • 目录:
    第 1章 用C++来解决问题11.1 解决问题 11.1.1 分析(提问、考察、研究) 11.1.2 设计(模型、思考、计划、策划、模式、纲要) 41.1.3 算法模式 51.1.4 算法设计示例 61.1.5 实现(完成、操作、使用) 71.1.6 一段C++程序 71.1.7 测试 81.2 对象、类型与变量 9本章小结 11练习题 12解决问题:请编写一个算法 12第 2章 C++基础 142.1 C++程序的组成部分 142.1.1 标记:一个程序的最小零件 162.1.2 特殊符号 172.1.3 标识符 172.1.4 关键字 182.1.5 注释 182.1.6 C++字面常量 192.2 语句 212.2.1 cout输出语句 222.2.2 赋值与类型转换 222.2.3 cin输入语句 242.3 算术表达式 252.3.1 整数算术运算 272.3.2 整数与浮点数的混合运算 282.3.3 const对象 292.4 先提示再输入 302.5 程序实现中的错误与警告 322.5.1 在编译时被检测到的错误与警告 332.5.2 编译时的警告信息 352.5.3 连接时错误 362.5.4 运行时错误 372.5.5 意向性错误 372.5.6 当软件的设计与问题说明不相符时 38本章小结 39练习题 40编程技巧 43编程项目 44第3章 自由函数的运用 483.1 cmath函数 483.2 使用cmath函数解决问题 503.2.1 分析 503.2.2 设计 503.2.3 实现 523.3 调用已被文档化的函数 533.3.1 前置条件与后置条件 533.3.2 函数头信息 543.3.3 实参与形参的关联 563.3.4 面向int、char和bool这些类型的一些函数 58本章小结 61练习题 61编程技巧 63编程项目 63第4章 自由函数的实现 664.1 实现属于自己的函数 664.1.1 测试驱动器 694.1.2 只有一条返回语句的函数 704.2 分析、设计与实现 714.2.1 分析 714.2.2 设计 724.2.3 实现 724.2.4 测试 744.2.5 标识符的域 744.2.6 函数名的域 764.2.7 全局标识符 764.3 void函数与引用型形参 774.4 const的引用型形参 80本章小结 82练习题 83编程技巧 84编程项目 85第5章 发送消息 895.1 为真实世界建模 895.1.1 BankAccount对象 905.1.2 类与对象的图解 925.2 发送消息 935.3 string对象 955.3.1 访问性方法 955.3.2 修改性方法 965.3.3 为string对象本身定义的操作符 975.4 ostream和istream的成员函数 995.5 另一个非标准类:Grid 1035.5.1 Grid对象的其他操作 1055.5.2 不满足前置条件的情况 1085.5.3 即使函数没有任何实参也必须用()来调用 1095.6 类和函数为何而存在 109本章小结 111练习题 112编程技巧 114编程项目 116第6章 成员函数的实现 1206.1 在头文件中定义类 1206.2 实现类的成员函数 1246.2.1 实现构造函数 1246.2.2 实现修改型的类成员函数 1256.2.3 实现访问型的成员函数 1266.3 默认构造函数 1296.4 状态型对象模式 1316.4.1 构造函数 1316.4.2 修改型函数 1316.4.3 访问型函数 1326.4.4 命名约定 1326.4.5 public还是private 1336.4.6 将接口从实现中分离 1336.5 面向对象设计准则 1356.5.1 类的内聚力 1366.5.2 为什么const只用来修饰访问型函数,却不用于修改型函数 136本章小结 139练习题 140编程技巧 141编程项目 143第7章 选择操作 1497.1 实现选择控制 1497.1.1 保护性动作模式 1507.1.2 if语句 1507.2 关系运算符 1527.3 替代性动作模式 1537.4 选择操作结构中的语句块 1577.5 bool对象 1587.5.1 布尔运算 1607.5.2 运算符优先规则 1607.5.3 布尔运算符||与grid对象 1617.5.4 短路式布尔评估 1637.6 bool成员函数 1647.7 多重选择操作 1667.7.1 另一个示例:字母等级评定 1687.7.2 多路返回 1697.8 测试多重选择操作 1707.9 assert函数 1717.10 switch语句 173本章小结 177练习题 177编程技巧 180编程项目 181第8章 重复操作 1888.1 实现重复控制 1888.2 算法模式:确定性循环 1898.2.1 for语句 1918.2.2 赋值操作符与其他增量运算的结合 1928.2.3 对Grid对象使用确定性循环 1948.3 确定性循环模式的应用 1968.3.1 分析 1968.3.2 设计 1978.3.3 实现 1988.3.4 测试 1998.3.5 检测到错误时应该怎么做 2008.4 算法模式:不确定性循环 2018.4.1 使用while语句实现确定性循环模式 2028.4.2 对Grid对象使用不确定性循环 2038.4.3 设置了岗哨的不确定性循环 2048.4.4 用cin > > 来充当循环测试 2048.4.5 无限循环 2068.5 do while语句 2088.6 循环的选择与设计 2108.6.1 确定要使用的循环类型 2108.6.2 确定循环测试部分 2118.6.3 编写要重复执行的语句 2118.6.4 确保循环会越来越接近终止条件 2118.6.5 在必要情况下做好相关对象的初始化操作 211本章小结 212练习题 213编程技巧 216编程项目 218第9章 文件流 2249.1 ifstream对象 2249.2 将确定性循环模式应用于磁盘文件 2279.2.1 让处理过程终止于文件结束符 2279.2.2 让用户选择文件名 2299.3 使用不确定性循环处理更复杂的磁盘文件输入 2299.3.1 数字与字符串的混合 2319.3.2 getline函数 2319.4 ofstream对象 234本章小结 234练习题 235编程技巧 235编程项目 236第 10章 vector 23810.1 C++标准库中的vector类 23810.1.1 访问集合中的个别元素 23910.1.2 用确定的for循环来处理vector 24010.1.3 处理vector中的前n个元素 24110.1.4 检查下标出界 24210.1.5 vector::capacity、vector::resize与操作符= 24310.2 顺序搜索 24510.3 发送消息给vector中的各对象 24710.4 vector的实参 形参关联 25110.5 排序 25310.6 二分搜索法 258本章小结 262练习题 262编程技巧 267编程项目 270第 11章 泛型容器 27811.1 容器类 27811.1.1 传递类型实参 27911.1.2 模板 27911.2 Set类 28211.2.1 构造函数Set() 28311.2.2 bool contains(Type const&value) const 28311.2.3 void insert(Type const&element) 28411.2.4 bool remove(Type const&removalCandidate) 28411.3 迭代器模式 285本章小结 287练习题 288编程技巧 288编程项目 290第 12章 指针与内存管理 29412.1 内存因素考量 29412.1.1 指针 29512.1.2 指向对象 30012.2 原生的C数组 30212.2.1 原生数组与vector之间的差异 30312.2.2 数组与指针的联系 30312.2.3 传递原生数组实参 30412.3 用new操作符分配内存 30512.4 delete操作符 30912.5 用C的struct构建单向链接结构体 31012.5.1 用单向链接数据结构实现list类 31212.5.2 add(std::string) 31312.5.3 get(int index) 31412.5.4 remove(stringremovalCandidate) 314本章小结 316练习题 317编程技巧 318编程项目 319第 13章 存储vector的vector 32413.1 存储vector的vector 32413.2 Matrix类 32513.2.1 标量乘法 32813.2.2 矩阵加法 32813.3 原生的二维数组 33013.4 拥有两个以上下标的数组 331本章小结 333练习题 333编程技巧 336编程项目 336附录 自测题答案 342
查看详情
好书推荐 / 更多
C++程序设计(第3版)
希尼三十年文选(2021年最新修订版)
[爱尔兰]谢默斯·希尼 黄灿然 译
C++程序设计(第3版)
提琴与坟墓(洛尔迦诗选)
[西]费德里科·加西亚·洛尔迦 著;汪天艾 译
C++程序设计(第3版)
正是河豚欲上时:一场饮食社会学的冒险
王程韡 著
C++程序设计(第3版)
新民说·廊桥夜话
[加拿大]张翎
C++程序设计(第3版)
新民说·重新发现中国·陌生的熟人:理解21世纪乡土中国
杨华 主编;贺雪峰;沈山
C++程序设计(第3版)
在中国大地上:搭火车旅行记
保罗·索鲁 著
C++程序设计(第3版)
剑桥心理学史
詹姆斯·F·布伦南
C++程序设计(第3版)
海洋帝国的崛起:尼德兰八十年战争,1568—1648
安东·范德伦
C++程序设计(第3版)
我们为什么要睡觉?
田盈春 后浪 译者;[英]马修·沃克(Matthew Walker)
C++程序设计(第3版)
时不我待:追踪病毒的精彩人生
彼得.皮奥特
C++程序设计(第3版)
发明男性气概
[英]大卫·D. 吉尔默 著;孙伟、张苗凤 译
C++程序设计(第3版)
花森安治的手艺——《生活手帖》的设计美学
[日]生活手帖社