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

  • 购买积分:13 如何计算积分?
  • 作  者:陈建平,刘维富,葛建芳编著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2007
  • ISBN:9787040222555
  • 页数:377 页
图书介绍:程序设计方法演进发展及C++实际编程能力形成的三个关键期,将C++内容分为三大单元,即结构化程序设计→模块化程序设计→面向对象程序设计,符合读者的认识规律和编程能力的形成规律,便于教学的组织、实施和考核,利于教学效果的巩固和教学质量的提高。以基本语法和基本算法为主线的典型、综合范例程序,适时阐述有关程序设计的方法和思想,将C++语法、基本算法、程序设计方法和编程技巧有机结合起来,理论联系实际,注重读者实际编程能力培养。本书不回避教学和实际编程中的难点,精选综合范例程序,想方设法讲清讲透,力求使读者突破难点,进一步提高。合理,定位明确,图文并茂,习题丰富,适合作为高校学生学习C++的基础教材,也适合于程序设计的初学者或有一定基础、希望突破编程难点的读者自学。

第1章 C++语言概述 1

1.1 C++语言的起源和发展 1

1.2 C++语言的特点 2

1.3 C++语言程序设计 2

1.4 C++程序的开发步骤和上机调试流程 7

1.5 Visual C++ 6.0调试C++程序的过程 8

习题 11

第2章 数据类型、运算符和表达式 12

2.1 C++语言的字符集、关键字和标识符 12

2.1.1 字符集 12

2.1.2 标识符和关键字 12

2.2 C++语言的基本数据类型 14

2.2.1 基本数据类型 14

2.2.2 常量 16

2.2.3 变量 19

2.3 运算符与表达式 20

2.3.1 算术运算符与算术表达式 22

2.3.2 递增和递减运算符 24

2.3.3 赋值运算符与赋值表达式 24

2.3.4 数据类型转换 26

2.3.5 关系运算符与关系表达式 27

2.3.6 逻辑运算符与逻辑表达式 28

2.3.7 逗号运算符 29

2.3.8 条件运算符 29

2.3.9 sizeof运算符 29

2.3.10 位运算符 30

2.4 常用库函数 31

2.4.1 数学库函数 31

2.4.2 伪随机函数 32

习题 32

第3章 数据的输入和输出 35

3.1 C++语言的输入/输出 35

3.2 预定义输入流对象cin 36

3.2.1 输入十进制整数和实数 36

3.2.2 输入字符 37

3.2.3 输入十六进制数或八进制数 37

3.3 预定义输出流对象cout 38

3.3.1 输出字符或字符串 38

3.3.2 输出十进制整数 39

3.3.3 输出八进制数和十六进制数 39

3.3.4 输出实数 40

3.3.5 设置填充字符 41

3.4 预定义格式控制符 42

3.5 程序举例 43

习题 44

第4章 流程控制 46

4.1 算法 46

4.1.1 算法的概念 46

4.1.2 算法举例 47

4.1.3 算法的特性 47

4.1.4 算法的表达 47

4.1.5 3种基本流程控制结构 48

4.2 C++语言的语句 49

4.3 选择语句 50

4.3.1 条件语句 50

4.3.2 开关语句 53

4.4 循环语句 56

4.4.1 while语句 56

4.4.2 do…while语句 58

4.4.3 for语句 59

4.4.4 循环语句小结 61

4.5 转向语句 63

4.5.1 break语句 63

4.5.2 continue语句 65

4.5.3 goto语句简介 65

4.5.4 exit()函数 66

4.6 程序举例 66

4.7 程序调试简介 75

4.7.1 程序的错误类型 75

4.7.2 程序调试 76

习题 76

第5章 函数 79

5.1 函数的定义和调用 80

5.1.1 函数定义 80

5.1.2 函数调用 81

5.1.3 函数原型 84

5.1.4 函数形参的默认值 87

5.1.5 内联函数 89

5.1.6 函数重载 89

5.2 标识符的作用域 91

5.2.1 块作用域 91

5.2.2 文件作用域 92

5.2.3 函数原型作用域 94

5.2.4 函数作用域 94

5.3 变量的存储种类 94

5.3.1 自动变量 95

5.3.2 寄存器变量 95

5.3.3 外部变量 96

5.3.4 静态变量 97

5.3.5 小结 100

5.4 指针基础 100

5.4.1 地址的概念 100

5.4.2 指针的概念 101

5.4.3 指针变量 101

5.4.4 指针做函数的参数 102

5.4.5 指针做函数的返回值 103

5.5 引用 105

5.5.1 引用型变量的说明及用法 105

5.5.2 引用做函数的参数 106

5.5.3 引用做函数的返回值 107

5.6 递归函数 109

习题 114

第6章 编译预处理 117

6.1 文件包含 117

6.2 宏 119

6.2.1 不带参数的宏 119

6.2.2 带参数的宏 121

6.3 条件编译 122

6.4 程序的多文件组织 126

6.4.1 程序的多文件组织方法 126

6.4.2 面向过程的多文件程序举例 127

6.4.3 面向对象的多文件程序举例 128

6.4.4 多文件程序的编译和链接 129

习题 129

第7章 数组 131

7.1 一维数组 131

7.1.1 一维数组的定义 131

7.1.2 一维数组的初始化 132

7.1.3 一维数组元素的引用 132

7.1.4 一维数组做函数的参数 133

7.1.5 应用举例 135

7.2 多维数组 140

7.2.1 多维数组的定义 140

7.2.2 多维数组的初始化 141

7.2.3 多维数组元素的引用 141

7.2.4 应用举例 142

7.3 字符数组 144

7.3.1 字符数组的定义、引用和初始化 144

7.3.2 字符串与字符数组 145

7.3.3 字符串的输入和输出 146

7.3.4 字符串处理函数 147

7.3.5 应用举例 149

习题 152

第8章 指针 154

8.1 指针的运算 154

8.1.1 指针的赋值 154

8.1.2 指针的算术运算 156

8.1.3 指针的关系运算 157

8.1.4 指针值的输出 158

8.2 指针与数组 159

8.2.1 指针与一维数组 159

8.2.2 指针与多维数组 160

8.2.3 指针和字符串 163

8.3 指针数组和指向指针的指针变量 165

8.3.1 指针数组 165

8.3.2 指向一维数组的指针变量 167

8.3.3 指向指针的指针变量 169

8.3.4 指针的引用 170

8.4 指针与函数 171

8.4.1 数组做函数的参数 171

8.4.2 带参数的main()函数 174

8.4.3 返回值为指针的函数 176

8.4.4 指向函数的指针 178

8.5 new和delete运算符 180

8.5.1 new运算符 181

8.5.2 delete运算符 182

8.5.3 应用举例 183

8.6 指针参数传递与数据安全 186

8.6.1 const变量 186

8.6.2 const指针做函数的参数 187

8.7 void型指针 189

8.8 参数个数可变的函数 191

习题 195

第9章 结构体、共用体和枚举类型 198

9.1 结构体 198

9.1.1 结构体类型的定义 198

9.1.2 结构体类型变量的定义 199

9.1.3 结构体类型变量的使用 200

9.1.4 位域 205

9.2 单向链表 208

9.2.1 单向链表的概念 208

9.2.2 单向链表的建立和基本操作 209

9.3 共用体 214

9.3.1 共用体类型的定义 214

9.3.2 共用体类型变量的定义和使用 215

9.3.3 无名共用体类型的使用 217

9.4 枚举 218

9.4.1 枚举类型的定义 218

9.4.2 枚举类型变量的定义 219

9.4.3 枚举类型变量的使用 220

9.5 定义类型别名 223

习题 224

第10章 类和对象 226

10.1 面向对象程序设计概述 226

10.1.1 面向对象的思想 226

10.1.2 面向对象程序设计的基本特点 227

10.2 类和对象 228

10.2.1 类的定义 228

10.2.2 类成员的访问控制 229

10.2.3 类的成员函数 230

10.2.4 对象 231

10.2.5 对象数组 233

10.2.6 this指针 234

10.3 构造函数和析构函数 236

10.3.1 构造函数的作用 236

10.3.2 构造函数的定义和调用 237

10.3.3 构造函数的重载 239

10.3.4 默认的构造函数 240

10.3.5 构造函数的类型转换功能 241

10.3.6 对象成员与构造函数 242

10.3.7 析构函数 243

10.3.8 复制构造函数 245

10.4 友元 248

10.4.1 友元函数 248

10.4.2 友元类 250

10.5 类的静态成员 251

10.5.1 静态数据成员 251

10.5.2 静态成员函数 253

10.6 常数据成员、常对象和常成员函数 255

10.7 综合应用实例 257

习题 260

第11章 运算符重载 264

11.1 运算符重载 264

11.1.1 重载二元运算符为类运算符 265

11.1.2 重载一元运算符为类运算符 267

11.1.3 重载运算符为友元运算符 269

11.1.4 重载运算符为普通运算符 272

11.2 几个特殊运算符的重载 273

11.2.1 转换函数 273

11.2.2 赋值运算符 275

11.2.3 递增运算符和递减运算符 278

11.2.4 下标运算符 279

11.2.5 函数调用运算符 284

11.3 字符串类 285

11.4 小结 289

习题 290

第12章 继承和派生 291

12.1 继承 291

12.1.1 基本概念 291

12.1.2 单一继承 291

12.1.3 多重继承 296

12.1.4 初始化基类成员和对象成员 298

12.1.5 应用举例 300

12.2 歧义、优先规则和赋值兼容规则 303

12.2.1 歧义 303

12.2.2 优先规则 306

12.2.3 赋值兼容规则 307

12.3 虚基类 308

12.4 虚函数 313

12.4.1 虚函数的定义 313

12.4.2 虚函数与多态性 313

12.4.3 虚函数的特殊性 315

12.4.4 虚析构函数的重要性 316

12.4.5 纯虚函数 317

12.4.6 纯虚函数应用举例 319

习题 326

第13章 输入/输出流 328

13.1 基本概念 328

13.1.1 字节流 328

13.1.2 文件 328

13.1.3 缓冲 329

13.2 基本I/O流类 329

13.2.1 预定义的标准流对象 329

13.2.2 I/O流的状态检测 330

13.3 重载提取运算符和插入运算符 330

13.4 文件 332

13.4.1 文件流的用法 332

13.4.2 文件的打开 332

13.4.3 文件的关闭 334

13.4.4 文本文件的使用 334

13.4.5 二进制文件的使用 336

13.5 应用举例 338

习题 340

第14章 命名空间、模板和异常处理 342

14.1 命名空间 342

14.1.1 命名空间的定义与使用 342

14.1.2 标准命名空间std 346

14.1.3 用using引用命名空间 347

14.2 函数模板 350

14.2.1 函数模板的概念 350

14.2.2 函数模板的使用 350

14.2.3 函数模板的重载与特例 352

14.3 类模板 354

14.3.1 类模板的定义 354

14.3.2 类模板的使用 356

14.3.3 类模板的特例 358

14.4 STL简介 359

14.5 异常处理 361

14.5.1 异常处理的基本思想 361

14.5.2 异常的抛出、检测与捕获处理 362

14.5.3 指定函数抛出的异常类型 368

14.5.4 异常处理的嵌套 368

14.5.5 抛出异常时撤销对象 369

14.5.6 再次抛出异常 371

14.5.7 构造函数中的异常处理 371

习题 372

附录 ASCII码表 375

参考文献 376