注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术工业技术建筑科学建筑设计精通C++(第9版)

精通C++(第9版)

精通C++(第9版)

定 价:¥198.00

作 者: (美)托尼·加迪斯,朱迪·沃尔特斯,戈德弗雷·穆甘达
出版社: 清华大学出版社
丛编项: 清华计算机图书译丛
标 签: 暂缺

购买这本书可以去


ISBN: 9787302503163 出版时间: 2018-08-01 包装: 平装
开本: 16开 页数: 字数:  

内容简介

  本书自第1版出版以来,就深受广大读者欢迎,成为学习C 的经典教材,这是*的第9版。本书共分19章,从计算机科学的基础知识和内容开始,介绍C 程序的基本组成部分,C 语言的语法和结构,类与面向对象编程,文件与I/O操作,递归的应用,多态与虚函数,异常处理,模板实现与标准模板库使用,链表的概念与操作,栈与队列的概念与操作,二叉树及其操作等。 本书的知识体系完整,编写体例充分考虑了教学的需要,全书给出了思考题447道,复习与练习题586道,挑战编程题304道,完整程序362个,非常适合作为高等院校计算机及相关专业程序设计与数据结构的教材,也是精通C 程序设计的*用书。

作者简介

暂缺《精通C++(第9版)》作者简介

图书目录

第1章  计算机和编程简介    1

1.1  为什么要使用程序    1

1.2  计算机系统:硬件和软件    2

1.2.1  硬件    2

1.2.2  软件    5

1.2.3  思考题    6

1.3  程序和编程语言    6

1.3.1  程序的定义    7

1.3.2  编程语言    8

1.3.3  源代码、目标代码和可执行

代码    9

1.3.4  思考题    11

1.4  程序的组成    11

1.4.1  语言元素    11

1.4.2  代码行和语句    13

1.4.3  变量    14

1.4.4  变量定义    14

1.5  输入、处理和输出    15

思考题    15

1.6  编程过程    16

1.6.1  设计和创建程序    16

1.6.2  软件工程的定义    19

1.6.3  思考题    20

1.7  综合演练:显示个性化消息    20

1.7.1  复习和练习    21

1.7.2  编程挑战    23

第2章  C 简介    24

2.1  C 程序的部件    24

思考题    27

2.2  cout对象    27

2.3  #include指令    32

思考题    33

2.4  变量和赋值语句    33

2.5  常数    35

2.5.1  有时数字并不是数字    36

2.5.2  思考题    36

2.6  标识符    37

2.7  整型数据类型    39

2.7.1  整数和长整型常数    42

2.7.2  十六进制和八进制常数    43

2.7.3  思考题    43

2.8  浮点数据类型    44

2.8.1  浮点常数    45

2.8.2  将浮点值分配给整型变量    46

2.8.3  思考题    47

2.9  char数据类型    47

2.10  C string类    51

2.10.1  使用string类    51

2.10.2  思考题    52

2.11  bool数据类型    52

2.12  确定数据类型的大小    53

2.13  变量赋值和初始化详解    54

2.14  作用域    56

2.15  算术运算符    56

思考题    60

2.16  注释    60

2.16.1  单行注释    61

2.16.2  多行注释    61

2.17  编程风格    62

2.18  综合演练:笑脸!    63

2.18.1  复习和练习    64

2.18.2  编程挑战    68

第3章  表达式和交互    71

3.1  cin对象    71

3.1.1  输入多个值    74

3.1.2  思考题    76

3.2  数学表达式    77

3.2.1  运算符的优先级    79

3.2.2  关联性    80

3.2.3  用圆括号分组    80

3.2.4  将代数表达式转换为编程

语句    81

3.2.5  指数问题详解    81

3.2.6  思考题    83

3.3  数据类型转换和类型强制转换    85

3.3.1  类型强制转换    86

3.3.2  思考题    89

3.4  溢出和下溢    90

3.5  命名常量    91

思考题    93

3.6  多变量和组合赋值    94

3.6.1  组合赋值运算符    94

3.6.2  思考题    96

3.7  格式化输出    97

3.7.1  setprecision操作符    100

3.7.2  fixed操作符    103

3.7.3  showpoint操作符    104

3.7.4  left和right操作符    105

3.7.5  思考题    107

3.8  处理字符和字符串    107

3.8.1  输入字符串    108

3.8.2  输入一个字符    110

3.8.3  使用cin.get    110

3.8.4  混合使用cin >>和cin.get    112

3.8.5  使用cin.ignore    112

3.8.6  实用的string成员函数和

运算符    113

3.8.7  使用C字符串    115

3.8.8  为C字符串赋值    116

3.8.9  跟踪一个C字符串的大小    117

3.8.10  读取一行输入    119

3.8.11  思考题    120

3.9  更多数学库函数    120

3.10  随机数字    122

3.10.1  限制随机数的范围    125

3.10.2  思考题    125

3.11  关于调试:手动跟踪程序    126

3.12  Green Fields Landscaping案例

研究——第1部分    127

3.12.1  问题陈述    127

3.12.2  程序设计    128

3.12.3  程序    128

3.12.4  General Crates公司案例

研究    130

3.13  综合演练:单词游戏    130

3.13.1  复习和练习    132

3.13.2  编程挑战    137

第4章  条件选择    143

4.1  关系运算符    143

4.1.1  关系的值    144

4.1.2  真值和假值    145

4.1.3  思考题    147

4.2  if语句    148

4.2.1  编程风格和if语句    151

4.2.2  要注意的3个常见错误    151

4.2.3  真值详解    153

4.2.4  标记    154

4.2.5  整数标记    155

4.2.6  思考题    155

4.3  if-else语句    156

4.3.1  使用if 或if-else的时机    157

4.3.2  比较浮点数    159

4.3.3  思考题    161

4.4  if-else if语句    161

4.4.1  使用结尾else    166

4.4.2  思考题    167

4.5  菜单驱动程序    168

4.6  嵌套if语句    170

思考题    173

4.7  逻辑运算符    174

4.7.1  &&运算符    174

4.7.2  || 运算符    176

4.7.3  ! 运算符    178

4.7.4  布尔变量和?!运算符    179

4.7.5  逻辑运算符的优先级和

关联性    181

4.7.6  使用逻辑运算符检查数字

范围    182

4.7.7  思考题    182

4.8  验证用户输入    183

4.9  块和作用域详解    185

4.9.1  同名变量    186

4.9.2  思考题    187

4.10  字符和字符串详解    188

4.10.1  比较字符    188

4.10.2  比较string对象    189

4.10.3  测试字符    191

4.10.4  思考题    193

4.11  条件运算符    194

4.11.1  使用条件表达式的值    195

4.11.2  思考题    197

4.12  switch语句    197

4.12.1  在菜单驱动系统中使用

switch    203

4.12.2  思考题    205

4.13  枚举数据类型    206

思考题    209

4.14  关于测试和调试:验证输出结果    210

4.15  Green Fields Landscaping案例研

究——第2部分    212

4.15.1  问题陈述    212

4.15.2  程序设计    213

4.15.3  程序    214

4.15.4  Crazy A1的计算机商业

案例研究    216

4.16  综合演练:算命游戏    217

4.16.1  复习和练习    218

4.16.2  编程挑战    222

第5章  循环    228

5.1  循环介绍:while循环    228

5.1.1  while循环    228

5.1.2  while是一个预测试循环    230

5.1.3  无限循环    231

5.1.4  编程风格和while循环    232

5.1.5  思考题    234

5.2  使用while循环验证输入    235

5.3  递增和递减运算符    237

5.3.1  后缀和前缀模式    239

5.3.2  在数学表达式中使用递增

和递减运算符    241

5.3.3  在关系表达式中使用递增

和递减运算符    241

5.3.4  思考题    242

5.4  计数器    243

5.5  保持累计汇总    245

5.6  标记符号    247

思考题    248

5.7  do-while循环    249

5.7.1  toupper函数    251

5.7.2  与菜单一起使用do-while    252

5.7.3  思考题    254

5.8  for循环    254

5.8.1  for循环是一个预测试循环    257

5.8.2  避免修改for循环体中的

计数器变量    257

5.8.3  更新表达式的其他形式    258

5.8.4  定义for循环初始化表达式

中的变量    258

5.8.5  创建用户控制的for循环    258

5.8.6  在初始化和更新表达式中

使用多个语句    259

5.8.7  省略for循环的表达式或

循环体    260

5.8.8  思考题    260

5.9  关于软件工程:决定使用哪个

循环    261

5.9.1  while循环    261

5.9.2  do-while循环    262

5.9.3  for循环    262

5.10  嵌套循环    262

5.11  打破循环    265

5.11.1  在嵌套循环中使用break    266

5.11.2  continue语句    267

5.11.3  思考题    268

5.12  使用文件进行数据存储    269

5.12.1  文件类型    270

5.12.2  文件访问方法    271

5.12.3  文件名和文件流对象    271

5.12.4  为输入输出文件设置

程序    272

5.12.5  创建文件流对象并打开

文件    273

5.12.6  关闭文件    274

5.12.7  将数据写入文件    274

5.12.8  从文件读取数据    276

5.12.9  读取位置    278

5.12.10  让用户指定一个文件名    279

5.12.11  使用旧版本C 中的

c_str成员函数    280

5.12.12  检测文件的末尾    280

5.12.13  测试文件打开的错误    282

5.12.14  思考题    284

5.13  关于测试和调试:创建良好的

测试数据    284

5.14  Central Mountain Credit Union

案例研究    287

5.14.1  问题陈述    287

5.14.2  计算    287

5.14.3  变量    287

5.14.4  程序设计    288

5.14.5  详细伪代码    288

5.14.6  程序    289

5.14.7  测试程序    291

5.14.8  Lightening Lanes案例

研究    291

5.15  综合演练:多彩世界    291

5.15.1  复习和练习    294

5.15.2  编程挑战    299

第6章  函数    305

6.1  模块化编程    305

6.2  定义和调用函数    306

6.2.1  空函数    307

6.2.2  调用函数    307

6.2.3  思考题    313

6.3  函数原型    314

6.4  将数据发送到函数中    315

6.5  按值传递数据    320

思考题    322

6.6  使用return语句    323

6.7  从函数返回值    325

6.7.1  定义一个返回值函数    325

6.7.2  调用返回值函数    326

6.8  返回一个布尔值    330

思考题    332

6.9  在菜单驱动程序中使用函数    332

6.10  局部变量和全局变量    336

6.10.1  局部变量    336

6.10.2  局部变量生存期    338

6.10.3  使用形参值初始化本地

变量    338

6.10.4  全局变量    338

6.10.5  全局常数    340

6.10.6  具有相同名称的局部

变量和全局变量    342

6.11  静态局部变量    343

思考题    345

6.12  默认实参    346

6.13  使用引用变量作为形参    349

6.13.1  按引用传递实参和

按值传递实参的时机    353

6.13.2  将文件传递给函数    355

6.13.3  思考题    358

6.14  重载函数    359

6.15  使用exit()函数    364

思考题    365

6.16  桩模块和驱动模块    366

6.17  小乐透案例研究    369

6.17.1  问题陈述    369

6.17.2  程序设计    369

6.17.3  程序    371

6.17.4  High Adventrue Travel 

Agency旅行社案例研究    374

6.18  综合演练:发光的南瓜灯    374

6.18.1  复习和练习    378

6.18.2  编程挑战    381

第7章  类和对象简介    388

7.1  抽象数据类型    388

7.1.1  抽象    388

7.1.2  在软件开发中使用抽象    389

7.1.3  抽象数据类型    389

7.2  面向对象编程    389

7.3  关于类的介绍    391

7.3.1  使用已经知道的类    391

7.3.2  创建自己的类    392

7.3.3  访问修饰符    393

7.3.4  private和public成员的

位置    393

7.4  创建和使用对象    394

7.4.1  访问对象的成员    395

7.4.2  访问器和设置器    396

7.5  定义成员函数    397

7.5.1  类成员函数的命名约定    399

7.5.2  避免陈旧数据    402

7.5.3  内联函数详解    402

7.5.4  思考题    403

7.6  构造函数    403

7.6.1  重载构造函数    407

7.6.2  默认构造函数    408

7.7  析构函数    409

思考题    410

7.8  私有成员函数    412

7.9  将对象传递给函数    415

7.9.1  常量引用形参    418

7.9.2  从函数返回一个对象    419

7.9.3  思考题    422

7.10  对象组合    422

思考题    425

7.11  关于软件工程:分离类规范、

实现和客户端代码    426

7.11.1  使用多个文件的优点    431

7.11.2  在类对象中执行输入

输出    432

7.11.3  思考题    432

7.12  结构    432

7.12.1  访问结构成员    433

7.12.2  显示和比较结构变量    435

7.12.3  初始化结构    436

7.12.4  嵌套结构    437

7.12.5  思考题    440

7.12.6  将结构传递给函数    441

7.12.7  从函数返回一个结构    443

7.12.8  思考题    444

7.13  枚举数据类型详解    445

7.13.1  在同一个语句中声明enum

数据类型并定义变量    445

7.13.2  将整数赋值给enum

变量    445

7.13.3  将枚举量赋值给int

变量    446

7.13.4  使用数学运算符改变

enum变量的值    446

7.13.5  使用枚举量输出值    446

7.13.6  使用枚举量控制循环    447

7.13.7  使用C 11中的强类型

enum    448

7.14  Home Software公司OOP案例

研究    449

7.14.1  私有成员变量    450

7.14.2  公共成员函数    450

7.14.3  类声明    450

7.14.4  withdraw会员函数    451

7.14.5  类接口    452

7.14.6  实现类    452

7.15  面向对象分析与设计介绍    456

7.15.1  寻找类    459

7.15.2  确定类的责任    462

7.15.3  这仅仅是个开始    465

7.15.4  对象的可重用性    465

7.15.5  面向对象与基于对象的

编程    465

7.15.6  思考题    465

7.16  屏幕控制    466

7.16.1  屏幕光标定位    466

7.16.2  创建一个屏幕输入表单    469

7.17  综合演练:溜溜球动画    471

7.17.1  复习和练习    473

7.17.2  编程挑战    479

第8章  数组    486

8.1  保存多个值的数组    486

8.2  访问数组元素    488

8.3  输入和显示数组内容    489

8.3.1  将数据从文件读入数组    491

8.3.2  将数组的内容写入文件    493

8.3.3  C 中没有数组边界检查    493

8.3.4  注意大小差一错误    495

8.3.5  思考题    496

8.4  数组初始化    497

8.4.1  从数组元素1开始    501

8.4.2  数组部分初始化    501

8.4.3  隐式数组大小    503

8.4.4  初始化变量的新方法    503

8.5  基于范围的for循环    504

8.6  处理数组内容    507

8.6.1  复制一个数组到另一个    509

8.6.2  比较两个数组    510

8.6.3  对数字数组中的值求和    511

8.6.4  查找数字数组中数值的

平均值    511

8.6.5  在数字数组中查找最高值

和最低值    512

8.6.6  部分填充数组    514

8.6.7  为什么要使用数组    515

8.6.8  处理字符串    517

8.7  使用并行数组    519

思考题    521

8.8  typedef声明    523

8.9  数组作为函数参数    523

8.9.1  使用const数组形参    529

8.9.2  一些有用的数组函数    529

8.9.3  思考题    532

8.10  二维数组    533

8.10.1  将二维数组传递给函数    537

8.10.2  对二维数组的所有元素

求和    539

8.10.3  对二维数组的行求和    539

8.10.4  对二维数组的列求和    540

8.11  三维或三维以上数组    541

思考题    543

8.12  矢量    544

8.12.1  定义和初始化矢量    545

8.12.2  存储和检索矢量中的值    546

8.12.3  使用C 11中基于范围

的for循环和vector    548

8.12.4  使用push_back成员

函数    549

8.12.5  确定矢量的大小    550

8.12.6  从矢量中删除元素    552

8.12.7  清理矢量    553

8.12.8  检测一个空矢量    554

8.12.9  矢量成员函数汇总    556

8.12.10  思考题    556

8.13  对象数组*    557

8.13.1  思考题    562

8.13.2  结构数组    563

8.13.3  思考题    566

8.14  National Commerce Bank案例

研究    567

8.15  综合演练:石头、剪刀、布    569

8.15.1  复习和练习    571

8.15.2  编程挑战    575

第9章  搜索、排序和算法分析    585

9.1  搜索算法简介    585

9.1.1  线性搜索    585

9.1.2  二分搜索    588

9.2  搜索对象数组    591

思考题    595

9.3  排序算法简介    595

9.3.1  冒泡排序    595

9.3.2  选择排序    599

9.3.3  思考题    604

9.4  对象数组排序    604

9.5  矢量排序和搜索    607

9.6  算法分析简介    609

9.6.1  计算问题和基本步骤    610

9.6.2  算法的复杂度    611

9.6.3  算法的最坏情况下的

复杂度    613

9.6.4  平均情况下的复杂度    615

9.6.5  渐近复杂度与大O表示法    615

9.6.6  思考题    617

9.7  案例研究    617

9.8  综合演练:秘密消息    617

9.8.1  复习和练习    622

9.8.2  编程挑战    623

第10章  指针    627

10.1  指针和地址运算符    627

10.2  指针变量    629

10.3  数组与指针之间的关系    632

10.4  指针的算术运算    637

10.5  初始化指针    638


本目录推荐