C语言程序设计ppt课件 .pptx
《C语言程序设计ppt课件 .pptx》由会员分享,可在线阅读,更多相关《C语言程序设计ppt课件 .pptx(88页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、参考书参考书KR“C PROGRAMMING LANGUAGE”课时安排课时安排理论课理论课 :32学时学时上机上机训练:训练:16学时学时考核成绩考核成绩平时考勤平时考勤10%,上机报告,上机报告20%,期末考试,期末考试70%参考书与课时安排课程要求课后请复习课后请复习保持课堂安静,积极回答问题保持课堂安静,积极回答问题认真、独立、按时完成并提交作业认真、独立、按时完成并提交作业重视上机实践,有效利用上机时间重视上机实践,有效利用上机时间第一章 C语言概述nC语言发展历史nC语言基本特点nC语言程序结构n编译和运行程序n1.1 C语言发展历史程序设计语言的发展机器语言汇编语言高级语言面向过
2、程(C)面向对象(C+)CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A,B面向机器的语言程序设计是数据被加工的过程程序设计关键是定义类,并由类派生对象冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPU 高级语言高级语言n面向开发者的语言面向开发者的语言n以接近人类语言的形式来表现:以接近人类语言的形式来表现:n具有具有标识符标识符,关键字关键字,数据类型数据类型等,按一等,按一定的规则组成程序代码,便于开发和维护,定的规则组成程序代码,便于开发和维护,可读和开发性大大增强。可
3、读和开发性大大增强。C语言的发展史n1972年年 美国贝尔实验室的美国贝尔实验室的Dennis.M.Ritchie 设计出设计出C语言,并语言,并用其将用其将UNIX系统全部改写并实现。系统全部改写并实现。nC语言的设计目的是为描述和实现语言的设计目的是为描述和实现UNIX操作系统提供一种工具语言操作系统提供一种工具语言n由于语言的强大功能和良好的可移由于语言的强大功能和良好的可移植性,植性,C语言先后被移植到各种大、中、语言先后被移植到各种大、中、小和微型计算机上,并得到了广泛的小和微型计算机上,并得到了广泛的使用,成为当代最优秀的程序设计语使用,成为当代最优秀的程序设计语言之一。言之一。C
4、语言的前生n1960年出现的年出现的Algol 60,它是一种面向问题的高级语言,它是一种面向问题的高级语言,离硬件比较远,不适合用来编写系统程序。离硬件比较远,不适合用来编写系统程序。n1963年英国剑桥大学推出了年英国剑桥大学推出了“组合编程语言组合编程语言”(Combined Programming Language,CPL),它),它在在Algol 60的基础上更接近于硬件,但规模较大,难以实的基础上更接近于硬件,但规模较大,难以实现。现。n因此,因此,1967年剑桥大学的年剑桥大学的Matin Richards对对CPL进行了进行了简化,提出了简化,提出了BCPL(Basic Com
5、bined Programming Language)语言。)语言。u一切从一个叫一切从一个叫“Space Travel”的电的电子游戏开始子游戏开始C语言的创世纪语言的创世纪n1963年,美国麻省理工学院年,美国麻省理工学院MIT、贝尔实验室和通用电器公司决定联合、贝尔实验室和通用电器公司决定联合开发一个操作系统开发一个操作系统MULTICS,其设计目标是,其设计目标是“公用计算服务系统公用计算服务系统”。n那时,计算机还很昂贵,主要是安装在一些政府部门、企业和科研机构,那时,计算机还很昂贵,主要是安装在一些政府部门、企业和科研机构,一般的家庭买不起,但有时人们又想使用计算机来完成一些计算任
6、务。一般的家庭买不起,但有时人们又想使用计算机来完成一些计算任务。所以该项目的出发点是想提供一种计算服务,所以该项目的出发点是想提供一种计算服务,n在城市里布置一台计算机主机,然后用户在自己的家里,使用终端并且在城市里布置一台计算机主机,然后用户在自己的家里,使用终端并且通过电话线来接入这台主机。终端很便宜,只有显示器、键盘和通信模通过电话线来接入这台主机。终端很便宜,只有显示器、键盘和通信模块,每个家庭都买得起,他们使用终端来连接计算机,然后像使用水、块,每个家庭都买得起,他们使用终端来连接计算机,然后像使用水、电、煤气等生活资源那样来使用这台计算机的计算资源,并缴纳相应的电、煤气等生活资源
7、那样来使用这台计算机的计算资源,并缴纳相应的费用。费用。n这样一来,在主机上必须运行一个操作系统,来对整个系统的资源进行这样一来,在主机上必须运行一个操作系统,来对整个系统的资源进行管理。管理。nMULTICS系统非常庞大、复杂,它的研制难度远远超出系统非常庞大、复杂,它的研制难度远远超出了人们的预料,因此,贝尔实验室和通用电器公司先后退了人们的预料,因此,贝尔实验室和通用电器公司先后退出了这个项目。出了这个项目。n1969年,当贝尔实验室退出该项目后,它的一个研究员年,当贝尔实验室退出该项目后,它的一个研究员Ken Thompson在在MULTICS操作系统上编写了一个名为操作系统上编写了一
8、个名为“太空旅行太空旅行”(space travel)的游戏,模拟了一个飞行)的游戏,模拟了一个飞行员驾驶着一艘宇宙飞船在太阳系中遨游,并在各个星体上员驾驶着一艘宇宙飞船在太阳系中遨游,并在各个星体上着陆。着陆。n后来,由于无法继续访问后来,由于无法继续访问MULTICS操作系统,他就在贝操作系统,他就在贝尔实验室里找了一台没有人使用的尔实验室里找了一台没有人使用的PDP-7计算机,想把游计算机,想把游戏程序移植到这台机器上。戏程序移植到这台机器上。n但是,当时计算机硬件所能执行的都是用机器语言来描述但是,当时计算机硬件所能执行的都是用机器语言来描述的指令,而对于不同类型的计算机来说,它们的机
9、器语言的指令,而对于不同类型的计算机来说,它们的机器语言是不一样的,所以在是不一样的,所以在MULTICS系统上运行的程序,不能系统上运行的程序,不能直接把它搬到直接把它搬到PDP-7这种类型的计算机上去运行。这种类型的计算机上去运行。n因此,因此,Thompson就和贝尔实验室的另外一名研究员就和贝尔实验室的另外一名研究员Dennis Ritchie,他们两个人一起,在另外一台,他们两个人一起,在另外一台GE-635计算机上,利用它的操作系统,即计算机上,利用它的操作系统,即GECOS所提供的一个所提供的一个交叉汇编器,把空间旅行游戏用交叉汇编器,把空间旅行游戏用PDP-7的汇编语言重新编的
10、汇编语言重新编写了一遍,并且生成写了一遍,并且生成PDP-7的机器语言指令,然后用穿孔的机器语言指令,然后用穿孔纸带的形式把它转移到了纸带的形式把它转移到了PDP-7上面,这样,就可以玩了。上面,这样,就可以玩了。nQuestion:为什么不直接在为什么不直接在PDP-7这台计算机上编程呢,而需要使用这台计算机上编程呢,而需要使用第三台机器第三台机器GE635呢?呢?n原因很简单,这台原因很简单,这台PDP-7计算机之所以没人来用,是因为它是一台计算机之所以没人来用,是因为它是一台光光秃秃秃秃的计算机,只有硬件而没有任何软件,连汇编程序都没有,这样,的计算机,只有硬件而没有任何软件,连汇编程序
11、都没有,这样,人们就没有办法在上面编程,如果实在想编程的话,只能直接使用机人们就没有办法在上面编程,如果实在想编程的话,只能直接使用机器语言。但机器语言都是一些器语言。但机器语言都是一些0、1字符串,太难懂了,所以没有人愿字符串,太难懂了,所以没有人愿意使用它。意使用它。n Question:为什么为什么PDP-7计算机只是硬件没有软件?计算机只是硬件没有软件?n当时,计算机水平还很落后,很多研究小组申请项目研制计算机,仅当时,计算机水平还很落后,很多研究小组申请项目研制计算机,仅仅是针对硬件架构,当计算机做好后,测试性能后项目组的任务就完仅是针对硬件架构,当计算机做好后,测试性能后项目组的任
12、务就完成了,然后再研制更新的计算机。成了,然后再研制更新的计算机。n如果有需要,则用机器语言编写程序,然后在纸带上打上孔,让计算如果有需要,则用机器语言编写程序,然后在纸带上打上孔,让计算机读入(有孔、无孔,分别代表机读入(有孔、无孔,分别代表1、0)。Question:为什么不直接在为什么不直接在GE635上玩游戏呢?上玩游戏呢?答案:一个字,答案:一个字,“贵贵”,两个字,两个字“很贵很贵”,三个字,三个字“非常贵非常贵”玩一小时游戏花费玩一小时游戏花费75美元(当时价值美元(当时价值25桶石油桶石油,现在按现在按70美元美元/桶石油算,约桶石油算,约5250美元)。美元)。n后来,后来,
13、Thompson觉得这台觉得这台PDP-7计算机空在那里有点可计算机空在那里有点可惜,所以就和惜,所以就和Ritchie等人开始为它编写一个新的操作系等人开始为它编写一个新的操作系统,也就是说,在硬件的基础上,再给它增加一些软,这统,也就是说,在硬件的基础上,再给它增加一些软,这样,这台机器就能够用起来,就能做更多的事情。样,这台机器就能够用起来,就能做更多的事情。n他们先是写好了这个操作系统的文件系统和一组基本的软他们先是写好了这个操作系统的文件系统和一组基本的软件工具,然后再编写了一个件工具,然后再编写了一个PDP-7汇编语言的编译器。有汇编语言的编译器。有了这些软件工具后,就能直接在了这
14、些软件工具后,就能直接在PDP-7上编程了。上编程了。n到了到了1970年,这个操作系统的基本元素都已经完成了,他年,这个操作系统的基本元素都已经完成了,他们给系统起了一个名字,也就是们给系统起了一个名字,也就是UNIX。n到了到了1970年的夏季,研究小组得到了一台新的、功能更强大的机器年的夏季,研究小组得到了一台新的、功能更强大的机器PDP-11,因此需要把,因此需要把UNIX系统从系统从PDP-7移植到移植到PDP-11上面去上面去n这项工作非常的烦琐,因为整个系统都是用汇编语言来编写的,需要这项工作非常的烦琐,因为整个系统都是用汇编语言来编写的,需要把每一条把每一条PDP-7汇编语言指
15、令都转换为相应的汇编语言指令都转换为相应的PDP-11汇编语言指令,汇编语言指令,工作量非常大。工作量非常大。n更重要的是,这种移植工作是一次性的,如果以后又来了一台新的机更重要的是,这种移植工作是一次性的,如果以后又来了一台新的机器,那么整个移植工作又得重新来过,所以这是一个很大的问题。器,那么整个移植工作又得重新来过,所以这是一个很大的问题。n为解决这个问题呢?研究小组就开始考虑用某种高级语言来重写整个为解决这个问题呢?研究小组就开始考虑用某种高级语言来重写整个系统,以提高系统的可移植性和可懂性。系统,以提高系统的可移植性和可懂性。nThompson为了提高为了提高UNIX操作系统的可移植
16、性,想要用某种高操作系统的可移植性,想要用某种高级语言来重写整个系统。但是采用哪一种高级语言来做这件事级语言来重写整个系统。但是采用哪一种高级语言来做这件事呢?他的想法是自己去设计一种高级语言。呢?他的想法是自己去设计一种高级语言。n他以他以BCPL语言为基础,又作了进一步的简化,设计出很简单语言为基础,又作了进一步的简化,设计出很简单而且很接近硬件的而且很接近硬件的B语言,这个名称取自于语言,这个名称取自于BCPL的第一个字母。的第一个字母。n但是但是B语言过于简单,是一种没有数据类型的语言,功能很有语言过于简单,是一种没有数据类型的语言,功能很有限。因此,当他试图用限。因此,当他试图用B语
17、言来重写语言来重写UNIX操作系统时,效果并操作系统时,效果并不太好。不太好。n到了到了1972年,年,Ritchie在在B语言的基础上又设计出了语言的基础上又设计出了C语言,语言,这个名称取自于这个名称取自于BCPL的第二个字母。的第二个字母。nC语言既保持了语言既保持了BCPL和和B语言的精炼、接近硬件等优点,语言的精炼、接近硬件等优点,又克服了它们过于简单、数据无类型等缺点,所以很快就又克服了它们过于简单、数据无类型等缺点,所以很快就成为研究小组内部的首选编程语言。成为研究小组内部的首选编程语言。n后来,后来,Ritchie和和Thompson两个人合作,把整个两个人合作,把整个UNIX
18、系系统用统用C语言重新写了一遍,这样,以后再需要移植的时候,语言重新写了一遍,这样,以后再需要移植的时候,就方便多了,大部分的系统代码都无需改动。就方便多了,大部分的系统代码都无需改动。n1977年,出现了不依赖于具体机器的年,出现了不依赖于具体机器的C语言编译器,使得语言编译器,使得把一个把一个C程序从一台机器移植到另一台机器上所需要的工程序从一台机器移植到另一台机器上所需要的工作大大地简化了,这就推动了作大大地简化了,这就推动了UNIX操作系统迅速地在各操作系统迅速地在各种类型的机器上得以实现。种类型的机器上得以实现。n反过来,随着反过来,随着UNIX系统日益广泛的使用,系统日益广泛的使用
19、,C语言也得到了语言也得到了迅速地推广。所以说,迅速地推广。所以说,C语言和语言和UNIX系统关系非常密切,系统关系非常密切,在发展过程中它们是相辅相成的。在发展过程中它们是相辅相成的。C语言的发展史告诉我们:语言的发展史告诉我们:1)游戏是推动计算机软件技术发展)游戏是推动计算机软件技术发展的重大推动力!的重大推动力!2)玩游戏是很耗钱或费时间的。)玩游戏是很耗钱或费时间的。3)适量游戏有助于身心健康,并能)适量游戏有助于身心健康,并能极大促进电脑水平的提高。极大促进电脑水平的提高。Ritchie和Thompson在开发UNIX很贵的游戏机,绝对的很贵的游戏机,绝对的“发烧级发烧级”接受美国
20、国家技术勋章接受美国国家技术勋章游戏玩家游戏玩家的终极梦的终极梦想想传说中的传说中的神器,声神器,声望望100,000Thompson(左)和(左)和Ritchie(中)于(中)于1999年接受当时美国年接受当时美国总统克林顿授予的国家技术勋章总统克林顿授予的国家技术勋章n一九七八年由美国电话电报公司一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发贝尔实验室正式发表了语言。表了语言。nB.W.Kernighan和和D.M.Ritchit合著了著名的合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为一书。通常简称为K&R,也有人称之为,也有人称之为K&R
21、标准。标准。n但是,在但是,在K&R中并没有定义一个完整的标准中并没有定义一个完整的标准C 语言,语言,后来由美国国家标准协会(后来由美国国家标准协会(American National Standards Institute)在此基础上制定了一个)在此基础上制定了一个C 语言标准,语言标准,于一九八三年发表。通常称之为于一九八三年发表。通常称之为ANSI C。C 语言标准语言标准语言版本 n 目前最流行的语言有以下几种:目前最流行的语言有以下几种:n Microsoft C 或称或称 MS Cn Borland Turbo C 或称或称 Turbo Cn AT&T Cn这些语言版本都实现了这
22、些语言版本都实现了ANSI C标准,并在此标准,并在此基础上各自作了一些扩充,使之更加方便、完基础上各自作了一些扩充,使之更加方便、完美。美。n我们学习的是我们学习的是Turbo CC语言的基本特点:n1、C语言被称为语言被称为“高级语言中的低级语言高级语言中的低级语言”,这样说不是指它的,这样说不是指它的功能差或难于使用,而是指它功能差或难于使用,而是指它 具有许多汇编语言等低级语言才具具有许多汇编语言等低级语言才具备的功能,备的功能,n C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。大部
23、分功能,可以直接对硬件进行操作。n 所以所以C语言在系统设计十分有效,过去系统软件只能用汇编语言编语言在系统设计十分有效,过去系统软件只能用汇编语言编写,使用写,使用C语言可以减轻程序的负担,提高效率,写出来程序也更语言可以减轻程序的负担,提高效率,写出来程序也更具有可移植性。具有可移植性。计算机的层次硬件(硬件(Hardware)操作系统(操作系统(OS)应用程序应用程序(Application)应用应用应用应用平台平台平台平台基于基于基于基于平台的平台的平台的平台的应用应用应用应用程序程序程序程序低级语言低级语言低级语言低级语言的地盘的地盘的地盘的地盘高级语言高级语言高级语言高级语言的地盘
24、的地盘的地盘的地盘C C语语语语言言言言的的的的地地地地盘盘盘盘C语言的基本特点:n2、C语言简洁、紧凑,使用方便、灵活。语言简洁、紧凑,使用方便、灵活。ANISC语言只有语言只有32个关健字,个关健字,9种控制语句。我们学习的种控制语句。我们学习的TC扩充了扩充了11个关键字,一共也才个关键字,一共也才43个关键字。个关键字。C语言的基本特点:n3、运算符丰富。共有、运算符丰富。共有34种。种。C把括号、赋值、逗号等都把括号、赋值、逗号等都作为运算符处理。从而使作为运算符处理。从而使C的运算类型极为丰富,可以实的运算类型极为丰富,可以实现其他高级语言难以实现的运算。现其他高级语言难以实现的运
25、算。n4、具有结构化的控制语句。、具有结构化的控制语句。n5、语法限制不太严格,程序设计自由度大。、语法限制不太严格,程序设计自由度大。n6、生成目标代码质量高,程序执行效率高。、生成目标代码质量高,程序执行效率高。C语言的基本特点:语言的基本特点:n7、与汇编语言相比,用、与汇编语言相比,用C语言写的程序可移植性好。语言写的程序可移植性好。n8、C语言是程序员的语言,是为专业程序员设计的语言,它实现了程语言是程序员的语言,是为专业程序员设计的语言,它实现了程序员的期望:很少限制,程序设计自由度大,方便的控制结构,独立序员的期望:很少限制,程序设计自由度大,方便的控制结构,独立的函数,紧凑的关
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计ppt课件 语言程序设计 ppt 课件
限制150内