本书介绍了C语言编程的方法与技巧。
本书由50讲组成,共分七大部分内容,第一部分主要讲解了C语言编程的基础知识,第二部分讲解了输入、输出以及磁盘文件系统,这两部分内容读者应着重学习,第三部分在讲解C语言图形库函数的基础上,演示了弹出式菜单、下拉式菜单和键盘绘图编程的大致方法,第四部分讲述了在Windows环境下C语言的编程风格和应用程序设计方法,第五部分在了解数据的基础知识的基础上,通过实例讲解了利用C语言来实现数据库的加密、解密操作广以及操作Foxbase等数据库文件,第六部分讲述了C语言在网络方面的应用,包括串行通讯、TCP/IP和公共网关接口(CGl),第七部分讲述了链表、栈、队列和二叉数等多种数据结构的C语言实现,C语言与汇编语言程序的接口,内存驻留程序设计的方法以及常见编译错误的中英文对照和处理方法。
本书内容丰富、新颖,实用性强,可作为初、高等院校师生学习C语言参考书,C语言培训班的首选教材,C语言爱好者的自学参考读物。
第0讲预备知识
0.1C语言的特点
0.2C语言的开发环境
第1讲变量、常量、运算符和表达式
1.1背景知识
1.2范例
1.3本讲总结
第2讲结构化编程基础
2.1背景知识
2.2范例
2.3本讲总结
第3讲判断选取控制和分支控制结构
3.1背景知识
3.2范例
3.3本讲总结
第4讲简单循环控制结构
4.1背景知识
4.2范例
4.3本讲总结
第5讲复杂循环控制结构
5.1背景知识
5.2范例
5.3本讲总结
第6讲子过程与函数过程
6.1背景知识
6.2范例
6.3本讲总结
第7讲函数的嵌套调用
7.1背景知识
7.2范例
7.3本讲总结
第8讲函数的递归调用
8.1背景知识
8.2范例
8.3本讲总结
第9讲函数的作用域规则
9.1背景知识
9.2范例
9.3本讲总结
第10讲一维数组
10.1背景知识
10.2范例
10.3本讲总结
第11讲二维数组和多维数组
11.1背景知识
11.2范例
11.3本讲总结.;
第12讲字符数组
12.1背景知识
12.2范例
12.3本讲总结
第13讲数组应用实例
13.1背景知识
13.2范例
13.3本讲总结
第14讲字符串的基本知识
14.1背景知识
14.2范例
14.3本讲总结
第15讲字符串应用实例
15.1背景知识
15.2范例
15.3本讲总结
第16讲指针
16.1背景知识
16.2范例
16.3本讲总结
第17讲指针和数组
17.1背景知识
17.2范例
17.3本讲总结
第18讲指针和字符串
18.1背景知识
18.2范例
18.3本讲总结
第19讲函数和指针
19.1背景知识
19.2范例
19.3本讲总结
第20讲指针的指针
20.1背景知识
20.2范例
20.3本讲总结
第21讲结构、联合、枚举
21.1背景知识
21.2范例
21.3本讲总结
第22讲日期与时间
22.1背景知识
22.2范例
22.3本讲总结
第23讲位与字节
23.1背景知识
23.2范例
23.3本讲总结
第24讲编译预处理
24.1背景知识
24.2范例
24.3本讲总结
第25讲动态分配
25.1背景知识
25.2范例
25.3本讲总结
第26讲控制台UO
26.1背景知识
26.2范例
26.3本讲总结
第27讲缓冲文件系统
27.1背景知识
27.2范例
27.3本讲总结
第28讲非缓冲文件系统
28.1背景知识
28.2范例
28.3本讲总结
第29讲常用图形和屏幕函数
29.1背景知识
29.2范例
29.3本讲总结
第30讲编写弹出式菜单
30.1背景知识
30.2范例
30.3本讲总结
第31讲编写下拉式菜单
31.1背景知识
31.2范例
31.3本讲总结
第32讲利用键盘绘图
32.1背景知识
32.2范例
32.3本讲总结
第33讲实现BMP图像的显示
33.1背景知识
33.2范例
33.3本讲总结
第34讲渐入、渐出的屏幕显示方法
34.1背景知识』
34.2范例!
34.3本讲总结
第35讲WINDOWS中C语言编程
35.1背景知识二
35.2范例
35.3本讲总结
第36讲创建WINDOWS实例
程序GENERIC
36.1背景知识
36.2范例
36.3本讲总结
第37讲FOXBASE数据库加密
37.1背景知识
37.2范例
37.3本讲总结
第38讲C与FOXBASE的接口
38.1背景知识
38.2范例
38.3本讲总结
第39讲用TURBOC直接读取
FOXPRO方法
39.1背景知识
39.2范例
39.3本讲总结
第40讲串行通信
40.1背景知识
40.2范例
40.3本讲总结
第41讲用SOCKETS实现网络实时通信
41.1背景知识
41.2范例
41.3本讲总结
第42讲CGI应用程序
42.1背景知识
42.2范例
42.3本讲总结
第43讲数据结构的基本概念
43.1背景知识
43.2范例
43.3本讲总结
第44讲链表的C语言表示
44.1背景知识
44.2范例
44.3本讲总结
第45讲栈、队列的C语言表示
45.1背景知识
45.2范例
45.3本讲总结
第46讲二叉数的C语言表示
46.1背景知识
46.2范例
46.3本讲总结
第47讲C与汇编语言的接口
47.1背景知识
47.2范例
47.3本讲总结+
第48讲内存驻留程序设计
48.1背景知识
48.2范例
48.3本讲总结
第49讲图形模式下显示汉字
49.1背景知识
49.2范例
49.3本讲总结
第50讲C语言编程规范
50.1背景知识
50.2范例
50.3本讲总结
C语言是国际上广泛流行的、很有发展前途的计算机高级语言。它适合于作为系统描述语言,既可用来编写系统软件,也可用来编写应用软件。
早期的操作系统等系统软件主要是用汇编语言编写的(包括UNIX操作系统在内)。由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都比较差。为了提高可读性和可移植性,最好改用高级语言,但一般的高级语言难以实现汇编语言的某些功能(汇编语言可以直接对硬件进行操作),例如:对内存地址的操作、位操作等。人们设想能否找到一种既具有一般高级语言特性,又具有低级语言特性的语言,集它们的优点于一身。于是,C语言就在这种情况下应运而生了。
C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL60。1960年出现的ALGOL60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序。1963年英国的剑桥大学推出了CPL(CombinedProgrammingLanguage)语言。CPL语言在ALGOL印的基础上接近了硬件一些,但规模比较大,难以实现。1967'年英国剑桥大学的MatinRichards对CPL语言作了简化,推出了BCPL(:BasicCombinedProgrammingLanguage)语言。1970年美国贝尔实验室的KenThompson以BCPL语言为基础,又作了进一步简化,设计出了很简单的而且很接近硬件的B语言(取BCPL的第一个字母),并用B语言写第一个UNIX操作系统,在PDP-7上实现。1971·年在PDP-11/20上实现了B语言,并写了UNIX操作系统。但B语言过于简单,功能有限。1972年至1973年间,贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言(取BCPL的第二个字母)。C语言既保持了BCPL和B语言的优点(精练、接近硬件),又克服了它们的缺点(过于简单、数据无类型等)。最初的C语言只是为描述和实现UNIX.操作系统提供一种工作语言而设计韵。1973年,K.Thompson和D.M.ritchie两人合作把UNIX90%以上代码用C改写(UNIX第5版。原来的UNIX操作系统是1969年由美国的贝尔实验室的K.Thompson和D.M.Ritchie开发成功的,是用汇编语言写的)。
后来,C语言多次作了改进,但主要还是在贝尔实验室内部使用。直到1975年UNIX.第6版公布后,C语言的突出优点才引起人们普遍注意。1977年出现了不依赖于具体机器的C语言编译文本《可移植C语言编译程序》,使C移植到其他机器时所做的工作大大简化了,这也推动了UNIX操作系统迅速地在各种机器上实现。例如,VAX,AT&T等计算机系统都相继开发了UNIX。随着UNIX的日益广泛使用,C语言也迅速得到推广。C语言和UNIX可以说是一对孪生兄弟,在发展过程中相辅相成。1978年以后,C语言已先后移植到大、中、小、微型机上,已独立于UNIX和PDP了。现在C语言已风靡全世界,成为世界上应用最广泛的几种计算机语言之一。
以1978年发表的UNIX第7版中的C编译程序为基础,Brian W.Kemighan和DennisM.Ritchie(合称K&R)合著了影响深远的名著((TheCProgrammingLanguage)),这本书中介绍的C语言成为后来广泛使用的C语言版本的基础,它被称为标准C。1983年,美国国家标准化协会(ANSl)根据C语言问世以来各种版本对C的发展和扩充,制定了新的标准,称为ANSIC。ANSIC比原来的标准C有了很大的发展。K&R在1988年修改了经典著作((TheCProgrammingLanguage)),按照ANSIC的标准重新写了该书。1987年,ANSIC又公布了新标准--87ANSIC。目前流行的C编译系统都是以它为基础的。
本书的体系结构是针对初中层次读者特点精心安排的。本书在讲解C语言的基础上,主要着重于对实例的分析和讲解,在每一讲都包含:1~2个范例,范例主要是针对每一讲的要点和难点而编写的,其中一些范例实用性很强。读者在阅读完每讲的基础知识后,可以通过范例进一步掌握所学内容,加深理解。为了读者学习方便,本书附送光盘上包含所有的范例源代码,源代码全部都在TurboC调试通过。
本书共分七大部分,第一部分,主要讲解了C语言编程的基础知识,第二部分讲解了输入、输出以及磁盘文件系统,这两部分内容读者应着重学习,第三部分在讲解C语言图形库函数的基础上,演示了弹出式菜单、下拉式菜单和键盘绘图编程的大致方法,第四部分讲述了在Windows环境下C语言的编程风格和应用程序设计方法,第五部分在了解数据的基础知识的基础上,通过实例讲解了利用C语言来实现数据库的加密、解密操作,以及操作Foxbase等数据库文件,第六部分讲述了C语言在网络方面的应用,包括串行通讯、TCP/IP和公共网关接口(CGl),第七部分讲述了链表、栈、队列和二叉数等多种数据结构的C语言实现,C语言与汇编语言程序的接口,内存驻留程序设计的方法,以及常见编译错误的
中英文对照和处理方法。
本书不要求读者具有专门的计算机专业知识的基础,完全能够学习并掌握C语言的基本内容。对于已经初步学习过C语言的读者来说,可以直接从第三部分开始阅读。对于C语言的高级开发,如图形、图像、网络、数据库等,会涉及到汇编语言和DOS操作系统的中断和功能调用,请读者另行参考其他相关书籍。
本书由任志宏、程超组织编写,其他参与本书部分编写、录排、审核等工作的人员还有:李韵、翁颖钧、万英、罗曼莉、任宇斌、崔卓、李春明、周莹、赖擎、于自跃、韩存兵、张巧莉、张莉、田野、刘晨宏、龚建、龚志翔、季宁、胡方霞、李正希、陈发吉、周树成、陈博、张德强、黄司渭、温尚清、夏兵等。龚超同志对全稿进行复审。在此还要感谢北京希望电子出版社的周凤明编辑,周老师的辛勤劳动使本书质量更上一层楼!
由于时间仓促,且经验和水平有限,文中难免有不妥之处,我们殷切地期望读者能给我们提出中肯的意见,以便于提高水平,把更好的图书呈现给大家!