资源描述:
《c语言教程 第1章》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第1章C语言基础1.1C语言概述1.2基本语法成份1.3C语言程序的结构1.4C语言程序的实现习题一1.1C语言概述1.1.1C语言的产生与发展1.C语言的产生C语言于1972年~1973年间,诞生于美国的贝尔实验室,由Denis.M.Ritchie创建。C语言的产生基于两个方面的需要。一是为满足UNIX操作系统开发的需要。UNIX操作系统是一个通用的、复杂的计算机管理系统。二是为拉近高级语言与硬件之间距离的需要。C语言集高级语言与汇编语言优点于一身。C语言面对实际应用的需要而产生,直至今日仍不改初衷
2、。2.C语言的发展1960年出现的ALGOL语言是一种面向问题的高级语言,远离硬件,不适于开发系统软件。1963年,英国剑桥大学推出CPL语言,CPL语言比ALGOL语言更接近硬件一些,但规模较大,难以实现。1969年,剑桥大学的MartinRichards对CPL语言进行简化,推出BCPL语言。1970年,贝尔实验室的KenThompson为DEC公司的PDP-7计算机上运行的一种早期UNIX操作系统设计了一种类BCPL语言,称为B语言。B语言规模小,接近硬件,1971年在PDP-11计算机上实现。BCP
3、L语言和B语言都是无类型的语言,过于简单,功能有限。1972年~1973年间,贝尔实验室的D.M.Ritchie在保留B语言优点的基础上,创建了C语言。1973年,UNIX操作系统被用C语言改写,称为UNIX第五版。最初的C语言只是一种UNIX操作系统的工作语言,依附于UNIX系统,主要在贝尔实验室内部使用。UNIX以后的第六版、第七版、SYSTEMⅢ和SYSTEMⅤ都是在第五版的基础上发展起来的。这期间C语言也被多次改进。1975年,UNIX的第六版公布,C语言开始受到人们的普遍关注。UNIX操作系统的广
4、泛使用,促进了C语言的迅速发展与普及,C语言的发展与普及反过来又促进了UNIX操作系统的推广。1978年,出现了独立于UNIX和PDP计算机的C语言,从此C语言被迅速移植到大、中、小型与微型机上。当年,B.W.Kernighan和D.M.Ritchie以UNIX第七版的C编译程序为基础,出版了影响深远的名著《TheCProgrammingLanguage》。C++语言是C语言发展的新阶段,是一种更好的C语言,是应用广泛的面向对象的程序设计语言。目前,C语言已经发展成为迄今为止最流行的计算机程序设计语言。3.
5、C语言的标准与方言C语言的广泛应用还是在不同的开发团体之间出现了问题,各机构推出了自己的C语言版本,某些执行过程的微小差别却不时引起C程序之间的不兼容。美国国家标准协会(ANSI)从1983年开始经过长达五年的努力,制定了C语言的新标准——ANSIC。现在提及C语言的标准都是指新标准。ANSIC比原标准C有很大的发展,解决了经典定义中的二义性,给出了C语言的新特点。Kernighan和Ritchie也以新标准改写了他们的经典著作。任何C程序都必须遵循ANSIC标准,本教材的主体也以ANSIC作为基础。1.1
6、.2C语言的特点(1)C语言简洁、紧凑,压缩了一切不必要的成份。(2)C语言运算丰富,将括号、赋值、强制类型转换、取变量地址等都以运算实现。(3)C语言数据类型丰富,具有现代语言的各种数据类型;用户能扩充数据类型,能够实现各种复杂的数据结构,完成各种问题的数据描述。(4)C语言是一种结构化程序设计语言,具有结构化语言所要求的三种基本结构。(5)C语言是高级语言中的低级语言。C语言允许直接访问物理地址,能进行位运算,能实现汇编语言的大部分功能,能直接对硬件进行操作。(6)C语言提供编译预处理机制,有利于大程序
7、的编写和调试。(7)C语言编译系统小,生成的目标代码质量高,程序的执行效率高。(8)C语言的输入和输出功能用库函数实现,编写的程序移植性好。(9)C语言语法限制不太严格,程序设计自由度大,对程序员要求较高。1.2基本语法成份1.2.1字符集字符是可以区分的最小符号,构成程序的原始基础。C语言字符集是ASCII字符集的一个子集,包括英文字母、数字及特殊字符:·英文字母:a~z和A~Z·数字:0~9·特殊字符:空格!#%^&*--+=~<>/|.,:;?′″()[]{}由字符集中的字符可以构成C语言进
8、一步的语法成份,如标识符、关键字、特殊的运算符等。1.2.2标识符标识符在程序中用来标识各种程序成份,命名程序中的一些实体,如变量、常量、函数、类型、标号等对象的名字。C语言规定,标识符必须以英文字母或下划线开头,是字母、数字、下划线的序列。以下是合法的标识符:i,j,k,x,c,a1,a2,op,y_1,zhou_prg,radius,prime,program,sort,max,min,prg_1,cou