注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计C/C++及其相关C++语言程序设计(基础篇 英文版·原书第5版)

C++语言程序设计(基础篇 英文版·原书第5版)

C++语言程序设计(基础篇 英文版·原书第5版)

定 价:¥149.00

作 者: [美]梁勇
出版社: 机械工业出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787111774778 出版时间: 2025-03-01 包装: 平装-胶订
开本: 16开 页数: 字数:  

内容简介

  本书是关于C++程序设计的经典教材,分为基础篇和进阶篇,主要介绍程序设计基础、面向对象程序设计和数据结构。本书采用“基础优先,问题驱动”的教学方式,在设计自定义类之前介绍基本的编程概念和技术,同时侧重于解决问题而非语法,通过不同领域的示例说明相关概念。本书引导读者循序渐进地学习,从基本的编程技术到面向对象编程,从简单的数据类型到经典的结构,为读者构建了友好的学习曲线。本书可作为高等院校计算机相关专业程序设计课程的教材,也可作为C++语言及编程爱好者的参考书。

作者简介

  梁勇(Y. Daniel Liang) 佐治亚南方大学计算机科学荣休教授。之前曾是普渡大学计算机科学系副教授,并曾两次获得普渡大学卓越研究奖。他撰写了30多本著作,其中程序设计类教材在世界各地得到广泛使用。

图书目录

目  录
Introduction to C++ Programming and Data Structures, Fifth Edition
第1章 计算机、程序和C++概述 1
1.1 简介 1
1.2 什么是计算机 2
1.2.1 中央处理器 3
1.2.2 比特和字节 4
1.2.3 内存 5
1.2.4 存储设备 6
1.2.5 输入和输出设备 8
1.2.6 通信设备 9
1.3 程序设计语言 10
1.3.1 机器语言 10
1.3.2 汇编语言 10
1.3.3 高级语言 11
1.4 操作系统 15
1.4.1 控制和监视系统活动 16
1.4.2 分配和派发系统资源 16
1.4.3 调度操作 17
1.5 C++的历史 18
1.6 一个简单的C++程序 19
1.7 C++程序开发周期 26
1.8 程序设计风格和文档 29
1.8.1 适当的注释和注释风格 30
1.8.2 适当的缩进和间距 30
1.8.3 块样式 30
1.9 程序设计错误 31
1.9.1 语法错误 32
1.9.2 运行时错误 33
1.9.3 逻辑错误 34
1.9.4 常见错误 35
关键术语 37
章节总结 38
编程练习 39
第2章 程序设计初步 43
2.1 简介 44
2.2 编写一个简单程序 44
2.3 从键盘读取输入 48
2.4 标识符 52
2.5 变量 53
2.6 赋值语句和赋值表达式 56
2.7 命名常量 58
2.8 数值数据类型和操作 61
2.8.1 数值字面量 66
2.8.2 数值运算符 67
2.8.3 指数运算 72
2.9 计算表达式和运算符优先级 73
2.10 案例研究:显示当前时间 75
2.11 复合赋值运算符 78
2.12 递增和递减运算符 80
2.13 数值类型转换 84
2.14 软件开发过程 88
2.15 案例研究:计算货币单位 93
2.16 常见错误 97
关键术语 99
章节总结 100
编程练习 101
第3章 选择 114
3.1 简介 115
3.2 bool数据类型 115
3.3 if语句 118
3.4 双分支if-else语句 121
3.5 嵌套if和多分支if-else
语句 124
3.6 常见错误和陷阱 128
3.7 案例研究:计算体重指数 134
3.8 案例研究:计算税费 137
3.9 生成随机数 141
3.10 逻辑运算符 144
3.11 案例研究:确定闰年 151
3.12 案例研究:彩票 152
3.13 switch语句 155
3.14 条件运算符 160
3.15 运算符优先级和结合律 162
3.16 调试 164
关键术语 166
章节总结 166
编程练习 167
第4章 数学函数、字符和
字符串 183
4.1 简介 184
4.2 数学函数 184
4.2.1 三角函数 184
4.2.2 指数函数 186
4.2.3 取整函数 188
4.2.4 min、max和abs函数 189
4.2.5 案例研究:计算三角形的
角度 190
4.3 字符数据类型和运算 192
4.3.1 ASCII码 192
4.3.2 从键盘读取字符 194
4.3.3 特殊字符的转义序列 194
4.3.4 char型数据和数值型数据
之间的转换 196
4.3.5 字符的比较和检测 199
4.4 案例研究:生成随机字符 201
4.5 案例研究:猜生日 204
4.6 字符函数 206
4.7 案例研究:将十六进制数转换为
十进制数 209
4.8 string类型 212
4.8.1 字符串索引和下标运算符 214
4.8.2 连接字符串 215
4.8.3 比较字符串 216
4.8.4 读取字符串 217
4.9 案例研究:使用字符串修改彩票
程序 222
4.10 格式化控制台输出 224
4.10.1 setprecision(n)
操纵器 227
4.10.2 fixed操纵器 228
4.10.3 showpoint操纵器 229
4.10.4 setw(width)操纵器 229
4.10.5 left和right操纵器 231
4.11 简单文件输入和输出 235
4.11.1 写入文件 235
4.11.2 从文件中读取 237
关键术语 239
章节总结 240
编程练习 240
第5章 循环 252
5.1 简介 252
5.2 while循环 253
5.3 案例研究:猜数字 259
5.4 循环设计策略 264
5.5 使用用户确认或哨兵值控制
循环 266
5.6 输入和输出重定向以及从文件中
读取所有数据 270
5.7 do-while循环 272
5.8 for循环 277
5.9 使用哪个循环 282
5.10 嵌套循环 286
5.11 最小化数值误差 290
5.12 案例研究 291
5.12.1 案例研究:求最大公约数 291
5.12.2 案例研究:预测未来学费 294
5.12.3 案例研究:将十进制数
转换为十六进制数 296
5.13 关键字break和continue 299
5.14 案例研究:检查回文 306
5.15 案例研究:显示质数 309
关键术语 312
章节总结 313
编程练习 313
第6章 函数 332
6.1 简介 332
6.2 定义函数 334
6.3 调用函数 337
6.4 void函数 341
6.5 通过值传递参数 348
6.6 模块化代码 349
6.7 重载函数 355
6.8 函数原型 360
6.9 默认参数 362
6.10 内联函数 364
6.11 局部、全局和静态局部变量 367
6.11.1 for循环中的变量作用域 370
6.11.2 静态局部变量 371
6.12 通过引用传递参数 374
6.13 常量引用参数 386
6.14 案例研究:将十六进制数转换
为十进制数 386
6.15 函数抽象和逐步细化 390
6.15.1 自顶向下设计 392
6.15.2 自顶向下或自底向上实现 394
6.15.3 实现细节 394
6.15.4 逐步细化的好处 397
关键术语 398
章节总结 398
编程练习 400
第7章 一维数组和C字符串 419
7.1 简介 420
7.2 数组基础知识 420
7.2.1 声明数组 420
7.2.2 访问数组元素 422
7.2.3 数组初始化语句 424
7.2.4 处理数组 425
7.2.5 foreach循环 429
7.3 案例研究:分析数字 431
7.4 案例研究:一副牌 434
7.5 将数组传递给函数 437
7.6 防止函数中数组参数的更改 442
7.7 从函数返回数组 444
7.8 案例研究:统计每个字母的出现
次数 446
7.9 查找数组 449
7.9.1 线性查找法 450
7.9.2 二分查找法 451
7.10 数组排序 456
7.11 C字符串 460
7.11.1 C字符串的输入和输出 461
7.11.2 C字符串函数 462
7.11.3 用strcpy和strncpy
复制字符串 465
7.11.4 用strcat和strncat
连接字符串 466
7.11.5 比较字符串 467
7.11.6 字符串与C字符串相互
转换 469
7.11.7 将字符串转换为数字 469
7.12 将数字转换为字符串 470
关键术语 471
章节总结 471
编程练习 472
第8章 多维数组 492
8.1 简介 492
8.2 声明二维数组 493
8.3 处理二维数组 496
8.4 将二维数组传递给函数 499
8.5 案例研究:对选择题测验评分 502
8.6 案例研究:寻找最近点对 505
8.7 案例研究:数独 508
8.8 多维数组 513
8.8.1 案例研究:每日温度和
湿度 514
8.8.2 案例研究:猜测生日 516
关键术语 519
章节总结 519
编程练习 519
第9章 对象和类 540
9.1 简介 540
9.2 为对象定义类 541
9.3 示例:定义类和创建对象 543
9.4 构造函数 548
9.5 构造和使用对象 549
9.6 将类定义与实现分离 553
9.7 防止多重包含 557
9.8 类中的内联函数 559
9.9 数据字段封装 560
9.10 变量作用域 564
9.11 类抽象和封装 566
关键术语 573
章节总结 574
编程练习 575
第10章 面向对象思维 581
10.1 简介 581
10.2 string类 582
10.2.1 构造字符串 582
10.2.2 追加字符串 583
10.2.3 字符串赋值 584
10.2.4 函数at、clear、erase、empty、back和front 586
10.2.5 函数length、size、capacity和c_str() 587
10.2.6 比较字符串 588
10.2.7 获取子字符串 589
10.2.8 在字符串中查找 590
10.2.9 插入和替换字符串 591
10.2.10 字符串运算符 593
10.2.11 用stringstream将
数字转换为字符串 596
10.2.12 拆分字符串 596
10.2.13 案例研究:替换
字符串 597
10.3 将对象传递给函数 599
10.4 对象数组 603
10.5 实例成员和静态成员 605
10.6 常量成员函数 612
10.7 面向对象的思想 616
10.8 类关系 622
10.8.1 关联 622
10.8.2 聚合和组合 623
10.9 案例研究:
StackOfIntegers类 626
10.10 构造函数初始化列表 629
10.11 类设计指南 634
10.11.1 内聚性 635
10.11.2 一致性 635
10.11.3 封装性 635
10.11.4 清晰性 635
10.11.5 完整性 636
10.11.6 实例与静态 636
关键术语 637
章节总结 637
编程练习 638
第11章 指针与动态内存管理 646
11.1 简介 647
11.2 指针基础 647
11.3 使用typedef关键字定义
同义类型 655
11.4 将const与指针一起使用 656
11.5 数组和指针 658
11.6 在函数调用中传递指针参数 663
11.7 从函数返回指针 667
11.8 有用的数组函数 669
11.9 动态持久内存分配 672
11.10 创建和访问动态对象 678
11.11 this指针 680
11.12 析构函数 681
11.13 案例研究:Course类 686
11.14 复制构造函数 690
11.15 自定义复制构造函数 694
关键术语 698

本目录推荐