C语言程序设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言程序设计课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课件
- 资源描述:
-
1、语言程序设计:参考书参考书 “ ”课时安排课时安排理论课理论课 :学时:学时上机训练:学时上机训练:学时考核成绩考核成绩平时考勤,上机报告,期末考试平时考勤,上机报告,期末考试参考书与课时安排课程要求课后请复习课后请复习保持课堂安静,积极回答问题保持课堂安静,积极回答问题认真、独立、按时完成并提交作业认真、独立、按时完成并提交作业重视上机实践,有效利用上机时间重视上机实践,有效利用上机时间第一章 语言概述n语言发展历史n语言基本特点n语言程序结构n编译和运行程序n 语言发展历史n程序设计语言的发展机器语言汇编语言高级语言面向过程(C)面向对象(C+)指令系统,由、序列构成的指令码组成如: 加
2、减用助记符号描述的指令系统如 , 面向机器的语言程序设计是数据被加工的过程程序设计关键是定义类,并由类派生对象冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPU 高级语言高级语言n面向开发者的语言面向开发者的语言n以接近人类语言的形式来表现:以接近人类语言的形式来表现:n具有标识符,关键字,数据类型等,按一具有标识符,关键字,数据类型等,按一定的规则组成程序代码,便于开发和维护,定的规则组成程序代码,便于开发和维护,可读和开发性大大增强。可读和开发性大大增强。语言的发展史n年年 美国贝尔实验室的美国贝尔实验室的 设计出语言,并设计出语言,并用其将系统全部改
3、写并实现。用其将系统全部改写并实现。n语言的设计目的是为描述和实现操作语言的设计目的是为描述和实现操作系统提供一种工具语言系统提供一种工具语言n由于语言的强大功能和良好的可移由于语言的强大功能和良好的可移植性,语言先后被移植到各种大、中、植性,语言先后被移植到各种大、中、小和微型计算机上,并得到了广泛的小和微型计算机上,并得到了广泛的使用,成为当代最优秀的程序设计语使用,成为当代最优秀的程序设计语言之一。言之一。 语言的前生n年出现的年出现的 ,它是一种面向问题的高级语言,离硬件比较,它是一种面向问题的高级语言,离硬件比较远,不适合用来编写系统程序。远,不适合用来编写系统程序。n年英国剑桥大学
4、推出了年英国剑桥大学推出了“组合编程语言组合编程语言”( ,),它在,),它在 的基础上更接近于硬件,但规模较大,难以实现。的基础上更接近于硬件,但规模较大,难以实现。n因此,年剑桥大学的因此,年剑桥大学的 对进行了简化,提出了(对进行了简化,提出了( )语言。)语言。 u一切从一个叫一切从一个叫“ ”的电子游戏开的电子游戏开始始语言的创世纪语言的创世纪n年,美国麻省理工学院、贝尔实验室和通用电器公司决定联合开发一年,美国麻省理工学院、贝尔实验室和通用电器公司决定联合开发一个操作系统,其设计目标是个操作系统,其设计目标是“公用计算服务系统公用计算服务系统”。n那时,计算机还很昂贵,主要是安装在
5、一些政府部门、企业和科研机那时,计算机还很昂贵,主要是安装在一些政府部门、企业和科研机构,一般的家庭买不起,但有时人们又想使用计算机来完成一些计算构,一般的家庭买不起,但有时人们又想使用计算机来完成一些计算任务。所以该项目的出发点是想提供一种计算服务,任务。所以该项目的出发点是想提供一种计算服务,n在城市里布置一台计算机主机,然后用户在自己的家里,使用终端并在城市里布置一台计算机主机,然后用户在自己的家里,使用终端并且通过电话线来接入这台主机。终端很便宜,只有显示器、键盘和通且通过电话线来接入这台主机。终端很便宜,只有显示器、键盘和通信模块,每个家庭都买得起,他们使用终端来连接计算机,然后像使
6、信模块,每个家庭都买得起,他们使用终端来连接计算机,然后像使用水、电、煤气等生活资源那样来使用这台计算机的计算资源,并缴用水、电、煤气等生活资源那样来使用这台计算机的计算资源,并缴纳相应的费用。纳相应的费用。n这样一来,在主机上必须运行一个操作系统,来对整个系统的资源进这样一来,在主机上必须运行一个操作系统,来对整个系统的资源进行管理。行管理。 n系统非常庞大、复杂,它的研制难度远远超出了人们的预系统非常庞大、复杂,它的研制难度远远超出了人们的预料,因此,贝尔实验室和通用电器公司先后退出了这个项料,因此,贝尔实验室和通用电器公司先后退出了这个项目。目。n年,当贝尔实验室退出该项目后,它的一个研
7、究员年,当贝尔实验室退出该项目后,它的一个研究员 在操在操作系统上编写了一个名为作系统上编写了一个名为“太空旅行太空旅行”( )的游戏,模)的游戏,模拟了一个飞行员驾驶着一艘宇宙飞船在太阳系中遨游,并拟了一个飞行员驾驶着一艘宇宙飞船在太阳系中遨游,并在各个星体上着陆。在各个星体上着陆。 n后来,由于无法继续访问操作系统,他就在贝尔实验室里后来,由于无法继续访问操作系统,他就在贝尔实验室里找了一台没有人使用的计算机,想把游戏程序移植到这台找了一台没有人使用的计算机,想把游戏程序移植到这台机器上。机器上。n但是,当时计算机硬件所能执行的都是用机器语言来描述但是,当时计算机硬件所能执行的都是用机器语
8、言来描述的指令,而对于不同类型的计算机来说,它们的机器语言的指令,而对于不同类型的计算机来说,它们的机器语言是不一样的,所以在系统上运行的程序,不能直接把它搬是不一样的,所以在系统上运行的程序,不能直接把它搬到这种类型的计算机上去运行。到这种类型的计算机上去运行。 n因此,就和贝尔实验室的另外一名研究员因此,就和贝尔实验室的另外一名研究员 ,他们两个人,他们两个人一起,在另外一台计算机上,利用它的操作系统,即所提一起,在另外一台计算机上,利用它的操作系统,即所提供的一个交叉汇编器,把空间旅行游戏用的汇编语言重新供的一个交叉汇编器,把空间旅行游戏用的汇编语言重新编写了一遍,并且生成的机器语言指令
9、,然后用穿孔纸带编写了一遍,并且生成的机器语言指令,然后用穿孔纸带的形式把它转移到了上面,这样,就可以玩了。的形式把它转移到了上面,这样,就可以玩了。 n:为什么不直接在这台计算机上编程呢,而需要使用第三台机器呢?为什么不直接在这台计算机上编程呢,而需要使用第三台机器呢?n原因很简单,这台计算机之所以没人来用,是因为它是一台光秃秃的原因很简单,这台计算机之所以没人来用,是因为它是一台光秃秃的计算机,只有硬件而没有任何软件,连汇编程序都没有,这样,人们计算机,只有硬件而没有任何软件,连汇编程序都没有,这样,人们就没有办法在上面编程,如果实在想编程的话,只能直接使用机器语就没有办法在上面编程,如果
10、实在想编程的话,只能直接使用机器语言。但机器语言都是一些、字符串,太难懂了,所以没有人愿意使用言。但机器语言都是一些、字符串,太难懂了,所以没有人愿意使用它。它。n : 为什么计算机只是硬件没有软件?为什么计算机只是硬件没有软件?n当时,计算机水平还很落后,很多研究小组申请项目研制计算机,仅当时,计算机水平还很落后,很多研究小组申请项目研制计算机,仅仅是针对硬件架构,当计算机做好后,测试性能后项目组的任务就完仅是针对硬件架构,当计算机做好后,测试性能后项目组的任务就完成了,然后再研制更新的计算机。成了,然后再研制更新的计算机。n如果有需要,则用机器语言编写程序,然后在纸带上打上孔,让计算如果有
11、需要,则用机器语言编写程序,然后在纸带上打上孔,让计算机读入(有孔、无孔,分别代表、)机读入(有孔、无孔,分别代表、) 。: 为什么不直接在上玩游戏呢?为什么不直接在上玩游戏呢?答案:一个字,答案:一个字,“贵贵”,两个字,两个字“很贵很贵”,三个字,三个字“非常贵非常贵”玩一小时游戏花费美元(当时价值桶石油玩一小时游戏花费美元(当时价值桶石油,现在现在按美元桶石油算,约美元)。按美元桶石油算,约美元)。n后来,觉得这台计算机空在那里有点可惜,所以就和等人后来,觉得这台计算机空在那里有点可惜,所以就和等人开始为它编写一个新的操作系统,也就是说,在硬件的基开始为它编写一个新的操作系统,也就是说,
12、在硬件的基础上,再给它增加一些软,这样,这台机器就能够用起来,础上,再给它增加一些软,这样,这台机器就能够用起来,就能做更多的事情。就能做更多的事情。n他们先是写好了这个操作系统的文件系统和一组基本的软他们先是写好了这个操作系统的文件系统和一组基本的软件工具,然后再编写了一个汇编语言的编译器。有了这些件工具,然后再编写了一个汇编语言的编译器。有了这些软件工具后,就能直接在上编程了。软件工具后,就能直接在上编程了。n到了年,这个操作系统的基本元素都已经完成了,他们给到了年,这个操作系统的基本元素都已经完成了,他们给系统起了一个名字,也就是。系统起了一个名字,也就是。 n到了年的夏季,研究小组得到
13、了一台新的、功能更强大的机器,因此到了年的夏季,研究小组得到了一台新的、功能更强大的机器,因此需要把系统从移植到上面去需要把系统从移植到上面去n这项工作非常的烦琐,因为整个系统都是用汇编语言来编写的,需要这项工作非常的烦琐,因为整个系统都是用汇编语言来编写的,需要把每一条汇编语言指令都转换为相应的汇编语言指令,工作量非常大。把每一条汇编语言指令都转换为相应的汇编语言指令,工作量非常大。n更重要的是,这种移植工作是一次性的,如果以后又来了一台新的机更重要的是,这种移植工作是一次性的,如果以后又来了一台新的机器,那么整个移植工作又得重新来过,所以这是一个很大的问题。器,那么整个移植工作又得重新来过
14、,所以这是一个很大的问题。n为解决这个问题呢?研究小组就开始考虑用某种高级语言来重写整个为解决这个问题呢?研究小组就开始考虑用某种高级语言来重写整个系统,以提高系统的可移植性和可懂性。系统,以提高系统的可移植性和可懂性。 n为了提高操作系统的可移植性,想要用某种高级语言来重写整为了提高操作系统的可移植性,想要用某种高级语言来重写整个系统。但是采用哪一种高级语言来做这件事呢?他的想法是个系统。但是采用哪一种高级语言来做这件事呢?他的想法是自己去设计一种高级语言。自己去设计一种高级语言。n他以语言为基础,又作了进一步的简化,设计出很简单而且很他以语言为基础,又作了进一步的简化,设计出很简单而且很接
15、近硬件的语言,这个名称取自于的第一个字母。接近硬件的语言,这个名称取自于的第一个字母。n但是语言过于简单,是一种没有数据类型的语言,功能很有限。但是语言过于简单,是一种没有数据类型的语言,功能很有限。因此,当他试图用语言来重写操作系统时,效果并不太好。因此,当他试图用语言来重写操作系统时,效果并不太好。n到了年,在语言的基础上又设计出了语言,这个名称取自到了年,在语言的基础上又设计出了语言,这个名称取自于的第二个字母。于的第二个字母。n语言既保持了和语言的精炼、接近硬件等优点,又克服了语言既保持了和语言的精炼、接近硬件等优点,又克服了它们过于简单、数据无类型等缺点,所以很快就成为研究它们过于简
16、单、数据无类型等缺点,所以很快就成为研究小组内部的首选编程语言。小组内部的首选编程语言。 n后来,和两个人合作,把整个系统用语言重新写了一遍,后来,和两个人合作,把整个系统用语言重新写了一遍,这样,以后再需要移植的时候,就方便多了,大部分的系这样,以后再需要移植的时候,就方便多了,大部分的系统代码都无需改动。统代码都无需改动。n年,出现了不依赖于具体机器的语言编译器,使得把一个年,出现了不依赖于具体机器的语言编译器,使得把一个程序从一台机器移植到另一台机器上所需要的工作大大地程序从一台机器移植到另一台机器上所需要的工作大大地简化了,这就推动了操作系统迅速地在各种类型的机器上简化了,这就推动了操
17、作系统迅速地在各种类型的机器上得以实现。得以实现。n反过来,随着系统日益广泛的使用,语言也得到了迅速地反过来,随着系统日益广泛的使用,语言也得到了迅速地推广。所以说,语言和系统关系非常密切,在发展过程中推广。所以说,语言和系统关系非常密切,在发展过程中它们是相辅相成的。它们是相辅相成的。 语言的发展史告诉我们:语言的发展史告诉我们:)游戏是推动计算机软件技术发展)游戏是推动计算机软件技术发展的重大推动力!的重大推动力!)玩游戏是很耗钱或费时间的。)玩游戏是很耗钱或费时间的。)适量游戏有助于身心健康,并能)适量游戏有助于身心健康,并能极大促进电脑水平的提高。极大促进电脑水平的提高。和在开发很贵的
18、游戏机,绝对的很贵的游戏机,绝对的“发烧级发烧级”接受美国国家技术勋章接受美国国家技术勋章游戏玩家游戏玩家的终极梦的终极梦想想传说中的传说中的神器,声神器,声望望(左)和(中)于年接受当时美国总统克林顿授予的国家(左)和(中)于年接受当时美国总统克林顿授予的国家技术勋章技术勋章n一九七八年由美国电话电报公司一九七八年由美国电话电报公司()贝尔实验室正式发表了贝尔实验室正式发表了语言。语言。n和合著了著名的和合著了著名的“ ”一书。通常简称为一书。通常简称为,也有人称,也有人称之为之为标准。标准。n但是,在但是,在中并没有定义一个完整的标准中并没有定义一个完整的标准 语言,后来语言,后来由美国国
19、家标准协会(由美国国家标准协会( )在此基础上制定了一个)在此基础上制定了一个 语言标语言标准,于一九八三年发表。通常称之为准,于一九八三年发表。通常称之为 。 语言标准语言标准语言版本 n 目前最流行的语言有以下几种:目前最流行的语言有以下几种:n 或称或称 n 或称或称 n n这些语言版本都实现了这些语言版本都实现了 标准,并在此基础上标准,并在此基础上各自作了一些扩充,使之更加方便、完美。各自作了一些扩充,使之更加方便、完美。 n我们学习的是我们学习的是 语言的基本特点:n、 语言被称为语言被称为“高级语言中的低级语言高级语言中的低级语言”,这样说不是指它的功,这样说不是指它的功能差或难
20、于使用,而是指它能差或难于使用,而是指它 具有许多汇编语言等低级语言才具备具有许多汇编语言等低级语言才具备的功能,的功能,n 语言允许直接访问物理地址,能进行位操作,能实现汇编语言的语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。大部分功能,可以直接对硬件进行操作。n 所以语言在系统设计十分有效,过去系统软件只能用汇编语言编所以语言在系统设计十分有效,过去系统软件只能用汇编语言编写,使用语言可以减轻程序的负担,提高效率,写出来程序也更具写,使用语言可以减轻程序的负担,提高效率,写出来程序也更具有可移植性。有可移植性。计算机的层次语言的基本特点:n、语
21、言简洁、紧凑,使用方便、灵活。、语言简洁、紧凑,使用方便、灵活。 语言只有语言只有个关健字,种控制语句。我们学习的扩充了个关键个关健字,种控制语句。我们学习的扩充了个关键字,一共也才个关键字。字,一共也才个关键字。语言的基本特点:n、运算符丰富。共有种。把括号、赋值、逗号等都作为运、运算符丰富。共有种。把括号、赋值、逗号等都作为运算符处理。从而使的运算类型极为丰富,可以实现其他高算符处理。从而使的运算类型极为丰富,可以实现其他高级语言难以实现的运算。级语言难以实现的运算。n、具有结构化的控制语句。、具有结构化的控制语句。n、语法限制不太严格,程序设计自由度大。、语法限制不太严格,程序设计自由度
22、大。n、生成目标代码质量高,程序执行效率高。、生成目标代码质量高,程序执行效率高。 语言的基本特点:语言的基本特点:n、与汇编语言相比,用语言写的程序可移植性好。、与汇编语言相比,用语言写的程序可移植性好。 n、语言是程序员的语言,是为专业程序员设计的语言,它实现了程序、语言是程序员的语言,是为专业程序员设计的语言,它实现了程序员的期望:很少限制,程序设计自由度大,方便的控制结构,独立的员的期望:很少限制,程序设计自由度大,方便的控制结构,独立的函数,紧凑的关键字集合和较高的执行效率。函数,紧凑的关键字集合和较高的执行效率。n缺点:缺点:n 语法限制不太严,编译器不进行太多的错误检查,程序员在
23、编程如语法限制不太严,编译器不进行太多的错误检查,程序员在编程如果不注意的话,很容易出现编译通过但程序出错的现象。果不注意的话,很容易出现编译通过但程序出错的现象。第一个语言程序n学习任一计算机高级语言的最佳途径都是编程,对于任一学习任一计算机高级语言的最佳途径都是编程,对于任一计算机语言,编写的第一个程序都是输出一个字符串。计算机语言,编写的第一个程序都是输出一个字符串。n出于对的敬意,一般讲解第一个程序进都是选择的出于对的敬意,一般讲解第一个程序进都是选择的“ ”一书中的第一个例子打印一书中的第一个例子打印“ ” 来进行讲解。来进行讲解。第一个语言程序n如何利用语言在屏幕上显示出如下单词:
展开阅读全文