《程序设计基础 以C++为例》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:虞歌编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302342281
  • 页数:496 页
图书介绍:本书的每章后面都有精心设计的实验题。许多实验题与例题有关联。实验题都有运行结果,较难的实验题有编程提示和程序代码,便于读者检验自己编写的程序。读者通过模仿、改写、编写的实践过程强化对相关内容的理解。

第1章 程序设计概述 1

1.1程序设计基础 1

1.1.1程序 1

1.1.2程序设计语言 1

1.1.3程序设计 2

1.2 C+++语言的发展历史与特点 4

1.2.1 C+++语言的历史 4

1.2.2 C+++语言的特点 5

1.3初识C+++ 6

1.3.1基本术语 6

1.3.2 C+++程序的开发过程 6

1.3.3第一个C+++程序 7

1.3.4华氏温度转换为摄氏温度的程序 9

1.3.5两个整数的加法程序 10

1.3.6计算两点之间距离的程序 11

1.3.7计算圆面积的程序 11

小结 13

习题 14

实验 15

第2章 C+++基础 18

2.1标识符 18

2.1.1 C+++程序中的基本记号 18

2.1.2标识符 18

2.1.3关键字 19

2.2数据类型 20

2.2.1数据类型的基本概念 20

2.2.2变量和常量 20

2.2.3整数类型 21

2.2.4浮点数类型 22

2.2.5字符类型 23

2.2.6布尔类型 24

2.2.7枚举类型 24

2.2.8类型定义 25

2.3用运算符对数据进行运算 26

2.3.1用表达式表达运算意图 26

2.3.2算术运算符和算术表达式 28

2.3.3赋值运算符和赋值表达式 29

2.3.4关系运算符和关系表达式 31

2.3.5逻辑运算符和逻辑表达式 31

2.3.6条件运算符和条件表达式 33

2.3.7位运算符 34

2.3.8长度运算符 36

2.3.9类型转换 36

2.4将语句编织成程序 38

2.4.1什么是语句 38

2.4.2简单语句 38

2.4.3单入口单出口的控制结构 39

2.4.4分支结构 40

2.4.5循环结构 49

2.5使用输入输出标准库 60

2.6指针 64

2.6.1什么是指针 64

2.6.2声明指针变量 65

2.6.3取地址运算符和解引用运算符 66

2.6.4指向指针的指针 68

2.6.5指针赋值 69

2.6.6通用指针 71

2.6.7使用Const修饰指针 72

2.7引用 74

2.8程序设计错误 75

2.8.1语法错误 75

2.8.2运行时错误 76

2.8.3逻辑错误 76

2.8.4测试和调试 77

2.9程序设计风格 77

2.9.1适当的注释 77

2.9.2命名习惯 78

2.9.3程序编排 79

2.10实例学习 80

小结 84

习题 87

实验 91

第3章 函数 100

3.1用函数封装程序功能 100

3.1.1函数定义 100

3.1.2函数调用 102

3.1.3函数声明 107

3.2内联函数 109

3.3函数默认参数 110

3.4函数重载 112

3.5函数模板 113

3.6递归函数 115

3.7指针和函数 121

3.7.1指针作为函数参数 121

3.7.2指针作为函数返回值 125

3.7.3指向函数的指针 126

3.8引用和函数 129

3.9 Lambda表达式 131

3.10异常处理 134

3.10.1什么是异常 134

3.10.2使用异常处理 135

3.11使用标准库 137

3.11.1程序终止 137

3.11.2用计算机生成随机数 137

3.12程序结构 141

3.12.1局部变量和全局变量 141

3.12.2动态变量和静态变量 142

3.12.3作用域和生命期 144

3.12.4预处理指令 146

3.12.5名字空间 149

3.13实例学习 151

小结 154

习题 156

实验 160

第4章 复合数据类型 166

4.1一维数组 166

4.1.1声明和处理一维数组 166

4.1.2一维数组和函数 171

4.2二维数组 173

4.2.1声明和处理二维数组 173

4.2.2二维数组和函数 178

4.3指针和数组 180

4.3.1指针和一维数组 180

4.3.2指针和二维数组 185

4.4排序和查找 186

4.4.1排序 186

4.4.2查找 188

4.4.3 qsort函数和bsearch函数 192

4.5 array数组 195

4.6动态内存分配 197

4.7字符串 200

4.7.1常用字符处理函数 200

4.7.2 C风格字符串 202

4.7.3 string字符串 205

4.7.4字符串流 211

4.8实例学习 213

小结 218

习题 219

实验 221

第5章 对象和类 228

5.1面向对象程序设计 228

5.2使用类编写程序 228

5.2.1声明类 228

5.2.2创建对象 231

5.2.3类成员函数的定义 234

5.3构造函数和析构函数 235

5.3.1构造函数初始化列表 235

5.3.2带默认参数的构造函数 237

5.3.3析构函数 238

5.4静态成员 239

5.5类作用域 242

5.6对象作为函数参数 244

5.7对象数组 246

5.8异常类 248

5.9编写多文件程序 252

5.10实例学习 254

小结 262

习题 263

实验 266

第6章 对象和类的进一步学习 278

6.1拷贝构造函数 278

6.2 this指针 284

6.3对象组合 288

6.4友元函数和友元类 291

6.5运算符重载 295

6.5.1什么是运算符重载 295

6.5.2运算符函数 296

6.5.3使用成员函数进行运算符重载 298

6.5.4使用普通函数进行运算符重载 301

6.5.5使用友元函数进行运算符重载 304

6.5.6赋值运算符和下标运算符重载 307

6.5.7其他常用运算符重载 312

6.6类模板 318

6.7实例学习 322

小结 329

习题 330

实验 333

第7章 继承和多态 345

7.1继承的概念 345

7.2单继承 346

7.2.1声明单继承派生类 346

7.2.2间接单继承 348

7.2.3保护成员 351

7.2.4继承方式 356

7.2.5赋值兼容 358

7.2.6单继承机制下的构造函数和析构函数 359

7.3多继承 365

7.3.1声明多继承派生类 365

7.3.2多继承机制下的构造函数和析构函数 366

7.3.3继承和访问规则 369

7.3.4虚基类 370

7.4多态的概念 376

7.5虚函数 376

7.5.1普通虚成员函数 376

7.5.2虚析构函数 380

7.6抽象类 382

小结 384

习题 386

实验 390

第8章 文件 399

8.1文件的概念 399

8.1.1流和文件流对象 399

8.1.2文本文件和二进制文件 399

8.2文件操作 400

8.2.1打开文件 400

8.2.2检测错误条件和文件末尾 401

8.2.3关闭文件 401

8.3文件输入输出 402

8.3.1格式化输入输出 402

8.3.2字符输入输出 403

8.3.3行输入输出 404

8.3.4块输入输出 405

8.4文件定位 408

小结 411

习题 411

实验 413

第9章 常用数据结构 416

9.1数组类Vector 416

9.2栈类Stack 420

9.3链表 423

9.3.1什么是链表 423

9.3.2链表的基本操作 424

9.3.3链表类LinkedList 426

9.4队列类Queue 432

小结 434

习题 435

实验 435

第10章 标准模板库 439

10.1标准模板库概述 439

10.2容器 439

10.2.1向量Vector 439

10.2.2双端队列Deque 443

10.2.3列表List 447

10.2.4集合Set和多重集合Multiset 452

10.2.5映射Map和多重映射Multimap 456

10.3容器适配器 459

10.3.1栈Stack 459

10.3.2队列Queue 460

10.3.3优先队列Priority_Queue 462

10.4迭代器 463

10.4.1预定义迭代器 463

10.4.2迭代器的类型 464

10.4.3迭代器相关辅助函数 465

10.4.4迭代器适配器 467

10.5函数对象 472

10.5.1自定义函数对象 472

10.5.2预定义函数对象 474

10.5.3函数适配器 475

10.6算法 477

10.6.1非变动性算法 477

10.6.2变动性算法 479

10.6.3排序及相关算法 484

10.6.4数值算法 488

小结 491

习题 492

实验 493