如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
《C程序设计》课件第一章C语言概述第一章C语言概述l1970年美国贝尔实验室的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两人合作把UNIX的90%以上用C改写(即UNIX第5版,原来的Unix操作系统是1969年由美国的贝尔实验室的K.Thompson和D.M.Ritchie开发成功的,是用汇编语言写的)。1.2C语言的特点一种语言之所以能存在和发展,并具有生命力,总是有其不同于(或优于)其它语言的特点。C语言的主要特点如下。1.语言简洁、紧凑,使用方便、灵活。C语言一共只有32个关键字(见附录II),9种控制语句,程序书写形式自由,主要用小写字母表示,压缩了一切不必要的成分:C语言Pascal语言含义{}BEGIN…END复合语句if(e)S;IF(e)THFNS条件语句inti,VARi:INTEGER定义i为整型变量inta[10];VARa:ARRAY[1.。10]ofINTEGER定义a为整型一维数组int();FUNCTIONf():INTEGER定义f为返回整型值的函数int*p;VARP:↑INTEGER定义P为指向整型变量的指针变量i+=2;i=i+2赋值语句,使i+2→ii++,++ii=i+1i自增值1,i+1→i比较PASCAL可以看到:C程序比Pascal简练,源程序短,输入程序时工作量少。2·运算符丰富C的运算符包含的范围很广泛,共有34种运算符(见附录III)。C把括号、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型极其丰富,表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。3·数据结构丰富,具有现代化语言的各种数据结构C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。尤其是指针类型数据,使用起来比Pascal更为灵活、多样。4·具有结构化的控制语句(如if...else语句、whi1e语句、do…whi1e语句、for语句)。用函数作为程序模块以实现程序的模块化。是结构化的理想语言,符合现代编程风格要求。5..语法限制不大严格,程序设计自由度大.例如,对数组下标越界不作检查,由程序编写者自己保证程序的正确。对变量的类型使用比较灵活,例如,整型量与字符型数据以及逻辑型数据可以通用,一般的高级语言语法检查比较严,能检查出几乎所有的语法错误。而C语言允许程序编写者有较大的自由度,因此放宽了语法检查。程序员应当仔细检查程序,保证其正确,而不要过分依赖C编译程序去查错。“限制”与“灵活”是一对矛盾。限制严格,就失去灵活性;而强调灵活,就必然放松限制。一个不熟练的人员,编一个正确的C程序可能会比编一个其它高级语言程序难一些。也就是说,对用C语言的人,要求对程序设计更熟练一些。6.C语言允许直接访问物理地址能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作,因此C既具有高级语言的功能,又具有低级语言的许多功能,可用来写系统软件。C语言的这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言。有人把C称为“高级语言中的低级语言”,也有人称它为“中级语言”意为兼有高级和低级语言的特点。7.生成目标代码质量高,程序执行效率高。一般只比汇编程序生成的目标代码效率低10~20%。8.用C语言写的程序可移植性好(与汇编语言比)。基本上不作修改就能用于各种型号的计算机和各种操作系统。上面我们只介绍了C语言的最容易理解的一般特点,至于C语言内部的其它特点将结合以后各章的内容作介绍。由于C语言的这些优点,使C语言应用面很广。许多大的软件都用C编写,这主要是由于C的可移植性好和硬件控制能力高,表达和运算能力强。许多以前只能用汇编语言处理的问题现在可以改用C语言来处理了。1.3简单的C程序介绍下面先介绍几个简单的C程序,然后从中分析C程序的特性。[例1.1]/*Example1.1*/main(){printf("Th