《C++程序设计教程》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:赵英良主编;仇国巍,夏秦,贾应智等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302330578
  • 页数:346 页
图书介绍:本书以问题求解的过程为主线,以C++为语言载体,介绍计算机程序的基本结构、信息的表示、流程的控制、模块化方法、指针操作、面向对象的编程方法、输入输出格式控制与文件操作和基本数据结构及应用等内容。本书采用“精讲多练”的教学模式,有丰富的例题和习题。

第1章 程序设计与C+概述 1

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

1.1.1计算机语言的发展 1

1.1.2 C+++语言 3

1.2第一个C++程序 4

1.2.1在屏幕上显示“Hello World!” 4

1.2.2 C+++的程序结构和C+++程序的执行顺序 4

1.2.3 C+++程序的基本要素 7

1.3 C++的编程步骤 9

1.4编程实例 13

1.4.1打印中秋贺卡 13

1.4.2计算存款利息 15

1.5小结 17

习题1 17

第2章 简单信息的表达与运算 19

2.1信息的表达 19

2.1.1数据类型与常量 19

2.1.2单项特征的表达——变量 26

2.1.3多个相同类型的特征的表示——数组 28

2.1.4文字信息的表达——字符串 30

2.2数据的运算 32

2.2.1算术运算 32

2.2.2关系运算 34

2.2.3逻辑运算符和表达式 35

2.2.4自增运算符和自减运算符 36

2.2.5位运算符和位运算表达式 37

2.2.6三目条件运算符 41

2.2.7运算符的优先级 43

2.2.8不同类型数据的混合运算 45

2.3程序设计实例 46

2.3.1已知三边计算三角形面积 46

2.3.2从反序数到回文数 47

2.3.3数字符号的数值形式和ASCII形式 49

2.3.4启闭指定设备 50

2.3.5加密解密 51

2.4小结 53

习题2 55

第3章 运算的流程控制 57

3.1程序的执行顺序 57

3.2不同情况分别处理——分支 58

3.2.1特殊情况特殊处理(单路分支) 59

3.2.2不同情况分别处理(两路分支) 60

3.2.3多种情况分类处理(多重分支switch) 63

3.3多次加工——循环程序设计 65

3.3.1已知次数的循环 65

3.3.2依据条件进行循环 68

3.3.3终止循环和直接进入下次循环 71

3.4综合实例 72

3.4.1数组的输入、排序和输出 72

3.4.2字符串的处理 74

3.4.3有趣的数字 77

3.5小结 80

习题3 81

第4章 复杂信息的表达与处理 85

4.1多个事物的多项特征 85

4.1.1二维数组 85

4.1.2多维数组 88

4.1.3二维字符数组及字符串的其他表示方法 89

4.2多项特征整体描述 92

4.2.1结构体类型的定义和使用 93

4.2.2结构体数组 97

4.3取有限值的特征的描述——枚举 101

4.4综合实例 103

4.4.1矩阵运算 103

4.4.2字符串处理 105

4.4.3统计词频 107

4.5小结 110

习题4 112

第5章 问题的模块化求解 114

5.1模块化程序设计 114

5.2函数的定义和声明 116

5.2.1函数的定义 116

5.2.2函数的声明 118

5.3函数调用 119

5.3.1函数调用的格式 119

5.3.2参数的传递方式 123

5.3.3为形参指定默认值 125

5.3.4数组名作为函数参数 128

5.3.5结构体变量作为函数参数 130

5.4递归函数 131

5.5内联函数 135

5.6函数重载 136

5.7变量的作用域和存储类型 139

5.7.1局部变量 139

5.7.2全局变量 140

5.7.3变量存储类型 141

5.8程序设计实例 144

5.8.1使用递归求斐波那契序列的前30项 144

5.8.2求非线性方程的根 145

5.8.3有趣的数 146

5.8.4二分查找法 148

5.9小结 150

习题5 151

第6章 按址操作——指针 153

6.1地址与指针 153

6.1.1地址 153

6.1.2指针和指针变量 154

6.2指针变量的定义和使用 155

6.2.1指针变量的定义 155

6.2.2指针变量的使用 157

6.2.3结构体变量的指针 158

6.2.4二级指针 159

6.3地址传递和函数的指针 159

6.3.1函数调用时的地址传递 159

6.3.2指向函数的指针变量 162

6.4数组的指针和字符串的指针 164

6.4.1一维数组的地址 164

6.4.2二维数组的地址 168

6.4.3字符串的指针 169

6.5动态申请存储空间 172

6.5.1动态申请存储空间 172

6.5.2定义动态数组 173

6.6程序设计实例 174

6.6.1指针变量作为数的形参 174

6.6.2 32位的二进制IP地址转换成点分十进制地址 177

6.6.3指针数组 178

6.6.4带参数的main函数 180

6.7小结 181

习题6. 181

第7章 数据的抽象与封装——类 183

7.1类的定义和使用 183

7.1.1类的定义 183

7.1.2类的使用 186

7.2面向对象的方法简介 188

7.2.1对象和面向对象 188

7.2.2面向对象方法 189

7.3构造函数和析构函数 190

7.3.1构造函数 191

7.3.2析构函数 193

7.3.3类的组合 199

7.4对象与指针 203

7.4.1指向对象的指针 203

7.4.2指向对象成员的指针 204

7.4.3 this指针 205

7.5多文件结构 206

7.5.1类的定义文件 206

7.5.2类的实现文件 207

7.5.3类的使用 208

7.5.4编译预处理 209

7.6程序设计实例 212

7.6.1学生信息类 212

7.6.2日期类 216

7.7小结 222

习题7 222

第8章 取其精华 发挥优势——继承 225

8.1继承和派生 225

8.1.1派生类的定义 225

8.1.2派生类的构成 226

8.2继承方式 230

8.2.1公有继承 231

8.2.2私有继承 231

8.2.3保护继承 234

8.3派生类的构造函数与析构函数 236

8.3.1派生类的构造函数 236

8.3.2派生类的析构函数 237

8.4虚基类 240

8.5程序设计实例 244

8.5.1从学生到本科生、硕士生、博士生 244

8.5.2从U盘到MP3 249

8.6小结 251

习题8 252

第9章 统一接口 不同实现——多态性 253

9.1多态性概述 253

9.2虚函数 256

9.3抽象类 258

9.4运算符重载 261

9.5程序设计实例 267

9.5.1从几何形状到点、圆和矩形 267

9.5.2向量的加减运算 272

9.5.3高校员工管理系统 276

9.6小结 285

习题9 286

第10章 标准输入输出与文件操作 287

10.1数据的输入输出 287

10.1.1输入输出流及流库 287

10.1.2标准输入流 288

10.1.3标准输出流 292

10.2文件操作 296

10.2.1文件输入输出流类 296

10.2.2文件的打开与关闭 297

10.2.3文本文件和二进制文件的读写 299

10.2.4文件操作典型例题 307

习题10 312

第11章 数据结构、算法与应用 314

11.1数据结构概览 314

11.1.1数据结构的基本概念 314

11.1.2线性数据结构 316

11.1.3非线性数据结构 319

11.2模板与标准模板库 323

11.2.1函数模板和类模板 323

11.2.2标准模板库 325

11.2.3简单应用举例 327

11.3常见算法策略 332

11.3.1枚举法 332

11.3.2分治法 335

11.3.3回溯法 337

11.3.4贪心算法 343

习题11 345