《MicrosoftC/C++7.0使用指南》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:(美)阿特金森(Atkinson,L.)等著;曹晓峰等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1993
  • ISBN:7302014078
  • 页数:701 页
图书介绍:北京科海培训中心:书名原文:UsingmicrosoftC/C++7:本书包括MicrosoftC/C++基本特征及面向对象特征和使用Windows的MicrosoftC/C++三部分。

第一部分 Microsoft C/C++基本特征 1

第1章 Microsoft C/C++起步 1

1.1 Microsoft C/C++磁盘 1

目录 1

1.1.1 安装Microsoft C/C++ 2

1.1.2 运行SETUP 2

1.1.3 DOS模式下SETUP的使用 3

1.1.4 基于Windows的SETUP的使用 4

1.1.5 附加库安装 5

1.1.6 选择内存模式 7

1.2 程序员工作台(PWB) 7

1.2.1 PWB初步 7

1.2.2 PWB菜单和窗口的使用 8

1.2.2.1 菜单系统 9

1.3 Microsoft C/C++配置 11

1.2.2.2 窗口系统 11

1.3.1 键设置 12

1.3.2 编辑器设定 13

1.3.3 颜色 14

1.3.4 建立选项 14

1.3.5 设置项目模板 14

1.3.6 语言选项 14

1.3.7 连接选项 16

1.3.8 NMAKE选项 16

1.4 在PWB内编译并执行程序 16

1.5 在PWB外编译和连接 16

1.5.1 /Yc,/Yd,/Yu 18

1.6 书写第一个C程序 19

1.6.1 C程序结构 19

1.6.1.1 预处理器命令 21

1.6.1.2 全局说明 22

1.6.1.3 main()函数 23

1.6.1.4 用户定义函数 24

1.6.2 利用编辑器编写程序 24

1.7 库函数介绍 28

1.7.1 基本输入函数的使用 28

1.7.1.1 get...()函数 29

1.7.1.2 scanf()函数 30

1.7.2 基本输出函数的使用 31

1.7.2.1 put...()函数 31

1.7.2.2 printf()函数 32

1.7.3 格式转换函数的使用 33

1.7.3.1 atoi()函数 33

1.7.3.2 toupper()函数 34

1.9 小结 35

1.8 练习 35

第2章 C语言基础 37

2.1 基本知识介绍 37

2.1.1 源模块、目标模块和装入模块 37

2.1.2 程序逻辑与执行流 39

2.1.2.1 条件语句 39

2.1.2.2 循环语句 42

2.2 基本的数据类型 45

2.2.1 C的基本数据类型 45

2.2.1.1 整数 45

2.2.1.2 浮点数 46

2.2.1.3 字符数据 47

2.2.2 在何处定义数据对象 47

2.3 编写C表达式和语句 50

2.3.1 表达式和语句 50

2.3.2 C运算符集介绍 52

2.4.1 隐含类型转换 54

2.4 类型转换控制 54

2.4.2 显式类型转换 55

2.5 C语言宏 56

2.5.1 定义类对象宏 57

2.5.2 定义类函数宏 60

2.6 练习 63

2.7 小结 63

第3章 C函数的使用 65

3.1 main()函数和库函数 65

3.1.1 编写main函数 65

3.1.2 库函数 67

3.1.2.1 有哪些库函数 67

3.1.2.2 在程序中嵌入库函数 68

3.2.1 书写函数原型 70

3.2 编写自己的函数 70

3.2.2 向函数传递参数 72

3.3 从函数返回值 75

3.3.1 定义和使用函数类型 75

3.3.2 把函数当作对象使用 77

3.4 存储类 78

3.4.1 变量作用域 78

3.4.2 变量生存期 79

3.4.3 变量的连接性 80

3.5 高级程序控制逻辑 81

3.5.1 编写循环控制语句 81

3.5.1.1 goto语句 81

3.5.1.2 break语句 82

3.5.1.3 continue语句 82

3.5.2.1 exit()和abort()函数 83

3.5.2 改变程序运行流程 83

3.5.2.2 system(),exec…()和spawn…() 85

3.6 可变参数表 86

3.6.1 设计可变参数表 86

3.6.2 va...()函数 87

3.7 练习 90

3.8 小结 90

第4章 指针和派生类型 92

4.1 标准C的派生类型 92

4.1.1 C的类型分类 92

4.1.2 从老类型生成新类型 92

4.2 C指针 95

4.2.1 间接寻址 96

4.2.2 C的间接引用和地址运算符 101

4.3.1 声明和使用数组对象 104

4.3 数组和字符串的使用 104

4.3.2 C的字符串 106

4.4 结构和联合 110

4.4.1 用不同类型组成结构 110

4.4.2 用联合改变结构和对象的面貌 113

4.5 函数指针 115

4.5.1 声明和初始化函数指针 115

4.5.2 用指针引用调用函数 116

4.6 动态存储的指针 118

4.6.1 C程序和动态存储 119

4.6.2 动态内存 120

4.7 练习 125

4.8 小结 126

第5章 Microsoft C/C++程序的构造、编译和测试 127

5.1 在一个程序中使用多个源文件 127

5.1.1 一个源文件包括哪些函数 127

5.1.3 生成项目文件 144

5.1.2 建立Microsoft C/C++项目文件 144

5.2 外部引用 146

5.2.1 关键字extern的使用 146

5.2.2 外部函数的使用 147

5.3 为外部模块编写头文件 148

5.3.1 确定头文件的内容 148

5.3.2 嵌入用户提供的头文件 149

5.4 在头文件中使用条件编译指令 150

5.5 在PWB下编译和运行程序 152

5.5.1 编译和运行简单程序 152

5.5.2 编译和运行复杂程序 153

5.6 NMAKE实用程序 154

5.6.1 NMAKE使用举例 154

5.7.1 命令行 156

5.7 注意:列出所有文件 156

5.6.2 显式规则 156

5.7.2 推理规则 157

5.7.3 宏 157

5.7.4 条件指示 158

5.8 练习 159

5.9 小结 160

第6章 Microsoft C/C++I/O函数库 161

6.1 I/O概念 161

6.1.1 文件和设备 161

6.1.2 文件和流 162

6.1.3 文件和二进制流 164

6.2 用标准流进行I/O 164

6.2.1 格式化I/O函数 165

6.2.1.1 scanf()函数 168

6.2.1.2 printf()函数 170

6.2.2 字符I/O函数 173

6.3 文件控制函数 177

6.3.1 打开、关闭和控制文件 177

6.3.2 控制文件缓冲区 180

6.4 直接文件I/O函数 181

6.4.1 直接I/O的概念 182

6.4.2 直接读写文件 183

6.5 文件定位函数 188

6.5.1 获取当前文件位置 188

6.5.2 设置新的文件位置 190

6.6 处理文件I/O错误 191

6.6.1 检测文件I/O错误 191

6.6.2 显示和清除文件I/O错误 192

6.7 练习 192

6.8 小结 193

7.1.1 段、节和偏移量 195

7.1 80x86体系结构介绍 195

第7章 存储模式的使用 195

7.1.2 CPU地址寄存器 197

7.2 near、far和huge指针 199

7.2.1 选择需要的指针大小 199

7.2.2 near、far和huge说明符 200

7.3 Microsoft C/C++六种存储模式 203

7.3.1 确定使用何种存储模式 203

7.3.2 用混合模式编程 204

7.4 生成.COM可执行文件 206

7.4.1 .COM文件 206

7.5 Microsoft C/C++的覆盖虚拟环境 207

7.5.1 覆盖管理程序的功能 208

7.5.2 MOVE 208

7.6 设计并生成覆盖程序 209

7.6.1 确定覆盖哪些模块 209

7.6.2 编译和连接覆盖程序 210

7.7 虚拟内存 214

7.7.1 _vlock()的使用 217

7.7.2 释放虚拟存储块 217

7.7.3 结束虚拟存储管理 217

7.8 练习 218

7.9 小结 218

第8章 Microsoft C/C++视频函数 220

8.1 IBM/PC的文本模式 220

8.1.1 PC机视频适配器和屏幕简介 220

8.1.2 屏幕I/O的内存映像 221

8.2 对文本屏幕的控制 221

8.2.1 选择视频模式 221

8.2.2 选择文本颜色 222

8.2.3 显示文本颜色 224

8.3 窗口函数 225

8.3.1 在屏幕指定位置显示文本 226

8.3.2 判断当前文本模式的设置 227

8.3.3 判断当前文本颜色的设置 227

8.3.4 判断当前文本窗口的边界 227

8.3.5 判断当前文本输出的位置 227

8.3.6 判断其它屏幕属性 228

8.4 IBM/PC的图形模式 228

8.4.1 像素和调色板 228

8.4.2 调色板 229

8.4.3 CGA调色板 229

8.4.4 选择背景颜色 230

8.4.5 从当前调色板中选择颜色 230

8.4.6 CGA高分辨率模式 231

8.4.7 EGA/VGA视频模式下的颜色选择 231

8.4.8 设置VGA调色板 232

8.4.10 设置EGA调色板 233

8.4.9 设置MCGA调色板 233

8.5 图形绘制函数简介 234

8.5.1 _setvieworg() 234

85.2 _setviewport() 235

8.5.3 窗口坐标 236

8.6 绘图和填充函数 237

8.6.1 绘制填充图形函数 240

8.6.2 绘图控制函数 242

8.6.3 _getcurrentposition() 242

8.6.4 _setlinestyle() 243

8.6.5 _setfillmask() 243

8.6.6 清除图形显示屏幕 246

8.6.7 图形屏幕的控制 246

8.7 在图形模式下使用文本 246

8.7.1 字模 246

8.7.2 图形模式文本函数 247

8.7.3 Microsoft Windows的字模 249

8 7.4 其它字模函数 250

8.8 练习 251

8.9 小结 251

第9章 CodeView和Profiler 253

9.1 创建调试 253

9.1.1 找毛病与调试 253

9.1.2 准备从PWB中运行Code view 255

9.2 Code view调试器 256

9.2.1 用code view运行程序 256

9.2.2 混合源和汇编语言 259

9.2.3 命令窗口 259

9.2.4 观察数据 260

9.3 设置断点 262

9.4.2 剖视过程 263

9.4 Microsoft Profiler 263

9.4.1 什么叫剖视 263

9.4.3 启动Microsoft Profiler 264

9.4.4 基本的剖视信息 265

9.4.5 改进ptestl 269

9.4.6 选择一个剖视模式 271

9.4.7 其它剖视性能的展望 272

9.5 练习 272

9.6 小结 273

第10章 Microsoft C/C++的高级功能 274

10.1 内联的汇编语言 274

10.1.1 内联的汇编环境 274

10.1.2 _ _asm关键字 275

10.2.1 80x86中断结构 278

10.2.2 Microsoft中断接口 278

10.2 中断功能 278

10.3 中断处理程序 282

10.3.1 声明中断处理程序的函数 282

10.3.2 完成计时器计时中断处理程序 283

10.4 程序优化性能 287

10.5 p-代码 289

10.6 练习 290

10.7 小结 290

第二部分 Microsoft C/C++面向对象特征 291

第11章 C++类的使用 291

11.1 C++的重要特点 291

11.2 如何利用C++的特征 292

11.3 C和C++的派生类型 292

11.3.1 在C++中重新定义“派生” 292

11.3.2 C++的封装 294

11.3.3 用struct声明类 295

11.4 声明C++类 298

11.4.1 类声明 301

11.4.1.1 类声明语法 301

11.4.1.2 声明类成员 303

11.4.1.3 建立一个后进先出(LIFO)栈类 304

11.4.1.4 this指针 310

11.4.2 public、private、protected关键字 315

11.5 为类写成员函数 316

11.5.1 成员函数与类的联系 316

11.5.1.1 单独编译成员函数 316

11.5.1.2 声明内联成员函数 317

11.5.1.3 为成员函数指定缺省参数 318

11.5.2 提供构造和析构函数 319

11.6.1 在类中包含友元函数 323

11.6 友元函数 323

11.6.2 何时使用友元函数 324

11.7 练习 324

11.8 小结 325

第12章 创建C++对象 328

12.1 定义C++对象 328

12.1.1 给类对象指定存储类 328

12.1.2 定义任意生存期的类对象 330

12.1.3 定义局部(auto)类对象 344

12.1.4 定义全局(static)类对象 352

12.2 初始化类对象 359

12.2.1 使用构造函数初始化类对象 360

12.2.2 使用初始程序表 362

12.3 练习 363

12.4 小结 363

13.1.1 作用域限定符的一般使用 364

13.1 作用域限定符 364

第13章 访问C++对象 364

13.1.2 利用作用域限定符进行语法控制 366

13.1.3 利用作用域限定符避免二义性 367

13.2 C++的作用域规则 371

13.2.1 C与C++作用域的区别 371

13.2.2 考察C++的作用域规则 373

13.3 与C++对象通讯 375

13.3.1 向对象发送消息 376

13.3.2 *this 397

13.4 引用运算符 397

13.4.1 从地址运算符演变到引用运算符 397

13.4.2 引用运算符 398

13.5 将对象用作函数参数 399

13.5.1 通过值和引用传递对象 399

13.5.2 在成员函数中访问其它对象 400

13.6.1 什么时候需要用指针 402

13.6 对象指针 402

13.6.2 声明对象指针和数组 403

13.7 练习 404

13.8 小结 405

第14章 C++的重载函数和运算符 406

14.1 重载成员函数 406

14.1.1 C++的重载 406

14.1.2 声明重载的成员函数 409

14.2 重载友元和非成员函数 410

14.2.1 重载类的友元 410

14.2.2 重载非成员函数 415

14.3 类型的安全连接 416

14.3.1 函数规整 416

14.3.2 带有标准C中lnclude文件时的连接控制 417

14.4.1 运算符的重载 420

14.4 重载C++的运算符 420

14.4.2 声明重载运算符函数 424

14.4.2.1 为运算符函数作准备 424

14.4.2.2 重载运算符函数的语法 424

14.4.2.3 说明重载运算符函数的参数 426

14.4.2.4 说明运算符函数的返回类型 427

14.4.2.5 用友元函数重载运算符 428

14.4.2.6 定义类型转换运算符函数 431

14.4.3 重载双目和单目运算符 432

14.5 重载下标和函数调用运算符 434

14.5.1 重载的下标运算符 434

14.5.2 重载函数调用运算符 438

14.6 练习 441

14.7 小结 442

15.1 C++构造函数和析构函数的调用 443

第15章 C++的构造函数和析构函数 443

15.1.1 声明构造函数和析构函数 444

15.1.1.1 声明构造函数 444

15.1.1.2 声明析构函数 448

15.1.2 构造函数初始化表 450

15.1.3 什么时候调用构造函数 453

15.1.4 什么时候调用析构函数 459

15.2 重载构造函数 462

15.3 编写缺省构造函数 462

15.3.1 编写其它构造函数 465

15.3.2 决定何时需要使用拷贝构造函数 467

15.4 运算符new()和 delete() 467

15.4.1 new和delete的一般使用 468

15.4.2 动态生成和删除类对象 470

15.5 重载运算符new()和delete() 471

15.5.1 重载全局运算符 472

15.5.2 为类重载运算符 478

15.6 练习 480

15.7 小结 480

第16章 C++流的使用 482

16.1 C++流的介绍 482

16.1.1 C++流和标准流的比较 483

16.1.2 使用C++流来操作标准I/O 485

16.2 处理C++流错误 494

16.2.1 C++流错误状态的检测 494

16.2.2 流状态成员函数 496

16.3 C++流控制数据格式 498

16.3.1 使用插入符和提取符来操作内部类型 498

16.3.2 重载〈〈和〉〉运算符 502

16.4.1 熟悉C++操作符 505

16.4 C++流操作符 505

16.4.2 使用流操作符改变状态和属性 506

16.5 C++文件I/O流 513

16.5.1 读和写fstream文件 517

16.5.2 用C++流进行文件定位 518

16.6 练习 520

16.7 小结 521

第17章 C++派生类 523

17.1 非继承的代码复用 523

17.1.1 代码可复用性 523

17.1.2 通过组合复用代码 523

17.2 单基类 527

17.2.1 对继承的理解 527

17.2.2 声明基类和派生类 527

17.3 虚拟函数 534

17.3.1 延迟约束和虚拟函数 534

17.3.2 使用作用域限定控制成员函数的存取 538

17.4.1 从重基类中派生 539

17.4 重基类 539

17.4.2 声明和使用虚拟基类 542

17.5 从抽象类派生类 543

17.5.1 纯虚拟函数 544

17.5.2 实现纯虚拟函数 544

17.6 通过继承使用构造函数和析构函数 545

17.6.1 初始化代码不能继承 545

17.6.2 通过继承调用构造函数和析构函数的次序 546

17.6.3 虚拟析构函数 546

17.7 练习 548

17.8 小结 549

18.1 用户定义的类型转换 550

18.1.1 用构造函数进行类型转换 550

第18章 关于对象控制与执行的讨论 550

18.1.2 重载型强制运算符 552

18.2 类属类 555

18.2.1 抽象类和类属类的设计 555

18.2.2 生成类属类 558

18.3 对象行为与执行的控制 565

18.3.1 用友元函数获得高效率 565

18.3.2 用静态存储类避免反复的具体说明 566

18.3.3 引用和指针 568

18.3.4 用内联函数消除函数调用 571

18.4 源代码浏览器 571

18.4.1 找到未引用的标识符 574

18.4.2 调用树 574

18.5 练习 577

18.6 小结 577

19.1 Windows编程环境 578

第19章 Microsoft C/C++的Windows编程介绍 578

第三部分 使用Windows的Microsoft C/C++ 578

19.1.1 QuickWin库 579

19.1.2 编译order.c程序 579

19.1.3 运行QuickWin应用程序 582

19.1.4 QuickWln的特殊功能 582

19.1.5 增加多窗口 583

19.2 创建子窗口的另一方法 585

19.2.1 从窗口中退出 586

19.2.2 About框 586

19.2.3 控制窗口的大小和位置 586

19.2.4 在子窗口上加上滚动条 586

19.2.5 菜单栏函数 587

19.3 在Windows应用编程接口中编程 588

19.4 Windows多任务环境 588

19.5 Windows是一个面向对象的环境 589

19.6 编译和连接Windows应用程序 596

19.6.1 使用PWB编译和连接Windows应用程序 597

19.6.2 cl命令行编译器 597

19.6.3 资源编译器 598

19.7 准备资源文件 598

19.7.1 创建资源 598

19.7.2 fcwin.c样本程序所需要的资源 599

19.7.3 创建和编辑菜单 600

19.7.4 创建和编缉对话框 601

19.7.5 创建和编辑图标 607

19.7.6 用资源编译器编译资源 607

19.8 练习 609

19.9 小结 609

20.1 设置Windows应用程序环境 610

20.1.1 WINSTUB.EXE程序 610

第20章 设计Windows应用程序 610

20.1.2 Windwos目录的使用 612

20.1.3 边做边学习:设计fcwin.c 613

20.2 生成Windows应用程序的源文件 639

20.2.1 Windows 3.1编程环境 639

20.2.2 创建模块定义文件 640

20.2.3 设计程序的头文件 641

20.2.4 创建FCWIN的工程文件 643

20.3 练习 644

20.4 小结 644

第21章 用Microsoft C/C++编写Windows应用程序 645

21.1 Windows接口设计 645

21.1.1 登记窗口类 645

21.1.2 建立主消息循环 648

21.1.3 编写Wndproc()函数 649

21.1.4 为对话框建立回调函数 650

21.1.4.1 创建对话函数 651

21.1.4.2 控制对话 652

21.1.5 使用MessagcBox()生成弹出式帮助信息和错误信息 653

21.1.6 将硬拷贝以假脱机方式送给Windows打印管理程序 654

21.2 动态连接库 661

21.2.1 动态连接库的概念 662

21.2.2 书写DLL应用程序 663

21.3 练习 666

21.4 小结 667

附录 669

附录A ASCII字符图表 669

附录B printf()和scanf()的使用细节 671

附录C _exec...()和_spawn()的使用细节 676

附录D quad类的程序清单 679

附录E 完整的FCWIN资源清单 691