Borland C++& Turbo C++ 程序员手册
7810122983
北京航空航天大学出版社 / 0000-00-00
平装 / 16开 / 613页 / 0字
¥30.35
(1家书店)
"Borland C++& Turbo C++ 程序员手册"的详细介绍……
内容简介
BorlandC++和TurboC++支持多重覆盖窗口和自动覆盖管理,既是面向对象的程序设计语言,
又是一个编辑、编译、调试、运行和剖视优化一体化的优秀的语言开发环境,且与TurboC相兼容。
《用户手册》、《程序员手册》和《库函数参考手册》是上述两软件的最新系列参考书。《程序员手
册》介绍了C++语言的所有语法成分,提供了C++的关于内存模式、混合模型编程、流I/O、视频函
数、浮点数处理、覆盖、编写Windows3.0应用程序和错误信息的技术参考资料,用示例说明了利用
TurboC、 BorlandC++和TurboC++先进技术进行程序设计的方法。在书中还通过丰富的范例由浅
人深地讨论了类、对象、层次、重载、封装、继承、虚函数和多态性等概念,说明了利用C++进行面
向对象程序设计的方法。书中的所有程序都通过调试。
哪里可以买到"Borland C++& Turbo C++ 程序员手册"?
从 1 家优秀的网上书店中选购"Borland C++& Turbo C++ 程序员手册"
※ 如果您是第一次来到好图书选购图书,请点此查看“购书指南”。
※ 发现价格错误了?书店有售而好图书却没有显示?立刻点此给好图书改错。
※ 图书价格仅供参考,实际售价及是否有库存以各网站实际标示为准。
※ 若售价差别过大,可能因不同规格或者版本引起,请自行甄别。
我来评论一下"Borland C++& Turbo C++ 程序员手册"……
"Borland C++& Turbo C++ 程序员手册"的图书目录……
目录
前言
第一部分 C++语言
第一章 语言形式与词法符号
1.1语法形式
1.2词法与短语结构的语法
1.3空 白
1.3.1行分隔符
1.3.2注 释
1.4词法符号
1.4.1关键字
1.4.2标识符
1.4.3常 量
第二章 操作符和表达式
2.1 什么是操作符
2.2单目操作符
2.3双目操作符
2.3.1加法类操作符
2.3.2乘法类操作符
2.3.3移位操作符
2.3.4按位操作符
2.3.5逻辑操作符
2.3.6赋值操作符
2.3.7关系操作符
2.3.8相等类操作符
2.3.9分量选择操作符
2.3.10类成员操作符
2.4三目操作符
2.5标点符号
2.5.1中括号
2.5.2括 号
2.5.3大括号
2.5.4逗 号
2.5.5分 号
2.5.6冒 号
2.5.7省略号
2.5.8星号(指针说明)
2.5.9等号(赋值)
2.5.10#号(预处理程序指令)
2.6操作符语义
2.6.1后缀和前缀操作符
2.6.2单目操作符
2.6.3sizeof操作符
2.6.4乘法类操作符
2.6.5加法类操作符
2.6.6按位移位操作符
2.6.7关系操作符
2.6.8相等类操作符
2.6.9位运算操作符
2.6.10逻辑运算符
2.6.11条件操作符?
2.6.12赋值操作符
2.6.13逗号操作符
2.7高级运算符的使用实例
2.7.1位运算符
2.7.2移位运算符
2.7.3?:运算符
2.7.4C和C++语言的简写
2.7.5逗号运算符
2.7.6运算符优先级表
2.8表达式
第三章 说明
3.1 有关概念
3.1.1对 象
3.1.2左 值
3.1.3右 值
3.1.4类型与存储类
3.1.5作用域
3.1.6可见性
3.1.7生存期
3.1.8编译单元
3.1.9连 接
3.2说明的语法
3.2.1暂时定义
3.2.2可能的说明
3.3类型说明
3.3.1外部说明与定义
3.3.2类型指明符
3.3.3类型分类
3.3.4基本类型
3.3.5标准转换
3.3.6特殊的char、int与enum间的转换
3.3.7初始化
3.4简单说明
3.5存储类指明符
3.5.1存储类指明符auto的使用
3.5.2存储类指明符extern的使用
3.5.3存储类指明符register的使用
3.5.4存储类指明符static的使用
3.5.5存储类指明符typedef的使用
3.6修饰符
3.6.1c0nst修饰符
3.6.2中断函数修饰符
3.6.3volatile修饰符
3.6.4cdel与pascal修饰符
3.6.5指针修饰符
3.6.6函数类型修饰符
3.7复杂说明与说明符
第四章 程序控制语句
4.1程序控制语句的语法
4.1.1带标号语句
4.1.2复合语句
4.1.3表达式语句
4.1.4选择语句
4.1.5循环语句
4.1.6跳转语句
4.2if语句
4.2.1else语句的用法
4.2.2if-else-if阶梯的用法
4.2.3条件表达式
4.2.4if语句的嵌套结构
4.3switch语句
4.3.1default语句的用法
4.3.2break语句的用法
4.3.3switch语句的嵌套结构
4.4循 环
4.5for循环
4.5.1for循环的灵活用法
4.5.2无穷的for循环
4.5.3无穷for循环的中断
4.5.4空循环的用法
4.6while循环语句
4.7dowhile循环
4.8循环嵌套
4.9循环中断
4.10continue语句
4.11goto语句
第五章 指 针
5.1指针的语法规则
5.1.1什么是指针
5.1.2指针说明
5.1.3指针与常量
5.1.4指针算术运算
5.1.5指针转换
5.1.6C++引用说明
5.2指针是地址
5.3指针变量
5.4指针操作符
5.5指针表达式
5.5.1指针赋值
5.5.2指针运算
5.5.3指针比较
5.6指针和数组
5.6.1索引指针
5.6.2指针和字符串
5.6.3如何得到一个数组元素的地址
5.6.4指针数组
5.6.5一个使用数组和指针的实例
5.7指针的指针
5.8指针的初始化
5.9指针的一些问题
第六章 高级数据类型——数组、结构、位域、联合和枚举
6.1高级数据类型的语法规则
6.1.1数 组
6.1.2结 构
6.1.3位 域
6.1.4联 合
6.1.5枚 举
6.2数 组
6.2.1一维数组
6.2.2字符串
6.2.3二维数组
6.2.4多维数组
6.2.5数组初始化
6.2.6一个水下搜索游戏
6.3结 构
6.3.1访问结构元素
6.3.2结构数组
6.3.3结构赋值
6.3.4将结构传递给函数
6.3.5结构指针
6.3.6结构内部的数组和结构
6.4位 域
6.5联合(union)
6.6枚 举
6.7使用sizeof来确保可移植性
6.8typedif
第七章 函 数
7.1函数的初步概念
7.1.1说明与定义
7.1.2说明与原型
7.1.3 定 义
7.2.4形参说明
7.1.5函数调用与参数转换
7.2return语句
7.2.1从一个函数中返回
7.2.2返回值
7.2.3函数返回非整型值
7.2.3.1函数原型的使用
7.2.3.2返回指针
7.2.3.3函数返回void类型
7.3有关函数原型的进一步说明
7.3.1参数不匹配
7.3.2使用头文件
7.3.3无任何参数的函数原型
7.3.4有关旧式C程序
7.4作用域规则
7.4.1局部变量
7.4.2形式参数
7.4.3全局变量
7.4.4有关作用域的最后一个例子
7.5有关函数的参数和自变量的更详尽说明
7.5.1赋值调用和赋地址调用
7.5.2一个赋地址调用的建立
7.5.3数组与函数调用
7.6argc,argv和env——main中的参数
7.7从main()中返回值
7.8递 归
7.9参数说明的传统形式和现代形式的比较
7.10对一些影响函数的效率和实用性问题的讨论
7.10.1参数和通用函数
7.10.2效 率
第八章 C++语言特性
8.1引 用
8.1.1引用参数
8.2作用域存取操作符
8.3new与delete操作符
8.3.1关于数组的neW操作符
8.3.2operatornew
8.3.3带有new操作符的初始值
8.4类
8.4.1类 名
8.4.2类类型
8.4.3类名作用域
8.4.4类对象
8.4.5类成员表
8.4.6成员函数
8.4.7关键字this
8.4.8内部函数
8.4.9静态成员
8.4.10成员作用域
8.4.11基类与派生类存取
8.5虚基类
8.6类的友元
8.7构造函数(c0nstructors)与析构函数(destructors)简述
8.8构造函数
8.8.1缺省构造函数
8.8.2拷贝构造函数
8.8.3构造函数的重载
8.8.4构造函数的调用次序
8.8.5类的初始化
8.9析构函数
8.9.1析构函数的调用
8.9.2atexit、#pragmaexit与析构函数
8.9.3exit与析构函数
8.9.4abort与析构函数
8.9.5虚析构函数
8.10重载操作符
8.11操作符函数
8.11.1重载操作符和继承
8.11.2重载new和delete
8.11.3重载单目操作符
8.11.4重载赋值操作符
8.11.5重载函数调用操作符
8.11.6重载下标操作符
8.11.7重载类成员存取操作符
8.12虚函数
8.13抽象类
8.14C++作用域
8.14.1类作用域
8.14.2隐 藏
8.14.3C++作用域规则小结
第九章 BorlandC++&TurboC++预处理程序指令
9.1空指令#
9.2#define与#undef指令
9.2.1简单的#define宏
9.2.2#undef指令
9.2.3-D与-U选择项
9.2.4关键字与保护字
9.2.5带参宏
9.3文件包含指令#include
9.3.1〈头名〉形式的头文件搜索
9.3.2 “头名”形式的头文件搜索
9.4条件编译
9.4.1#if、#elif、#else和#endif条件指令
9.4.2defined运算符
9.4.3#ifdef和#ifndef条件指令
9.5#line行控制指令
9.6#errOr指令
9.7#pragma指令
9.7.1#pragmaargsused
9.7.2#pragmaexit与#pragmastartup
9.7.3#pragmainline
9.7.4#pragmaoption
9.7.5#pragmaSaveregs
9.7.6#pragmaWarn
9.8预定义的宏
第十章 C++要素
10.1封装(Encapsulation)
10.2继承(inheritance)
10.3多态性(Polymorphism)
10.4重载(Overloading)
10.5用类来模拟现实
10.5.1建立类:一个图形例子
10.5.2说明对象
10.5.3成员函数
10.5.4调用一个成员函数
10.5.5构造函数和析构函数
10.5.6代码和数据相结合
10.5.7成员访问权控制:私有的(private)、
10.5.6公有的(public)和保护的(protected)
10.5.8类:缺省为私有的
10.5.9运行一个C++程序
10.6继承
10.6.1重新思考Point类
10.6.2把类装入模块
10.6.3扩充类
10.6.4多重继承
10.7虚函数
10.7.1虚函数的作用
10.7.2定义虚函数
10.7.3开发一个完整的图形模块
10.7.4普通成员函数与虚拟成员函数
10.8动态对象
10.8.1析构函数和delete
10.8.2分配动态对象的一个例子
10.9C++中更多的灵活性
10.9.1在类定义之外的内部函数
10.9.2带有缺省参数的函数
10.9.3有关重载函数的更多说明
10.9.4重载运算符以提供新的含义
10.9.5友元函数(Friendfunction)
10.9.6C++流库
10.10用户定义数据类型的I/O
10.11如何进行一步?
10.12小 结
10.13掌握C++
10.13.1更好的C:从C过渡
10.13.2对象支持
10.13.3小 结
第二部分 面向对象程序设计
第十一章 C++概述
11.1什么是面向对象程序设计
11.1.1对象(object)
11.1.2多态性(polymorphism)
11.1.3继承(inheritance)
11.2C++的一些基本原则
11.3编译C++程序
11.4类和对象
11.5函数重载
11.6操作符重载
11.7再谈继承
11.8构造函数与析构函数
11.9C++关键字
第十二章 对类的进一步考察
12.1参数化的构造函数
12.2友元函数
12.3缺省函数变元
12.4正确使用缺省变元
12.5类与结构的相关性
12.6联合与类的相关性
12.7内部函数
12.7.1在类中建立一个内部函数
12.8对继承的进一步讨论
12.9多重继承
12.10传递对象到函数
12.11对象数组
12.12对象指针
第十三章 函数和操作符重载
13.1构造函数重载
13.2C++中的局部变量
13.2.1动态初始化
13.3将动态初始化用于构造函数
13.4关键字this
13.5操作符重载
13.5.1友元操作符函数
13.6引用
13.6.1非参数的引用变量
13.6.2使用引用来重载单目操作符
13.7操作符重载的又一例子
第十四章 继承、虚函数及多态性
14.1派生类指针
14.2虚函数
14.3为什么要使用虚函数
14.4纯虚函数及抽象类型
14.5先期联编与迟后联编
14.6派生类中的构造函数及析构函数
14.7多重基类
第三部分 C++技术参考
第十五章 构造WINDOWS应用程序
15.1基本过程
15.2在集成环境中编译和连接
15.2.1资源文件描述
15.2.2模块定义文件描述
15.2.3编译和连接WHELLO
15.3从命令行编译和连接
15.3.1从命令行进行编译
15.3.2从命令进行连接
15.3.3使用MAKE文件
15.3.4对Windows的另一个MAKE文件
15.4入口和出口
15.4.1 __export关键字
15.4.2入口、出口与输出:小结
15.5内存模式
15.6WindoWs程序的连接
15.6.1在集成环境中连接
15.6.2用TLINK来连接
15.7为Windows程序构造一个工程
15.8WinMain
15.9资源编译器
15.9.1资源编译器调用语法
15.10动态连接库
15.10.1在集成环境中编译和连接动态连接库
15.10.2从命令行编译连接一个动态连接库
15.10.3创建动态连接库
第十六章Wind0ws和C++入门
16.1面向对象的思想
16.2Windows的词汇
16.2.1模块(module)和可执行性(executable)
16.2.2应用程序(applicati凹)
16.2.3动态连接库(DDL)
16.2.4Wind0Ws.h
16.2.5承接程序stub
16.2.6Wind0ws下的函数
16.3C和WindoWs
16.4WHELLO应用程序
16.4.1伪指令和初始化
16.4.2定义基类
16.4.3定义派生类
16.4.4指向Wind0Ws的指针
16.4.5回调函数
16.5总结WinMain
第十七章 文件输入输出
17.1传统的Turb0GI/O
17.1.1两个预处理指令
17.1.2文件与流
17.1.3流(stre8ms)
17.1.4概念和实际
17.1.5控制台I/O
17.1.6控制台格式化I/O
17.1.7缓冲型I/O系统(ANSI型I/O系统)
17.1.8非缓冲型I/O——UNIX型文件系统
17.2C++I/O流
17.2.1对应原版本的新流
17.2.22.0版流的用法
17.2.3 流的老版本用法
17.2.4 升级到2.0版流的指南
17.2.5 流类参考
filebuf
fstream
fstreambase
ifstream
ios
iostream
istream
istream withassign
istrtream
ofstream
ostream
ostream -withassign
ostrstream
streambuf
strtreambase
strstreambuf
strstream
17.3使用 C++的I/O类库
17.3.1C++为何有自己的I/O系统
17.3.2C++流
17.3.3C++流类
17.3.4建立自己的插入符和抽取符
17.3.5格式化I/O
17.3.6文件 I/O
第十八章 视频函数
18.1Borland C++ & Turbo C++图形系统和程序设计要素概述
18.1.1关于视频模式的几点说明
18.1.2有关窗口和社区的几点说明
18.1.3在文本模式下编程
18.1.4在图形模式下编程
18.2Borland C++ & Turbo C++图形程序设计
18.2.1基本正本模式函数
18.2.2Borland C++ & Turbo C++的图形子系统简介
第十九章 内存模型、浮点数和覆盖
19.1内存模型
19.1.18086寄存器
19.1.2内存分段
19.1.3指针
19.1.4六种内存模型
19.2复合模型程序设计:地址修饰符
19.2.1说明函数为近的或远的
19.2.2说明指针为近的、远的或巨型的
19.2.3使用库文件
19.2.4连接混合模块
19.3浮点选择项
19.3.1仿真即X87芯片
19.3.2使用80X87代码
19.3.3无浮点代码
19.3.4快速浮点编译选择项
19.3.587环境变量
19.3.6寄存器和80X87
19.3.7禁止浮点异常
19.4复数数学库的用法
19.4.1BCD数学库的用法
19.5BorlandC++&TurboC++RAM的用法
19.6覆盖(VROOMM)
19.6.1覆盖是如何工作的
19.6.2要求
19.6.3覆盖的用法
19.6.4设计覆盖程序
19.6.5交换
第二十章 和汇编语言的接口
20.1混合语言程序设计
20.1.1参数传递顺序
20.2建立从BorlandC++&Turb0C++对.ASM的调用
20.2.1简化的段指令
20.2.2标准段指令
20.2.3定义数据常量和变量
20.2.4定义全局和外部标识符
20.3建立从.ASM中对BorlandC++&TurboC++的调用
20.3.1引用函数
20.3.2引用数据
20.4定义汇编语言过程
20.4.1传递参数
20.4.2处理返回值
20.5寄存器约定
20.6从.ASM过程中调用C函数
20.7伪变量、嵌入汇编和中断函数
20.7.1伪变量
20.7.2嵌入汇编语言
20.7.3中断函数
附录A ANSI特殊实现标准
附录B 错误信息
B.1 运行时间错误信息
B.2编译错误信息
B.2.1致命性错误
B.2.2一般错误
B.2.3警告
"Borland C++& Turbo C++ 程序员手册"的书摘……
第一章 语言形式与词法符号
BorlandC++&TurboC++实现了X3J11技术委员会在1983年6月至1988年9月制
定的ANSIc标准,并在多处作了扩充。 可在编译时设置选择项以告知这些扩充是否存在。
也可以让编译程序将BorlandC++&Tu由0C++扩充关键字当作正常的标识符来处理(参
见《用户手册》中的“命令行编译程序”)。还可通过ANSIC提供的#pragma指令来获得
“一致的”扩充,以处理非标准的依赖于实现的特征。
B0rlandC++&Turb0C++完全实现了AT&T的C++2.0版,C++2.0是由AT&T贝尔
实验宣BjarneStroustrup开发的C语言面向对象的赶集,除了增加了许多新的特征和能力
外,c++对C进行了或多或少的修改。本书对这些不同之处作了注明。
本章主要介绍Borl8ndC++&Tu由0C++的词法符号,但由于在本书中各部分内容的
介绍都采用一种改版8NF范式的语法形式来表达,所以下面首先是一些语法的说明。
1.1 语法形式
语法定义由被定义的非终结符名字后跟一个冒号(:)组成。包括的内容通常每个占有一
行,但若加有前缀短语“下述之一”,也可将其只放在一行上。例如:
外部定义:
函数定义
说明
八进制数字:下述之一
01234,567
定义中的选择项放在尖括号中:
整型后缀:
无符号后缀〈长整型后缀〉
1.2 词法与短语结构的语法
词法关心的是一种语言可识别的类似单词或词组的单元,它们可以有不同的分类,这种
单元也称为词法符号(T0ken)。短语语法描述词法符号组合成为表达式、语句和其它有意义单
元的合法方式。
BorlandC++&TurboC++的词法符号由编译程序及其预处理程序在程序上进行一系
列操作得到。
BorlandC++&Tu由0C++源代码由一个ASCII字符序列组成,它可用正文编辑程序
(如BorlandC++&Tu由0C++编辑器)创建。BorlandC++&Tu由0C++的基本程序单
元是文件,它通常对应于磁盘上的DOS文件,而且应带有标准扩展名.C或.CPP.
预处理程序首先扫描程序正文以处理预处理程序指令。例如,指令#include<inc_file>
在编译之前把文件incfile的内容包含到源程序中。预处理程序还扩展任何在程序和包含文
件中找到的宏。
1.3 空 白
在编译的词法分析阶段,将把源代码分为词法符号和空白,空白是空格、水平制表、竖
直制表、换行符和注释的合称。空白用来指示词法符号的开始和结束位置,除了这一功能之
外,其余的空白将被忽略。例如,两序列
inti;floatf;
和
inti;
floatf;
在词法上是等价的,通过词法分析都获得6个词法符号:
inti;floatf;
空白字符可出现在串文字量里,这时它们将不再影响正常的词法分析过程,而是作为串
的一部分,如
charname[]=“Borl and International”;
分析后将得到7个词法符号,包括串文字量符号“Borl andI nternational”。
1.3.1行分隔符
若在最后的换行字符前加一反斜杠(/),则反斜杠和换行符都将忽略,使得两正文物理行
变为一行。
“BOrland/
International”
分析后成为“Borl and International”。
1.3.2注 释
注释用来注解程序的正文段。仅为程序员所用,它们在分析前将被从源程序中去掉。
有两种方法来给出注释:传统的C方法和C++方法。两者BorlandC++&TurboC++
都支持,而且作为传统方法的扩充,将允许嵌套的注释存在。
1.3.2.1C注释
传统的C注释是放在符号对/后的一个字符序列,它终止于开始的/号之后的第一个符
号对/。整个字符序列,包括4个注释分隔符号,在宏扩展后由一个空格代替。注意有些C
的实现方法是消去注释而不是用空格代替。