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

C++程序设计(第3版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Rick Mercer) ,
2019-08
版次: 1
ISBN: 9787115512437
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 361页
3人买过
  • 本书是以C++编程语言来讲解计算基础知识和技能的实用教程。全书共13 章。本书首先介绍了通过程序设计解决问题的思路和步骤,然后依次介绍了C++基础知识、函数的运用和实现、消息机制、成员函数、条件、循环、文件流、vector 类、泛型容器和二维数组等技术及其C++编程实现技巧。每一章中以及每章的最后,分别给出了自测题、练习题、编程技巧、编程项目等内容。附录部分给出了所有自测题的解答,供读者学习参考。
    本书适合作为高等院校计算机专业程序设计、编程基础等课程的教材,也适合专业程序员和想要学习C++编程的读者阅读参考。 瑞克·莫瑟(Rick Mercer),美国亚利桑那大学计算机科学系讲师,教授软件开发、程序设计等多门课程,先后编著了6本计算机教材。 第 1章 用C++来解决问题1
    1.1 解决问题 1
    1.1.1 分析(提问、考察、研究) 1
    1.1.2 设计(模型、思考、计划、策划、模式、纲要) 4
    1.1.3 算法模式 5
    1.1.4 算法设计示例 6
    1.1.5 实现(完成、操作、使用) 7
    1.1.6 一段C++程序 7
    1.1.7 测试 8
    1.2 对象、类型与变量 9
    本章小结 11
    练习题 12
    解决问题:请编写一个算法 12
    第 2章 C++基础 14
    2.1 C++程序的组成部分 14
    2.1.1 标记:一个程序的最小零件 16
    2.1.2 特殊符号 17
    2.1.3 标识符 17
    2.1.4 关键字 18
    2.1.5 注释 18
    2.1.6 C++字面常量 19
    2.2 语句 21
    2.2.1 cout输出语句 22
    2.2.2 赋值与类型转换 22
    2.2.3 cin输入语句 24
    2.3 算术表达式 25
    2.3.1 整数算术运算 27
    2.3.2 整数与浮点数的混合运算 28
    2.3.3 const对象 29
    2.4 先提示再输入 30
    2.5 程序实现中的错误与警告 32
    2.5.1 在编译时被检测到的错误与警告 33
    2.5.2 编译时的警告信息 35
    2.5.3 连接时错误 36
    2.5.4 运行时错误 37
    2.5.5 意向性错误 37
    2.5.6 当软件的设计与问题说明不相符时 38
    本章小结 39
    练习题 40
    编程技巧 43
    编程项目 44
    第3章 自由函数的运用 48
    3.1 cmath函数 48
    3.2 使用cmath函数解决问题 50
    3.2.1 分析 50
    3.2.2 设计 50
    3.2.3 实现 52
    3.3 调用已被文档化的函数 53
    3.3.1 前置条件与后置条件 53
    3.3.2 函数头信息 54
    3.3.3 实参与形参的关联 56
    3.3.4 面向int、char和bool这些类型的一些函数 58
    本章小结 61
    练习题 61
    编程技巧 63
    编程项目 63
    第4章 自由函数的实现 66
    4.1 实现属于自己的函数 66
    4.1.1 测试驱动器 69
    4.1.2 只有一条返回语句的函数 70
    4.2 分析、设计与实现 71
    4.2.1 分析 71
    4.2.2 设计 72
    4.2.3 实现 72
    4.2.4 测试 74
    4.2.5 标识符的域 74
    4.2.6 函数名的域 76
    4.2.7 全局标识符 76
    4.3 void函数与引用型形参 77
    4.4 const的引用型形参 80
    本章小结 82
    练习题 83
    编程技巧 84
    编程项目 85
    第5章 发送消息 89
    5.1 为真实世界建模 89
    5.1.1 BankAccount对象 90
    5.1.2 类与对象的图解 92
    5.2 发送消息 93
    5.3 string对象 95
    5.3.1 访问性方法 95
    5.3.2 修改性方法 96
    5.3.3 为string对象本身定义的操作符 97
    5.4 ostream和istream的成员函数 99
    5.5 另一个非标准类:Grid 103
    5.5.1 Grid对象的其他操作 105
    5.5.2 不满足前置条件的情况 108
    5.5.3 即使函数没有任何实参也必须用()来调用 109
    5.6 类和函数为何而存在 109
    本章小结 111
    练习题 112
    编程技巧 114
    编程项目 116
    第6章 成员函数的实现 120
    6.1 在头文件中定义类 120
    6.2 实现类的成员函数 124
    6.2.1 实现构造函数 124
    6.2.2 实现修改型的类成员函数 125
    6.2.3 实现访问型的成员函数 126
    6.3 默认构造函数 129
    6.4 状态型对象模式 131
    6.4.1 构造函数 131
    6.4.2 修改型函数 131
    6.4.3 访问型函数 132
    6.4.4 命名约定 132
    6.4.5 public还是private 133
    6.4.6 将接口从实现中分离 133
    6.5 面向对象设计准则 135
    6.5.1 类的内聚力 136
    6.5.2 为什么const只用来修饰访问型函数,却不用于修改型函数 136
    本章小结 139
    练习题 140
    编程技巧 141
    编程项目 143
    第7章 选择操作 149
    7.1 实现选择控制 149
    7.1.1 保护性动作模式 150
    7.1.2 if语句 150
    7.2 关系运算符 152
    7.3 替代性动作模式 153
    7.4 选择操作结构中的语句块 157
    7.5 bool对象 158
    7.5.1 布尔运算 160
    7.5.2 运算符优先规则 160
    7.5.3 布尔运算符||与grid对象 161
    7.5.4 短路式布尔评估 163
    7.6 bool成员函数 164
    7.7 多重选择操作 166
    7.7.1 另一个示例:字母等级评定 168
    7.7.2 多路返回 169
    7.8 测试多重选择操作 170
    7.9 assert函数 171
    7.10 switch语句 173
    本章小结 177
    练习题 177
    编程技巧 180
    编程项目 181
    第8章 重复操作 188
    8.1 实现重复控制 188
    8.2 算法模式:确定性循环 189
    8.2.1 for语句 191
    8.2.2 赋值操作符与其他增量运算的结合 192
    8.2.3 对Grid对象使用确定性循环 194
    8.3 确定性循环模式的应用 196
    8.3.1 分析 196
    8.3.2 设计 197
    8.3.3 实现 198
    8.3.4 测试 199
    8.3.5 检测到错误时应该怎么做 200
    8.4 算法模式:不确定性循环 201
    8.4.1 使用while语句实现确定性循环模式 202
    8.4.2 对Grid对象使用不确定性循环 203
    8.4.3 设置了岗哨的不确定性循环 204
    8.4.4 用cin > > 来充当循环测试 204
    8.4.5 无限循环 206
    8.5 do while语句 208
    8.6 循环的选择与设计 210
    8.6.1 确定要使用的循环类型 210
    8.6.2 确定循环测试部分 211
    8.6.3 编写要重复执行的语句 211
    8.6.4 确保循环会越来越接近终止条件 211
    8.6.5 在必要情况下做好相关对象的初始化操作 211
    本章小结 212
    练习题 213
    编程技巧 216
    编程项目 218
    第9章 文件流 224
    9.1 ifstream对象 224
    9.2 将确定性循环模式应用于磁盘文件 227
    9.2.1 让处理过程终止于文件结束符 227
    9.2.2 让用户选择文件名 229
    9.3 使用不确定性循环处理更复杂的磁盘文件输入 229
    9.3.1 数字与字符串的混合 231
    9.3.2 getline函数 231
    9.4 ofstream对象 234
    本章小结 234
    练习题 235
    编程技巧 235
    编程项目 236
    第 10章 vector 238
    10.1 C++标准库中的vector类 238
    10.1.1 访问集合中的个别元素 239
    10.1.2 用确定的for循环来处理vector 240
    10.1.3 处理vector中的前n个元素 241
    10.1.4 检查下标出界 242
    10.1.5 vector::capacity、vector::resize与操作符= 243
    10.2 顺序搜索 245
    10.3 发送消息给vector中的各对象 247
    10.4 vector的实参 形参关联 251
    10.5 排序 253
    10.6 二分搜索法 258
    本章小结 262
    练习题 262
    编程技巧 267
    编程项目 270
    第 11章 泛型容器 278
    11.1 容器类 278
    11.1.1 传递类型实参 279
    11.1.2 模板 279
    11.2 Set类 282
    11.2.1 构造函数Set() 283
    11.2.2 bool contains(Type const&value) const 283
    11.2.3 void insert(Type const&element) 284
    11.2.4 bool remove(Type const&removalCandidate) 284
    11.3 迭代器模式 285
    本章小结 287
    练习题 288
    编程技巧 288
    编程项目 290
    第 12章 指针与内存管理 294
    12.1 内存因素考量 294
    12.1.1 指针 295
    12.1.2 指向对象 300
    12.2 原生的C数组 302
    12.2.1 原生数组与vector之间的差异 303
    12.2.2 数组与指针的联系 303
    12.2.3 传递原生数组实参 304
    12.3 用new操作符分配内存 305
    12.4 delete操作符 309
    12.5 用C的struct构建单向链接结构体 310
    12.5.1 用单向链接数据结构实现list类 312
    12.5.2 add(std::string) 313
    12.5.3 get(int index) 314
    12.5.4 remove(stringremovalCandidate) 314
    本章小结 316
    练习题 317
    编程技巧 318
    编程项目 319
    第 13章 存储vector的vector 324
    13.1 存储vector的vector 324
    13.2 Matrix类 325
    13.2.1 标量乘法 328
    13.2.2 矩阵加法 328
    13.3 原生的二维数组 330
    13.4 拥有两个以上下标的数组 331
    本章小结 333
    练习题 333
    编程技巧 336
    编程项目 336
    附录 自测题答案 342
  • 内容简介:
    本书是以C++编程语言来讲解计算基础知识和技能的实用教程。全书共13 章。本书首先介绍了通过程序设计解决问题的思路和步骤,然后依次介绍了C++基础知识、函数的运用和实现、消息机制、成员函数、条件、循环、文件流、vector 类、泛型容器和二维数组等技术及其C++编程实现技巧。每一章中以及每章的最后,分别给出了自测题、练习题、编程技巧、编程项目等内容。附录部分给出了所有自测题的解答,供读者学习参考。
    本书适合作为高等院校计算机专业程序设计、编程基础等课程的教材,也适合专业程序员和想要学习C++编程的读者阅读参考。
  • 作者简介:
    瑞克·莫瑟(Rick Mercer),美国亚利桑那大学计算机科学系讲师,教授软件开发、程序设计等多门课程,先后编著了6本计算机教材。
  • 目录:
    第 1章 用C++来解决问题1
    1.1 解决问题 1
    1.1.1 分析(提问、考察、研究) 1
    1.1.2 设计(模型、思考、计划、策划、模式、纲要) 4
    1.1.3 算法模式 5
    1.1.4 算法设计示例 6
    1.1.5 实现(完成、操作、使用) 7
    1.1.6 一段C++程序 7
    1.1.7 测试 8
    1.2 对象、类型与变量 9
    本章小结 11
    练习题 12
    解决问题:请编写一个算法 12
    第 2章 C++基础 14
    2.1 C++程序的组成部分 14
    2.1.1 标记:一个程序的最小零件 16
    2.1.2 特殊符号 17
    2.1.3 标识符 17
    2.1.4 关键字 18
    2.1.5 注释 18
    2.1.6 C++字面常量 19
    2.2 语句 21
    2.2.1 cout输出语句 22
    2.2.2 赋值与类型转换 22
    2.2.3 cin输入语句 24
    2.3 算术表达式 25
    2.3.1 整数算术运算 27
    2.3.2 整数与浮点数的混合运算 28
    2.3.3 const对象 29
    2.4 先提示再输入 30
    2.5 程序实现中的错误与警告 32
    2.5.1 在编译时被检测到的错误与警告 33
    2.5.2 编译时的警告信息 35
    2.5.3 连接时错误 36
    2.5.4 运行时错误 37
    2.5.5 意向性错误 37
    2.5.6 当软件的设计与问题说明不相符时 38
    本章小结 39
    练习题 40
    编程技巧 43
    编程项目 44
    第3章 自由函数的运用 48
    3.1 cmath函数 48
    3.2 使用cmath函数解决问题 50
    3.2.1 分析 50
    3.2.2 设计 50
    3.2.3 实现 52
    3.3 调用已被文档化的函数 53
    3.3.1 前置条件与后置条件 53
    3.3.2 函数头信息 54
    3.3.3 实参与形参的关联 56
    3.3.4 面向int、char和bool这些类型的一些函数 58
    本章小结 61
    练习题 61
    编程技巧 63
    编程项目 63
    第4章 自由函数的实现 66
    4.1 实现属于自己的函数 66
    4.1.1 测试驱动器 69
    4.1.2 只有一条返回语句的函数 70
    4.2 分析、设计与实现 71
    4.2.1 分析 71
    4.2.2 设计 72
    4.2.3 实现 72
    4.2.4 测试 74
    4.2.5 标识符的域 74
    4.2.6 函数名的域 76
    4.2.7 全局标识符 76
    4.3 void函数与引用型形参 77
    4.4 const的引用型形参 80
    本章小结 82
    练习题 83
    编程技巧 84
    编程项目 85
    第5章 发送消息 89
    5.1 为真实世界建模 89
    5.1.1 BankAccount对象 90
    5.1.2 类与对象的图解 92
    5.2 发送消息 93
    5.3 string对象 95
    5.3.1 访问性方法 95
    5.3.2 修改性方法 96
    5.3.3 为string对象本身定义的操作符 97
    5.4 ostream和istream的成员函数 99
    5.5 另一个非标准类:Grid 103
    5.5.1 Grid对象的其他操作 105
    5.5.2 不满足前置条件的情况 108
    5.5.3 即使函数没有任何实参也必须用()来调用 109
    5.6 类和函数为何而存在 109
    本章小结 111
    练习题 112
    编程技巧 114
    编程项目 116
    第6章 成员函数的实现 120
    6.1 在头文件中定义类 120
    6.2 实现类的成员函数 124
    6.2.1 实现构造函数 124
    6.2.2 实现修改型的类成员函数 125
    6.2.3 实现访问型的成员函数 126
    6.3 默认构造函数 129
    6.4 状态型对象模式 131
    6.4.1 构造函数 131
    6.4.2 修改型函数 131
    6.4.3 访问型函数 132
    6.4.4 命名约定 132
    6.4.5 public还是private 133
    6.4.6 将接口从实现中分离 133
    6.5 面向对象设计准则 135
    6.5.1 类的内聚力 136
    6.5.2 为什么const只用来修饰访问型函数,却不用于修改型函数 136
    本章小结 139
    练习题 140
    编程技巧 141
    编程项目 143
    第7章 选择操作 149
    7.1 实现选择控制 149
    7.1.1 保护性动作模式 150
    7.1.2 if语句 150
    7.2 关系运算符 152
    7.3 替代性动作模式 153
    7.4 选择操作结构中的语句块 157
    7.5 bool对象 158
    7.5.1 布尔运算 160
    7.5.2 运算符优先规则 160
    7.5.3 布尔运算符||与grid对象 161
    7.5.4 短路式布尔评估 163
    7.6 bool成员函数 164
    7.7 多重选择操作 166
    7.7.1 另一个示例:字母等级评定 168
    7.7.2 多路返回 169
    7.8 测试多重选择操作 170
    7.9 assert函数 171
    7.10 switch语句 173
    本章小结 177
    练习题 177
    编程技巧 180
    编程项目 181
    第8章 重复操作 188
    8.1 实现重复控制 188
    8.2 算法模式:确定性循环 189
    8.2.1 for语句 191
    8.2.2 赋值操作符与其他增量运算的结合 192
    8.2.3 对Grid对象使用确定性循环 194
    8.3 确定性循环模式的应用 196
    8.3.1 分析 196
    8.3.2 设计 197
    8.3.3 实现 198
    8.3.4 测试 199
    8.3.5 检测到错误时应该怎么做 200
    8.4 算法模式:不确定性循环 201
    8.4.1 使用while语句实现确定性循环模式 202
    8.4.2 对Grid对象使用不确定性循环 203
    8.4.3 设置了岗哨的不确定性循环 204
    8.4.4 用cin > > 来充当循环测试 204
    8.4.5 无限循环 206
    8.5 do while语句 208
    8.6 循环的选择与设计 210
    8.6.1 确定要使用的循环类型 210
    8.6.2 确定循环测试部分 211
    8.6.3 编写要重复执行的语句 211
    8.6.4 确保循环会越来越接近终止条件 211
    8.6.5 在必要情况下做好相关对象的初始化操作 211
    本章小结 212
    练习题 213
    编程技巧 216
    编程项目 218
    第9章 文件流 224
    9.1 ifstream对象 224
    9.2 将确定性循环模式应用于磁盘文件 227
    9.2.1 让处理过程终止于文件结束符 227
    9.2.2 让用户选择文件名 229
    9.3 使用不确定性循环处理更复杂的磁盘文件输入 229
    9.3.1 数字与字符串的混合 231
    9.3.2 getline函数 231
    9.4 ofstream对象 234
    本章小结 234
    练习题 235
    编程技巧 235
    编程项目 236
    第 10章 vector 238
    10.1 C++标准库中的vector类 238
    10.1.1 访问集合中的个别元素 239
    10.1.2 用确定的for循环来处理vector 240
    10.1.3 处理vector中的前n个元素 241
    10.1.4 检查下标出界 242
    10.1.5 vector::capacity、vector::resize与操作符= 243
    10.2 顺序搜索 245
    10.3 发送消息给vector中的各对象 247
    10.4 vector的实参 形参关联 251
    10.5 排序 253
    10.6 二分搜索法 258
    本章小结 262
    练习题 262
    编程技巧 267
    编程项目 270
    第 11章 泛型容器 278
    11.1 容器类 278
    11.1.1 传递类型实参 279
    11.1.2 模板 279
    11.2 Set类 282
    11.2.1 构造函数Set() 283
    11.2.2 bool contains(Type const&value) const 283
    11.2.3 void insert(Type const&element) 284
    11.2.4 bool remove(Type const&removalCandidate) 284
    11.3 迭代器模式 285
    本章小结 287
    练习题 288
    编程技巧 288
    编程项目 290
    第 12章 指针与内存管理 294
    12.1 内存因素考量 294
    12.1.1 指针 295
    12.1.2 指向对象 300
    12.2 原生的C数组 302
    12.2.1 原生数组与vector之间的差异 303
    12.2.2 数组与指针的联系 303
    12.2.3 传递原生数组实参 304
    12.3 用new操作符分配内存 305
    12.4 delete操作符 309
    12.5 用C的struct构建单向链接结构体 310
    12.5.1 用单向链接数据结构实现list类 312
    12.5.2 add(std::string) 313
    12.5.3 get(int index) 314
    12.5.4 remove(stringremovalCandidate) 314
    本章小结 316
    练习题 317
    编程技巧 318
    编程项目 319
    第 13章 存储vector的vector 324
    13.1 存储vector的vector 324
    13.2 Matrix类 325
    13.2.1 标量乘法 328
    13.2.2 矩阵加法 328
    13.3 原生的二维数组 330
    13.4 拥有两个以上下标的数组 331
    本章小结 333
    练习题 333
    编程技巧 336
    编程项目 336
    附录 自测题答案 342
查看详情
相关图书 / 更多
C++程序设计(第3版)
C++边做边学
冯玉芬;周树功;母景琴;詹胜
C++程序设计(第3版)
C++程序设计基础教程 第2版
刘厚泉 李政伟 葛欣
C++程序设计(第3版)
C++编程这样学
胡芳
C++程序设计(第3版)
C++程序设计案例教程(线上线下混合版)
杨卫明;李晓虹
C++程序设计(第3版)
C++之旅(第3版)
[美]Bjarne Stroustrup(本贾尼 斯特劳斯特鲁普
C++程序设计(第3版)
C++20代码整洁之道:可持续软件开发模式实践(原书第2版)
[德]斯蒂芬·罗斯(Stephan Roth)
C++程序设计(第3版)
C++ Core Guidelines解析
杨文波 译;[德]赖纳·格林(Rainer Grimm)著 吴咏炜;何荣华;张云潮
C++程序设计(第3版)
C++程序设计(第4版)
周会平;徐建军;王挺
C++程序设计(第3版)
C++开发案例精讲
杨国兴 著
C++程序设计(第3版)
C++程序设计实践教程(新国标微课版)
马光志
C++程序设计(第3版)
C++程序设计基础与实践
牛园园;韩洁琼;李晓芳;吴成宇
C++程序设计(第3版)
C++程序设计基础教程
丁卫平 程学云 陈文兰 主编;任红建 沈晓红 文万志 副主编
您可能感兴趣 / 更多
C++程序设计(第3版)
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
C++程序设计(第3版)
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
C++程序设计(第3版)
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
C++程序设计(第3版)
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
C++程序设计(第3版)
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
C++程序设计(第3版)
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
C++程序设计(第3版)
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
C++程序设计(第3版)
汤姆素亚历险记:中小学生课外阅读快乐读书吧 儿童文学无障碍有声伴读世界名著童话故事
[美]马克·吐温
C++程序设计(第3版)
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
C++程序设计(第3版)
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
C++程序设计(第3版)
你在等什么?
[美]斯科特·明钦 著;[中]易万 译;[美]马特 ·斐兰 绘
C++程序设计(第3版)
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译