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

  • 购买积分:14 如何计算积分?
  • 作  者:黄迪明主编
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2003
  • ISBN:7505387790
  • 页数:444 页
图书介绍:C++是一种既能进行过程化程序设计,又能进行面向对象程序设计的高级程序设计语言。C++语言在计算机研究和应用领域有着广泛的应用,已成为软件开发中最为领先的一种编程语言。本书以应用为主线安排教学内容,由浅入深地介绍了C++编程语言,其主要目的是讲述如何用计算机和C++编程语言解决问题的基本方法和技术,在介绍传统的结构化编程的同时,介绍了面向对象编程的基本思想。本书内容安排合理,深入浅出,读者不需要具备计算机方面的预备知识,可作为高等院校学生学习程序设计语言的入门教材,同时可以作为相关计算机等级考试的参考书,也可以作为其他人员学习C++语言的自学教材或培训教材。

第一部分 基本概念 1

第1章 计算机系统初步知识 1

1.1 引言 2

1.2 计算机基础知识概论 2

1.2.1 计算机与信息社会 2

1.2.2 电子计算机的发展 3

1.2.3 电子计算机的特点 4

1.3 计算机的基本组成 5

1.4 计算机中信息的表示 6

1.4.1 进位计数制 6

1.4.2 计算机采用二进制的原因 8

1.4.3 不同计数制之间的转换 8

1.4.4 信息单位及机器数 10

1.4.5 字符的表示 12

1.5 计算机的工作过程 12

1.6 计算机系统的组成 14

1.7 计算机系统的软件 14

1.8 内容回顾 15

习题1 16

第2章 软件开发方法 17

2.1 引言 18

2.2 软件开发方法 18

2.3 需求说明 18

2.4 分析 18

2.5 算法的设计与表示 19

2.5.1 伪代码 19

2.5.2 伪代码书写规则 23

2.5.3 自顶向下对算法进行求精 24

2.5.4 流程图 31

2.6 实现 34

2.7 测试和验证 34

2.8 程序文档 35

2.9 程序举例:求解二次方程 35

2.10 内容回顾 39

习题2 39

第二部分 初级程序设计 41

第3章 C++编程基础 41

3.1 引言 42

3.2 一个完整的C++程序 42

3.3 字符集和标记符 44

3.3.1 保留字 44

3.3.2 标识符 44

3.3.3 常量 45

3.3.4 标点符号 47

3.3.5 操作符 47

3.4 C++程序结构 48

3.4.1 注释 48

3.4.2 预处理指令 48

3.4.3 数据类型和变量定义 49

3.4.4 初始化 50

3.4.5 常量定义 51

3.4.6 语句 51

3.4.7 复合语句 52

3.5 初谈函数 52

3.6 几种基本的C++语句 53

3.6.1 算术赋值语句 53

3.6.2 输出语句 55

3.6.3 输入语句 55

3.7 C++源程序文件 56

3.7.1 输入源程序 56

3.7.2 关于编程风格 57

3.8 程序举例:将高度和重量的单位转化成国际单位制的单位 58

3.9 调试程序 60

3.9.1 调试语法错误 60

3.9.2 调试警告性错误 62

3.9.3 调试运行错误 62

3.9.4 调试设计错误 63

3.10 内容回顾 64

习题3 64

第4章 算术运算 69

4.1 引言 70

4.2 算术运算符 70

4.3 算术运算符和算术表达式的优先级 71

4.4 自增和自减操作符 72

4.5 算术赋值表达式 74

4.6 复合赋值操作符 75

4.7 算术表达式的类型 76

4.8 数学函数库 78

4.9 程序举例:计算两点间的距离 79

4.10 算术赋值表达式语句 81

4.11 内容回顾 82

习题4 82

第5章 简单选择和循环结构 87

5.1 引言 88

5.2 简单选择结构 88

5.2.1 选择语句 88

5.2.2 关系操作符和简单条件表达式 89

5.2.3 if语句实例 89

5.2.4 算术运算符与关系操作符的优先级 92

5.2.5 if语句的嵌套和多路选择结构 93

5.3 循环控制结构 96

5.3.1 循环语句 96

5.3.2 用while语句实现循环 97

5.4 if和while语句的书写规则 100

5.5 结构化编程 102

5.6 程序举例:求解二次方程 103

5.7 内容回顾 107

习题5 107

第6章 模块化编程和函数 113

6.1 引言 114

6.2 程序举例:绘制几何图形的模块化程序(A) 114

6.3 模块化程序的三要素 120

6.3.1 函数定义 120

6.3.2 函数调用 121

6.3.3 函数原型说明 121

6.3.4 函数定义语句在源程序文件中的位置 121

6.4 模块化程序的结构 122

6.5 程序举例:绘制几何图形的模块化程序(B) 124

6.6 函数的返回值 128

6.6.1 return语句 128

6.6.2 函数变量 128

6.7 程序举例:绘制几何图形的模块化程序(C) 132

6.8 带参数的函数 135

6.8.1 用全局变量完成函数之间的数据交换 136

6.8.2 用参数完成函数之间的数据交换 139

6.9 C++内联函数 144

6.10 模块化程序设计和实现的格式要求 148

6.11 内容回顾 149

习题6 149

第三部分 中级程序设计 155

第7章 格式化输入和输出 155

7.1 引言 156

7.2 交互式程序与批处理程序 156

7.3 C++中流的定向输入输出 156

7.4 标准输出流 157

7.5 格式化输出 158

7.5.1 简单数据类型和字符串的格式化输出 158

7.5.2 数值数据的格式化输出 160

7.5.3 浮点数的格式化输出 160

7.5.4 用格式控制符进行格式化输出 161

7.6 输出整型值 163

7.7 输出浮点值 166

7.8 输出字符串 169

7.9 关于交互输入 170

7.9.1 输入流 170

7.9.2 对输入数据格式化 172

7.9.3 用一条cin语句输入多个数据 172

7.9.4 交互输入中的注意事项 173

7.9.5 输入字符量和getch库函数 174

7.10 操作系统中的文件输入输出 175

7.10.1 输出重定向到数据文件 175

7.10.2 输入重定向到数据文件 176

7.10.3 从文件中读取格式化的数据 178

7.11 内容回顾 179

习题7 179

第8章 复杂选择和循环结构 185

8.1 引言 186

8.2 复习if语句 186

8.2.1 用else...if结构实现多路选择结构 187

8.2.2 条件选择操作符 189

8.3 复杂条件表达式 190

8.3.1 逻辑表达式和逻辑操作符 191

8.3.2 C++逻辑操作符 192

8.3.3 复杂条件表达式的简化 193

8.3.4 逻辑操作符的优先级 193

8.3.5 用带复杂条件表达式的if语句实现多路选择结构 195

8.4 用switch语句实现多路选择结构 196

8.5 多路选择结构的书写规则 201

8.6 先判定循环结构 203

8.6.1 for语句 203

8.6.2 for语句和while语句的等价性 208

8.6.3 用for语句实现循环 208

8.6.4 C++中变量定义语句的位置 213

8.7 后判定循环结构 216

8.7.1 do...while语句 216

8.7.2 用do...while语句实现计数器控制循环和哨兵控制循环 219

8.7.3 do...while语句中的break和continue语句 220

8.8 嵌套循环 222

8.9 嵌套循环的格式 225

8.10 内容回顾 226

习题8 227

第9章 再议模块化编程和函数 233

9.1 引言 234

9.2 用引用参数返回值 234

9.2.1 引用 234

9.2.2 通过引用传递参数 236

9.3 指针变量返回值 239

9.3.1 指针变量 239

9.3.2 用指针传递参数 245

9.4 递归 248

9.4.1 编写递归函数 250

9.4.2 跟踪递归函数的执行 252

9.4.3 用递归方法计算Fibonacci数 254

9.4.4 递归与循环的比较 255

9.5 再谈模块化程序的风格问题 256

9.6 内容回顾 256

习题9 256

第四部分 数据类型和面向对象编程 261

第10章 数据类型、结构和枚举 261

10.1 引言 262

10.2 基本数据类型 262

10.2.1 整数数据类型 263

10.2.2 浮点数据类型 263

10.2.3 数学计算中的错误和不精确性 265

10.2.4 数值数据类型的自动转换 267

10.3 结构数据类型 270

10.3.1 定义结构 271

10.3.2 定义结构变量 272

10.3.3 定义嵌套结构 273

10.3.4 访问结构成员 274

10.3.5 初始化结构变量 275

10.3.6 可对结构变量执行的操作 275

10.4 结构变量作为函数参数 276

10.5 用typedef定义结构类型 279

10.6 程序举例:计算学生成绩 281

10.7 枚举数据类型 293

10.7.1 定义枚举数据类型和枚举变量 293

10.7.2 可对枚举变量执行的操作 296

10.7.3 使用枚举类型 297

10.8 内容回顾 298

习题10 298

第11章 类、对象和面向对象编程 305

11.1 引言 306

11.2 类和对象 307

11.2.1 定义类 309

11.2.2 定义类对象 311

11.2.3 访问类的成员 312

11.2.4 成员函数的定义和说明 312

11.2.5 初始化类对象 312

11.2.6 构造函数和析构函数 313

11.2.7 可以对对象执行的操作 314

11.3 程序举例:用类实现求Fibonacci序列的算法 315

11.4 类的继承与派生 317

11.5 友员函数 327

11.6 运算符重载 330

11.7 面向对象编程 334

11.8 内容回顾 336

习题11 336

第12章 数组和字符串 341

12.1 引言 342

12.2 列表和数组 342

12.2.1 定义数组 343

12.2.2 数组初始化 344

12.2.3 在数组上执行的操作 345

12.2.4 数组、指针和指针运算 346

12.2.5 将数组作为实际参数传递的函数调用 348

12.3 有序数组 351

12.3.1 冒泡排序 351

12.3.2 选择排序 354

12.4 数组的查找 355

12.4.1 顺序查找 356

12.4.2 二分查找法 359

12.5 多维数组 361

12.5.1 二维数组的定义 361

12.5.2 初始化二维数组 362

12.5.3 对二维数组执行的操作 363

12.6 结构数组 368

12.7 字符数据 370

12.7.1 字符数据的内在表示 371

12.7.2 字符排列顺序 371

12.7.3 字符数据的自动转换 372

12.7.4 字符数据的输入输出 373

12.7.5 字符处理库函数 376

12.8 字符串 379

12.8.1 定义串 379

12.8.2 编译时初始化串 379

12.8.3 输出串变量 380

12.8.4 为串变量输入值 381

12.8.5 将串传递给函数 384

12.9 串处理 385

12.9.1 复制串 385

12.9.2 比较串 386

12.9.3 计算串长 387

12.9.4 串的连接 388

12.10 内容回顾 389

习题12 390

第13章 数据文件 397

13.1 引言 398

13.2 C++数据文件基础 398

13.2.1 文件处理类 399

13.2.2 文件的定义 400

13.2.3 命名数据文件 400

13.2.4 打开文件与open函数 400

13.2.5 fail成员函数 403

13.2.6 关闭文件和close成员函数 404

13.2.7 查找文件结束标志和eof成员函数 405

13.3 处理文本文件 405

13.3.1 向文本文件写入数据 406

13.3.2 从文本文件中读取数据 411

13.3.3 处理混合类型数据的文本文件 414

13.3.4 复制文件 415

13.4 处理二进制文件 417

13.4.1 创建二进制文件与write成员函数 417

13.4.2 访问二进制文件和read成员函数 419

13.4.3 存放结构化记录的二进制文件 420

13.5 程序举例:对存放类对象的二进制文件进行处理 421

13.6 随机访问文件 427

13.6.1 成员函数seekg()和tellg() 428

13.6.2 成员函数seekp()和tellp() 429

13.7 内容回顾 432

习题13 433

附录AC++关键字 439

附录BASCII和EBCDIC字符集 440

附录CC++操作符和转义序列 441

参考文献 444