第三部分 Turbo C库 211
第十五章 连接、库和头部文件 211
15.1连接程序(Linker) 211
15.2 C标准库 212
15.2.1库文件和目标文件的比较 212
15.2.2头部文件(Header File) 212
15.3头部文件中的宏定义 213
第十六章 I/O函数 215
16.1 access()函数 215
16.2_chmod()函数 216
16.3 chmod()函数 216
16.4 clearerr()函数 216
16.5 close()和_close()函数 217
16.6 creat()、_creat()、creatnew()和creattemp()函数 218
16.7 dup()和dup2()函数 219
16.8 eof()函数 219
16.9 fclose和()fcloseall()函数 220
16.10 fdopen()函数 221
16.11 feof()函数 221
16.12 ferror()函数 222
16.13 fflush()函数 222
16.14 fgetc()函数 223
16.15 fgetchar()函数 223
16.16 fgets()函数 223
16.17 filelength()函数 224
16.18 fileno()函数 224
16.19 fopen()函数 225
16.20 fprintf()函数 226
16.21 fputc()函数 227
16.22 fputchar()函数 227
16.23 fputs()函数 228
16.24 fread()函数 228
16.25 freopen()函数 229
16.26 fscanf()函数 229
16.27 fseek()函数 230
16.28 ftell()函数 231
16.29 fwrite()函数 231
16.30 getc()函数 232
16.31 getch()和getche()函数 233
16.32 getchar()函数 233
16.33 gets()函数 234
16.34 getw()函数 234
16.35 isatty()函数 235
16.36 lock()函数 235
16.37 lseek()函数 236
16.38 open()和_open()函数 237
16.39 perror()函数 238
16.40 printf()函数 239
16.41 putc()函数 241
16.42 putchar()函数 241
16.43 puts()函数 241
16.44 putw()函数 242
16.45 read()和_read()函数 242
16.46 remove()函数 243
16.47 rename()函数 243
16.48 rewind()函数 243
16.49 scanf()函数 244
16.50 setbuf()函数 246
16.51 setmode()函数 247
16.52 setvbuf()函数 247
16.53 sprintf()函数 247
16.54 sscanf()函数 248
16.55 tell()函数 248
16.56 tmpfile()函数 248
16.57 tmpnam()函数 249
16.58 ungetc()函数 249
16.59 unlink()函数 250
16.60 vprintf()、vfprintf()和vsprintf()函数 250
16.61 write()和_write()函数 251
第十七章 字符串、内存和字符函数 253
17.1 isalnum()函数 253
17.2 isalpha()函数 253
17.3 isascii()函数 254
17.4 iscntrl()函数 254
17.5 isdigit()函数 255
17.6 isgraph()函数 255
17.7 islower()函数 256
17.8 isprint()函数 256
17.9 ispunct()函数 257
17.10 isspace()函数 257
17.11 isupper()函数 257
17.12 isxdigit()函数 258
17.13 memccpy()函数 258
17.14 memchr()函数 259
17.15 memcmp()和memicmp()函数 259
17.16 memcpy()函数 260
17.17 memmove()函数 260
17.18 memset()函数 260
17.19 strcat()函数 261
17.20 strchr()函数 261
17.21 strcmp()函数 262
17.22 strcpy()函数 262
17.23 strcspn()函数 262
17.24 strdup()函数 263
17.25 strerror()函数 263
17.26 strlen()函数 263
17.27 strlwr()函数 264
17.28 strncat()函数 264
17.29 strncmp()函数 265
17.30 strncpy()函数 265
17.31 strnset()函数 266
17.32 strpbrk()函数 266
17.33 strrchr()函数 266
17.34 strrev()函数 267
17.35 strset()函数 267
17.36 strspn()函数 267
17.37 strstr()函数 268
17.38 strtok()函数 268
17.39 strupr()函数 269
17.40 tolower()函数 269
17.41 toupper()函数 269
第十八章 数学函数 270
18.1 acos()函数 270
18.2 asin()函数 270
18.3 atan()函数 271
18.4 atanz()函数 271
18.5 cabs()函数 272
18.6 ceil()函数 272
18.7 cos()函数 273
18.8 cosh()函数 273
18.9 exp()函数 273
18.10 fabs()函数 274
18.11 floor()函数 274
18.12 fmod()函数 274
18.13 frexp()函数 275
18.14 hypot()函数 275
18.15 ldexp()函数 275
18.16 log()函数 275
18.17 log10()函数 276
18.18 matherr()函数 276
18.19 modf()函数 277
18.20 poly()函数 277
18.21 pow()函数 278
18.22 sin()函数 278
18.23 sinh()函数 278
18.24 sgrt()函数 279
18.25 tan()函数 279
18.26 tanh()函数 280
第十九章 时间、日期和与系统有关的函数 281
19.1 absread()和abswrite()函数 282
19.2 asctime()函数 283
19.3 bdos()函数 284
19.4 bioscom()函数 284
19.5 biosdisk()函数 286
19.6 biosequip()函数 286
19.7 bioskey()函数 288
19.8 biosmemory()函数 288
19.9 biosprint()函数 289
19.10 biostime()函数 289
19.11 country()函数 290
19.12 ctime()函数 291
19.13 ctrlbrk()函数 291
19.14 difftime()函数 292
19.15 disable()函数 292
19.16 dosexterr()函数 292
19.17 dostounix()函数 293
19.18 enable()函数 293
19.19 FP_OFF()和FP_SEG()函数 293
19.20 geninterrupt()函数 293
19.21 getcbrk()函数 294
19.22 getdate()和gettime()函数 294
19.23 getdfree()函数 295
19.24 getdta()函数 295
19.25 getfat()和getfatd()函数 295
19.26 getftime()函数 296
19.27 getpsp()函数 297
19.28 interrupt()函数 297
19.29 getverify()函数 297
19.30 gmtime()函数 298
19.31 harderr()、hardresume()和ardretn()函数 298
19.32 inport()函数 299
19.33 intdos()和intdosx()函数 299
19.34 int86()和int86x()函数 300
19.35 intr()函数 300
19.36 keep()函数 301
19.37 localtime()函数 301
19.38 MK_FP()宏 302
19.39 outport()函数 302
19.40 parsfnm()函数 302
19.41 peek()、peekb()、poke()和pokeb()函数 303
19.42 randbrd()和randbwr()函数 303
19.43 segread()函数 304
19.44 setdate()和settime()函数 304
19.45 setdta()函数 305
19.46 setvect()函数 305
19.47 setverify()函数 305
19.48 sleep()函数 305
19.49 time()函数 306
19.50 tzset()函数 306
19.51 unixtodos()函数 306
第二十章 动态地址分配 308
20.1 allocmem()函数 308
20.2 brk()函数 309
20.3 calloc()函数 309
20.4 coreleft()函数 309
20.5 farcalloc()函数 310
20.6 farcoreleft()函数 310
20.7 farfree()函数 310
20.8 farmallpc()函数 311
20.9 farreallpc()函数 311
20.10 free()函数 311
20.11 freemem()函数 312
20.12 malloc()函数 312
20.13 realloc 312
20.14 sbrk()函数 313
20.15 setblock()函数 313
第二十一章 目录函数 315
21.1 chdir()函数 315
21.2 findfirst()函数 315
21.3 fnmcrge()和fnsplit()函数 316
21.4 getcurdir()函数 317
21.5 getcwd()函数 318
21.6 getdisk()函数 318
21.7 mkdir()函数 318
21.8 mktemp()函数 319
21.9 rmdir()函数 319
21.10 searchpath()函数 319
21.11 setdisk()函数 320
第二十二章 过程控制函数 321
22.1 abort()函数 321
22.2 atexit()函数 321
22.3 exec…()函数 322
22.4 exit()和_exit()函数 323
22.5 spawn…()函数 324
第二十三章 字符屏幕和图形功能函数 327
23.1 arc()函数 327
23.2 bar()和bar3d()函数 328
23.3 circle()函数 328
23.4 cleardevice()和clearviewport()函数 329
23.5 closegraph()函数 330
23.6 clreol()和clrscr()函数 330
23.7 cputs()函数 331
23.8 delline()函数 332
23.9 detectgraph()函数 332
23.10 drawpoly()函数 333
23.11 ellipse()函数 333
23.12 fillpoly()函数 334
23.13 floodfill()函数 334
23.14 getarccords()函数 335
23.15 getaspectratio()函数 336
23.16 getbkcolor()函数 336
23.17 getcolor()函数 337
23.18 getfillpattern()函数 337
23.19 getfillsettings()函数 337
23.20 getgraphmode()函数 338
23.21 getimage()函数 339
23.22 getlinesettings()函数 340
23.23 getmaxcolor()函数 341
23.24 getmaxx()和getmaxy()函数 341
23.25 getmoderange()函数 342
23.26 getpalette()函数 343
23.27 getpixe()函数 344
23.28 gettext()函数 344
23.29 gettextsettings()函数 345
23.30 getviewsettings()函数 346
23.31 getx()和gety()函数 346
23.32 gotoxy()函数 346
23.33 graphdefaults()函数 347
23.34 grapherrormsg()函数 347
23.35_graphfreemem()和_graphgetmem()函数 347
23.36 graphresult()函数 348
23.37 highvideo()函数 348
23.38 imagesize()函数 348
23.39 initgraph()函数 349
23.40 insline()函数 351
23.41 line()、lineto()和linerel()函数 351
23.42 lowvideo()函数 352
23.43 moverel()函数 352
23.44 movetext()函数 352
23.45 moveteto()函数 353
23.46 normvideo()函数 353
23.47 outtext()和outtextxy()函数 353
23.48 piesline()函数 354
23.49 putimage()函数 355
23.50 putpixel()函数 356
23.51 puttext()函数 356
23.52 rectangle()函数 357
23.53 registerbgidriver()和registerbgifont()函数 357
23.54 restorecrtmode()函数 357
23.55 setactivepage()函数 358
23.56 setallpalette()函数 358
23.57 setbkcolor()函数 358
23.58 setcolor()函数 360
23.59 setfillpattern()函数 360
23.60 setfillstyle()函数 361
23.61 setgraphbufsize()函数 362
23.62 setgraphmode()函数 362
23.63 setlinestyle()函数 362
23.64 setpalette()函数 363
23.65 settextjustify()函数 364
23.66 settextstyle()函数 364
23.67 setusercharsize()函数 365
23.68 setviewport()函数 366
23.69 setvisualpage()函数 366
23.70 textattr()函数 367
23.71 textbackground()函数 367
23.72 textcolor()函数 368
23.73 textheight()函数 368
23.74 textmode()函数 369
23.75 textwidth()函数 369
23.76 wherex()和wherey()函数 370
23.77 window()函数 370
第二十四章 其它函数 371
24.1 abs()函数 371
24.2 assert()函数 371
24.3 atof()函数 372
24.4 atoi()函数 372
24.5 atol()函数 373
24.6 bsearch()函数 373
24.7_clear87()函数 374
24.8 div()函数 375
24.9 ecvt()函数 375
24.10 fcvt()函数 375
24.11_fpreset()函数 376
24.12 gcvt()函数 376
24.13 getenv()函数 376
24.14 gsignal()函数 377
24.15 itoa()函数 377
24.16 labs()函数 377
24.17 ldiv()函数 378
24.18 lfind()和lsearch()函数 378
24.19 longjmp()函数 380
24.20 ltoa()函数 381
24.21 putenv()函数 381
24.22 qsort()函数 381
24.23 rand()函数 382
24.24 random()和randomize()函数 383
24.25 setjmp()函数 383
24.26 srand()函数 384
24.27 ssignal()函数 385
24.28_status87()函数 385
24.29 strtod()函数 385
24.30 strtol()函数 386
24.31 swab()函数 387
24.32 system()函数 387
24.33 va_start()、va_end()和va_arg()函数 387
第四部分 Turbo C的应用 389
第二十五章 队列、堆栈、链表和树 389
25.1队列 390
25.1.1环状队列 394
25.2堆栈 396
25.3链表 400
25.3.1单向链表 400
25.3.2双向链表 404
25.3.3通讯录—一个实例 407
25.4二叉树 412
第二十六章 基于人工智能的问题求解 418
26.1表达和术语 418
26.2组合爆炸 419
26.3搜索评价 420
26.4图解法 421
26.5深度优先搜索法 422
26.5.1深度优先搜索法的评价 429
26.6宽度优先搜索法 430
26.6.1宽度优先搜索法分析 431
26.7加入启发式信息 432
26.8爬山法 432
26.8.1爬山法分析 436
26.9最小成本搜索法 436
26.10搜索技术的选择 438
26.11寻找多重解 438
26.11.1路径删除 438
26.11.2结点删除 439
26.12寻找“最优”解 443
26.13回到丢钥匙问题 447
第二十七章 语言解释程序 450
27.1表达式词语分析 450
27.1.1表达式 451
27.1.2记号 451
27.1.3表达式的构造 454
27.1.4表达式词法分析程序 455
27.1.5词法分析程序如何处理变量 460
27.2小BASIC解释程序 460
27.2.1主循环 462
27.2.2赋值函数 463
27.2.3 PRINT命令 464
27.2.4 INPUT命令 465
27.2.5 GOTO命令 466
27.2.6 IF语句 467
27.2.7 FOR语句 468
27.2.8 GOSUB 471
27.2.9完整的解释程序 472
27.2.10小BASIC使用实例 479
27.3解释程序的增强和扩充 481
第五部分 用C语言开发软件 482
第二十八章 Turbo C与汇编语言程序的接口 482
28.1调用协定 483
28.1.1 Turbo C的调用协定 483
28.2建立汇编代码函数 484
28.3使用asm 490
28.4何时用汇编语言编程 491
第二十九章 Turbo C用于软件工程 492
29.1自顶向下的设计 492
29.1.1草拟你的程序 492
29.1.2选择数据结构 494
29.2 “防弹”功能 494
29.3函数原型 495
29.4编译多文件程序 496
29.4.1工程及工程选择项 496
29.4.2你自己去尝试 497
29.4.3指定附加从属关系 497
29.5 独立应用MAKE 498
29.6 TLIB—Turbo C库管理程序 501
29.6.1使用TLIB的简例 502
29.7 GREP的应用 503
第三十章 效率、可移植性及调试 504
30.1效率 504
30.1.1增1和减1运算符 504
30.1.2使用寄存器变量 506
30.1.3指针与数组下标 508
30.1.4函数的使用 508
30.2程序的移植 511
30.2.1使用#define 511
30.2.2对操作系统的依赖 512
30.2.3数据长度的差别 512
30.3调试 513
33.3.1运算顺序错误 513
30.3.2指针问题 514
30.3.3重新定义函数 515
30.3.4时断时续的错误 516
30.3.5边界错误 516
30.3.6函数说明的疏漏 517
30.3.7调用参数错误 518
30.3.8栈(stack)~堆(Heap)冲突 519
30.3.9使用原型以防出错 519
30.4一般的调试理论 519
30.5程序维护的艺术 520
30.5.1修改错误 520
30.5.2保护源程序 521
附录 ANSI C与K&R C的区别 522
附录.1关键字删除 522
附录.2关键字的扩展 522
附录.3传递结构 523
附录.4函数原型 523
附录.5附加的预处理指令 524