C++程序设计
C++程序设计封面图

C++程序设计

严悍, 张宏, 李千目, 主编

出版社:清华大学出版社

年代:2009

定价:40.0

书籍简介:

C++是一种面向对象的程序设计语言。本书从介绍面向对象程序方法入手,以没有学习过程序设计语言的初学者为对象,由浅入深并结合大量实例,介绍了Visual C++程序设计的原理及方法。

书籍目录:

第1章 C++概述 1

1.1 程序设计概述 1

1.1.1 程序设计方法 1

1.1.2 程序设计语言 2

自测题 5

1.2 从C到C++ 5

自测题 6

1.3 简单的C++程序介绍 6

自测题 9

1.4 C++程序的开发步骤 9

自测题 10

1.5 VC++程序的上机过程 10

1.5.1 VC++程序开发环境介绍 10

1.5.2 在VC++6.0环境中开发VC++

程序 11

自测题 15

小结 15

编程项目 16

第2章 数据类型 17

2.1 基本数据类型 17

2.1.1 关键字 17

2.1.2 标识符 18

2.1.3 标点符号 18

2.1.4 分隔符 19

2.1.5 C++的基本数据类型 19

自测题 22

2.2 常量 22

2.2.1 整型常量 22

2.2.2 实型常量 23

2.2.3 字符型常量 24

2.2.4 字符串型常量 25

2.2.5 符号常量 26

自测题 27

2.3 变量 27

2.3.1 变量的命名 27

2.3.2 变量的声明 28

2.3.3 变量的赋值 29

2.3.4 变量的初始化 29

2.3.5 常数型变量 29

自测题 30

小结 31

编程项目 31

第3章 运算符和表达式 32

3.1 基本运算符 32

3.1.1 算术运算符 32

3.1.2 关系运算符 33

3.1.3 逻辑运算符 34

3.1.4 位运算符 35

3.1.5 赋值运算符 37

3.1.6 逗号运算符 38

3.1.7 三目运算符 39

3.1.8 自增、自减运算符 40

3.1.9 sizeof运算符 40

自测题 41

3.2 表达式 41

自测题 45

3.3 运算符优先级和结合性 45

自测题 46

3.4 类型转换 47

3.4.1 自动类型转换 47

3.4.2 强制类型转换 48

3.4.3 赋值转换 49

3.4.4 逻辑表达式求值的优化 49

自测题 49

小结 50

编程项目 50

第4章 C++的基本语句 51

4.1 C++语言的语句和程序结构 51

4.1.1 C++语句分类 51

4.1.2 程序的基本结构 53

自测题 54

4.2 选择结构语句 54

4.2.1 条件语句 54

4.2.2 条件运算符“?:” 58

4.2.3 开关语句 59

自测题 62

4.3 循环结构语句 63

4.3.1 while语句 63

4.3.2 do…while语句 64

4.3.3 for语句 66

4.3.4 三种循环语句的比较 68

4.3.5 循环的嵌套及其应用 68

自测题 69

4.4 控制执行顺序的语句 69

4.4.1 break语句 69

4.4.2 continue语句 70

4.4.3 goto语句 71

4.4.4 exit和abort函数 72

自测题 73

4.5 编程规范和编程风格 73

自测题 75

4.6 程序设计举例 75

自测题 79

小结 79

编程项目 79

第5章 函数和编译预处理 80

5.1 函数的基本概念 80

自测题 82

5.2 函数定义 82

5.2.1 无参函数的定义 82

5.2.2 有参函数的定义 82

5.2.3 函数定义的注意点 83

自测题 84

5.3 函数调用 84

5.3.1 函数调用的一般形式 84

5.3.2 函数调用的方式 84

5.3.3 函数调用的注意点 86

自测题 87

5.4 函数的参数传递和函数的返回值 87

5.4.1 函数的形式参数和实际

参数 87

5.4.2 函数的返回值 88

自测题 89

5.5 函数声明 89

自测题 91

5.6 带默认形参值的函数 91

自测题 93

5.7 内联函数 94

自测题 95

5.8 函数的嵌套和递归调用 95

5.8.1 函数的嵌套调用 95

5.8.2 函数的递归调用 96

自测题 100

5.9 作用域和存储类型 100

5.9.1 作用域 100

5.9.2 局部变量与全局变量 103

5.9.3 动态与静态变量 105

5.9.4 变量的存储类型 106

自测题 110

5.1 0函数的重载 111

自测题 114

5.1 1编译预处理 114

5.1 1.1 包含文件 115

5.1 1.2 不带参数的宏定义 116

5.1 1.3 带参数的宏定义 117

5.1 1.4 条件编译 118

自测题 119

5.1 2 程序的多文件组织 119

5.1 2.1 内部函数和外部函数 120

5.1 2.2 程序的多文件组织方法 120

5.1 2.3 多文件组织的编译和

连接 121

自测题 121

小结 121

编程项目 123

第6章 数组 124

6.1 一维数组的定义及应用 124

6.1.1 一维数组的定义 124

6.1.2 一维数组的初始化 125

6.1.3 一维数组存储 126

6.1.4 一维数组元素的引用 127

6.1.5 一维数组应用 128

自测题 131

6.2 多维数组的定义及使用 131

6.2.1 二维数组的定义 131

6.2.2 二维数组的初始化 132

6.2.3 二维数组的存储 134

6.2.4 二维数组元素的引用 135

6.2.5 二维数组的应用 136

自测题 139

6.3 字符数组的定义和使用 139

6.3.1 字符串 139

6.3.2 字符数组 140

自测题 142

6.4 字符串处理函数 142

自测题 144

6.5 字符数组的应用举例 144

自测题 147

小结 147

编程项目 147

第7章 结构体、共用体和枚举型 148

7.1 结构体的定义及应用 148

7.1.1 结构体类型的定义 148

7.1.2 结构体类型变量的定义 149

7.1.3 结构体类型变量的使用 151

7.1.4 结构体数组 154

自测题 156

7.2 共用体的定义及应用 156

7.2.1 共用体类型的说明 156

7.2.2 共用体类型变量的说明及

使用 157

自测题 158

7.3 枚举类型 158

7.3.1 枚举类型的说明 159

7.3.2 枚举类型变量的使用 160

自测题 163

小结 164

编程项目 164

第8章 指针和引用 165

8.1 指针和指针变量 165

8.1.1 指针的概念 165

8.1.2 指针变量的说明 166

自测题 167

8.2 指针运算 167

8.2.1 指针的赋值运算 167

8.2.2 指针的算术运算 169

8.2.3 指针的关系运算 170

自测题 172

8.3 指针和数组 172

8.3.1 指针与一维数组 172

8.3.2 指针与多维数组 173

8.3.3 指针和字符串 176

自测题 177

8.4 指针数组和多级指针 177

8.4.1 指针数组 177

8.4.2 指向一维数组的指针变量 179

8.4.3 多级指针 180

自测题 181

8.5 指针和函数 182

8.5.1 指针作为函数的参数 182

8.5.2 返回指针的函数 185

8.5.3 指向函数的指针 186

8.5.4 带参数的main()函数 189

自测题 190

8.6 new和delete运算符 190

8.6.1 new和delete运算符的

用法 190

8.6.2 使用new和delete运算符的

注意事项 193

自测题 193

8.7 引用类型和其他类型的指针 194

8.7.1 引用类型变量的说明

和使用 194

8.7.2 函数的引用传递 195

8.7.3 const类型变量 196

8.7.4 void型指针 198

自测题 199

8.8 简单链表 200

8.8.1 链表概述 200

8.8.2 建立链表 200

8.8.3 链表的输出 201

8.8.4 链表的插入 202

8.8.5 链表的删除 204

自测题 207

8.9 类型定义 207

自测题 208

小结 208

编程项目 209

第9章 类和对象 210

9.1 面向对象的程序设计概述 210

9.1.1 面向对象程序设计概念 210

9.1.2 面向对象程序设计的特点 212

9.1.3 类和对象的作用 212

9.1.4 面向对象的软件开发 213

自测题 214

9.2 类的声明和对象的定义 214

9.2.1 类和对象的关系 214

9.2.2 类的定义 214

9.2.3 对象的定义 216

9.2.4 类和对象的作用域 217

9.2.5 类和结构体类型的异同 218

自测题 219

9.3 类的成员函数 219

9.3.1 成员函数的性质 220

9.3.2 在类外定义成员函数 221

9.3.3 内联成员函数 221

9.3.4 成员函数的存储方式 223

自测题 225

9.4 对象成员的引用 225

9.4.1 通过对象名和成员运算符

访问对象中的成员 225

9.4.2 通过指向对象的指针访问

对象中的成员 227

9.4.3 通过对象的引用访问

对象中的成员 227

自测题 228

9.5 类的封装性和信息隐藏 228

9.5.1 公用接口和私有实现的

分离 228

9.5.2 类声明和成员函数定义的

分离 229

自测题 231

9.6 this指针 231

自测题 232

小结 233

编程项目 233

第10章 构造函数和析构函数 235

10.1 构造函数 235

10.1.1 定义构造函数 235

10.1.2 对象的初始化 236

10.1.3 构造函数的作用 237

10.1.4 带参数的构造函数 238

10.1.5 用参数初始化列表对数据

成员初始化 240

10.1.6 默认的构造函数 241

10.1.7 构造函数的重载 242

自测题 244

10.2 析构函数 244

10.2.1 析构函数的定义 245

10.2.2 默认的析构函数 247

10.2.3 不同存储类型的对象调用

构造函数及析构函数 247

自测题 247

10.3 调用构造函数和析构函数的

顺序 248

自测题 250

10.4 对象数组和对象指针 251

10.4.1 对象数组 251

10.4.2 对象指针 252

自测题 254

10.5 共用数据的保护 255

10.5.1 常对象 255

10.5.2 对象成员 255

10.5.3 指向对象的常指针 256

10.5.4 指向常对象的指针变量 257

10.5.5 对象的常引用 258

自测题 258

10.6 对象的动态建立和释放 259

自测题 259

10.7 对象的赋值和复制 260

10.7.1 对象的赋值 260

10.7.2 对象的复制 260

自测题 262

10.8 静态成员 262

10.8.1 静态数据成员 263

10.8.2 静态成员函数 264

自测题 265

10.9 友元 265

10.9.1 友元函数 265

10.9.2 友元类 268

自测题 270

小结 270

编程项目 271

第11章 继承和派生 272

11.1 继承和派生的概念 272

11.1.1 基本概念 272

11.1.2 单一继承 273

11.1.3 多重继承 274

自测题 277

11.2 派生类成员的访问属性 277

11.2.1 公有继承 277

11.2.2 私有继承 279

11.2.3 保护成员和保护继承 280

11.2.4 多级派生时的访问属性 281

自测题 282

11.3 派生类的构造函数和析构函数 283

11.3.1 简单的派生类的构造

函数 283

11.3.2 有成员对象的派生类的

构造函数 284

11.3.3 多级派生和多重继承的

构造函数 286

11.3.4 派生类构造函数的特殊

形式 288

11.3.5 派生类的析构函数 289

11.3.6 多重继承的二义性问题 293

自测题 296

11.4 虚基类 296

自测题 298

11.5 子类型关系 298

自测题 301

小结 302

编程项目 303

第12章 多态性和虚函数 304

12.1 多态性的概念 304

自测题 305

12.2 虚函数 305

12.2.1 虚函数的作用 305

12.2.2 静态关联和动态关联 306

12.2.3 虚函数的使用 308

12.2.4 虚析构函数 311

自测题 312

12.3 纯虚函数和抽象类 313

12.3.1 纯虚函数 313

12.3.2 抽象类 313

12.3.3 应用实例 313

自测题 316

小结 317

编程项目 317

第13章 运算符重载 318

13.1 运算符重载 318

13.1.1 运算符重载的概念 318

13.1.2 运算符重载的方法和

规则 319

自测题 322

13.2 重载运算符 322

13.2.1 重载双目运算符 322

13.2.2 重载单目运算符 324

自测题 328

13.3 重载流插入和流提取运算符 328

13.3.1 重载流插入运算符“>” 329

自测题 331

13.4 几种特殊运算符的重载 331

13.4.1 重载下标运算符 331

13.4.2 重载new和delete

运算符 333

13.4.3 重载函数调用运算符

“()” 334

自测题 335

13.5 不同类型数据间的转换 335

13.5.1 标准类型数据间的转换 336

13.5.2 转换构造函数 336

13.5.3 类型转换函数 337

自测题 338

13.6 字符串类 338

自测题 341

小结 341

编程项目 342

第14章 输入/输出流与文件操作 343

14.1 流的概念 343

自测题 345

14.2 基本I/O流类体系概述 345

14.2.1 基本I/O流类体系 345

14.2.2 预定义的标准输入/

输出流 346

自测题 347

14.3 流的格式控制与标准输入/输出 348

14.3.1 流的格式控制 348

14.3.2 标准输出的控制格式 349

14.3.3 标准输入的控制格式 353

自测题 359

14.4 文件流和文件操作 360

14.4.1 文件的概念 360

14.4.2 文件流类体系和文件流 361

14.4.3 文件的打开与关闭 362

14.4.4 文本文件的使用 365

14.4.5 二进制文件的使用 369

自测题 375

小结 375

编程项目 376

第15章 模板 377

15.1 模板的概念 377

自测题 378

15.2 函数模板 378

15.2.1 函数模板的定义 378

15.2.2 函数模板的使用和

实例化 379

15.2.3 函数模板的重载 380

15.2.4 函数模板与宏和函数

重载的比较 381

自测题 382

15.3 类模板 382

15.3.1 类模板的定义 382

15.3.2 类模板的实例化 383

自测题 385

小结 385

编程项目 385

第16章 异常处理 386

16.1 异常的概念 386

自测题 387

16.2 C++的异常处理机制 387

16.2.1 抛出异常 388

16.2.2 try块 388

16.2.3 捕获和处理异常 389

16.2.4 异常处理的执行过程 390

自测题 392

16.3 异常对象 392

16.3.1 类异常的定义和异常

对象的使用 392

16.3.2 异常处理中对象的构造和

析构 394

自测题 400

16.4 异常的重新抛出与嵌套处理 400

自测题 403

16.5 异常规范 403

自测题 404

小结 405

编程项目 405

附录1 ASCII码表 406

附录2 常用的库函数 407

参考文献 411

内容摘要:

C++是一种面向对象的程序设计语言。本书从介绍面向对象程序方法入手,以程序设计语言的初学者为对象,由浅入深并结合大量实例,介绍了Visual C++程序设计的原理及方法。本书着重介绍了C++语言的基本概念、语法、程序设计思想,以及面向对象的程序设计基本方法。本书分为面向过程的基础部分(包括第1~8章)和面向对象的高级部分(包括第9~16章)。前面讲述C++基础内容,后面讲述面向对象的程序设计。本书加强了实际编程能力的训练,从实际程序开发的需要出发,注重培养学生运用基本知识解决实际问题的能力,而不过分追求知识的系统性和完整性。本书可以作为大中专院校理工类学生的C++语言教材,是程序设计语言的入门与提高教材,也可以作为C++语言爱好者的参考教材。本书通俗易懂,由浅入深,注重启发,侧重实用。本书提供电子教案,并提供源代码。

编辑推荐:

结构清晰,知识完整;
入门快速,易教易学;
实例丰富,实用性强;
学以致用,注重能力。

书籍规格:

书籍详细信息
书名C++程序设计站内查询相似图书
丛书名高等院校计算机教育系列教材
9787302196143
如需购买下载《C++程序设计》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次2版印次1
定价(元)40.0语种简体中文
尺寸26装帧平装
页数 422 印数

书籍信息归属:

C++程序设计是清华大学出版社于2009.出版的中图分类号为 TP312 的主题关于 C语言-程序设计-高等学校-教材 的书籍。