《计算机程序设计基础》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:赵宏主编
  • 出 版 社:清华大学出版社
  • 出版年份:2005
  • ISBN:
  • 页数:289 页
图书介绍:

第1章 概述 1

1.1 计算机语言和计算机程序设计 1

1.1.1 计算机语言 1

第1篇 结构化程序设计 1

1.1.2 计算机程序设计 2

1.2 程序设计方法 2

1.2.1 结构化程序设计基本思想 3

1.2.2 3种基本结构 3

1.2.3 结构化程序设计的过程 4

1.2.4 用自顶向下、逐步细化的方法构造算法实例 8

1.3 程序的实现环境 10

1.3.1 硬件环境 10

1.3.2 软件环境 11

1.4 C语言与C++的发展 12

习题 13

1.5 本章小结 13

思考题 13

第2章 程序设计初步 14

2.1 程序的基本结构 14

2.1.1 简单程序:输出一行文本 14

2.1.2 简单程序:计算两个整数的和 15

2.1.3 简单程序:用多函数方法计算两个整数的和 16

2.1.4 C/C++语言结构化程序的基本结构 17

2.2 数据类型 19

2.2.1 基本数据类型 19

2.2.2 常量 20

2.2.3 变量和内存的概念 23

2.2.4 变量定义和赋初值 24

2.3 算术运算符和算术表达式 25

2.4 赋值运算符和赋值表达式 26

2.5 数据类型的转换 27

2.6 数据的输出和输入 28

2.6.1 格式输出函数 28

2.6.2 格式输入函数 30

2.7 数学函数 32

2.8 简单程序设计 32

2.9 本章小结 35

思考题 35

习题 35

第3章 程序控制结构 37

3.1 选择结构程序设计 37

3.1.1 引例 37

3.1.2 关系运算和逻辑运算 38

3.1.3 if选择结构 40

3.1.4 switch多分支选择结构 46

3.1.5 程序设计举例 48

3.2 循环结构程序设计 49

3.2.1 引例 49

3.2.2 自增和自减运算符 51

3.2.3 while循环和do-while循环 52

3.2.4 for循环 54

3.2.5 循环嵌套 56

3.2.6 break和continue语句 57

3.2.7 循环应用举例 59

3.3 本章小结 62

思考题 62

习题 63

第4章 模块化程序设计 64

4.1 模块化程序设计概述 64

4.2 函数的声明、定义和调用 65

4.2.2 函数定义 66

4.2.1 函数说明 66

4.2.3 函数调用及参数的传递 67

4.2.4 带自定义函数的程序设计 70

4.3 函数的多级调用 73

4.3.1 嵌套调用 73

4.3.2 递归调用 75

4.3.3 递归与递推 83

4.4 变量的作用域和存储类别 84

4.4.1 局部变量及存储类别 85

4.4.2 全局变量及存储类别 87

4.5 计算机随机模拟方法 91

4.5.1 伪随机数的产生 92

4.5.2 蒙特卡罗方法 94

4.6 编译预处理 95

习题 99

4.7 本章小结 99

思考题 99

第5章 构造数据类型 102

5.1 数组概述 102

5.2 一维数组 102

5.2.1 引例 102

5.2.2 一维数组的定义 103

5.2.3 数组的初始化 104

5.2.4 数组的引用 104

5.3 数组做函数的参数 105

5.4 一维数组的应用 106

5.4.1 排序 106

5.4.2 数据查找 111

5.4.3 数据统计分析 114

5.5.1 二维数组的定义 116

5.5.2 二维数组的初始化 116

5.5 多维数组 116

5.5.3 二维数组的引用 117

5.5.4 二维数组元素在内存中的排列顺序 118

5.5.5 多维数组举例 118

5.6 字符数组与字符串 119

5.6.1 字符数组的定义及初始化 119

5.6.2 用字符数组存放字符串 120

5.6.3 字符数组的输入输出 120

5.6.4 用于字符串处理的函数 123

5.6.5 应用举例 126

5.7 结构体类型 127

5.7.1 结构体类型的定义 128

5.7.2 结构体变量的定义和引用 129

5.7.3 结构体变量的初始化 131

5.7.4 结构体应用举例 131

5.8.1 共用体类型的定义 133

5.8 共用体类型 133

5.8.2 共用体类型变量的定义和引用 134

5.8.3 共用体应用举例 134

5.9 本章小结 135

思考题 135

习题 136

第6章 指针 137

6.1 变量的地址和指针 137

6.1.1 数据在内存中的存储 137

6.1.2 访问变量的方式 137

6.1.3 指针变量 137

6.2 指针变量的定义及引用 138

6.2.1 指针变量的定义 138

6.2.2 指针变量的引用 138

6.3 指针与函数 141

6.3.1 指针作为函数参数 141

6.3.2 函数返回指针 142

6.3.3 函数指针 143

6.4 指针与数组 145

6.4.1 指向数组的指针 145

6.4.2 引用数组元素的方法 145

6.5 字符指针 147

6.5.1 字符串的表示形式 147

6.5.2 程序设计举例 148

6.6 指针数组 152

6.6.1 指针数组的概念 152

6.6.2 指针数组的初始化 153

6.7 本章小结 155

思考题 156

习题 156

7.2.1 ANSI C中用于动态操作的标准函数 158

7.2 动态内存分配 158

7.1 从静态数据结构到动态数据结构 158

第7章 动态数据结构 158

7.2.2 C++中用于动态操作的运算符——new和delete 162

7.3 链表 164

7.3.1 链表的定义 164

7.3.2 链表的建立 165

7.3.3 链表结点的插入 167

7.3.4 链表结点的删除 171

7.3.5 循环链表 173

7.4 本章小结 173

思考题 174

习题 174

第8章 文件 176

8.1 文件概述 176

8.1.1 文件的概念和分类 176

8.1.3 缓冲区和文件指针 177

8.1.2 文件的操作过程 177

8.2.1 文件的打开 178

8.2 文件的打开和关闭 178

8.2.2 文件的关闭 179

8.3 文件的顺序操作 179

8.3.1 文件的字符读写函数 179

8.3.2 文件的字符串读写函数 182

8.3.3 文件的数据块读写函数 184

8.3.4 文件的格式化读写函数 186

8.4 文件的随机操作 187

8.4.1 文件定位 187

8.4.2 文件的随机读写 188

8.5 文件的检测 189

思考题 190

习题 190

8.6 本章小结 190

第2篇 面向对象程序设计 191

第9章 从结构化程序设计到面向对象程序设计 191

9.1 C++对C的改进和扩充 191

9.1.1 输入输出流 191

9.1.2 函数的重载 193

9.1.3 带默认参数的函数 195

9.1.4 内联函数 196

9.1.5 一元作用域运算符 197

9.1.6 引用与函数 197

9.2 面向对象的程序设计方法 200

9.2.1 面向对象的概念 200

9.2.2 类和对象 201

9.2.3 面向对象程序设计的特性——封装性、继承性和多态性 204

9.3 本章小结 205

习题 206

思考题 206

第10章 类和对象 207

10.1 从结构到类 207

10.2 类和成员函数的定义 209

10.2.1 类的定义 209

10.2.2 在类外定义成员函数 210

10.2.3 接口与实现方法的分离 210

10.3 对象的定义与成员的访问 212

10.3.1 对象的定义 212

10.3.2 对象成员的访问 212

10.3.3 this指针 213

10.4 构造函数和析构函数 214

10.4.1 构造函数 214

10.4.2 析构函数 216

10.4.3 默认构造函数和默认析构函数 217

10.4.4 拷贝构造函数 218

10.5 静态成员 220

10.5.1 静态数据成员 220

10.5.2 静态成员函数 223

10.6 友元 224

10.6.1 友元函数 224

10.6.2 友元类 225

10.7 对象数组 226

10.8 复合类 227

10.9 本章小结 229

思考题 230

习题 230

第11章 继承与派生类 231

11.1 继承与派生类概述 231

11.2 单一继承 232

11.2.1 派生类的定义与实现 232

11.2.2 单一继承与访问控制 235

11.2.3 继承类别及派生类对基类成员的访问权 237

11.3 多重继承 239

11.3.1 派生类的定义与实现 239

11.3.2 多重继承与访问控制 240

11.3.3 虚基类 244

11.4 综合实例 251

11.5 本章小结 254

思考题 254

习题 254

第12章 多态性 255

12.1 多态性概述 255

12.2 函数重载与歧义性 255

12.3.1 运算符重载意义及要领 256

12.3.2 运算符重载实现方式 256

12.3 运算符重载 256

12.3.3 特殊运算符重载 259

12.3.4 类类型转换 268

12.4 虚函数 269

12.4.1 赋值兼容原则及虚函数的引入 269

12.4.2 虚函数的定义及使用 274

12.4.3 在基类构造函数与析构函数中调用虚函数 276

12.4.4 多重继承与虚函数 278

12.5 纯虚函数与抽象类 280

12.6 本章小结 282

思考题 282

习题 282

附录A 运算符的优先级和结合性 284

附录B ASCII字符集 286

附录C 常用库函数 287

参考文献 290