C语言讲稿
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章 C 程序概述
人与计算机交换信息是要用语言来交流的,这种语言称为计算机
语言。用计算机语言编写的代码称为程序。计算机的工作是受程
序控制的,而从计算机角度来说,程序是用某种计算机能理解并
执行的计算机语言来描述解决问题的方法步骤。
程序设计语言经历了从机器语言、汇编语言到高级语言这样一个
发展过程。
1.机器语言:计算机刚诞生时,还没有可以用来方便地指
挥计算机工作的程序,计算机程序是直接用它能识别的二进
制指令来书写的。这种程序设计语言就是机器语言。它直接
以计算机硬件产生作用的,所以不同型号的计算机的“机器
语言”又不一样,因此它被称为低级语言,很难被人掌握,
只有少数专业人员能使用。
2.汇编语言:实际上是一种符号化的机器语言。在汇编语
言中每条机器指令对应一个符号化的指令。如:用ADD代表
机器二进制的加法运算。因为加法用二进制的10110110的机
器语言代表,而用英文单词更简捷且好记多了。不过,用汇
编语言编写的程序要翻译成机器语言才能被计算机执行。且
也依赖于机器。
3.高级语言:由于汇编语言和机器语言都是面向机器的语
言,而且在程序的书写形式上很难直观地反映出程序设计者
的思路,因此人们发明了与人类的自然语言非常接近的高级
程序设计语言。高级语言不仅易学,易用,而且写出的程序
更加简练,同一个程序还可以用在不同型号的机器上。比如
说,我们要求两个数的和,在高级语言中可以用一个很简单
的语句C=A+B;来表示,但在汇编语言或者机器语言中,这
可能就是几条甚至几十条机器指令构成的一个实现加法的程
序,常人要读懂它也不是那么容易。
但是,用高级语言编写的程序不能被计算机直接理解和执行,而
必须先由这种语言的编译程序或者解释程序翻译成机器指令,然
后再让计算机执行机器指令。
C语言的历史
20世纪70年代初期出现的FORTRAN,ALGOL和PASCAL
语言是反映了结构化程序设计思想的高级语言,PASCAL它在
大学和研究所中流传较广曾为国内外计算机(应用)专业学生的
入门语言。
几乎同时与之诞生的C语言在美国的贝尔实验室中诞生,与
其它语言不同的是,C语言诞生之时,没有什么研究报告和语言
报告,而是在设计Unix操作系统时不断地得到更新和完善。因
此,人们把C语言程序称为程序员设计的语言,而把FORTRAN,
ALGOL和PRASCAL语言称为计算机科学家设计的语言。
Unix的早期版本是用汇编语言写的,而用C编写的Unix原
先的版本更易于理解、修改的扩充,更重要的是,具有良好的可
移植性。作为一个优秀的操作系统,Unix在世界范围内得到了
广泛的应用,它的设计者因此于是1983年获得了计算机科学的
最高奖——图灵奖。C语言是一门极具有生命力的程序设计语
言。由于C语言同时具有一些低级语言的特性,所以许多人把C
语言称为中级语言。要使用Unix,就必须掌握C语言,渐渐地
C语言已不完全依赖于Unix,成为程序员的首选语言之一,在
国内,许多高校将C语言作为第一门程序设计语言开设
1978年,贝尔实验室的 B.W.Kernighan和 D.M.Ritchie(简称
K&R)出版了“THE C PROGRAMMING LANGUAGE”一书,
建立了所谓的C语言的K&R标准,它一度成为C语言的事实
标准。目前,美国国家标准学会已对C语言标准化,称为ANSI
C 标准。ANSI C 标准和K&R标准是有一些差别的,本课程
是以ANSI C 标准为主再加上Borland公司Turbo C2.0的一
些扩充。
C语言本身也在发展,20世纪80年代中期,出现了面向对象的
程序设计的概念。贝尔实验室的 B.stroustrup博士借鉴了
Simula67中的类的概念。将面向对象的语言成份引入到C语言
中,设计出了C++语言,C++语言赢得了广大程序员喜爱,不同
的机器不同的系统几乎都支持C++语言,同时,C++语言也得到
了国际标准化组织(ISO)的认可。C/C++语言对新的形成的语
言也有较大的影响力。20世纪90年代中期以来,Internet日益
普及,用于Internet开发的JA V A语言渐为人们所熟知,事实上,
JA V A语言与C++语言极为相似,熟悉C++语言的程序员在很短
的时间内就能掌握JA V A。
C语言的特点:C 语言是目前最流行的、也是最优秀的
一种高级程序设计语言。它于1972年在美国的贝尔实验室问世,
后来历经发展和完善。它不仅具有高级语言的易学、易用、可移
植性强等优点,而且具有低级语言的执行效率高、可对硬件直接
进行操作等优点受到了广大计算机应用人员的喜爱,同时C语
言几乎任何一种机型、任何一种操作系统都支持C语言的开发。
总的来说,C语言具有以下几方面的特点:
1.比其它高级语言更接近硬件,比低级语言更接近算法,程序
易编、易读、易查错、易修改。可以说兼有高级语言和低级
语言的优点,允许直接对位、字节和地址进行操作。
2.数据类型和运算符十分丰富,程序设计和算法描述更为简单
和方便。
3.语法结构十分简单,语句数目少,简单易学。
4.C语言是面向结构化程序设计的语言,提供了完整的程序控
制语句(选择语句和循环语句),很适合结构化的程序设计方
法,生成的目标代码质量高。
5.它是一种模块化程序设计语言,适合大型软件的研制和调试。
它提供了大量的库函数供调用,简化了程序设计工作。