《Turbo C 2.0实用大全》PDF下载

  • 购买积分:26 如何计算积分?
  • 作  者:常玉龙,葛本年,张再良编写;孙和达主审
  • 出 版 社:北京:北京航空航天大学出版社
  • 出版年份:1994
  • ISBN:7810125087
  • 页数:1002 页
图书介绍:

绪论 1

0.1 两种Turbo C环境 1

0.2 设置自己的任务环境 2

0.3 Turbo C编译器 2

0.4 Turbo C工程制作实用程序 3

0.5 低级功能的支持 3

0.6 配置Turbo C 4

0.7 存储模式 4

第一部分 掌握Turbo C 7

第一章 Turbo C集成开发环境 7

1.1 TC的使用 7

1.1.1 TC命令行开关 8

1.1.2 TC内部命令的使用 9

1.1.3 TC热键 10

1.1.4 菜单结构 11

1.1.5 主菜单 11

1.1.6 功能键提示行 12

1.1.7 编辑窗口 12

1.1.8 消息窗口 15

1.1.9 监视窗口 15

1.1.10 集成调试器 16

1.2 菜单命令 18

1.2.1 File(文件)菜单 18

1.2.2 Edit(编辑)命令 20

1.2.3 Run(运行)菜单 20

1.2.4 Compile(编译)菜单 22

1.2.5 Project菜单 23

1.2.6 Options菜单 25

1.2.7 Debug菜单 37

1.3 配置和pick文件 42

1.3.1 TC配置文件 42

1.3.2 Pick表和Pick文件 44

第二章 使用Turbo C编辑器 46

2.1 编辑器命令 46

2.2 编辑器激活及文本键入 46

2.3 字符、字和行的删除 47

2.4 移动、拷贝文本和块移动 48

2.5 进一步说明如何移动光标 49

2.6 字符系列的搜索和替换 50

2.7 位置标识的设置和搜索 51

2.8 存储和装入文件 52

2.9 自动缩进 52

2.10 磁盘文件中文本块的移入和移出 52

2.11 对匹配 53

2.12 其它有关命令 53

2.13 命令综述 54

2.14 用文件激活Turbo C 55

第三章 Turbo C调试器 56

3.1 调试与程序开发 56

3.2 设计示例程序:PLOTEMP.C 57

3.3 编写原型程序 58

3.4 使用集成调试工具 60

3.5 跟踪程序的流程 60

3.5.1 跟踪高层的运行 60

3.5.2 跟踪子函数 61

3.6 继续程序的开发 61

3.7 设置断点 64

3.7.1 用Ctrl-Break立即中断 65

3.8 计算和修改变量 65

3.8.1 指定显示格式 66

3.8.2 指定值的个数 66

3.8.3 从光标所在位置拷贝 66

3.8.4 查看在别的函数中的变量 66

3.8.5 修改值 67

3.9 通过设置监视项来监视程序运行 70

3.9.1 添加一个监视项 70

3.9.2 观察监视项 70

3.9.3 控制调试器窗口 71

3.9.4 编辑和删除监视项 71

3.9.5 寻找一个函数定义 71

3.9.6 查找调用关系 72

3.9.7 多个源文件 72

3.10 预防措施 72

3.11 有系统的软件测试 73

3.11.1 全面测试修改结果 73

3.11.2 仔细观察的部分 73

3.12 完成PLOTEMP.C 74

3.12.1 完成table_view() 74

3.12.2 实现graph_view() 75

3.12.3 save_temps()和read_temps() 77

第四章 多文件工程管理 79

4.1 工程管理程序的使用 79

4.2 出错跟踪 81

4.2.1 终止MAKE 81

4.2.2 多源文件的语法错误 81

4.2.3 保存或删除信息 82

4.3 工程管理程序的功能 82

4.3.1 自身依赖性检查 82

4.4 取代库 83

4.5 工程管理程序的其他功能 83

4.6 生成最终应用程序的集成环境设置 84

第二部分 Turbo C语言基础 89

第五章 C语言概貌 89

5.1 预备知识 89

5.1.1 源文件、目标文件和装载模块 89

5.1.2 程序的逻辑和执行流程 90

5.2 基本数据类型 96

5.2.1 C语言的基本数据类型 96

5.2.2 何处定义数据对象 98

5.3 编写C语言表达式和语句 101

5.3.1 表达式和语句 101

5.4 控制类型转换 105

5.5 显式类型转换的使用 107

5.6 使用C的宏 107

5.6.1 定义类似对象的宏 108

5.6.2 定义类似函数的宏 110

第六章 操作符和表达式 115

6.1 什么是操作符 115

6.2 单目操作符 116

6.3 双目操作符 116

6.4 三目操作符 117

6.5 标点符号 117

6.6 操作符语义 119

6.6.1 后缀和前缀操作符 119

6.6.2 单目操作符 121

6.6.3 sizeof操作符 122

6.6.4 乘法类操作符 122

6.6.5 加法类操作符 123

6.6.6 按位移位操作符 123

6.6.7 关系操作符 124

6.6.8 相等类操作符 125

6.6.9 位运算操作符 125

6.6.10 逻辑运算符 126

6.6.11 条件操作符?: 127

6.6.12 赋值操作符 127

6.6.13 逗号操作符 128

6.7 高级运算符的使用实例 128

6.7.1 位运算符 128

6.7.2 移位运算符 130

6.7.3 ?:运算符 134

6.7.4 C语言的简写 136

6.7.5 逗号运算符 136

6.7.6 运算符优先级表 136

6.8 表达式 136

第七章 说明 139

7.1 有关概念 139

7.1.1 对象 139

7.1.2 左值 139

7.1.3 右值 140

7.1.4 类型与存储类 140

7.1.5 作用域 140

7.1.6 可见性 141

7.1.7 生存期 141

7.1.8 编译单元 142

7.1.9 连接 142

7.2 说明的语法 143

7.2.1 暂时定义 143

7.2.2 可能的说明 144

7.3 类型说明 147

7.3.1 外部说明与定义 147

7.3.2 类型指明符 147

7.3.3 类型分类 147

7.3.4 基本类型 148

7.3.5 标准转换 151

7.3.6 特殊的char、int与enum间的转换 152

7.3.7 初始化 152

7.4 简单说明 154

7.5 存储类指明符 155

7.5.1 存储类指明符auto的使用 155

7.5.2 存储类指明符extern的使用 155

7.5.3 存储类指明符register的使用 155

7.5.4 存储类指明符static的使用 155

7.5.5 存储类指明符typedef的使用 155

7.6 修饰符 156

7.6.1 const修饰符 156

7.6.2 中断函数修饰符 157

7.6.3 volatile修饰符 157

7.6.4 cdel与pascal修饰符 158

7.6.5 指针修饰符 159

7.6.6 函数类型修饰符 159

7.7 复杂说明与说明符 159

第八章 程序控制语句 161

8.1 程序控制语句的语法 161

8.1.1 带标号语句 162

8.1.2 复合语句 163

8.1.3 表达式语句 163

8.1.4 选择语句 163

8.1.5 循环语句 164

8.1.6 跳转语句 165

8.2 if语句 166

8.2.1 else语句的用法 168

8.2.2 if-else-if阶梯的用法 168

8.2.3 条件表达式 169

8.2.4 if语句的嵌套结构 170

8.3 switch语句 170

8.3.1 default语句的用法 172

8.3.2 break语句的用法 173

8.3.3 switch语句的嵌套结构 174

8.4 循环 176

8.5 for循环 176

8.5.1 for循环的灵活用法 177

8.5.2 无穷的for循环 179

8.5.3 无穷for循环的中断 179

8.5.4 空循环的用法 179

8.6 while循环语句 179

8.7 do while循环 181

8.8 循环嵌套 182

8.9 循环中断 184

8.10 continue语句 186

8.11 goto语句 187

第九章 函数 189

9.1 函数的初步概念 189

9.1.1 说明与定义 189

9.1.2 说明与原型 189

9.1.3 定义 190

9.1.4 形参说明 191

9.1.5 函数调用与参数转换 191

9.2 return语句 192

9.2.1 从一个函数中返回 192

9.2.2 返回值 193

9.2.3 函数返回非整型值 195

9.3 有关函数原型的进一步说明 198

9.3.1 参数不匹配 198

9.3.2 使用头文件 199

9.3.3 无任何参数的函数原型 199

9.3.4 有关旧式C程序 199

9.4 作用域规则 200

9.4.1 局部变量 200

9.4.2 形式参数 202

9.4.3 全局变量 202

9.4.4 有关作用域的最后一个例子 203

9.5 有关函数的参数和变量的更详尽说明 204

9.5.1 赋值调用和赋地址调用 204

9.5.2 一个赋地址调用的建立 205

9.5.3 数组与函数调用 206

9.6 argc,argv和env——main中的参数 209

9.7 从main()中返回值 211

9.8 递归 212

9.9 参数说明的传统形式和现代形式的比较 214

9.10 对一些影响函数的效率和实用性问题的讨论 214

9.10.1 参数和通用函数 214

9.10.2 效率 215

9.11 库函数 215

9.12 改变程序的执行流程 218

9.12.1 使用exit()和abort()函数 218

9.12.2 使用system(),exec…()和spawn()函数 219

9.13 使用可变参数表 220

9.13.1 设计可变参数表 221

9.13.2 使用va…()函数 221

第十章 指针 226

10.1 指针的语法规则 226

10.1.1 什么是指针 226

10.1.2 指针说明 227

10.1.3 指针与常量 227

10.1.4 指针算术运算 228

10.1.5 指针转换 229

10.2 指针是地址 229

10.3 指针变量 229

10.4 指针操作符 230

10.5 指针表达式 231

10.5.1 指针赋值 231

10.5.2 指针运算 231

10.5.3 指针比较 233

10.6 指针和数组 233

10.6.1 索引指针 234

10.6.2 指针和字符串 234

10.6.3 如何得到一个数组元素的地址 235

10.6.4 指针数组 236

10.6.5 一个使用数组和指针的实例 237

10.7 指针的指针 241

10.8 指针的初始化 242

10.9 指针的一些问题 243

10.9.1 使用C语言的间接操作符和取地址操作符 244

10.9.2 使用数组和串 246

10.10 使用指向函数的指针 252

10.10.1 指向函数的指针说明和初始化 252

10.10.2 利用指针引用某调用函数 253

10.11 在动态内存中使用指针 256

10.11.1 C语言程序和动态内存 257

10.11.2 使用动态存储 258

第十一章 数组、结构、位域、联合和枚举 258

11.1 高级数据类型的语法规则 265

11.1.1 数组 265

11.1.2 结构 265

11.1.3 位域 269

11.1.4 联合 269

11.1.5 枚举 270

11.2 数组 271

11.2.1 一维数组 272

11.2.2 字符串 273

11.2.3 二维数组 278

11.2.4 多维数组 280

11.2.5 数组初始化 280

11.2.6 一个水下搜索游戏 282

11.3 结构 285

11.3.1 访问结构元素 286

11.3.2 结构数组 287

11.3.3 结构赋值 294

11.3.4 将结构传递给函数 294

11.3.5 结构指针 296

11.3.6 结构内部的数组和结构 299

11.4 位域 300

11.5 联合(union) 303

11.6 枚举 306

11.7 使用sizeof来确保可移植性 308

11.8 typedef 309

第十二章 Turbo C预处理程序指令 313

12.1 空指令# 313

12.2 #define与#undef指令 313

12.2.1 简单的#define宏 313

12.2.2 #undef指令 314

12.2.3 -D与-U选择项 315

12.2.4 关键字与保护字 315

12.2.5 带参宏 315

12.3 文件包含指令#include 317

12.3.1 〈头名〉形式的头文件搜索 318

12.3.2 “头名”形式的头文件搜索 318

12.4 条件编译 318

12.4.1 #if、#elif、else和#endif条件指令 318

12.4.2 defined运算符 319

12.4.3 #ifdef和#ifndef条件指令 319

12.5 #line行控制指令 320

12.6 #error指令 321

12.7 #pragma指令 321

12.7.1 #pragma argsused 322

12.7.2 #pragma exit与#pragma startup 322

12.7.3 #pragma inline 322

12.7.4 #pragma option 323

12.7.5 #pragma saveregs 324

12.7.6 #pragma warn 324

12.8 预定义的宏 325

第三部分 高级C程序设计技巧 329

第十三章 文件输入输出 329

13.1 两个预处理指令 329

13.1.1 #define指令 329

13.1.2 #include指令 331

13.2 文件与流 331

13.3 流(streams) 331

13.3.1 文本流 331

13.3.2 二进制流 332

13.3.3 文件 332

13.4 概念和实际 332

13.5 控制台I/O 333

13.5.1 字符读写 333

13.5.2 字符串读写 334

13.6 控制台格式化I/O 334

13.6.1 printf()函数 335

13.6.2 scanf()函数 336

13.7 缓冲型I/O系统(ANSI型I/O系统) 339

13.7.1 文件指针 339

13.7.2 打开文件 339

13.7.3 写字符 341

13.7.4 读字符 341

13.7.5 feof()的使用 342

13.7.6 关闭文件 342

13.7.7 ferror()和rewind()函数 342

13.7.8 fopen(),getc(),putc()和fclose()函数的用法 343

13.7.9 getw()和putw()函数的使用 345

13.7.10 fgets()和fputs()函数 345

13.7.11 fread()和fwrite()函数 345

13.7.12 fseek()函数和随机访问I/O 347

13.7.13 标准流 349

13.7.14 fprintf()和fscan()函数 350

13.7.15 删除文件 352

13.8 非缓冲型I/O——UNIX型文件系统 352

13.8.1 open(),creat()和close()函数 353

13.8.2 read()和write()函数 354

13.8.3 unlink()函数 356

13.8.4 随机访问文件和lseek()函数 356

13.9 理解I/O概念 357

13.9.1 文件与设备 358

13.9.2 文件与流 359

13.9.3 文本流和二进制流 360

13.10 利用标准流进行I/O 361

13.10.1 使用格式化I/O函数 361

13.10.2 scanf()函数 365

13.10.3 prints()函数 368

13.10.4 使用字符I/O函数 370

13.11 使用文件控制函数 374

13.11.1 开文件、关文件和控制文件 374

13.11.2 控制文件缓冲区 377

13.12 使用直接文件I/O函数 378

13.12.1 理解直接I/O概念 379

13.12.2 读写直接文件 380

13.13 使用文件定位函数 385

13.13.1 得到当前文件位置 385

13.13.2 建立一个新文件位置 386

13.14 处理文件I/O错误 388

13.14.1 查出文件I/O错误 388

13.14.2 显示和清除文件I/O错误 388

第十四章 屏幕文本和图形程序设计 390

14.1 图形系统和要素 390

14.1.1 视频模式 390

14.1.2 窗口和视区 390

14.1.3 在文本模式下编程 391

14.1.4 在图形模式下编程 396

14.2 Turbo C图形程序设计 405

14.2.1 基本正文模式函数 406

14.2.2 Turbo C的图形子系统简介 414

14.3 IBM/PC的文本方式 422

14.3.1 PC显示器适配器和屏幕 422

14.3.2 视频缓冲区I/O 423

14.4 控制文本屏幕 424

14.4.1 使用文本方式控制函数 424

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

14.5 使用窗口函数 427

14.6 了解IBM-PC的图形方式 431

14.6.1 象素点与调色板 431

14.6.2 控制图形屏幕 433

14.7 介绍BGI图形库 434

14.7.1 使用画图和填充函数 434

14.7.2 控制屏幕和视口 438

14.8 在图形方式下显示文本 439

14.8.1 BGI字库 439

14.8.2 使用图形方式下的文本函数 440

第十五章 存储模式 443

15.1 80×86的体系结构 443

15.1.1 段(Segment)、节(Paragraph)以及偏移地址(Offset) 443

15.1.2 CPU的地址寄存器 445

15.2 near指针、far指针和huge指针 446

15.2.1 选择想要的指针大小 446

15.2.2 near、far和huge说明符 448

15.3 六个Turbo C存储模式 450

15.3.1 决定使用哪种存储模式 450

15.3.2 以混合模式编程 451

15.4 创建COM型的可执行程序文件 453

15.4.1 使用COM文件 453

第十六章 与汇编语言的接口 456

16.1 混合语言程序设计 456

16.1.1 参数传递顺序 456

16.2 建立从Turbo C对.ASM的调用 458

16.2.1 简化的段指令 458

16.2.2 标准段指令 459

16.2.3 定义数据常量和变量 459

16.2.4 定义全局和外部标识符 460

16.3 建立从.ASM中对Turbo C的调用 461

16.3.1 引用函数 461

16.3.2 引用数据 461

16.4 定义汇编语言过程 462

16.4.1 传递参数 462

16.4.2 处理返回值 463

16.5 寄存器约定 466

16.6 从.ASM过程中调用C函数 466

16.7 伪变量、嵌入汇编和中断函数 468

16.7.1 伪变量 468

16.7.2 嵌入汇编语言 470

16.7.3 中断函数 475

16.8 使用直接插入(inline)汇编语言 477

16.8.1 直接插入式汇编环境 478

16.8.2 使用asm关键字 478

16.9 与汇编语言例程的接口 481

16.9.1 在C程序里调用汇编例程 481

16.9.2 在汇编例程中调用C函数 490

16.10 使用中断功能 497

16.10.1 80×86的中断结构 497

16.10.2 使用Borland的中断接口 498

16.11 使用中断处理程序 501

16.11.1 声明中断处理程序函数 501

16.11.2 实现一个时钟中断处理程序 504

第四部分 库函数和全局变量参考 511

第十七章 Turbo C标准库函数 511

函数名 函数功能描述 511

abort 异常终止一进程 511

abs 返回整数的绝对值 512

absread 读磁盘的绝对扇区 512

abswrite 写磁盘绝对扇区 513

access 确定文件的存取权限 514

acos 计算反余弦值 515

allocmem 分配DOS内存 515

arc 画圆弧 516

asctime 转换日期和时间为对应的ASCII码 517

asin 反正弦函数 518

assert 条件终止函数 519

atan 反正切函数 519

atan2 计算y/x的反正切值 520

atexit 定义终止函数 521

atof 将字符串转换成浮点数 521

atoi 把字符串转换成整数 522

atol 把字符串转换成长整型 523

bar 画二维条形图 523

bar3d 画一个三维条形图 525

bdos DOS系统调用 526

bdosptr DOS系统调用 527

bioscom I/O通信 528

biosdisk 调用BIOS磁盘驱动程序 530

biosequip 检查设备 532

bioskey 调用BIOS的键盘接口 533

biosmemory 返回内存大小 535

biosprint 调用BIOS的打印机I/O接口 535

biostime 读取或设置BIOS时钟 536

brk 改变数据段内存分配 537

bserch 数组的二分法搜索 538

cabs 计算复数的模 539

calloc 分配内存 540

ceil 舍入 540

cgets 读字符串 541

chdir 改变当前目录 542

_chmod 改变文件的存取权限 543

chmod 改变文件存取权限 545

chsize 修改文件长度 545

circle 画圆 546

_clear87 清除浮点状态字 547

cleardevice 清图形屏幕 548

clearerr 复位错误标志 549

clearviewport 清除当前图形窗口 550

clock 测定运行时间 551

_close 关闭文件 552

close 关闭文件 552

closegraph 关闭图形系统 553

clreol 清除从当前光标位置到行尾的字符 554

clrscr 清除文本窗口,并把光标放在左上角 555

_control87 处理浮点控制字 556

coreleft 返回尚未使用的内存(RAM)大小 557

cos 计算余弦值 557

cosh 计算双曲余弦值 558

country 读取与特定国家有关的格式 558

cprintf 格式化并输出数据至屏幕 559

cputs 输出一字符串至屏幕 560

_creat 创建一个新文件或重写一个已存在的文件 561

creat 创建一个新文件或重写一个已存在的文件 562

creatnew 创建新文件 563

creattemp 创建一个文件名唯一的文件 564

cscanf 从控制台执行格式化输入 565

ctime 把日期和时间转化为对应的字符串 565

ctrlbrk 设置ctrl-break处理程序 566

delay 暂停 567

delline 在文本窗口中删去一行 567

detectgraph 检测硬件并确定应使用何种图形驱动程序和图形模式 568

difftime 计算两个时刻之间的时间差 571

disable 屏蔽中断 571

div 将两个整数相除,返回商和余数 572

dosexterr 获取扩展错误信息 573

dostounix 把日期和时间转换成UNIX格式 574

drawpoly 绘制多边形 574

dup 复制文件句柄 576

dup2 将一个文件句柄(oldhandle)复制到一个已有的文件句柄(newhandle) 577

ecvt 把浮点数转换为字符串 578

elipse 绘制椭圆 579

_emit_ 将文字值直接插入源程序中 580

enable 开硬件中断 581

eof 检测文件是否结束 583

_exit 终止程序 587

exit 终止程序 588

exp 计算e的x次方 588

fabs 返回浮点数的绝对值 589

farcalloc 从远程堆中分配内存 589

farcoreleft 返回远程堆中未使用内存的大小 590

farfree 从远程堆中释放一块已分配内存 591

farmalloc 从远堆中分配内存 592

farrealloc 调整远堆中的已分配块 593

fclose 关闭一个流 593

fcloseall 关闭打开流 594

fcvt 将浮点数转换为字符串 595

fdopen 把流与一个文件句柄相联 595

feof 检测流上的文件结束标志 597

ferror 检测流上的错误 597

fflush 刷新一个流 598

fgetc 从流中读取字符 599

fgetchar 从流中读取字符 600

fgetpos 取得当前文件指针 600

fgets 从流中读取一字符串 601

filelength 取文件长度 602

fileno 取得文件句柄 602

fillellipse 画椭圆饼 603

fillpoly 画多边形 604

findfirst 查找第一个匹配文件 605

findnext 查找下一个匹配文件 607

floodfill 填充区域 608

floor 下舍入 609

flushall 刷新所有流 610

fmod 计算x/y的余数 610

fnmerge 建立文件路径 611

fnsplit 分解完整的路径名 611

fopen 打开一个流 613

FP_OFF 获取远地址偏移量 614

_fpreset 重新初始化浮点数学包 615

fprintf 传送输出到一个流中 617

FP_SEG 获取远地址段值 617

fputc 送一个字符到一个流中 618

fputchar 送一个字符到标准输出 619

fputs 送一个字符串到流中 619

fread 从流中读数据 620

free 释放已分配的内存 621

freemem 释放先前分配的DOS内存 621

freopen 把一个新文件同一个打开的流相联 622

frexp 对双精度数进行科学计数 623

fscanf 格式化输入 623

fseek 移动文件指针 624

fsetpos 定位文件指针 625

fstat 获取已打开文件的信息 627

ftell 返回当前文件指针 628

ftime 把当前时间存入timeb结构中 629

fwrite 把参数写入流中 630

gcvt 把浮点数转换为字符串 630

geninterrupt 产生软中断 631

getarccorrds 取得最后一次调用arc的坐标 632

getaspectratio 返回当前图形模式的纵横比 634

getbkcolor 返回当前背景颜色 635

getc 从流中取字符 636

getcbrk 获取control-break状态 637

getch 从键盘无回显地读取一字符 637

getchar 从stdin流中读取一个字符 638

getche 从键盘并回显地读取一字符 638

getcolor 返回当前绘图颜色 639

getcurdir 读取指定驱动器的当前目录 640

getcwd 读取当前目录 641

getdate 读取系统日期 642

getdefaultpalette 返回缺省调色板信息 642

getdfree 读取磁盘空闲空间 643

getdisk 读取当前磁盘驱动器号 644

getdrivername 返回指向当前图形驱动程序名字的指针 645

getdta 读取磁盘传输地址 646

getenv 读取环境变量的当前值 647

getfat 读取指定驱动器的FAT信息 647

getfatd 读取驱动器FAT信息 648

getfillpattern 将用户定义的填充模式拷贝到内存 649

getfillsettings 取得当前填充模式和填充颜色的有关信息 651

getftime 读取文件日期和时间 653

getgraphmode 返回当前图形模式 654

getimage 将指定区域的位图象存入内存 655

getlinesettings 读取当前线型、模式和宽度 657

getmaxcolor 返回可选的最大有效颜色值 659

getmaxmode 返回当前驱动程序的最大图形模式号 660

getmaxx 返回屏幕上最大的x坐标值 661

getmaxy 返回屏幕上最大的y坐标值 662

getmodename 返回指向含有指定图形模式名字符串的指针 663

getmoderange 获取图形驱动程序的模式范围 664

getpalette 返回当前调色板的有关信息 665

getpalettesize 返回调色板的颜色数目 667

getpass 读入口令 668

getpid 读取进程号 669

getpixel 读取得象素的颜色 669

getpsp 读取程序段前缀 671

gets 从标准输入流stdin中读取一字符串 671

gettext 拷贝文本屏幕上的文本拷贝到内存中 672

gettextinfo 读取文本模式的显示信息 673

gettextsettings 返回当前图形字体的有关信息 674

gettime 读取系统时间 676

getvect 读取中断向量 677

getverify 取得DOS的当前校验状态 677

getviewsettings 返回有关当前视区的信息 678

getw 从输入流中读取一整数 679

getx 返回当前图形方式下位置的x坐标值 681

gety 返回当前位置的y坐标值 682

gmtime 把日期和时间转换为格林威治标准时间(GMT) 683

gotoxy 在文本窗口中定位文本光标 684

graphdefaults 复位图形设置 684

grapherrormsg 返回一个指向错误信息串的指针 685

_graphfreemem 可修改的图形内存释放函数 686

_graphgetmem 可修改的图形内存分配函数 688

graphresult 返回最后一次失败图形操作的错误码 689

Harderr 建立一个错误处理程序 691

hardresume 硬件错误处理函数 694

hardretn 硬件错误处理函数 697

highvideo 选择高亮度字符 699

hypot 计算直角三角形的斜边长 700

imagesize 返回保存位图象所需的缓冲区大小 700

initgraph 初始化图形系统 702

inport inp从端口中读入一个字 705

inportb 从端口中读入一个字节 706

insline 在文本窗口插入一空行 706

installuserdriver 安装设备驱动程序到BGI设备驱动程序表中 707

installuserfont 安装未嵌入BGI系统的字体文件(.CHR) 709

int86 调用8086软中断 710

int86x 通用8086软中断接口 711

intdos 通用DOS中断接口 712

intdosx 通用DOS中断接口 713

intr 改变软中断接口 714

ioctl I/O设备控制 715

isalnum 字符分类宏 716

isaplha 字符分类宏 717

isascii 字符分类宏 717

isatty 检查设备类型 718

iscntrl 字符分类宏 718

isdigit 字符分类宏 719

isgraph 字符分类宏 720

islower 字符分类宏 720

isprint 字符分类宏 721

ispunct 字符分类宏 721

isspace 字符分类宏 722

isupper 字符分类宏 722

isxdigit 字符分类宏 723

itoa 把整数转换为字符串 723

kbhit 检查当前按下的键 724

keep 驻留并退出 724

labs 给出长型绝对值 726

ldexp 计算x乘以2的exp次方 726

ldiv 两个长整型数相除,返回商和余数 727

lfind 线性搜索 728

line 在指定两点间画一直线 729

linerel 从当前位置(CP)到与CP有一相对距离的点画一直线 730

lineto 从当前位置到(x,y)画一直线 731

localtime 把日期和时间转变为结构类型 732

lock 设置文件共享锁 733

log 计算x的自然对数 734

log10 计算log(X) 735

longjmp 执行非局部跳转 735

lowvideo 选择低亮度字符 736

_lrotl 将无符号长整型数向左循环移位 737

_lrotr 将无符号长整型数向右循环移位 738

lsearch 线性搜索 738

lseek 移动文件指针 740

ltoa 把一个长整型数转换为字符串 741

malloc 分配内存 741

matherr 用户可修改的数学错误处理程序 742

max 返回两数中较大的数 744

memccpy 拷贝一个n字节长的字符串 744

memchr 字符串中搜索字符 745

memcmp 比较两个字符串 745

memcpy 拷贝字符串 746

memicmp 比较两个字符数组中的n个字节,忽略大小写 747

memmove 拷贝块中的n字符 747

memset 将一个内存块的n个字节都设置为c 748

min 返回两个值中较小的一个 748

mkdir 创建目录 749

MK_FP 设置一个远指针 750

mktemp 建立一个唯一的文件名 751

modf 把双精度数转化为科学计数法 751

movedata 拷贝数据 752

moverel 从当前位置(CP)移动一相对距离 752

movetext 将屏幕上的文本从一个矩形区域拷贝到另一个矩形区域 754

moveto 从当前坐标位置(CP)移到(x,y) 754

movmem 移动一长为length字节的串 755

normvideo 选择正常亮度字符 756

nosound 关闭PC机扬声器 756

_open 打开一个文件进行读或写 757

open 打开一个文件进行读或写 758

outport outp输出一个字到端口中 760

outportb 输出一个字节到端口 760

outtext 显示一个字符串 761

outtextxy 在指定位置显示一字符串 762

parsfnm 分析文件名 763

peek 返回由segment:offset指定的内存中的字 764

peekb 返回由segment:offset指定的内存中的字节 765

perror 打印系统错误信息 766

pieslice 绘制并填充扇形 767

poke 在由segment:offset指定的内存中存储一个字 768

pokeb 在由segment:offset指定的内存中存储一个字节 768

poly 根据参数产生一个多项式 769

pow 计算x的y次方 770

pow10 指数函数10的p次方 770

printf 写格式化输出到stdout 771

putc 输出一个字符到流中 777

putch 向屏幕输出字符 777

putchar 在stdout上输出字符 778

putenv 将字符串放入当前环境中 779

putimage 输出一个位图象到图形屏幕上 780

putpixel 写象素点 782

puts 输出一字符串到标准输出(stdout) 783

puttext 从内存区拷贝文本到屏幕 784

putw 输出一整数到流中 784

qsort 用快速排序算法进行排序 786

raise 向正在执行的进程发送一个软中断信号 787

rand 产生随机数 787

randbrd 随机块读 788

randbwr 随机块写 789

random 随机数发生器 791

randomize 初始化随机数发生器 791

_read 读文件 792

read 读文件 793

real 返回复数的实部 795

realloc 重新分配内存 795

rectangle 画一个矩形 796

registerbgidriver 注册已加载或连接进来的图形驱动程序 797

registerbgifont 注册已连接进来的矢量字体代码 798

remove 删除一个文件 800

rename 文件改名 800

restorecrtmode 恢复屏幕为调用initgraph前的设置 801

rewind 将文件指针重定位于流的开始处 802

rmdir 删除目录 803

_rotl 将一个无符号整数(unsigned)左循环移位 804

_rotr 将一个无符号整数向右循环移位 805

sbrk 改变数据段地址 806

scanf 格式化输入 806

searchpath 按DOS路径查找一个文件 813

sector 画并填充椭圆扇区 814

segread 读段寄存器值 815

setactivepage 设置图形输出活动页 816

setallpalette 改变所有的调色板颜色 817

setaspectratio 设置图形纵横比 819

setbkcolor 用调色板设置当前背景颜色 821

setblock 修改已分配的内存的大小 822

setbuf 把缓冲区与流相联 823

setcbrk 设置control-break 824

setcolor 设置当前要画的线的颜色 825

setdate 设置DOS日期 827

setdisk 设置当前驱动器 827

setdta 设置磁盘传输地址 828

setfillpattern 选择自定义的填充模式 830

setfillstyle 设置填充模式和颜色 831

setftime 取得文件日期和时间 833

setgraphbufsize 改变内部图形缓冲区的大小 834

setgraphmode 将系统设置成图形模式并清屏 835

setjmp 非局部跳转(在MS-WINDOWS中不能使用本功能) 837

setlinestyle 设置当前画线宽度和类型 838

setmem 设置内存 840

setmode 设置打开文件方式 841

setpalette 改变调色板的颜色 841

setrgbpalatte 定义IBM 8514图形卡的颜色 843

settextjustify 为图形函数设置文本的对齐方式 845

settextstyle 为图形输出设置当前的文本属性 847

settime 设置系统时间 849

setusercharsize 修改矢量字体字母的宽度和高度 850

setvbuf 使缓冲区与流相联 851

setvect 设置中断矢量入口 852

setverify 设置DOS中的校验标志状态 853

setviewport 为图形输出设置当前视口 854

setvisualpage 设置可见的图形页号 855

setwritemode 设置图形方式下画线的输出模式 856

signal 设置某一信号的对应动作 858

sin 计算正弦值 861

sinh 计算双曲正弦值 861

sleep 执行挂起一段时间 862

sopen 打开一共享文件 862

sound 按指定频率打开PC扬声器 864

spawnl,spawnel,spawnlp,spawnlpe,spawnv,spawnve,spawnvp,spawnvpe 创建并运行子进程 865

sprintf 送格式输出到字符串 867

sqrt 计算参数平方根的绝对值 868

srand 初始化随机数发生器 869

sscanf 从某串中扫描格式化输入 869

stat 读取文件信息 871

_status87 取浮点状态 872

stime 设置系统日期和时间 873

stpcpy 拷贝字符串 874

strcat 串连接 874

strchr 搜索串中某个给定字符的第一次出现 875

strcmp 串比较 876

strcmpi 忽略大小写的串比较 876

strcpy 串拷贝 877

strcspn 搜索串中不包含给定字符集之子集的第一个段 878

strdup 复制串 878

_strerror 建立用户定义的错误信息 879

strerror 返回指向错误信息字符串的指针 879

stricmp 忽略大小写的串比较 880

strlen 计算字符串的长度 881

strlwr 转换字符串中的大写字母为小写字母 881

strncat 把字符串的一部分附加到另一个串之后 882

strncmp 把串的一部分与另一个串的一部分进行比较 882

strncmp i忽略大小写的串部分比较 883

strnset 将串中指定数目字节设置为字符 884

strpbrk 搜索给定集合中任一字符在串中的首次出现 884

strrchr 搜索给定字符在串中的最后一次出现 885

strrev 颠倒串中各字符的顺序 885

strset 设置串中所有字符为给定字符 886

strspn 搜索给定字符集的子集在串中第一次出现的段 886

strstr 搜索给定子串在某串中的出现位置 887

strtod 把串转换为双精度数值 887

strtok 搜索串中的某单词,该单词由第二个串中指定的符号进行分隔 888

strtol 转换串为长整型数 889

strtoul 将字符串转换为给定基数的无符号长整型值 890

swab 交换字节 891

system 执行DOS命令 891

tan 计算正切值 892

tanh 计算参数x的双曲正切值 892

tell 取文件指针的当前位置 893

textattr 设置文本属性 894

textbackground 选择文本的背景颜色 895

textcolor 选择文本模式的前景颜色 896

textheight 返回以象素为单位的字符串高度 897

textmode 将屏幕设置成文本模式 899

textwidth 返回以象素为单位的字符串宽度 900

time 取时间 901

tmpfile 以二进制方式打开临时文件 901

tmpnam 创建唯一的文件名 902

toascii 转换字符为ASCII格式 903

_tolower 转换字母为小写 903

tolower 转换字符为小写 904

_toupper 转换字母为大写 904

toupper 转换字符为大写 905

tirg 三角函数 906

tzset 设置全局变量daylight、timezone和tzname的值 906

ultoa 转换无符号长整型值为字符串 907

ungetc 把一个字符回退到输入流中 908

ungetch 把一个字符回送到键盘缓冲区 909

unixtodos 把UNIX格式的日期和时间转换成DOS格式 909

unlink 删除文件 910

unlock 解除文件共享锁 911

va_arg、va_end、va_start 实现可变参数表 912

vfprintf 送格式化输出到一流中 913

vfscanf 从流中搜索和格式化输入 914

vprintf 送格式化输出到stdout 916

vscanf 从stdin中搜索和格式化输入 916

vsprintf 送格式化输出到串中 917

vsscanf 从流中搜索和格式化输入 918

wherex 给出窗口内光标水平位置 919

wherey 给出窗口内光标垂直位置 920

window 创建活动文本模式窗口 920

_write 写文件 921

write 写文件 922

第十八章 全局变量 924

_8087 协处理器芯片标志 924

_argc 保存命令行的参数个数 924

_argv 命令行参数指针数组 924

_ctype 字符属性信息数组 924

daylight 指示是否进行夏令时间调整 925

directvideo 视频输出控制的标志 925

environ 存取DOS环境变量 925

errno、_doserrno、sys_errlist、sys_nerr使perror 能打印错误信息 925

_fmode 设置缺省文件传送模式 927

_heaplen 保存近堆的长度 928

_openfd 存取模式数组 928

_osmajor、_osminor、_version包含DOS版本的主号和次号 929

_psp 包含当前程序的程序段前缀(PSP)的段地址 929

_stklen 保存堆栈的大小 929

timezone 包含当地时间与格林威治时间(GMT)之间的差值(以秒为单位) 930

tzname 时区名指针数组 930

_version DOS版本号 930

_wscroll 指示控制台I/O函数是否滚屏 930

第五部分 附录 933

附录A TCC命令行编译器 933

A.1 使用命令行编译器 933

A.1.1 使用选择项 933

A.1.2 语法和文件名 935

A.1.3 应答文件 936

A.1.4 配置文件 936

A.2 编译器选项 937

A.2.1 存储模式 937

A.2.2 宏定义 938

A.2.3 代码生成选项 938

A.2.4 优化选择项 939

A.2.5 源代码选项 940

A.2.6 出错报告选择项 941

A.2.7 段命名控制 942

A.2.8 编译控制选择项 943

A.4 环境选项 943

A.4.1 查找包含文件和库文件 943

A.4.2 文件搜索算法 944

A.4.3 一个实例 944

附录B 实用程序 946

B.1 MAKE实用程序 946

B.1.1 MAKE的工作过程 946

B.1.2 启动MAKES 947

B.1.3 MAKE的一种简单运用 948

B.1.4 制作makefile文件 950

B.1.5 makefile文件的组成 950

B.1.6 命令表 950

B.1.7 显式规则 953

B.1.8 隐式规则 955

B.1.9 宏 956

B.1.10 指令 959

B.1.11 MAKE出错信息 963

B.2 TLIB:库管理程序 966

B.2.1 为什么使用目标模块库 967

B.2.2 TLIB命令行 967

B.2.3 操作列表 968

B.2.4 使用响应文件 969

B.2.5 建立扩展字典:/E选项 969

B.2.6 设置页大小:/P选项 969

B.2.7 高级操作:/C选项 969

B.2.8 例子 970

B.3 连接程序TLINK 970

B.3.1 调用TLINK 970

B.3.2 使用响应文件 972

B.3.3 和Turbo C模块一起使用TLINK 973

B.3.4 与TCC一起使用TLINK 974

B.3.5 连接选项 975

B.3.6 TLINK的限制 977

B.3.7 出错信息 977

B.4 THELP帮助 980

B.4.1 装入和调用THELP 980

B.4.2 THELP选项 981

B.5 GREP查找程序 984

B.5.1 命令行形式 984

B.5.2 GREP的选项 985

B.5.3 正常的优先次序 986

B.5.4 搜寻字符串 986

B.5.5 正则表达式的操作符 987

B.5.6 文件说明 987

B.5.7 GREP使用示例 987

B.6 其它实用程序 990

B.6.1 BGIOBJ:图形驱动程序和字体的转换程序 991

B.6.2 CPP:预处理实用程序 995

B.6.3 OBJXREF:目标模块的交叉引用列表实用程序 997