目 录
前 言
第一部分 C语言
第1章 C语言概述
1.1C语言的发展史
1.2C语言的特点
1.3C语言程序的格式
1.4c语言程序的编译
1.4.1编译程序和解释程序
1.4.2分块编译
1.4.3库函数和连接
第2章 变量、常数、运算符和表达式
2.1标识符名
2.2数据类型
2.3类型说明符
2.4访问说明符
2.5变量的说明
2.6局部变量
2.7形式参数
2.8全程变量
2.9存储类型说明符
2.9.1外部变量(exter的
2.9.2静态变量(staticvariables)
2.9.3寄存器变量(registervariables)
2.10赋值语句
2.10.1赋值中的类型转换
2.10.2变量初始化
2.11常量
2.11.1控制字符常量
2.12运算符
2.12.1算术运算符
2.12.2增1和减1运算符
2.12.3关系运算符和逻辑运算符
2.12.4按位运算符
2.12.5“?”运算符
2.12.6“&”和“*”运算符
2.12.7编译状态运算符sizeof
2.12.8逗号运算符
2.12.9“.”和“->”运算符
2.12.10方括号“[]”和圆括号“()”
2.12.11运算符优先次序表
2.12.12表达式
2.12.13表达式中的类型转换
2.12.14强制类型转换
2.12.15空格和圆括号
2.12.16C语言的简写
第3章 程序控制语句
3.1C语言中的逻辑变量
3.2C语言的语句
3.3if语句
3.3.1if的嵌套形式
3.3.2阶梯式if-else-if语句
3.3.3?运算符
3.4switch语句
3.5for语句
3.5.1for循环的变体
3.5.2无限循环
3.5.3无循环体for循环
3.6while语句
3.7dowhile语句
3.8break语句
3.9exit语句
3.10continue语句
3.11标号和goto语句
第4章 函 数
4.1返回语句
4.1.1从函数返回
4.1.2返回值
4.2函数作用域规则
4.3函数参数
4.3.1赋值调用和赋地址调用
4.3.2函数调用与指针
4.3.3函数调用与数组
4.4主函数中的命令行参数——argc和argv
4.5函数返回非整型值
4.5.1返回指针
4.6函数原型
4.6.1参数说明的现代风格与传统风格
4.7函数递归
4.8指向函数的指针
4.9补充问题
4.9.1参数和通用函数
4.9.2效率
第5章 数组
5.1一维数组
5.2传递一维数组给函数
5.2.1字符串
5.3二维数组
5.3.1字符串数组
5.4多维数组
5.5数组与指针
5.6数组空间的分配
5.7数组的初始化
5.7.1不定长数组的初始化
5.8应用举例——井字游戏(Tic-Tac-Toe)
第6章 指 针
6.1指针是地址
6.2指针变量
6.3指针运算符
6.4指针表达式
6.4.1指针的赋值
6.4.2指针的算术运算
6.4.3指针比较
6.5TurboC动态分配函数
6.6指针和数组
6.6.1指向字符型数组的指针
6.6.2指针数组
6.7指向指针的指针
6.8指针初始化
6.9函数型指针
6.10使用指针的一些问题
第7章 结构、联合、用户定义的类型和枚举
7.1结构
7.1.1访问结构元素
7.1.2结构数组
7.1.3实例
7.2将结构传递给函数
7.2.1将结构元素传递给函数
7.2.2将整个结构传递给函数
7.3结构指针
7.3.1结构指针说明
7.3.2使用结构指针
7.4结构内部的数组和结构
7.5位域
7.6联合
7.7枚举
7.8使用sizeof来确保可移植性
7.9使用typedef
第8章 输入、输出和磁盘文件
8.1流(stre8m)和文件出le)
8.1.1流的概念(stream)
8.1.2文件(file)
8.2概念和实际
8.3控制台I/O
8.3.1getche()和putchar()函数
8.3.2gets()和puts0函数
8.4控制台格式化I/0
8.4.1printf()函数
8.4.2scanf()函数
8.5缓冲型I/O系统
8.5.1文件指针
8.5.2fopen0函数
8.5.3p以c()函数
8.5.4getc()函数
8.5.5fclose()函数
8.5.6ferror()和rewind()函数
8.5.7fopen(),getc(),putc()和fcl0se()函数的用法
8.5.8getw()和putw()函数
8.5.9fgets0和fputs0函数
8.5.10fread()和fwrite()函数
8.5.11fseek()函数和随机访问I/O
8.5.12st出n,stdo以和stderr
8.5.13fprintf()和fscanf()函数
8.5.14删除文件
8.6非缓冲型I/O-UNIX型文件系统
8.6.10pen(),creat()和cl0se()函数
8.6.2write()和read()函数
8.6.3unlink()函数
8.6.4随机访问文件和lseek()函数
8.7方法选择
第9章 TurboC预处理指令和编译选择
9.1TurboC的预处理指令
9.2#define指令
9.3#error指令
9.4#include指令
9.5条件编译指令
9.5.1#if,#else,#elif和#en出f指令
9.5.2#ifdef和#ifndef指令
9.6#undef指令
9.7#line指令
9.8#pragm8指令
9.9预定义的宏替换名
第10章 TurboC存储模式
10.18086系列微处理器
10.2地址的计算
10.316位与20位指针
10.4存储模式
10.4.1微型模式(TinyModel)
10.4.2小型模式(SmallModel)
10.4.3中型模式(MediumMode1)
10.4.4紧凑型模式(CompactModel)
10.4.5大型模式(LargeModel)
10.4.6巨型模式(HugeModel)
10.4.7模式的选择
10.4.8编译程序的内存模式选择项
10.5混合模式编程
10.5.1far(远程)
10.5.2near(近程)
10.5.3huge(特大)
10.6TurboC的段说明符
10.7内存显示和修改程序实例
10.7.1display-mem()函数
10.7.2change-mem()函数
10.7.3完整的内存显示和修改程序
第11章 TurboC2.0集成开发环境
11.1怎样使用TC
11.1.1TC命令行开关
11.1.2TC内部命令的使用
11.1.3TC热键
11.1.4菜单结构
11.2菜单命令
11.2.1文件(file)菜单
11.2.2编辑(E出t)命令
11.2.3运行(Run)菜单
11.2.4编译(Compile)菜单
11.2.5项目(Project)菜单
11.2.6选择项(Options)菜单
11.2.7调试(Debug)菜单
11.2.8Break/Watch菜单
第12章 TurboC与汇编语言程序的接口
12.1调用协定
12.1.1TurboC的调用协定
12.2建立汇编代码函数
12.3使用asm
12.4何时用汇编程序编程
第13章 TurboC用于软件工程
13.1自顶向下的设计
13.1.1草拟你的程序
13.1.2选择数据结构
13.2“防范”功能
13.3函数原型
13.4编译多个文件
13.4.1项目(project)及项目选择项
13.4.2你自己去尝试
13.4.3指定附加从属关系
13.5独立应用MAKE
13.6TLIB——TurboC库管理程序
13.7GREP的应用
第14章 效率、可移植性及调试
14.1效率
14.1.1增1和减1运算符
14.1.2使用寄存器变量
14.1.3指针与数组下标
14.1.4函数的使用
14.2程序的移植
14.2.1使用#define
14.2.2对操作系统的依赖
14.2.3数据长度的差别
14.3调试
14.3.1运算顺序错误
14.3.2指针问题
14.3.3重新定义函数
14.3.4时断时续的错误
14.3.5边界错误
14.3.6函数说明的疏漏
14.3.7调用参数错误
14.3.8栈(stack)—堆(heap)冲突
14.3.9使用原型以防出错
14.4一般的调试理论
14.5程序维护的艺术
14.5.1修改错误
14.5.2保护源程序
第二部分 TurboC库
第15章 连接、库和头部文件
15.1连接程序(Linker)
15.2C标准库
15.2.1库文件和目标文件的比较
15.2.2头部文件(HeaderFile)
15.3头部文件中的宏定义
第16章I/O函数
16.1access()函数
16.2cgets()函数
16.3 chmod()函数
16.4chmod()函数
16.5clearerr()函数
16.6close()和-close()函数
16.7cprintf()函数
16.8creat(),-creat(),creatnew()和creattemp()函数
16.9cscanf()函数
16.10dup()和dup20函数
16.11eof()函数
16.12fclose()和fcloseall()函数
16.13fdopen()函数
16.14feof()函数
16.15ferror()函数
16.16flush()函数
16.17fgetc()函数
16.18fgetchar()函数
16.19fgets()函数
16.20filelength函数()
18.21fileno()函数
16.22fopen()函数
16.23fprintf()函数
16.24fputc()函数
16.25fputchar()函数
16.26fputs()函数
16.27fread()函数
16.28freopen()函数
16.29fscanf()函数
16.30fseek()函数
16.31fstat()函数
16.32ftell()函数
16.33fwrite()函数
16.34getc()函数
16.35getch()和getche()函数
16.36getchar()函数
16.37getpass()函数
16.38gets()函数
16.39getw()函数
16.40ioctl()函数
16.41isatty()函数
16.42kbhit()函数
16.43lock()函数
16.44lseek()函数
16.45open()和-open()函数
16.46perror()函数
16.47printf()函数
16.48putc()函数
16.49putch()函数
16.50putchar()函数
16.51puts()函数
16.52putw()函数
16.53read()和-read()函数
16.54remove()函数
16.55rename()函数
16.56rewind()函数
16.57scanf()函数
16.58setbuf()函数
16.59setftime()函数
16.60setmode()函数
16.61setvbuf()函数
16.62sopen()函数
16.63sprintf()函数
16.64sscanf()函数
16.65stat()函数
16.66tell()函数
16.67tmpfile()函数
16.68tmpnam()函数
16.69ungetc()函数
16.70ungetch()函数
16.71vprintf(),vfprintf()和vsprintf()函数
16.72vscanf()和vfscanf()函数
16.73write()和-write()函数
第17章 字符串、内存和字符函数
17.1isalnum()函数
17.2isalpha()函数
17.3isascii()函数
17.4iscntrl()函数
17.5isdigit()函数
17.6isgraph()函数
17.7islower()函数
17.8isprint()函数
17.9ispunct()函数
17.10isspace()函数
17.11isupper()函数
17.12isxdigit()函数
17.13memccpy()函数
17.14memchr()函数
17.15memcmp()和memicmp()函数
17.16memcpy()函数
17.17memmove()函数
17.18memset()函数
17.19movedata()函数
17.20movmem()函数
17.21setmem()函数
17.22stpcpy()函数
17.23strcat()函数
17.24strchr()函数
17.25strcmp(),stricmp()和strcmpi()函数
17.26strcpy()函数
17.27strcspn()函数
17.28strdup()函数
17.29-strerror()函数
17.30strerror()函数
17.31strlen()函数
17.32strlwr()函数
17.33strncat()函数
17.34strncmp()和strnicmp()函数
17.35strncpy()函数
17.36strnset()函数
17.37strpbrk()函数
17.38strrchr()函数
17.39strrev()函数
17.40strset()函数
17.41strspn()函数
17.42strstr()函数
17.43strtok()函数
17.44strupr()函数
17.45toascii()函数
17.46tolower()和tolower()函数
17.47toupper()和toupper()函数
第18章 数学函数
18.1abs()函数
18.2acos()函数
18.3asin()函数
18.4atan()函数
18.5atan2()函数
18.6cabs()函数
18.7ceil()函数
18.8cos()函数
18.9cosh()函数
18.10exp()函数
18.11fabs()函数
18.12floor()函数
18.13fmod()函数
18.14frexp()函数
18.15hypot()函数
18.16labs()函数
18.17ldexp()函数
18.18log()函数
18.19logl0()函数
18.20matherr()函数
18.21modf()函数
18.22poly()函数
18.23pow()函数
18.24pow10()函数
18.25sin()函数
18.26sinh()函数
18.27sqrt()函数
18.28tan()函数
18.29tanh()函数
第19章 时间转换和操作函数
19.1asctime()函数
19.2clock()函数
19.3ctime()函数
19.4diftime()函数
19.5dostounix()函数
19.6getdate()函数
19.7gettime()函数
19.8gmtime()函数
19.9localtime()函数
19.10setdate()函数
19.11settime()函数
19.12stime()函数
19.13time()函数
19.14tzset()函数
19.15unixtodos()函数
第20章 接口函数
20.1absread()和abswrite()函数
20.2bdos()和bdosptr()函数
20.3bioscom()函数
20.4bios出sk()函数
20.5biosequip()函数
20.6bioskey()函数
20.7biosmemory()函数
20.8biosprint()函数
20.9biostime()函数
20.10country()函数
20.11ctrlbrk()函数
20.12delay()函数
20.13disable()函数
20.14dosexterr()函数
20.15enab1e()函数
20.16FP-0FF()和FPSEG()函数
20.17geninterrupt()函数
20.18getcbrk()函数
20.19getdfree()函数
20.20getdta()函数
20.21getfat()和getfatd()函数
20.22getpsp()函数
20.23getvect()函数
20.24getverify()函数
20.25harderr(),hardresume()和hardretn()函数
20.26inport()和inportb()函数
20.27intdos()和in出osx()函数
20.28int86()和int86x()函数
20.29interrupt()函数
20.30intr()函数
20.31keep()函数
20.32MK-FP()宏
20.33outp()函数
20.34outport()和outportb()函数
20.35parsfnm()函数
20.36peek(),peekb(),poke()和pokeb()函数
20.37randbrd()和randbwr()函数
20.38segread()函数
20.39setcbrk()函数
20.40setdta()函数
20.41setvect()函数
20.42setverify()函数
20.43sleep()函数
第21章 动态地址分配
21.1allocmem()函数
21.2brk()函数
21.3calloc()函数
21.4coreleft()函数
21.5farcalloc()函数
21.6farcoreleft()函数
21.7farfree()函数
21.8farma11oc()函数
21.9farrealloc()函数
21.10 free()函数
21.11freemem()函数
21.12malloc()函数
21.13realloc()函数
21.14sbrk()函数
21.15setblock()函数
第22章 目录函数
22.1ch出r0函数
22.2findfirst()和findnext()函数
22.3fnmerge()和fnsplit()函数
22.4getcurdir()函数
22.5getcwd()函数
22.6getdisk()函数
22.7mkdir()函数
22.8mktemp()函数
22.9rm出r()函数
22.10searchpath()函数
22.11setdisk()函数
22.12unlink()函数
第23章 过程控制函数
23.1abort()函数
23.2atexit()函数
23.3exec...()函数
23.4exit()和-exit()函数
23.5spawn...()函数
23.6system()函数
23.7va-start(),va-end()和va-arg()函数
第24章 字符屏幕和图形功能函数
24.1arc()函数
24.2bar()和bar3d()函数
24.3circle()函数
24.4cleardevice()和clearviewport()函数
24.5closegraph()函数
24.6clreol()和clrscr()函数
24.7cprintf()函数
24.8cputs()函数
24.9delline()函数
24.10 detectgraph()函数
24.11drawpoly()函数
24.12ellipse()函数
24.13fillellipse()函数
24.14fillpoly()函数
24.15floodfill()函数
24.16getarccoords()函数
24.17getaspectratio()函数
24.18getbkcolor()函数
24.19getcolor()函数
24.20getdefaultpalette()函数
24.21getdrivename()函数
24.22getfillpattern()函数
24.23getfillsettings()函数
24.24getgraphmode()函数
24.25getimage()函数
24.26getlinesettings()函数
24.27getmaxcolor()函数
24.28getmaxmode()函数
24.29getmaxx()和getmaxy()函数
24.30getmodename()函数
24.31getmoderange()函数
24.32getpalette()函数
24.33getpalettesize()函数
24.34getpixel()函数
24.35gettextinfo()函数
24.36gettext()函数
24.37gettextsettings()函数
24.38getvoewsettongs()函数
24.39getx()和gety()函数
24.40gotoxy()函数
24.41graphdefaults()函数
24.42grapherrormsg()函数
24.43-graphfreCmCm()和-graphgetmem()]函数
24.44graphresult()函数
24.45highvideo()函数
24.46imagesize()函数
24.47油比切明h()函数
24.48insline()函数
24.49installuserdriver()函数
24.50installuserfont()函数
24.51line(),lineto()和linerel()函数
24.521owvideo()函数
24.53moverd()函数
24.54movetext()函数
24.55moveto()函数
24.56normvideo()函数
24.57outtext()和outtextxy()函数
24.58pieslice()函数
24.59putimage()函数
24.60putpixd()函数
24.61puttext()函数
24.62rectangk()函数
24.63registerbgidriver()和registerbgifont()函数
24.64restorecrtmode()函数
24.658ector()函数
24.66setactivepage()函数
24.67setallpaktte()函数
24.68setaspectratio()函数
24.69setbkcolor()函数
24.70setcolor()函数
24.71setfillpattern()函数
24.72setfillstyle0函数
24.73setgraphbufsize()函数
24.74setgraphmode()函数
24.75setlinestyle()函数
24.76setpalette()函数
24.77setrgbpalette()函数
24.78settextjustify()函数
24.79settextstyle()函数
24.80setusercharsize0函数
24.81serviewport()函数
24.82setvisualpage()函数
24.83setwritemode()函数
24.84textattr()函数
24.85textbackground()函数
24.86textcolor()函数
24.87textheight()函数
24.88textmode()函数
24.89textwi出h()函数
24.90wherex()和wherey()函数
24.91window()函数
第25章 其他函数
25.1assert()函数
25.2atof()函数
25.3atoi()函数
25.4atol()函数
25.5bsearch()函数
25.6-clear87()函数
25.7-control87()函数
25.8出v()函数
25.9ecvt()函数
25.10fcvt()函数
25.11-fpreset()函数
25.12gcvt()函数
25.13getenv()函数
25.14itoa()函数
25.15ldiv()函数
25.16lfind()和lsearch()函数
25.17longjmp()函数
25.18ltoa()函数
25.19nosound()函数
25.20putenv()函数
25.21qsort()函数
25.22raise()函数
25.23rand()函数
25.24random()和randomize()函数
25.25setjmp()函数
25.26signal()函数
25.27sound()函数
25.28srand()函数
25.29-status87()函数
25.30strtod0函数
25.31strtol()函数
25.32strtou1()函数
25.33swab()函数
25.34ultoa()函数
第三部分 应用实例
第26章 TurboC的图形
26.1创建简单的图形——这里有颗星
26.2图形下的文本输出——给五角星刻上名字
26.3闪耀的星
26.4汉字技术
26.4.1汉字平台下的汉字显示
26.4.2西文DOS下的汉字显示
26.5具有立体感界面的制作
26.5.1立体汉字
26.5.2具有凸凹感的消息框
26.6人机界面的制作
26.6.1文本状态下的菜单
26.6.2图形状态下的菜单
26.6.3Mouse的消息响应
第27章 高级图形创意
27.1动画制作——飘动的红旗
27.2使用256色Bitmap位图——给自己的软件上封面
27.316M真彩色图象显示——高质量封面制作
27.4在高分辨率下的写点——突破VGA的限制
27.5使用你自己喜爱的颜色——用流行色装点你的软件
第28章 调用系统外部硬件资源
28.1测试显示卡能支持的分辨率和显示器的点距
28.2关于键盘的响应代码
28.3软盘驱动器中磁头的定位与调整——软驱兼容性测试
28.4关于打印机
28.4.1使用打印机内定的字体
28.4.2屏幕图形打印
28.4.3究竟是哪根针断了?———打印头断针检测
28.5使用PCSPEAKER声音编程
第29章 中断技术和串行通信
29.1中断的概念
29.2多任务操作——背景声音
29.3TSR技术——实时时钟
29.4硬件中断和串行通信
第30章 C语言用于工业自动控制系统
30.1有关信号采集——A/D转换程序
30.2控制执行机构的动作——D/A和I/O转换程序
30.3一个自动控制的实例
第31章 数据库编程
31.1数据结构——通讯录的制作
31.2使用.DBF数据库文件
附录A ANSIC与K&RC的区别
附录B 编译错误信息