图书介绍

C/C++程序设计教程PDF|Epub|txt|kindle电子书版本网盘下载

C/C++程序设计教程
  • 郭小刚,金星编著 著
  • 出版社: 北京市:人民邮电出版社
  • ISBN:7115119317
  • 出版时间:2004
  • 标注页数:383页
  • 文件大小:21MB
  • 文件页数:400页
  • 主题词:C语言-程序设计-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C/C++程序设计教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

目录1

第1章 绪论1

1.1 机器语言、汇编语言和高级语言1

1.2 C语言的历史与特点2

1.3 从C语言到C++语言的进化3

1.4 计算机结构的五个主要单元3

1.5 C/C++程序的实现4

1.6 C/C++源程序的基本形式5

1.7 函数初步8

1.8 C/C++程序上机步骤简介11

1.9 小结12

第2章 基本元素、类型和概念14

2.1 基本语言元素14

2.1.1 C/C++中的字符集14

2.1.2 语言符号14

2.2 基本数据类型16

2.3 算术负运算与补码转换18

2.4 常数和数据的内存布局21

2.5 sizeof运算符26

2.6 变量27

2.7 格式化输出函数printf和输入函数scanf29

2.7.1 输出函数printf29

2.7.2 输入格式转换函数scanf33

2.8 const量或不变量35

2.9 变量的引用(C++特有)36

2.1 0typedef类型声明语句37

第3章 运算符与表达式39

3.1 运算符与表达式概述39

3.3 运算符的优先级与结合性40

3.2 左值和右值40

3.4 算术运算表达式41

3.5 混合运算时数据的类型转换42

3.5.1 强制类型转换42

3.5.2 常用的算术转换43

3.5.3 隐含类型转换44

3.6 赋值表达式和混合赋值45

3.7 算术复合赋值表达式47

3.8 自增与自减运算符表达式49

3.9 逗号运算符表达式50

3.10 表达式的副作用51

3.11 位操作运算符(多学时)52

第4章 逻辑运算和选择控制语句56

4.1 语句概述56

4.2 C++中特有的输入输出流58

4.3 逻辑判断60

4.3.1 关系运算符60

4.3.2 逻辑运算符61

4.4 选择语句63

4.4.1 单路分支if语句63

4.4.2 双路分支if-else语句65

4.4.3 if-else语句或if语句的嵌套66

4.4.4 if-elseif-else语句67

4.4.5 条件运算符69

4.5 switch语句70

第5章 循环控制73

5.1 while语句73

5.2 do-while语句74

5.3 for语句76

5.4 break语句与continue语句78

5.5 goto语句80

5.6 多重循环81

第6章 指针与数组83

6.1 指针的概念83

6.2 一级指针和指针的操作84

6.3 指针与间接变量85

6.4 一维数组86

6.4.1 一维数组的定义87

6.4.2 一维数组的初始化87

6.4.3 一维数组的内存映像和指针加减关系运算88

6.4.4 函数的数组形参和指针形参91

6.5 const指针93

6.6 二维数组95

6.6.1 二维数组的定义95

6.6.2 二维数组的初始化97

6.6.3 多维数组97

6.7 指向数组的指针98

6.8 二级指针101

6.9 指针数组102

6.10 void关键字与void*型的指针105

6.11 程序动态存储结构107

6.11.1 C++中new运算符和delete运算符107

6.11.2 C语言中的动态内存分配函数malloc和free函数108

6.12 指针的类型转换和匹配关系(知识拓展)111

6.13 下标表达式与访问指针寻址计算(知识拓展)113

第7章 程序的结构116

7.1 程序设计方法116

7.1.1 自顶向下的程序设计116

7.1.2 自底向上的程序设计118

7.1.3 结构化程序设计118

7.1.4 多文件结构119

7.2 作用域或范围scope119

7.3 可见性与名称隐藏122

7.4 生存期与存储属性123

7.5 extern关键字与外部连接属性124

7.6 static关键字与内部连接属性125

7.6.1 静态函数或内部函数125

7.6.2 静态全局变量和静态局部变量126

7.7 返回指针值的函数与生存期127

7.8 枚举130

第8章 函数134

8.1 函数与调用约定134

8.2 函数的总体概念135

8.2.1 函数的返回类型136

8.2.2 函数的定义136

8.2.3 函数原型137

8.2.4 return语句138

8.2.5 函数的使用139

8.3 内联函数(inlinefunctio)140

8.4 引用和数值传递方式具体比较141

8.5 函数重载——functionoverloading(C++特有)143

8.5.1 重载函数与名称细分143

8.5.2 函数虚实结合类型匹配(知识拓展)145

8.5.3 连接C语言中的程序模块(查阅)146

8.6 默认参数——defaultargumentvalues(C++特有)147

8.7 函数的调用机制(多学时)148

8.8 函数的嵌套与递归150

8.9 数组的排序和查找(根据学时酌情选讲)152

8.9.1 直接插入排序152

8.9.2 选择排序153

8.9.3 交换法实现冒泡排序154

8.9.4 二分查找155

9.1 函数指针的定义157

第9章 函数指针157

9.2 函数指针的使用158

9.3 函数指针作为形参159

9.4 typedef关键字、函数指针与重载函数(多学时)163

9.5 函数指针构成的数组(多学时)164

第10章 预处理过程168

10.1 编译预处理指令概述168

10.3.2 不带参的宏替换169

10.3.1 #undef取消标识符定义169

10.3 #define指令169

10.2 预处理指令#include169

10.3.3 带参的宏定义172

10.4 宏调用和内联函数(知识拓展)173

10.5 条件编译指令(多学时)174

10.6 字符串预处理操作符(多学时)177

第11章 字符和内存处理180

11.1 字符数组、指针和字符串的初始化作用180

11.2 strlen函数确定字符串有效长度185

11.3 strcpy函数拷贝字符串186

11.5 strcmp函数比较字符串187

11.4 strcat函数合并字符串187

11.6 字符串排序算例188

11.7 memcpy函数拷贝内存189

11.8 程序的入口函数main190

第12章 结构与联合193

12.1 结构的声明和结构变量193

12.2 结构变量的定义形式194

12.3 对结构数据的操作195

12.4 结构变量的内存分布197

12.5 结构的初始化198

12.6 结构与函数200

12.7 结构的组合202

12.8 单链表(多学时)204

12.8.1 单链表概述204

12.8.2 链表结构的建立204

12.8.3 动态建立堆中链表207

12.8.4 对链表的插入208

12.8.5 链表结点的脱离211

12.9 联合union213

12.9.1 联合的特性和定义213

12.9.2 联合的内存映像215

12.9.3 无名联合(知识拓展)217

12.1 0数据的引用类型转换(知识拓展)219

12.1 1位域或位字段(查阅)221

第13章 文件223

13.1 文本流和二进制流223

13.2 流文件224

13.3 文件的打开函数fopen和关闭函数fclose225

13.4 格式读写fprintf和fscanf函数227

13.6 字符和字符串读写函数229

13.6.1 读取单个字符的fgetc函数229

13.5 出错的测试或清除函数(feof,ferror,clearerr)229

13.6.2 存写单个字符的fputc函数230

13.6.3 按行读文本串fgets函数230

13.6.4 按行写文本串fputs函数231

13.7 无格式转换的读写函数fread和fwrite231

13.8 文件的定位233

13.8.1 ftell函数告知当前位置234

13.8.2 fseek函数探寻文件的位置234

13.8.3 rewind函数反绕到文件开头位置234

13.9 一个简单的读写存盘程序235

14.1 面向对象理论鸟瞰239

第14章 迈入面向对象编程部分239

14.2 面向对象程序设计的概念240

14.3 面向过程和面向对象编程241

14.4 类的声明243

14.5 对象的定义244

14.6 成员函数与this关键字245

14.7 类作用域和成员的访问246

14.8 内联成员函数249

14.9 前置说明(forwordreference)249

14.10 函数的接口转换(知识拓展)250

15.1.1 构造函数的特殊性253

第15章 特殊的成员函数253

15.1 构造函数(constructor)253

15.1.2 拷贝构造函数和无参构造函数254

15.1.3 缺省构造函数255

15.2 构造函数的调用255

15.2.1 对象名调用256

15.2.2 new运算符调用257

15.2.3 无名对象调用257

15.2.4 函数对象名语法算例257

15.3 对象数组的初始化258

15.4 析构函数(destructor)259

15.5 赋值运算符函数operator=261

15.6 成员函数重载262

15.7 缺省参量的成员函数263

15.8 编译器默默提供的成员函数(知识拓展)264

第16章 数据的共享和流通266

16.1 浅拷贝和深拷贝(shallowcopy和deepcopy)266

16.2 只读成员函数与volatile、mutable关键字268

16.3 友元(friend)270

16.3.1 友元函数271

16.3.2 友元类272

16.4 静态成员273

16.4.1 静态数据成员273

16.4.2 静态成员函数274

16.5 指向成员的指针(多学时)276

16.5.1 指向数据成员的指针276

16.5.2 指向成员函数的指针277

第17章 运算符重载280

17.1 运算符重载的概念280

17.2 禁止重载的运算符281

17.4 单目运算符函数282

17.3 运算符重载的规则282

17.5 双目运算符函数284

17.6 数据的类型转换285

17.6.1 单参数构造函数的类型转换286

17.6.2 explicit关键字抑制自动类型转换286

17.6.3 运算符类型转换函数287

17.7 自增运算符和自减运算符288

17.8 函数调用运算符()函数(多学时)290

17.9 访问成员运算符->(多学时)291

17.10 数组下标运算符[](多学时)292

17.11 枚举类变量的运算性质(查阅)294

第18章 组合和继承296

18.1 组合296

18.1.1 组合的概念296

18.1.2 引用型成员和const成员296

18.1.3 嵌入对象的初始化297

18.1.4 冒号初始化语法298

18.2 继承和派生299

18.2.1 继承的概念299

18.2.2 间接基类和间接派生类300

18.3 派生类的声明和对象定义300

18.4 派生类的三种继承方式301

18.5 继承和不继承的语义302

18.6 派生与继承的算例303

18.7 构造和析构的次序304

第19章 多态和虚函数307

19.1 函数覆盖和函数重载307

19.2 虚函数的声明308

19.3 多态类层次之间的适应关系308

19.3.1 对象赋值兼容规则308

19.4 静态联编和动态绑定309

19.3.2 静态类型和动态类型309

19.5 名称索引的优先级311

19.6 虚函数动态绑定调用算例312

19.7 虚拟析构函数314

19.8 纯虚函数和抽象类315

第20章 模板318

20.1 模板的概念和方法318

20.2.2 函数模板的声明319

20.2.3 函数模板的实现319

20.2 函数模板319

20.2.1 函数模板的机制319

20.3 函数模板和函数重载算例320

20.4 非模板的重载函数321

20.5 类模板322

20.5.1 类模板的声明322

20.5.2 类模板成员函数的描述322

20.5.3 类模板的具体实现323

20.5.4 类模板的成员函数显式实现324

20.6 类模板的默认参数324

21.1 异常处理的概况326

第21章 异常处理技术326

21.2 C++异常处理的途径327

21.3 异常的多路捕获330

21.4 异常的重新抛出331

21.5 对象的清理332

21.6 类层次的异常处理策略334

21.7 关于抛出异常的函数显式说明(查阅)337

第22章 多重继承和类型变换338

22.1 多个直接基类338

22.2 虚拟基类340

22.3 多继承的构造函数341

22.4 名称的二义性344

22.5 新的类型变换(查阅)345

22.5.1 dynamic_cast动态类型变换346

22.5.2 static_cast静态类型变换348

22.5.3 reinterpret_cast重新翻译变换350

22.5.4 const_cast松动const属性变换350

22.5.5 typeid关键字351

第23章 C++的输入输出类库355

23.1 iotream类层次概述355

23.3 流对象的输入输出重载函数356

23.2 关于C++的新类356

23.4 重载流插入运算符和流提取运算符358

23.5 格式化的输入输出359

23.5.1 操作算子(manipulator)的概念359

23.5.2 整数转换的操作算子hex,oct,dec359

23.5.3 自定义操作算子360

23.5.4 格式化标志值360

23.5.5 控制浮点精度361

23.5.6 浮点数和科学计数法362

23.5.7 字符填充和宽度、对齐控制363

23.6.1 文件的打开函数364

23.6 流对象磁盘文件的输入输出364

23.6.2 文件的关闭函数close365

23.6.3 测试状态的函数(bad,eof,good,clear等)366

23.6.4 字符和字符串读写函数367

23.7 无格式转换的读写函数read和write368

23.7.1 read读取函数368

23.7.2 write存写函数369

23.8 文件的定位370

24.1 名称空间(namespace)372

24.1.1 固有的名称空间372

第24章 名称空间和嵌套类(查阅)372

24.1.2 namespace构建名称空间373

24.1.3 using声明语句374

24.1.4 名称空间的分散布置375

24.1.5 名称空间的歧义性376

24.1.6 嵌套的名称空间377

24.1.7 名称空间的别名377

24.1.8 无名的名称空间378

24.2 嵌套类379

24.3 友元函数和嵌套类381

附录A SCII码表383

热门推荐