加载中...
扫一扫
下载苏宁易购APP
关注苏宁推客公众号
自购省钱·分享赚钱
下载苏宁金融APP
关注苏宁易购服务号
用户评价:----
物流时效:----
售后服务:----
实名认证领苏宁支付券立即领取 >
¥
提前抢
SUPER会员专享
由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
欢迎光临本店铺
点我可查看更多商品哦~
100%刮中券,最高50元无敌券,券有效期7天
亲,今日还有0次刮奖机会
我的云钻:0
您的云钻暂时不足,攒足云钻再来刮
恭喜获得1张券!
今天的机会已经全部用完了,请明天再来
恭喜刮出两张券,请选择一张领取
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版 C++入门经典:英文限量版 沃特·萨维奇 清华大学出版社 97873
¥ ×1
商品
服务
物流
目 录 第1章 计算机和C++编程入门 1 1.1 计算机系统 2 硬件 2 软件 5 高级语言 6 编译器 7 历史回顾 9 1.2 编程和问题求解 9 算法 10 程序设计 11 面向对象编程 12 软件生命周期 12 1.3 C++入门 13 C++语言的起源 13 一个C++示范程序 14 陷阱:在中错误地使用斜杠 17 编程提示:输入和输出语法 17 简单C++程序的布局 17 陷阱:在include的文件名前错误地添加一个空格 19 编译和运行C++程序 19 陷阱:编译C++11程序 19 编程提示:让程序运行起来 20 1.4 测试和调试 22 各种程序错误 22 陷阱:错误地假定程序正确 23 小结 24 自测题答案 25 编程练习 26 编程项目 27 第2章 C++基础知识 29 2.1 变量和赋值 30 变量 30 名称:标识符 32 变量声明 33 赋值语句 34 陷阱:未初始化的变量 35 编程提示:使用有意义的名称 36 2.2 输入和输出 37 使用cout进行输出 37 include预编译指令和命名空间 38 转义序列 39 编程提示:用或endl终止每一个程序 40 格式化带小数点的数字 41 用cin进行输入 42 设计输入和输出 43 编程提示:I/O中的换行 43 2.3 数据类型和表达式 44 int类型和double类型 44 其他数值类型 45 C++11类型 46 char类型 47 bool类型 48 string类简介 48 类型的兼容性 49 算术操作符和表达式 50 陷阱:除法中的整数 52 更多赋值语句 53 2.4 简单控制流程 54 一个简单的分支机制 54 陷阱:连续的不等式 58 陷阱:该用==的时候用了= 58 复合语句 59 简单的循环机制 61 递增操作符和递减操作符 63 编程实例:信用卡余额 64 陷阱:无限循环 65 2.5 程序风格 67 缩进 67 注释 67 为常量命名 69 小结 71 自测题答案 72 编程练习 75 编程项目 76 第3章 更多的控制流程 81 3.1 使用布尔表达式 82 布尔表达式求值 82 陷阱:将布尔表达式转换成int值 85 枚举类型(选读) 87 3.2 多路分支 87 嵌套语句 88 编程提示:在嵌套语句中使用花括号 88 多路if-else语句 90 编程实例:州收入税 91 switch语句 94 陷阱:忘记在switch语句中添加break 96 为菜单使用switch语句 97 代码块 98 陷阱:疏忽局部变量 100 3.3 C++循环语句详解 101 while语句回顾 101 再论递增操作符和递减操作符 102 for语句 104 陷阱:for语句中多余的分号 108 应该使用哪种循环 108 陷阱:未初始化的变量和无限循环 110 break语句 110 陷阱:嵌套循环中的break语句 111 3.4 设计循环 111 求和与求乘积的循环 112 终止循环 113 嵌套循环 115 调试循环 116 小结 119 自测题答案 120 编程练习 123 编程项目 124 第4章 过程抽象和返回值的函数 129 4.1 自顶向下设计 130 4.2 预定义函数 130 使用预定义函数 131 随机数生成 134 强制类型转换 135 强制类型转换的古老形式 137 陷阱:整数除法丢弃了小数部分 137 4.3 程序员自定义函数 138 函数定义 138 返回布尔值的函数 142 另一种形式的函数声明 142 陷阱:实参顺序错误 143 函数定义语法小结 144 再论函数定义的位置 144 编程提示:在分支语句中使用函数调用 145 4.4 过程抽象 146 黑盒的比喻 146 编程提示:选择形参名称 147 编程提示:嵌套循环 148 案例分析:购买比萨 150 编程提示:使用伪代码 154 4.5 作用域和局部变量 155 函数如同小程序 155 编程实例:豌豆试验田 157 全局常量和全局变量 157 传值形参是局部变量 158 块作用域 160 再论命名空间 161 编程实例:阶乘函数 163 4.6 重载函数名称 164 重载入门 164 编程实例:购买比萨(修订版) 166 自动类型转换 168 小结 170 自测题答案 171 编程练习 173 编程项目 174 第5章 用函数完成所有子任务 177 5.1 void函数 178 void函数的定义 178 编程实例温度换算 180 void函数中的return语句 181 5.2 传引用参数 182 初探传引用调用 182 传引用调用详解 184 编程实例:swapValues函数 187 混合的参数列表 188 编程提示:应该使用哪种参数 189 陷阱:疏忽造成的局部变量 190 5.3 使用过程抽象 192 在函数中调用其他函数 192 前条件和后条件 193 案例分析:超市定价系统 194 5.4 测试和调试函数 198 存根和驱动程序 198 5.5 常规调试技术 201 不抱成见 201 检查常见错误 202 定位错误 202 assert宏 203 小结 205 自测题答案 206 编程练习 208 编程项目 209 第6章 I/O流——对象和类入门 213 6.1 流和基本文件I/O 214 为什么要用文件来I/O 215 文件I/O 215 类与对象入门 218 编程提示:检查文件是否成功打开 219 文件I/O技术 222 追加到文件(选读) 223 文件名作为输入(选读) 225 6.2 流I/O工具 227 用流函数格式化输出 227 操纵元 230 流作为函数实参 232 编程提示:检查文件尾 233 命名空间的问题 234 编程实例:整理文件格式 235 6.3 字符I/O 236 get和put成员函数 236 putback成员函数(选读) 239 编程实例:检查输入 239 陷阱:输入中不期而遇的 241 编程实例:另一个newLine函数 242 函数的默认实参(选读) 243 eof成员函数 246 编程实例:编辑文本文件 247 预定义字符函数 249 陷阱:toupper和tolower返回值 250 小结 252 自测题答案 253 编程练习 257 编程项目 258 第7章 数组 263 7.1 数组入门 264 声明和引用数组 264 编程提示:为数组使用for循环 266 陷阱:数组索引总是从零开始 266 编程提示:为数组长度使用已定义常量 266 数组在内存中的表示 267 陷阱:数组索引越界 268 初始化数组 269 编程提示:C++11基于范围的for语句 270 7.2 函数中的数组 272 索引变量作为函数参数 272 整个数组作为函数参数 274 const参数修饰符 276 陷阱:const参数修饰符的使用不一致 277 返回数组的函数 278 案例分析:产量图 278 7.3 数组编程 287 部分填充数组 287 编程提示:不要吝啬形参 289 编程实例:搜索数组 290 编程实例:数组排序 291 编程实例:冒泡排序 294 7.4 多维数组 297 多维数组基础 297 多维数组参数 298 编程实例:二维打分程序 299 陷阱:在数组索引之间使用逗号 302 小结 303 自测题答案 304 编程练习 306 编程项目 307 第8章 字符串和向量 315 8.1 字符串的数组类型 316 C字符串值和C字符串变量 317 陷阱:为C字符串使用=和== 319 中的其他函数 321 陷阱:使用strcpy复制C字符串越界 322 C字符串输入和输出 324 C字符串到数值的转换和可靠输入 326 8.2 标准string类 330 标准类string简介 330 string类的I/O 332 编程提示:getline的其他版本 334 陷阱:混合使用cin>>变量;和getline 335 用string类进行字符串处理 336 编程实例:回文测试 338 string对象和C字符串之间的转换 341 字符串和数字之间的转换 342 8.3 向量 342 向量基础知识 342 陷阱:使用方括号时超出向量长度 345 编程提示:向量赋值具有良好行为 345 效率问题 345 小结 347 自测题答案 348 编程练习 349 编程项目 350 第9章 指针和动态数组 355 9.1 指针 356 指针变量 357 基本内存管理 362 陷阱:虚悬指针 362 静态变量和自动变量 362 编程提示:定义指针类型 363 9.2 动态数组 364 数组变量和指针变量 365 创建和使用动态数组 366 指针运算(选读) 370 多维动态数组(选读) 371 小结 373 自测题答案 374 编程练习 374 编程项目 375 第10章 定义类 379 10.1 结构 380 用于异种数据的结构 380 陷阱:结构定义中忘记添加分号 383 结构作为函数参数 384 编程提示:使用层次化结构 384 对结构进行初始化 386 10.2 类 388 定义类和成员函数 388 公共成员和私有成员 391 编程提示:将所有成员变量设为私有 396 编程提示:定义取值函数和赋值函数 397 编程提示:将赋值操作符用于对象 398 编程实例:BankAccount类(版本1) 398 总结类的一些特征 402 用于初始化的构造函数 403 编程提示:总是包括默认构造函数 408 陷阱:无参构造函数 409 C++11的成员初始化器和构造函数委托 410 10.3 抽象数据类型 411 用于生成抽象数据类型的类 412 编程实例:类的另一种实现 414 10.4 继承 418 派生类 418 定义派生类 419 小结 423 自测题答案 424 编程练习 428 编程项目 428 第11章 类中的友元函数、重载操作符和数组 433 11.1 友元函数 434 编程实例:一个相等性函数 434 友元函数 436 编程提示:定义取值函数和友元函数 438 编程提示:同时使用成员函数和非成员函数 439 编程实例:Money类(版本1) 439 实现digitToInt(选读) 443 陷阱:数字常量中的前置零 444 const参数修饰符 445 陷阱:修饰符const的用法不一致 447 11.2 重载操作符 449 重载操作符 449 用于自动类型转换的构造函数 452 重载一元操作符 453 重载>>和<< 454 11.3 数组和类 460 类数组 460 数组作为类成员 463 编程实例:用于部分填充数组的类 463 11.4 类和动态数组 465 编程实例:字符串变量类 466 析构函数 468 陷阱:指针作为传值参数 469 拷贝构造函数 471 重载赋值操作符 474 小结 477 自测题答案 478 编程练习 484 编程项目 484 第12章 独立编译和命名空间 491 12.1 独立编译 492 ADT回顾 492 案例分析:独立编译的DigitalTime类 493 使用#ifndef 500 编程提示:定义其他库 502 12.2 命名空间 503 命名空间和using预编译指令 503 创建命名空间 504 限定名称 506 命名空间的微妙之处(选读) 507 无名命名空间 508 陷阱:混淆全局命名空间和无名命名空间 512 小结 513 自测题答案 514 编程练习 515 编程项目 516 第13章 指针和链表 517 13.1 节点和链表 518 节点 519 ptr 521 链表 522 在表头插入节点 523 陷阱:丢失节点 525 搜索链表 526 指针作为迭代器 528 在列表中插入和删除节点 528 陷阱:为动态数据结构使用赋值操作符 531 链表的变体 531 类构成的链表 533 13.2 栈和队列 536 栈 536 编程实例:栈类 536 队列 539 编程实例:队列类 540 小结 544 自测题答案 545 编程练习 546 编程项目 547 第14章 递归 553 14.1 面向任务的递归函数 554 案例分析:垂直数字 555 深入递归 559 陷阱:无穷递归 560 用于递归的栈 562 陷阱:栈溢出 563 递归与迭代 563 14.2 面向值的递归函数 564 要返回值的递归函数的常规形式 564 编程实例:另一个求乘方函数 564 14.3 递归思想 567 递归设计技术 567 案例分析:二叉搜索(递归思想示例) 569 编程实例:递归成员函数 574 小结 577 自测题答案 578 编程练习 581 编程项目 581 第15章 继承 585 15.1 继承基础 586 派生类 588 派生类中的构造函数 593 陷阱:使用来自基类的私有成员变量 595 陷阱:私有成员函数不会继承 596 protected限定符 596 重定义成员函数 598 重定义与重载的比较 600 访问重定义的基函数 601 15.2 继承细节 602 不继承的函数 602 派生类中的赋值操作符和拷贝构造函数 602 派生类中的析构函数 603 15.3 多态性 604 晚期绑定 604 C++虚函数 605 虚函数和扩展类型兼容性 609 陷阱:不使用虚成员函数 612 陷阱:试图对虚成员函数定义不齐全的类进行编译 612 编程提示:使析构函数成为虚函数 613 小结 615 自测题答案 616 编程练习 619 编程项目 620 第16章 异常处理 627 16.1 异常处理基础 628 异常处理的简单例子 629 定义自己的异常类 635 多个throw块和catch块 636 陷阱:首先捕捉较具体的异常 638 编程提示:异常类可能很简单 638 在函数中抛出异常 639 异常规范 640 陷阱:派生类中的异常规范 641 16.2 用于异常处理的编程技术 642 抛出异常的时机 642 陷阱:未捕捉的异常 643 陷阱:嵌套try-catch块 643 陷阱:滥用异常 644 异常类层次结构 644 测试可用内存 644 重新抛出异常 645 小结 646 自测题答案 647 编程练习 647 编程项目 649 第17章 模板 651 17.1 用于算法抽象的模板 652 函数模板 653 陷阱:编译器的复杂性 656 编程实例:泛型排序函数 657 编程提示:如何定义模板 660 陷阱:为不恰当的类型使用模板 660 17.2 用于数据抽象的模板 660 类模板的语法 660 编程实例:数组类 663 小结 668 自测题答案 669 编程练习 671 编程项目 671 第18章 标准模板库 675 18.1 迭代器 676 using声明 677 迭代器基础 677 编程提示:使用auto简化变量声明 681 陷阱:编译器问题 681 迭代器的种类 682 常量和可变迭代器 684 逆向迭代器 685 其他种类的迭代器 687 18.2 容器 687 顺序容器 687 陷阱:迭代器和删除元素 690 编程提示:容器中的类型定义 691 容器配接器stack和queue 691 关联容器set和map 693 编程提示:为容器使用初始化、基于范围的for和auto 698 效率问题 699 18.3 泛型算法 699 运行时间和大O表示法 700 容器访问运行时间 703 不修改容器的算法 703 会修改容器的算法 706 set算法 707 排序算法 708 18.4 不断进化的C++ 708 std::array 709 正则表达式 710 线程 713 智能指针 717 小结 722 自测题答案 723 编程练习 724 编程项目 724 附录A C++关键字 729 附录B 操作符的优先级 730 附录C ASCII字符集 731 附录D 部分库函数 732 附录E 内联函数 736 附录F 重载数组索引方括号 737 附录G this指针 738 附录H 将操作符重载为成员操作符 740
沃特·萨维奇(Walter Savitch),加州大学圣迭戈校区计算机科学与工程系荣誉退休教授1960年于加州大学伯克利校区获得博士学位,曾担任加州大学圣迭戈分校计算机科学系教授和认知科学跨学科博士项目主任。他在复杂性理论和并行计算模型方面做出了重要的贡献,研究领域还包括形式语言理论和计算语言学等。他的编程语言教材(尤其是C++)深受师生欢迎。
畅销十余年的C++编程经典结构严谨、清晰,行文诙谐幽默,妙趣横生 80+技巧提示,30+生动有趣的编程实例 60+精彩视频,410+自测题,220+编程项目畅销十余年,国内上百所高校普遍采用的编程经典畅销十余年,国内上百所高校普遍采用的编程经典
"畅销十余年的C++编程经典 结构严谨、清晰,行文诙谐幽默,妙趣横生 80+技巧提示,30+生动有趣的编程实例 60+精彩视频,410+自测题,220+编程项目 "
抢购价:¥ 38.00
易购价:¥ 38.00
注:参加抢购将不再享受其他优惠活动
亲,很抱歉,您购买的宝贝销售异常火爆,让小苏措手不及,请稍后再试~
验证码错误
看不清楚?换一张
确定关闭
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
查看我的收藏夹
非常抱歉,您前期未参加预订活动,无法支付尾款哦!
关闭
抱歉,您暂无任性付资格
继续等待
0小时0分
立即开通
SUPER会员