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

  • 购买积分:13 如何计算积分?
  • 作  者:叶焕倬主编;向华丽,吴良霞,周晓华等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302198215
  • 页数:359 页
图书介绍:本书系统地介绍了C++程序设计语言的特性,既有面向过程的知识,又有面向对象的内容。

第1章 C++程序的基本组成 1

1.1程序设计概述 1

1.2 C++程序设计语言的发展 2

1.3面向过程的程序设计 2

1.4程序开发的过程 4

1.5 C++程序的基本组成 5

习题1 7

第2章 C++的数据类型、运算符和表达式 8

2.1 C++的关键字与标识符 8

2.1.1 C++的字符集 8

2.1.2 C++的关键字 8

2.1.3 C++的标识符 8

2.2 C++的基本数据类型 9

2.3常量 10

2.3.1数值常量 10

2.3.2字符常量 11

2.3.3字符串常量 12

2.3.4常量的定义 13

2.4变量 13

2.4.1变量的定义 13

2.4.2变量的赋值与初始化 14

2.5基本运算符 14

2.6表达式 18

习题2 24

第3章 数据的输入与输出 26

3.1 printf与scanf 26

3.1.1格式输出函数printf 26

3.1.2格式输入函数scanf 28

3.2 I/O流控制 29

3.2.1 cin 29

3.2.2 cout 30

3.2.3格式控制 31

习题3 35

第4章 C++的控制语句 37

4.1 C++语言的语句 37

4.1.1 C++语句的基本形式 37

4.1.2块语句 38

4.2选择语句 38

4.2.1 if语句 38

4.2.2 if-else语句 39

4.2.3 if语句的嵌套 39

4.2.4三元条件表达式 41

4.2.5 switch语句 41

4.3循环语句 43

4.3.1 while语句 44

4.3.2 do.while语句 46

4.3.3 for语句 46

4.4循环的中断 49

4.4.1 break语句 49

4.4.2 continue语句 49

4.4.3 exit和abort函数 50

4.5 goto语句 51

习题4 52

第5章 数组及其使用 56

5.1一维数组 56

5.1.1一维数组的定义 56

5.1.2一维数组的初始化 57

5.1.3一维数组的访问 58

5.2二维数组 59

5.2.1二维数组的定义与初始化 59

5.2.2二维数组的访问 60

5.3字符数组与字符串 60

5.3.1字符串存储 61

5.3.2字符串处理函数 61

5.4数组使用举例 64

5.4.1排序 64

5.4.2约瑟夫问题 66

习题5 68

第6章 函数 70

6.1函数定义与函数调用 70

6.1.1函数的定义 70

6.1.2函数的类型和返回值 73

6.1.3形式参数与实际参数 74

6.1.4函数的调用 74

6.1.5函数的参数传递 77

6.1.6函数原型与函数声明 78

6.2变量的作用域与存储类型 79

6.2.1全局变量与局部变量 79

6.2.2作用域与可见性 82

6.3变量的存储类型与生存期 84

6.3.1变量的存储类型 84

6.3.2生命期 88

6.4函数的递归调用 89

6.5函数重载 92

6.6默认参数值的函数 93

6.7内联函数 94

6.8系统函数 95

习题6 96

第7章 指针 97

7.1指针概述 97

7.1.1指针与地址 97

7.1.2指针变量 97

7.1.3指针运算 98

7.1.4指针赋值 100

7.1.5指针做函数参数 101

7.2指针与数组 103

7.2.1指针与一维数组 103

7.2.2指针与二维数组 106

7.3指针与字符串 112

7.3.1指向指针的指针 114

7.3.2指针数组做main函数的参数 115

7.4指针与函数 116

7.4.1指针作为函数参数 116

7.4.2函数的返回值是指针(指针函数) 117

7.4.3指向函数的指针(函数指针) 119

7.5小结 121

7.5.1有关指针的数据类型 121

7.5.2指针的运算 122

习题7 123

第8章 引用 124

8.1引用的含义 124

8.2引用与指针的区别 125

8.3引用的应用 125

8.3.1引用作为函数参数 125

8.3.2引用作为函数的返回值 127

习题8 128

第9章 结构体、公用体和枚举 129

9.1概述 129

9.2结构体 131

9.2.1结构体的声明与结构变量的定义 131

9.2.2对结构变量的操作 134

9.2.3组合结构体 135

9.3公用体 136

9.3.1公用体的声明与公用变量的定义 136

9.3.2公用变量的操作方式 138

9.4枚举类型 139

9.4.1枚举类型的声明与枚举变量的定义 139

9.4.2枚举变量的操作方式 140

9.5动态存储分配与链表结构 141

9.5.1动态存储分配方式的引入 141

9.5.2运算符new和delete的使用 142

9.5.3链表的组织方式及其建立 144

9.5.4链表的运算 146

习题9 148

第10章 从面向过程的程序设计到面向对象的程序设计 149

10.1面向过程的程序设计的不足 149

10.2面向对象程序设计 150

10.2.1对象 150

10.2.2抽象和类 150

10.2.3封装 150

10.2.4继承 151

10.2.5多态性 151

习题10 151

第11章 类与对象 152

11.1类的定义 152

11.1.1类的声明 152

11.1.2实现类的成员函数 153

11.1.3数据成员的赋值 154

11.1.4类成员的访问控制 154

11.2对象的定义和使用 155

习题11 156

第12章 构造函数与析构函数 158

12.1构造函数 158

12.1.1默认构造函数 158

12.1.2声明和定义构造函数 159

12.1.3复制构造函数 160

12.2析构函数 160

习题12 161

第13章 继承与派生 163

13.1派生类 163

13.1.1派生类的定义 163

13.1.2派生类的生成过程 164

13.2继承中的访问控制 164

13.2.1公有继承 165

13.2.2私有继承 166

13.2.3保护继承 168

13.3派生类的构造和销毁 169

13.3.1派生类的构造 170

13.3.2派生类的销毁 171

13.3.3基类和派生类的作用域解析运算符 172

13.4多重继承 172

13.4.1多重继承定义 173

13.4.2多重继承时构造和析构函数的运行 173

13.4.3多重继承的二义性 173

习题13 176

第14章 虚函数与多态性 178

14.1多态的实现机制 178

14.1.1静态绑定与动态绑定 178

14.1.2指向派生类型的指针 179

14.2虚函数 179

14.2.1虚函数的定义 179

14.2.2虚函数的简单应用 181

14.3纯虚函数和抽象类 182

14.3.1纯虚函数 182

14.3.2抽象类 182

习题14 183

第15章 静态成员 185

15.1静态成员的引入 185

15.2静态数据成员 185

15.3静态成员函数 186

15.4应用实例 187

习题15 190

第16章 友元函数与友元类 193

16.1友元的引入 193

16.2友元函数 195

16.2.1友元成员函数 195

16.2.2友元函数 196

16.3友元类 197

16.4应用实例 199

习题16 200

第17章 堆对象和对象数组 203

17.1堆和堆对象 203

17.1.1关于堆 203

17.1.2堆对象 203

17.2对象数组、指向对象数组的指针和对象指针数组 207

17.2.1对象数组 207

17.2.2指向对象数组的指针 209

17.2.3对象指针数组 210

17.3应用实例 211

习题17 213

第18章 运算符的重载 216

18.1运算符重载概述 216

18.1.1运算符重载的实质 216

18.1.2类运算符 216

18.1.3友元运算符 217

18.2增量运算符重载 218

18.2.1前增量与后增量的区别 218

18.2.2重载为类运算符 218

18.2.3重载为友元运算符 220

18.3赋值运算符重载 221

18.4下标运算符重载 223

18.5运算符new与delete重载 223

18.6类型转换运算符重载 225

18.6.1类到其他类型的转换 226

18.6.2基本类型到类类型的转换 227

18.7输出和输入运算符重载 229

18.8应用实例 230

习题18 235

第19章 模板与使用 239

19.1模板的概念 239

19.2函数模板 239

19.2.1函数模板的定义与模板函数的生成 239

19.2.2重载函数模板 240

19.3类模板 242

19.3.1类模板的定义与模板类的生成 242

19.3.2类模板的派生 246

19.4应用实例 246

习题19 249

第20章 文件及其操作 251

20.1文件概述 251

20.2文件流 252

20.2.1流类库 252

20.2.2文件流 253

20.3文件的打开与关闭 253

20.3.1打开文件 253

20.3.2关闭文件 255

20.4文件的读写 256

20.4.1文本文件的读写操作 256

20.4.2随机文件的读写操作 258

20.5应用实例 261

习题20 263

第21章 Visual C++集成开发环境 265

21.1 Visual Studio发展简介 265

21.2 Visual C++6.0开发环境 266

21.2.1 Visual C++6.0的安装 266

21.2.2 Visual C++6.0开发界面 267

21.2.3 Visual C++6.0开发流程 275

21.2.4 Visual C++6.0联机帮助 281

21.3 Visual C++2005 282

21.3.1 Visual C++2005的安装 282

21.3.2 Visual C++2005开发界面 286

21.3.3 Visual C++2005开发流程 288

21.4 Visual C++ 2008 293

21.4.1 Visual C++2008的安装 293

21.4.2 Visual C++2008开发界面 298

21.4.3 Visual C++2008开发流程 299

第22章 基于MFC开发Windows应用程序 303

22.1什么是Windows应用程序 303

22.1.1 Windows应用程序 303

22.1.2事件驱动 304

22.1.3编写Windows应用程序的模式 304

22.2 Windows编程基础 305

22.2.1 Windows基本编程概念 305

22.2.2 Windows消息 305

22.2.3消息类型 306

22.2.4消息机制 307

22.2.5简单Windows程序的解读 311

22.3 MFC基础 314

22.3.1 MFC简介 314

22.3.2 MFC的消息处理 315

22.3.3 MFC文档/视图结构 318

22.4基于MFC编写Windows程序 325

22.4.1应用AppWizard向导建立MFC应用程序框架 325

22.4.2应用ClassWizard向导进行消息映射 326

22.4.3应用资源编辑器编辑资源 327

22.5基于MFC开发Windows应用程序实例 328

习题22 331

第23章 编程基本规范 332

23.1文件结构 332

23.1.1版权和版本的声明 332

23.1.2头文件的结构 332

23.1.3定义文件的结构 333

23.1.4头文件的作用 334

23.2程序的版式 334

23.2.1空行 334

23.2.2代码行 335

23.2.3代码行内的空行 336

23.2.4对齐 337

23.2.5长行拆分 337

23.2.6修饰符的位置 338

23.2.7注释 338

23.3命名规则 339

23.3.1共性规则 339

23.3.2简单的Windows应用程序命名规则 340

第24章 程序调试的基本方法 342

24.1程序调试基础 342

24.2 Debugger调试工具 343

24.2.1启动Debugger 343

24.2.2 Debugger命令 344

24.3程序调试的基本方法 346

24.3.1启动Debugger 346

24.3.2基本调试方法 348

习题24 354

参考文献 357