《BORLAND C++ 3.0DOS和WINDOWS编程技巧与实例 下》求取 ⇩

第零章 前言1

0.1 本书适合的读者对象1

0.2 本书的内容1

目录1

0.3 本书的结构安排2

0.4 本书的使用方法2

0.5 C和C++编程练习注意事项2

0.6 选择Borland编译器3

第一部分 使用Borland C++的基本特征5

第一章 启动Borland C++5

1.1 运行安装程序5

1.1.1 安装Borland C++5

1.2 集成开发环境(IDE)的使用7

1.2.1 启动IDE7

1.2.2.1 菜单系统9

1.2.2 使用IDE的菜单和窗口9

1.2.2.2 窗口系统10

1.3 配置Borland C++13

1.3.1 设置IDE选择项13

1.3.2 使用BCINST15

1.4 编写第一个C语言程序18

1.4.1 理解C程序的结构18

1.4.1.1 预处理器指令20

1.4.1.2 全局说明21

1.4.1.2 main()函数22

1.4.1.3 用户定义的函数22

1.4.2 使用编辑器编写程序23

1.5 介绍库函数26

1.5.1 使用一些基本的输入函数26

1.5.1.1 get()函数27

1.5.1.2 scanf()函数28

1.5.2 使用一些基本的输出函数30

1.5.2.1 ?put()函数30

1.5.2.2 printf()函数31

1.5.3 使用一些格式转换函数31

1.5.3.1 atoi()函数31

1.5.3.2 toupper()函数32

1.6 练习33

1.7 总结34

第二章 理解C语言的基础36

2.1 预备知识36

2.1.1 理解源文件、目标文件和装载模块36

2.1.2 理解程序的逻辑和执行流程37

2.1.2.1 使用条件指令37

2.1.2.2 使用循环指令41

2.2 使用基本数据类型43

2.2.1 理解C语言的基本数据类型43

2.2.1.1 整数43

2.2.1.2 浮点数44

2.2.1.3 字符型数据45

2.2.2 在何处定义数据对象46

2.3 编写C语言表达式和语句48

2.3.1 理解表达式和语句49

2.3.1.1 C语言的操作符集50

2.4 控制类型转换53

2.4.1 理解隐式类型转换53

2.5 显式类型转换的使用55

2.6 使用C的宏56

2.6.1 定义类似对象的宏56

2.6.2 定义类似函数的宏59

2.8 总结62

2.7 练习62

第三章 使用C语言函数64

3.1 理解main()函数和库函数64

3.1.1 编写main()函数64

3.1.2 使用库函数66

3.1.2.1 哪些库函数可以利用66

3.1.2.2 在程序中加入库函数67

3.2 编写用户自己的函数69

3.2.1 编写函数原型69

3.2.2 把参数传送给函数71

3.3 函数返回值74

3.3.1 定义和使用函数类型74

3.3.2 象数据项一样使用函数76

3.4 理解存储类别76

3.4.1 确定变量的作用域77

3.4.2 确定变量的生存期78

3.4.3 确定变量的连接79

3.5 使用高级的程序控制逻辑80

3.5.1 编写循环控制语句80

3.5 1.1 使用goto语句80

3.5.1.2 使用break语句81

3.5.1.3 使用continue语句81

3.5.2 改变程序的执行流程82

3.5.2.1 使用exit()和abort()函数82

3.5.2.2 使用system(),exec...(),和spawn()函数83

3.6 使用可变参数表84

3.6.1 设计可变参数表84

3.6.2 使用va...()函数85

3.7 练习89

3.8 总结89

4.1.1 理解C的类型划分方案91

4.1 理解标准C语言的派生类型91

第四章 使用指针和派生类型91

4.1.2 从旧类型中创建新类型92

4.1.3 什么是不完全类型92

4.2 理解C语言的指针94

4.2.1 理解间接寻址95

4.2.2 RAM地址和系统装入程序95

4.2.2.1 使用C语言的间接操作符和取址操作符100

4.2.3 使用数组和串102

4.2.3.1 声明和使用对象数组。102

4.2.3.2 理解C语言的串105

4.2.4 使用结构和联合类型108

4.2.4.1 从不同类型中建立结构类型108

4.2.4.2 联合是结构对象的变化形式111

4.3 使用指向函数的指针113

4.3.1 指向函数的指针声明和初始化113

4.3.2 利用指针引用某函数114

4.4 在动态内存中使用指针117

4.4.1 C语言程序和动态内存117

4.4.2 使用动态存储119

4.5 练习125

4.6 总结125

第五章 建立、编译和测试Borland C++程序127

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

5.1.1 确定把哪些函数放在源文件中127

5.1.2 设置Borland C++工程文件143

5.2 理解外部引用145

5.2.1 使用关键字extern145

5.2.2 使用外部函数146

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

5.3.1 确定头文件中的内容147

5.3.2 包含用户提供的头文件148

5.4 在头文件中使用带条件的编译程序说明149

5.5 用IDE(集成开发环境)编译和运行程序151

5.5.1 编译和运行简单的程序151

5.5.2 编译和运行复杂的程序152

5.6 介绍集成Debugger154

5.6.1 使用step over命令缩小搜索范围154

5.6.2 使用Trace into命令来对问题进行准确定位155

5.6.3 设置和删除断点156

5.7 练习157

5.8 总结158

第六章 使用Borland C++输入/输出函数库159

6.1 理解I/O概念159

6.1.1 理解文件与设备159

6.1.2 理解文件与流160

6.2 利用标准流进行I/O162

6.1.3 文本流和二进制流162

6. 2.1 使用格式化I/O函数163

6.2.2 理解scanf()函数167

6.2.3 理解printf()函数170

6.2.4 使用字符I/O函数173

6.3 使用文件控制函数177

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

6.3.2 控制文件缓冲区180

6.4 使用直接文件I/O函数182

6.4.1 理解直接I/O的概念182

6.4.2 读写直接文件183

6.5 使用文件定位函数189

6.5.1 得到当前文件位置189

6.5.2 设定一个新文件位置190

6.6.1 检测文件I/O错误192

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

6.6 处理文件I/O错误192

6.7 练习193

6.8 小结193

第七章 存储模式与VROOMM技术195

7.1 80×86的体系结构195

7.1.1 段(Segment)、节(Paragraph)以及偏移地址(Offset)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 六个Borland C++存储模式203

7.3.1 决定使用哪种存储模式203

7.3.2 以混合模式编程204

7.4 创建COM型的可执行程序文件206

7.4.1 使用COM文件206

7.5 覆盖管理程序208

7.5.1 覆盖管理程序会做什么209

7.5.2 Borland的VROOMM209

7.6 设计和创建覆盖程序211

7.6.1 决定哪些模块要覆盖211

7.6.2 覆盖程序的编译和链接212

7.7 练习214

7.8 小结215

第八章 使用Borland C++的视频函数217

8.1 IBM/PC的文本方式217

8.1.1 PC显示器适配器和屏幕的概述217

8.1.2 掌握存储变换屏幕I/O218

8.2 控制文本屏幕219

8.2.1 使用文本方式控制函数219

8.2.2 使用直接控制台I/O以获得高性能223

8.3 使用窗口函数223

8.4.1 象素点与调色板227

8.4 了解IBM-PC的图形方式227

8.4.2 控制图形屏幕231

8.5 介绍BGI图形库233

8.5.1 使用画图和填充函数233

8.5.2 控制屏幕和视口238

8.6 在图形方式下显示文本238

8.6.1 BGI字体239

8.6.2 使用图形方式下的文本函数239

8.7 练习242

8.8 小结242

第九章 使用Turbo Debugger和Turbo Profiler244

9.1 启动Turbo Debugger244

9.1.1 理解错误和调试程序的概念244

9.2 使用Turbo Debugger246

9.2.1 用Turbo Debugger运行程序246

9.1.2 准备在IDE里运行Turbo Debugger246

9.2.2 观察数据250

9.3 使用高级调试功能252

9.3.1 改变程序中变量或表达式的值252

9.3.2 设置断点253

9.4 使用Turbo Profiler254

9.4.1 什么是“剖析”(profiling)254

9.4.2 启动Turbo Profiler255

9.4.3 了解基本的剖析信息257

9.5 使用高级剖析功能260

9.5.1 选择剖析区域261

9.5.2 显示剖析统计数据263

9.5.3 积极剖析与消极剖析265

9.6 练习266

9.7 小结266

10.1 使用直接插入(inline)汇编语言268

第十章 使用Borland C++的高级功能268

10.1.1 直接插入式汇编环境269

10.1.2 使用asm关键字271

10.2 与汇编语言子程序的接口274

10.2.1 在C程序里调用汇编子程序274

10.2.2 在汇编子程序中调用C函数285

10.3 使用中断功能293

10.3.1 80×86的中断结构293

10.3.2 使用Borland的中断接口295

10.4 使用中断处理程序298

10.4.1 声明中断处理程序函数298

10.4.2 实现一个时钟中断处理程序300

10.5 练习304

10.6 小结305

11.1 C与C++派生类型的比较306

第十一章 使用C++的类306

第二部分 Borland C++面向对象的功能306

11.1.1 在C++中重新定义“派生类型”307

11.1.2 理解C++的封装(Encapsulation)概念308

11.1.3 使用struct说明类309

11.2 说明C++的类313

11.2.1 理解类的说明315

11.2.2 使用类说明的语法规则316

11.2.3 说明类成员319

11.2.4 建立后进先出的堆栈类320

11.2.5 使用this指针326

11.2.6 使用关键字public,private以及protected332

11.3 编写类的成员函数332

11.3.1 联系成员函数和类333

11.3.1.1 分别编译成员函数333

11.3.1.2 定义直接插入的成员函数334

11.3.1.3 指定成员函数的缺省参数335

11.3.2 提供构造函数和析构函数336

11.4 使用友元函数340

11.4.1 在类中包括友元函数340

11.4.2 决定何时使用友元函数341

11.5 练习342

11.6 小结342

第十二章 创建C++的对象345

12.1 定义C++的对象345

12.1.1 为类对象指定存储类345

12.1.2 定义具有动态生存期的类对象347

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

12.1.4 定义全局(静态)的类对象370

12.2 初始化类对象378

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

12.2.2 使用初始化表381

11.3 练习382

11.4 总结382

第十三章 访问C++的对象384

13.1 使用作用域限制操作符384

13.1.1 作用域限制的一般用法384

13.1.2 使用作用域限制进行语法控制386

13.1.3 利用作用域限制来控制二义性387

13.2 理解C++的作用域规则391

13.2.1 理解C和C++作用域的不同392

13.2 2 C++的作用域规则393

13.3 C++的对象交流信息396

13.3.1 向对象传送信息396

13.3.2 理解*this420

13.4.1 由地址操作符进化而来的引用操作符421

13.4.2 理解引用操作符421

13 4 使用引用操作符421

13.5 使用对象作为函数的参数422

13.5.1 通过值和通过引用来传送对象422

13.5.2 从成员函数中访问其它对象424

13.6 使用指向对象的指针425

13.6.1 理解何时需要指针425

13.6.2 定义指向对象的指针和数组426

13.7 练习428

13.8 小结428

第十四章 在C++中使用重载函数和操作符430

14.1 重载成员函数430

14.1.2 理解C++的重载430

14.1.2 声明重载的成员函数433

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

14.2.1 重载类的友元函数435

14.2.2 重载非成员函数440

14.3 理解类型安全的连接441

14.3.1 理解函数合并441

14.3.2 利用标准C的包含文件来控制连接问题443

14.4 在C++中重载操作符445

14.4.1 理解操作符重载446

14.4.2 声明重载操作符函数451

14.4.2.1 定性地讨论操作符函数451

14.4.2.2 理解重载操作符函数的语法规则452

14.4.2.3 指定重载操作符函数的参数454

14.4.2.4 指定操作符函数的返回类型455

14.4.2.5 利用友元函数来重载操作符456

14.4.2.6 定义强制类型转换操作符函数459

14.4.3 重载双目操作符和单目操作符460

14.5 重载下标操作符和函数调用操作符461

14.5.1 使用重载的下标操作符462

14.5.2 使用重载函数调用操作符466

14.6 练习470

14.7 小结471

第十五章 使用C++的构造函数和析构函数472

15.1 理解构造函数和析构函数调用472

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

15.1.1.1 声明构造函数473

15.1.1.2 声明析构函数477

15.1.2 使用构造函数初始化479

15.1.3 何时调用构造函数482

15.1.4 何时调用析构函数488

15.2 重载构造函数492

15.3 写一个缺省构造函数492

15.3.1 编写其它构造函数494

15.3.2 决定何时需要一个拷贝构造函数496

15.4.1 new和delete的使用497

15.4 使用new()操作符和delete()操作符497

15.4.2 动态地创建和删除类对象499

15.5 重载操作符new()和操作符delete()501

15.5.1 重载全局操作符501

15.5.2 重载类的操作符507

15.6 练习509

15.7 总结509

第十六章 使用C++流511

16.1 C++流介绍511

16.1.1 C++流与标准流的比较512

16.1.2 使用C++流进行标准I/O514

16.2 处理C++流的错误522

16.2.1 检测C++流错误状态523

16.2.2 使用流状态成员函数525

16.3 用C++流控制数据格式527

16.3.1 在内部类型中使用插入符和抽取符527

16.3.2 重载<<和>>操作符532

16.4 使用C++流操纵符(manipulators)535

16.4.1 理解C++的操纵符535

16.4.2 使用操纵符改变状态和属性536

16.5 使用C++文件I/O流544

16.5.1 读和写fstream文件548

16.5.2 用C++流进行文件定位……………………………………………54?16.6 使用和转换旧式C++流551

16.6.1 新旧C++流的区别552

16.6.2 转化为新的C++流553

16.7 练习554

16.8 总结555

第十七章 使用C++派生类557

17.1 无继承性的代码重用557

17.1.1 理解代码的重用性557

17.1.2 通过组合重新使用代码558

17.2.2 声明基本和派生类561

17.2.1 理解继承561

17.2 使用单个基类561

17.3 一个实践项目:扩展内存支持569

17.3.1 理解扩展内存规范(XMS)569

17.3.2 建立XMS管理类570

17.3.3 派生一个交换缓冲类583

17.4 使用虚拟函数588

17.4.1 使用迟后联编和虚拟函数588

17.4.2 使用域限定控制符来控制成员函数的存取权限592

17.5 使用多基类592

17.5.1 从多个基类中派生593

17.5.2 声明和使用虚拟基类596

17.6 从抽象类中派生类597

17.6.1 理解纯虚拟函数598

17.6.2 纯虚拟函数的实现598

17.7.1 初始化代码不能继承599

17.7 在继承时使用构造函数和析构函数599

17.7.2 理解在继承时调用构造函数和析构函数的顺序600

17.7.3 使用虚拟析构函数600

17.8 练习602

17.9 小结603

第十八章 对象控制、操作及将来发展方向604

18.1 用户自定义类型转换604

18.1.1 使用类的构造函数来进行类型转换604

18.1 2 类型操作符的重载606

18.2 使用generic类609

18.2.1 理解抽象和generic类的设计609

18.2.2 构造generic类613

18.3 控制对象的行为与性能620

18 3.1 使用友元函数以提高效率620

18.3.2 使用友元函数来控制对象句法621

18.3.3 使用静态存储类来避免重复创建623

18.3.4 使用可引用量和指针626

18.3.4 使用直接插入函数来消除函数调用628

18.4 类对象控制中今后的发展方向629

18.4.1 类和函数的模板629

18.4.2 异常处理630

18.5 练习631

18.6 总结631

第三部分 编写Windows应用程序632

第十九章 使用Turbo Vision632

19.1 Turbo Vision概述632

19.1.1 何谓应用程序框架632

19.1.2为何要使用Turbo Vision的应用程序框架633

19.1.3 使用面向对象的代码的优点633

19.1.4 事件驱动编程的优点634

19.2.2.1 组635

19.2.2 视口635

19.2.1 事件635

19.2 Turbo Vision应用程序概述635

19.2.3 哑对象636

19.3 编写第一个Turbo Vision应用程序636

19.3.1 编写一个基本的Turbo Vision应用程序636

19.3.2 增加菜单支持638

19.4 使用Turbo Vision创建窗口643

19.4.1 在Turbo Vision应用程序中增加窗口643

19.4.2 在Turbo Vision窗口中增加文本648

19.4.3 使用对话框窗口652

19.5 练习660

19 6 小结660

第二十章 Borland C++高级编译器介绍661

20.1 新的特征和功能661

20.2.1 运行在MS-Windows下的程序员平台663

20.2 运行的程序员平台663

20.2.2 使用Borland C++的选项665

20.3 Turbo Debugger 2.5 3.0666

20.4 使用Turbo Debugger 2.5和3.0667

20.4.1 影响TASM的C编译器的差异667

20.4.2 支持Windows 3.0的新MODEL标识符670

20.4.3 虚段支持671

20.4.4 486指令集支持671

20.4.5 RETCODE指令672

20.4.6 TASMX.EXE和Windows DMPI672

20.4.7 使用Whitewater资源开发工具672

20.5 使用Resource Workshop675

20.6 总结687

第二十一章 使用Borland C++进行Windows程序设计688

21.1 了解Windows程序设计环境688

21.1.1 Windows是多任务环境689

21.1.2 Windows环境是面向对象的环境691

21.2 设置Borland C++以支持Windows应用程序设计698

21.2.1 设置选择项以支持资源编译器和输入库管理器698

21.2.1.1 只运行集成环境(IDE)699

21.2.1.2 在Windows下运行集成环境(IDE)699

21.2.2 为入口和出口代码设置编译器选项700

21.3 使用WhiteWater资源工具箱(RT)702

21.3.1 设置RT作为一个Windows程序项703

21.3.2 fcwin.c程序需要的资源703

21.3.3 运行RT704

21.3.3.1 使用RT的主窗口704

21.3.3.2 使用资源浏览器705

21.3.3.3 建立和编辑图符706

21.3.3.4 生成和编辑菜单706

21.3.3.5 生成和编辑对话框708

21.5 利用Borland的Resource Workshop绘制FCWIN资源713

21.6 练习721

21.7 总结722

第二十二章 设计Windows应用程序723

22.1 建立Windows应用程序环境723

22.1.1 建立Windows承接程序可执行文件723

22.1.2 了解Windows目录的用途724

22.1.1.3 通过实践学习:设计fcwin.c725

22.2 为Windows应用程序生成源文件756

22.2.1 了解Windows 3.0程序设计环境757

22.2.2 生成模块定义文件757

22.2.3 设计程序的头文件759

22.2.4 为FCWIN生成项目文件760

22.3 练习761

22.4 总结761

23.1.2 注册窗口类763

第二十三章 用Borland C++2.0写Windows应用程序763

23.1 设计Windows界面763

23.1.2 设置主消息循环766

23.1.3 编写WndProc()函数767

23.1.4 为对话框设置回调函数768

23.1.4.1 生成对话函数769

23.1.4.2 控制对话框770

23.1.5 为弹出帮助和出错信息使用MessageBox()771

23.1.6 Windows打印管理器的spooling硬拷贝772

23.2 使用动态连接库780

23.2.1 理解DLL780

23.2.2 编写一个DLL应用程序781

23.3 练习785

23.4 总结785

24.1 C++ ObjectWindows简介786

第二十四章 使用ObjectWindows786

24.1.1 在Windows程序中使用C++类787

24.1.2 了解ObjectWindows库800

24.1.3 编写第一个ObjectWindows程序801

24.2 与基本Windows API函数和元素的接口805

24.2.1 控制应用程序806

24.2.2 控制窗口对象807

24.2.3 控制Windows消息809

24.3 练习810

24.4 小结811

附录A ASCⅡ字符812

附录B 使用printf()和scanf()的说明815

附录C 使用exec...()和spawn...()的详细说明826

附录D quad类的程序清单830

附录E CWIN资源的完整清单843

1992《BORLAND C++ 3.0DOS和WINDOWS编程技巧与实例 下》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由周枫编译 1992 北京:海洋出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。