- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章 C 语 言 概 述 1.1 程序设计语言的发展 1. 机器语言 机器语言是第一代计算机语言。计算机发明之初,人们只能用计算机的语言去命令计算机工作,也就是只能写出一串串由“0”和“1”组成的指令序列(程序)交由计算机执行,这种语言就是机器语言。 2. 汇编语言 为了减轻使用机器语言编程的困难,人们进行了一种有益的改进:用一些简洁的英文字母、符号串来替代一个特定指令的二进制串,比如,用“ADD”代表加法,“MOV”代表数据传递等。这样一来,人们很容易读懂并理解程序在干什么,纠错及维护也变得方便了,这种程序设计语言就是汇编语言,即第二代计算机语言。然而计算机是不认识这些符号的,这就需要一个专门的程序,负责将这些符号翻译成二进制数的机器语言,这种翻译程序被称为汇编程序。 3. 高级语言 从最初与计算机交流的痛苦经历中人们意识到,应该设计一种这样的语言:接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有的机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言——FORTRAN问世了。几十年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL /1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。 20世纪60年代中后期,软件越来越多,规模越来越大,而软件的生产基本上是各自为政,缺乏科学而规范的系统规划与测试以及评估标准,其恶果是耗费巨资建立起来的大批软件系统由于含有错误而无法使用,甚至带来巨大损失,软件给人的感觉是越来越不可靠,以致几乎没有不出错的软件。这一切极大地震动了计算机界,史称“软件危机”。人们认识到:大型程序的编制不同于写小程序,它应该是一项新的技术,应该像处理工程一样处理软件研制的全过程。程序的设计应易于保证正确性,也便于验证正确性。 1.2 C语言的发展及其特点 (1) 简洁、紧凑,使用方便、灵活。 ANSI C共有32个关键字,9种控制语句,程序书写自由,一般用小写字母表示,压缩了一切不必要的成分。C语言在表示方式上力求简单易行,如使用一对花括号“{ }”来表示复合语句的开始和结束,用赋值运算符(如?+=、-=、*=、/=?等)表示进行相应运算并且将结果赋给左值(赋值号左边的变量),等。 (2) 运算符和数据结构丰富,表达式类型多样。 C语言共有34种运算符。在C语言中,把括号、赋值号、逗号、关系运算、逻辑运算等都作为运算符处理。灵活使用各种运算符,可以实现在其他高级语言中难以实现的运算。 C语言提供了丰富的数据类型。C语言中的数据类型基本上可以分为两大类:一类是简单类型,如整型、实型、字符型等;另一类是在简单类型基础上按层次产生的各种构造类型,如数组类型、结构体类型和共用体类型等,此外还有指针类型。 利用这些数据类型,C语言能够实现各种复杂的数据结构,如线性表、链表、栈、队列、树、图等。 C语言的表达式类型多样,既提高了编译效率和目标代码的质量,又提高了程序的可读性。 (3) ?C语言是结构化的程序设计语言。 结构化语言的特点是代码与数据分离,即程序的各个部分除了必要的信息交流外彼此独立,从而使程序之间很容易实现程序段的共享。C语言提供了顺序结构、选择(分支)结构和循环结构三种基本结构语句,并以函数作为模块,实现程序的模块化设计,符合现代编程风格。 (4) 语法限制不太严格,程序设计自由度大。 C语言编译系统语法检查不太严格。例如,在C语言中对数组下标越界不进行检查,变量类型使用灵活,整型数据和字符型数据及逻辑型数据可以通用。在语法上放宽限度,在程序设计上灵活自由,相应地,检查错误的任务也就转到了编程者身上。因此,这就要求编程者在编程时要自我约束,养成良好的编程习惯。 (5) 生成目标代码质量高,程序执行效率高。 C语言具有位(bit)操作的功能,可以直接对硬件进行操作,这使得C语言既具有高级语言的所有优点,又具有低级语言的许多功能,成为所谓的“中间语言”。C语言通过对位、字节和地址进行操作,可以对硬件进行编程,并可实现汇编语言的大部分功能,具有高效率的目标代码。用C语言编写的程序生成代码的效率比用汇编语言编写的仅低10%~20%。 (6) ?C语言编写的程序可移植性好。 与汇编语言相比,C语言编写的程序基本上不做或稍做修改就可以在其他工作平台上运行,从而使开发的软件独立于具体的计算机体系结构和软件环境,达到“共用”目标,提高了软件的生产效率,节省了用户的投资。 C语言还有其他的优点,读者可以在学
文档评论(0)