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

  • 购买积分:12 如何计算积分?
  • 作  者:陆勤主编
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2006
  • ISBN:7508429419
  • 页数:341 页
图书介绍:本书通过介绍和剖析大量程序示例,系统地阐述C++语言的各种类型的数据结构与语句特性,以及用C++语言进行程序设计的基本方法、技巧及应用,努力使读者既能熟悉一种优良的语言工具,又能掌握如何发挥这一工具效能的方法与技巧,增强灵活运用语言的能力,为读者今后进一步的程序设计实践打下较为扎实的基础。全书共十二章,内容翔实,信息量大,结构严谨,编排合理,文字流畅,示例众多,实用性强。书中的程序均已在Microsoft 6.0系统下编译运行。本书可作为本科相关专业的C++课程的教材或教学参考书。

第1章 C++语言基础 1

1.1C++程序的基本结构 2

1.2基本字符集与标识符 4

1.2.1基本字符集 4

1.2.2标识符 5

1.2.3关键字与标准标识符 5

1.2.4常量与变量 5

1.2.5符号常量 6

1.3简单数据类型 6

1.3.1整数类型 7

1.3.2实数类型 8

1.3.3字符类型 9

1.3.4布尔类型 10

1.4运算符与表达式 11

1.4.1算术运算符与算术表达式 11

1.4.2关系运算符与关系表达式 12

1.4.3逻辑运算符与逻辑表达式 13

1.4.4其他运算符 14

1.4.5类型转换 18

1.5赋值语句及简单输入、输出 19

1.5.1赋值语句 19

1.5.2赋值表达式 20

1.5.3输入、输出标准库函数cin、cout 20

1.6编译预处理 23

1.6.1预处理命令 23

1.6.2宏替换 24

1.6.4条件编译 25

1.6.3文件包含 25

1.7程序设计风格 26

思考题与习题 26

第2章 程序控制结构 29

2.1if语句 30

2.1.1简单if语句 30

2.1.2复合语句 31

2.1.3扩展if语句与嵌套if语句 31

2.2 switch语句 33

2.3 while语句 34

2.4 do-while语句 34

2.6多重循环结构 36

2.5 for语句 36

2.7 break语句、continue语句和goto语句 37

2.7.1 break语句 37

2.7.2 continue语句 38

2.7.3 goto语句 38

思考题与习题 39

第3章 数组 43

3.1一维数组 44

3.1.1一维数组说明 44

3.1.2一维数组的初始化 45

3.2多维数组 45

3.2.1二维数组说明 45

3.3数组应用示例 46

3.2.2维数组的初始化 46

3.4 string(字符串)类型处理 48

思考题与习题 50

第4章 函数 53

4.1函数定义 54

4.2函数调用与函数声明 55

4.2.1函数调用的一般形式 55

4.2.2函数调用的两种方式 55

4.2.3函数声明及函数原型 56

4.3通过函数参数传递数据 59

4.4函数的递归调用 60

4.5数组作为函数参数传递 62

4.6引用参数 64

4.7缺省参数 66

4.8变量的作用域和存储类别 66

4.8.1变量的作用域 66

4.8.2局部变量和全局变量 67

4.8.3变量的生存期 67

4.8.4变量的存储类别 68

4.8.5变量的存储类别说明符 68

4.9函数的存储类别 70

4.9.1用extern说明函数 70

4.9.2用static说明函数 71

4.10内联函数 71

4.1.1函数重载 72

412函数模板 74

思考题与习题 77

第5章 指针 79

5.1指针变量的说明与赋值操作 80

5.1.1指针和地址的概念 80

5.1.2指针变量的说明 80

5.1.3指针变量的初始化 81

5.1.4指针变量的赋值操作 81

5.2指针运算 83

5.2.1指针的赋值运算 84

5.2.2指针的算术运算 85

5.2.3指针的关系运算 86

5.3.1数组与指针的关系 87

5.3.2指向一维数组的指针 87

5.3指向数组的指针变量 87

5.3.3指向二维数组的指针 89

5.3.4数组指针作为函数参数 90

5.4指向字符串的指针变量 91

5.4.1字符数组与字符串的区别 91

5.4.2指向字符串的指针变量——字符指针 91

5.4.3字符指针作为函数参数 92

5.5指向函数的指针变量 93

5.6返回指针值的函数 95

5.7指针数组 96

5.8指向指针的指针变量 99

5.9主函数main中的指针参数 100

思考题与习题 101

第6章 结构体与线性链表 103

6.2结构体变量说明与赋值操作 104

6.1用typedef定义类型 104

6.2.1结构体类型定义 105

6.2.2结构体变量说明 106

6.2.3结构体变量的初始化 107

6.2.4结构体变量的赋值操作 107

6.2.5结构体类型的嵌套 109

6.3结构体数组和结构体指针 110

6.3.1结构体数组 110

6.3.2结构体指针 112

6.3.3结构体指针作为函数参数 114

6.4动态存储分配及释放 115

6.4.1动态数据结构 115

6.4.2动态存储分配和释放函数 116

6.4.3动态存储分配和释放运算符new和delete 117

6.4.4动态存储分配函数calloc 118

6.5线性链表概念 119

6.6线性链表的生成与遍历 120

6.6.1线性链表的生成——插表头 120

6.6.2线性链表的生成—插表尾 122

6.7在已知线性链表中的插入与删除操作 125

6.7.1插入一个新表元素至已知线性链表中某表元素之后 126

6.7.2插入一个新表元素至已知线性链表中某表元素之前 127

6.7.3在已知线性链表中删除一个表元素 129

6.7.4考虑通用性——对更新操作函数定义语句编码的改善 130

思考题与习题 131

第7章 共用体和枚举类型 133

7.1.2共用体类型定义和变量说明 134

7.1共用体 134

7.1.1什么是共用体 134

7.1.3共用体变量的初始化 136

7.1.4共用体变量的赋值操作 137

7.2枚举类型 141

7.2.1枚举类型定义和枚举变量说明 141

7.2.2枚举变量的初始化 142

7.2.3枚举变量的运算 143

思考题与习题 147

第8章 流文件 149

8.1文件的基本概念 150

8.2流文件的打开和关闭 151

8.3文本文件的读写 153

8.4二进制文件的读写 154

8.5流文件的定位与随机读写 160

思考题与习题 161

第9章 对象与类 163

9.1面向对象的基本概念 164

9.2类定义与对象说明 165

9.3类的成员函数 167

9.4类的构造函数和析构函数 173

9.4.1类的构造函数 173

9.4.2类的析构函数 175

9.5类的作用域、类的嵌套定义和静态类成员 177

9.5.1类的作用域 177

9.5.2类的嵌套定义 178

9.5.3静态类成员 179

9.6类的成员函数的重载 181

9.7类的友元函数的调用 182

9.8类模板与模板类 185

思考题与习题 187

第10章 继承与派生类 189

10.1C++派生类 190

10.2改变成员访问控制属性 195

10.3派生类与基类中同名成员的处理——同名覆盖 197

10.4间接继承 198

10.5继承机制下类的构造函数和析构函数 201

10.6类树与多继承 206

10.6.1类树 206

10.6.2多重继承 209

思考题与习题 214

第11章 多态性概述 217

11.1虚函数 218

11.1.1静态联编和动态联编 218

11.1.2虚函数的引入 218

11.1.3 virtual成员函数——虚函数 219

11.1.4纯虚函数与抽象基类 220

11.2运算符重载 221

11.2.1用成员函数重载运算符 222

11.2.2用类的友元函数进行运算符重载 223

思考题与习题 224

第12章 编程技巧示例 225

12.1显示图案 226

12.2逻辑判断 231

12.3数据模拟 236

12.4整数问题 242

12.5数据处理 246

12.6一般数值计算 251

12.7关于求素数 262

12.8分类算法概述 268

12.8.1直接分类算法 269

12.8.2改进的分类算法 269

12.8.3分类算法程序示例 270

12.8.4内部分类算法的比较和选择 273

12.9递归与分治 274

12.10递归算法典型示例——梵塔游戏程序 280

12.11探索策略和回溯算法 283

12.12一个简单的指针应用问题 293

12.13直接表和有序表的检索与插入 297

12.14树结构和二叉树结构 303

12.15二叉树的生成与遍历 305

12.16二叉搜索树的检索与插入 309

12.17指针在二叉树结构中的应用示例 312

12.18 C++面向对象程序设计基本应用示例 318

思考题与习题 321

附录1 C++关键字表 324

附录2 C++运算符的优先级和结合性 325

附录3 C++常用字符与ASCII代码对照表 326

附录4 Microsoft Visual C++6.0上机指导 327

附录5 常用库函数使用简表 339

参考文献 341