《Turbo C高级编程与剖析》PDF下载

  • 购买积分:28 如何计算积分?
  • 作  者:朱茂华编著
  • 出 版 社:成都市:成都科技大学出版社
  • 出版年份:1994
  • ISBN:756162719X
  • 页数:1142 页
图书介绍:

目录 1

第一章 Turbo C的安装 1

1.1 安装Turbo C的硬件环境 3

1.2 Turbo C 2.0磁盘上的内容 3

1.3 三种安装方法 6

1.4 文本阅读器README.COM 7

第二章 80x86指令和六种存储模式 12

2.1 寄存器 12

2.2 8086地址计算 14

2.3 8086/80386指令集简介 15

2.4 嵌入汇编 26

2.5 Turbo C的六种存储模式 29

2.6 汇编程序的伪指令(摘要) 34

第三章 关键字和语句 41

3.1 分类 41

3.2 详细说明 42

3.3 附注 67

第四章 变量的存储分类与应用 68

4.1 分类 68

4.2 初始化 69

4.3 详细说明 70

4.4 局部变量和全局变量的关系 76

4.6 嵌入汇编和寄存器变量 77

4.5 寄存器变量 77

第五章 数据类型的转换 78

5.1 int类型和char类型间的转换 78

5.2 int类型和enum类型间的转换 79

5.3 指针之间的转换 79

5.4 符号扩充、转义符与算术运算转换 81

5.5 类型的强制转换 90

5.6 字符串与数值之间的转换 91

第六章 运算符 92

6.2 下标运算符[] 93

6.1 结合运算符() 93

6.3 分量运算符.和-> 94

6.4 逻辑运算符!、&&和|| 96

6.5 位运算符~、<<、>>、&、^和| 99

6.6 负值运算符- 105

6.7 递增、递减运算符++和-- 106

6.8 指针运算符&和* 107

6.9 强制类型转换运算符(类型名) 108

6.10 求字节数运算符sizeof 110

6.11 算术运算符+、-、*、/和% 110

6.13 赋值运算符=与op= 111

6.12 关系运算符>、<、==、>=、<=和! 111

6.14 条件运算符?: 112

6.15 逗号运算符, 114

6.16 综合举例 115

第七章 数组与字符串 116

7.1 数组 116

7.1.1 一维数组 116

7.1.2 二维数组和多维数组 120

7.2 字符分类 122

7.2.2 外部字符数组 ctype的含义 123

7.2.3 字符分类宏 123

7.2.1 分类标志常量 123

7.2.4 清字符最高位与字符大小写转换 124

7.3 字符串操作 124

7.3.1 字符串的定义 124

7.3.2 串操作函数 126

7.4 查找字符串实用程序GREP.COM 150

7.4.1 作用 150

7.4.2 语法和帮助 150

7.4.3 语法说明 151

7.4.4 可能出现的错误信息 161

8.2 变量的指针和指向变量的指针变量 163

第八章 指针 163

8.1 指针的重要性 163

8.3 指针的定义 165

8.4 指针运算符*和&的相互关系 167

8.5 指针值传递的单向性 169

8.6 指向数组的指针 171

8.7 指针的运算 172

8.8 指针加减时的比例因子 176

8.9 指针动态分配和给指针赋初值 176

8.10 指针比较大小 183

8.11 指针与字符串 184

8.12 和存储模式相关的指针修饰符 186

8.13 与远地址相关的指针函数 192

8.14 指向结构的指针和符号—> 194

8.15 用指向结构的指针作函数的参数 196

8.16 结构中有指向自身的指针 197

8.17 指向函数的指针(函数指针) 200

8.18 返回指针值的函数 201

第九章 结构与联合 202

9.1 结构 202

9.4 结构数组 206

9.2 结构指针 206

9.3 访问结构成员 206

9.5 用sizeof求结构的大小 207

9.6 联合 208

9.7 读取任意*.DBF文件中的数据 211

第十章 位运算与位域 216

10.1 计算机中的位 216

10.2 数循环移位 217

10.3 位域 218

11.1 定义宏指令 223

第十一章 预处理指令和编译控制行 223

11.1.1 定义不带参数的宏 224

11.1.2 定义带参数的宏及标识符的粘接 224

11.1.3 有关宏的其它一些说明 224

11.1.4 调试宏 225

11.1.5 预定义宏 226

11.2 取消宏定义指令 228

11.3 文件包含(嵌入)指令 230

11.3.1 包含指令格式 230

11.3.2 标头文件 230

11.4 条件编译指令 232

11.5 出错指令 234

11.6 报告现行程序有汇编代码的指令 235

11.7 警告处理指令 235

11.8 保证Huge函数执行时不变寄存器值指令 236

11.9 将行号嵌入执行文件指令 236

11.10 空编译指令 236

11.11 生成列表文件的预处理程序CPP.EXE 236

第十二章 接收自变量个数可变的宏 243

12.1 数据类型和宏 243

12.2 Turbo C函数特殊参数“...”的用法 248

12.3 应用实例 256

第十三章 函数 259

13.1 函数类型标识符 259

13.2 函数说明和函数原型 261

13.3 函数定义 264

13.4 函数参数和函数中的变量 264

13.5 函数的返回值 266

13.6 函数的调用和调用约定 267

13.7 函数说明、定义和调用之间的关系 274

13.8 函数的嵌套调用 276

13.9 函数的递归 276

13.11 外部函数 277

13.10 内部函数 277

13.12 程序的可执行语句应在函数定义的语句体中 278

13.13 函数的种类 278

13.14 函数与数组 279

13.15 函数和指针 282

13.16 汇编语言调用Turbo C函数 282

14.1.1 独立的C源程序 283

14.1.2 源程序由几个子源程序构成 283

14.1 程序结构 283

第十四章 程序结构和主函数 283

14.1.3 并立源文件 285

14.2 源程序部分内容说明 286

14.2.1 文件名 286

14.2.2 标识符 286

14.2.3 双限界匹配符 287

14.2.4 注释 288

14.2.5 语句与编译指令 288

14.2.6 函数 288

14.3.1 主函数在程序中的位置 289

14.3.2 参数 289

14.3 主函数main() 289

14.2.7 关键字 289

14.3.3 使用关键字cdecl 291

14.3.4 返回值 291

14.4 DOS环境和环境函数 292

第十五章 驻留内存的帮助工具文件THELP.COM 299

15.1 语法 299

15.2 在THELP激活后所能使用的键 304

15.3 错误信息 305

第十六章 集成开发环境和缺省参数设置 307

16.1 怎样进入集成环境 307

16.2 集成环境中的热键 309

16.3 集成环境中菜单结构 312

16.4 用TCINST.EXE程序设置TC.EXE参数缺省值 317

16.5 TCINST.EXE的菜单结构 318

16.6 TC.EXE与TCINST.EXE菜单项详细说明 322

16.7 DOS 5.0的行编辑器EDLIN.EXE 385

第十七章 编译和调试程序 392

17.1 静态检查 392

17.2 编译查错 393

17.3 程序调试 394

17.4 DOS 5.0的调试程序DEBUG.EXE 413

17.5 错误、警告及提示信息 425

18.1 全局变量与数组 436

第十八章 DOS错误处理函数 436

18.2 库函数 437

第十九章 硬盘体系结构和主引导程序 449

19.1 主引导扇区的查找 450

19.2 主引导扇区中分区内容的说明 451

19.3 分区基本输入输出参数块BPB的内容 452

第二十章 磁盘文件的结构 455

20.1 目录项的结构 455

20.2.1 逻辑扇区 458

20.2 文件分配表FAT 458

20.2.2 簇 459

20.2.3 FAT的表头标志 459

20.2.4 DOS将一个簇分配给新文件的过程 460

20.2.5 如何使用FAT 460

20.3 库函数 461

第二十一章 程序头前缀PSP 474

21.1 PSP的作用 474

21.2 PSP在内存中的位置 474

21.3 全局变量—psp和库函数getpsp() 474

21.4 PSP的内容 476

21.5.COM文件与PSP的关系 484

21.6.EXE文件和PSP的关系 485

第二十二章 中断和中断函数 486

22.1 中断矢量 486

22.2 中断过程和中断优先权 488

22.3 部分库函数用到的中断 488

22.4 BIOS工作区 490

22.5 调用中断库函数 493

22.6 端口、内存单元存取函数 508

22.6.1 端口地址 508

22.6.2 读写端口或内存单元内容 514

22.7 内存控制块MCB 517

22.8 interrupt中断函数修饰符和常驻内存程序 519

第二十三章 串行通讯 530

23.1 RS—232 530

23.2 库函数bioscom() 532

第二十四章 控制内存块函数 537

24.1 分类 537

24.2 库函数 537

第二十五章 动态地址分配函数 544

25.1 分类 545

25.2 库函数 546

26.1 常数和宏说明 555

第二十六章 数学函数 555

26.2 函数或宏分类 557

26.3 详细说明 559

第二十七章 80x87数学协处理器 595

27.1 概述 595

27.2 数据类型 598

27.3 80x87指令简要说明 599

27.4 80x87函数 606

27.5 其它一些说明 610

28.1 概述 613

第二十八章 日期与时间函数 613

28.2 库函数 614

第二十九章 目录函数 628

29.1 分类 628

29.2 库函数 628

29.3 一个全盘搜索文件程序 637

29.4 DOS 5.0的dir命令 642

29.5 功能强于DOS 5.0内部命令dir的CDIR 645

第三十章 文件管理 663

30.1 缓冲型文件系统和非缓冲型文件系统 663

30.2 C语言的FILE结构剖析 663

30.3 文本流与二进制流 669

30.4 标准I/O预定义流 670

30.5 文件控制块FCB 671

30.6 库函数及设备驱动程序 673

第三十一章 格式输入与输出函数 754

31.1 格式输出函数 754

31.1.1 参数format的书写规则 754

31.1.2 ...(可变参数表) 764

31.1.3 库函数 765

31.2 格式输入函数 768

31.2.1 参数format的书写规则 768

31.2.2 函数返回值 780

31.2.3 函数说明 781

第三十二章 过程控制函数 783

32.1 进程管理函数 783

32.2 TC.EXE文件结构剖析 797

第三十三章 键盘与鼠标 802

33.1 键盘 802

33.1.1 键的分类 803

33.1.2 接通码和释放码 804

33.1.3 换挡键/双态键的状态字节 805

33.1.4 库函数bioskey() 810

33.1.5 键盘缓冲区 811

33.1.6 键码测试程序 814

33.1.7 程序中定义键值的方法 820

33.1.8 键盘中断 821

33.1.9 应用 831

33.2 鼠标 836

33.2.1 鼠标安装 836

33.2.2 使用鼠标的演示程序 837

33.2.3 鼠标的图形光标设计 849

33.2.4 用鼠标画图 850

34.1 概述 856

第三十四章 打印机 856

34.2 控制打印机函数 858

34.3 DOS 5.0的脱机打印程序PRINT.EXE 863

34.4 设置打印参数 865

34.5 图象打印 868

第三十五章 视频函数 880

35.1 Turbo C涉及的显示卡 880

35.2 显示卡的体系结构 882

35.3 视频缓冲区与视频组合 893

35.4 屏幕显示方式 894

35.5.3 字符属性 896

35.5.2 文本方式下的数据格式 896

35.5.1 屏幕的绝对坐标和窗口的相对坐标 896

35.5 文本方式 896

35.5.4 视频页 900

35.5.5 光标形状 900

35.5.6 文本方式下使用的库函数 901

35.6 图形方式 913

35.6.1 象素和字节的关系 913

35.6.2 变量directvideo 920

35.6.3 使用图形函数的注意事项 920

35.6.4 系统控制 920

35.6.5 屏幕及视口管理 937

35.6.6 颜色控制 944

35.6.7 图形方式下的正文输出 949

35.6.8 绘图与填充 958

35.6.9 图形方式下的错误处理 971

35.7 BIOS中断INT10H的功能 974

35.8 图形驱动程序和字体转换工具BGIOBJ.EXE 1006

35.9 图形演示程序BGIDEMO.C注释 1012

35.10 在西文操作系统下直接显示汉字 1035

第三十六章 发声 1040

36.1 计算机发声原理和相关库函数 1040

36.2 乐曲构成原理 1040

36.3 演奏音乐例程 1042

第三十七章 搜索与排序函数 1048

第三十八章 对ANSI定义信号对应的动作重定义 1062

38.1 库函数 1062

38.2 关系ssignal()和gsignal()函数的转换 1065

第三十九章 如何用C语言访问扩页内存 1067

第四十章 命令行编译器TCC.EXE 1076

40.1 TCC命令行书写语法规则 1076

40.2 命令行配置文件TURBOC.CFG 1083

40.3 配置文件转换实用程序TCCONFIG.EXE 1083

40.4 应用举例 1084

41.1 使用TLINK.EXE的一般语法 1085

第四十一章 独立连接程序TLINK.EXE 1085

41.2 连接TurboC程序的方法 1087

41.3 TCC.EXE要使用TLINK.EXE 1088

41.4 例子 1088

41.5 混合模式的连接 1089

41.6 可能产生的错误信息 1090

第四十二章 独立管理开发程序MAKE.EXE 1091

42.1 文件间的依赖关系 1091

42.2 MAKE文件 1092

42.2.1 注释 1092

42.2.2 显式规则 1093

42.2.3 隐含规则及部分DOS命令 1094

42.2.4 宏 1100

42.2.5 指令 1102

42.3 使用MAKE的方法 1104

42.4 BUILTNS.MAK文件的使用 1105

42.5 MAKE错误信息 1105

第四十三章 库管理程序TLIB.EXE 1107

43.1 语法 1107

43.2 例 1109

43.4 可能出现的错误或警告 1111

43.3 注意事项 1111

第四十四章 目标模块交叉引用工具OBJXREF.COM 1114

44.1 语法 1114

44.2 响应文件选择项 1125

44.3 输入文件名 1127

44.4 OBJXREF处理过程 1128

44.5 可能出现的警告或错误 1128

附录 1129

表0—1 库函数与宏 1129

表0—2 结构或联合 1140

表0—3 枚举 1141

参考资料 1142