书签 分享 收藏 举报 版权申诉 / 89
上传文档赚钱

类型C语言程序设计课件.ppt

  • 上传人(卖家):三亚风情
  • 文档编号:3040055
  • 上传时间:2022-06-25
  • 格式:PPT
  • 页数:89
  • 大小:756KB
  • 【下载声明】
    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如何利用语言在屏幕上显示出如下单词:

    24、如何利用语言在屏幕上显示出如下单词:n” !”?n实现过程:实现过程:n、编写源程序;、编写源程序;n、编译,将源程序编译成目标文件、编译,将源程序编译成目标文件: *;n、将目标文件链接成可执行文件:、将目标文件链接成可执行文件:*;n 、运行可执行文件。、运行可执行文件。第一个语言程序* 在屏幕上显示在屏幕上显示 ! * “” () ( “ ! );* 功能注释:在屏幕上显示功能注释:在屏幕上显示 ! * “ *编译预处理编译预处理, 告诉编译程序在本程告诉编译程序在本程 序包含标准输入输出库序包含标准输入输出库函数函数*()主函数,无参数主函数,无参数 函数头函数头 (“ ! ”); *

    25、调用库函数调用库函数, 将将 显示显示 到屏幕上,到屏幕上,为换行符为换行符* 函数尾函数尾语句结束符语句结束符编译预处理编译预处理n 在源程序中加入一些在源程序中加入一些“预处理命令预处理命令” 可以改进可以改进程序设计环境,提高编程效率。程序设计环境,提高编程效率。n 预处理命令不是语言本身的组成部分,不能直预处理命令不是语言本身的组成部分,不能直接对其进行编译,必须在编译之前,先对这些特接对其进行编译,必须在编译之前,先对这些特殊的命令进行相应的处理。殊的命令进行相应的处理。编译预处理编译预处理提供的预处理功能主要有三种:提供的预处理功能主要有三种:. . 文件包含文件包含. . 宏定义

    26、宏定义. . 条件编译条件编译所有的预处理命令,都是以开头的所有的预处理命令,都是以开头的 . 文件包含文件包含 “文件名文件名 “ 文件名指的是外部的库函数名或文件名指的是外部的库函数名或源程序名。源程序名。 库函数是由系统建立的具有一库函数是由系统建立的具有一定功能的函数的集合。库函数中存定功能的函数的集合。库函数中存放同类函数的名称和对应的目标代放同类函数的名称和对应的目标代码。码。 只要用了只要用了 “库函数名库函数名“ , 就就可以调用库函数中的函数。可以调用库函数中的函数。编译预处理编译预处理 “可调用各种输入输出函数:可调用各种输入输出函数:包括包括: , , , , , 等。等

    27、。 语言程序的基本格式n、每一个程序,都由函数和变量组成。函数包含若干用于、每一个程序,都由函数和变量组成。函数包含若干用于实现指定操作的语句,变量在计算过程中存储有关的值;实现指定操作的语句,变量在计算过程中存储有关的值;n、函数可任意命名,但每一个程序中都必须并且只能有一、函数可任意命名,但每一个程序中都必须并且只能有一个名为的主函数;程序都是从函数开始执行;个名为的主函数;程序都是从函数开始执行;语言程序的基本格式n、函数必须先定义,后使用。定义函数时在函数名、函数必须先定义,后使用。定义函数时在函数名后加一对圆括号将变量括起来。后加一对圆括号将变量括起来。n、由一对花括号括起构造函数的

    28、语句,称为函数体。、由一对花括号括起构造函数的语句,称为函数体。花括号后不加分号。花括号后不加分号。语言程序的基本格式n、每一条语句的用分号、每一条语句的用分号“;”做为结束。做为结束。n说明:在以下三种情况下不允许有分号:说明:在以下三种情况下不允许有分号:n .预处理语句后面不使用分号预处理语句后面不使用分号n .所定义的函数的名称后面不使用分号所定义的函数的名称后面不使用分号n .在右花括号在右花括号“”后面不使用分号后面不使用分号语言程序的基本格式n、源程序中可以有预处理命令、源程序中可以有预处理命令( 命令仅为其中的一命令仅为其中的一种种),预处理命令通常应放在源文件或源程序的最前,

    29、预处理命令通常应放在源文件或源程序的最前面。面。 n、一个语言源程序可以由一个或多个源文件组成。、一个语言源程序可以由一个或多个源文件组成。 例:例: * * * * 非法非法语言程序结构* 在屏幕上显示在屏幕上显示 ! * “” () (“ !”);注释语句注释语句编译预处理编译预处理主函数定义主函数定义函数体函数体程序书写格式特点程序书写格式特点习惯用小写字母,大小写敏感习惯用小写字母,大小写敏感不使用行号,无程序行概念不使用行号,无程序行概念可使用空行和空格可使用空行和空格常用锯齿形书写格式常用锯齿形书写格式( ) . . . . . . .( ) , , ; ; (; ) () * ;

    30、 (“”);优秀程序员的素质之一:使用缩进对齐有足够的注释有合适的空行课堂练习一n编写一个语言源程序,执行后,在屏幕上编写一个语言源程序,执行后,在屏幕上输出:输出:n“ 这是我的第一个这是我的第一个n 语言程序语言程序 ”语言程序结构注释语句注释语句编译预处理编译预处理主函数定义主函数定义函数体函数体* 在屏幕上显示:在屏幕上显示: 这是我的第一个语言源程序这是我的第一个语言源程序! * “” () (“这是我的第一个这是我的第一个 语言源程序语言源程序”) ;、常用计算机语言、常用计算机语言计算机基本工作过程n整个过程的执行者是硬件,但硬件是受软件控制的n编程,就是编写软件,使硬件按照人的

    31、意图工作、计算机语言的翻译方式、计算机语言的翻译方式()解释方式:()解释方式:()编译方式:()编译方式:程序设计语言的工作原理程序设计语言的工作原理高级语言源程序高级语言源程序解释程序解释程序解释并执行解释并执行运算结果运算结果高级语言高级语言 源程序源程序编译程序编译程序执行执行运算结果运算结果操作系统操作系统编译编译机器语言机器语言 程程 序序编译运行n编译过程编译过程n程序员()编写程序源代码(程序员()编写程序源代码( )n编译器()把源代码转换为可被计算机理解的机编译器()把源代码转换为可被计算机理解的机器代码(器代码( ),并把机器代码以可执行文件(),并把机器代码以可执行文件

    32、( )的形式保存在磁盘上的形式保存在磁盘上n软件的运行软件的运行n计算机把机器代码读入到内存(),由运行这些计算机把机器代码读入到内存(),由运行这些代码,读取输入(),产生输出(),完成程序代码,读取输入(),产生输出(),完成程序员预定的功能员预定的功能编译语言n一种编译语言对应一种编译器一种编译语言对应一种编译器n程序员按照该语言的语法编写程序源代码,把自程序员按照该语言的语法编写程序源代码,把自己的意图融入到代码中己的意图融入到代码中n编译器读入源代码,把程序员的意图转换成可执编译器读入源代码,把程序员的意图转换成可执行程序,供他人使用行程序,供他人使用解释运行解释运行n解释运行过程解

    33、释运行过程n程序员编写程序源代码程序员编写程序源代码n解释器读入源代码,并执行源代码解释器读入源代码,并执行源代码n解释运行的语言特点解释运行的语言特点n执行速度慢执行速度慢n好学易用好学易用n先编译、后解释先编译、后解释n把源代码编译成更容易解释的中间代码,然后再解释运行把源代码编译成更容易解释的中间代码,然后再解释运行程序的开发运行过程程序的开发运行过程n、源程序的编辑可使用任意纯文本编辑器、源程序的编辑可使用任意纯文本编辑器编写,如记事本,等均可,得到源程序文件编写,如记事本,等均可,得到源程序文件 *。n、编译由专门的编辑程序(编译器)对源、编译由专门的编辑程序(编译器)对源程序进行语

    34、法分析和检查,如无语法错误则转换程序进行语法分析和检查,如无语法错误则转换生成目标码程序文件生成目标码程序文件 *。n、链接与其它库函数或目标程序文件链接生、链接与其它库函数或目标程序文件链接生成可执行文件成可执行文件 *。n、执行、执行语言集成开发环境n集成开发环境:集成开发环境: n包含文本编辑、程序编译、连接以及程包含文本编辑、程序编译、连接以及程序运行,调试一体化的程序软件包。序运行,调试一体化的程序软件包。n常用的集成开发环境主要有:美国常用的集成开发环境主要有:美国 公司公司年出版的年出版的 ,微软的,微软的 。 n因为是在下进行操作的,在中也要在命令窗因为是在下进行操作的,在中也

    35、要在命令窗口中进行操作,比较麻烦,所以推荐大家使口中进行操作,比较麻烦,所以推荐大家使用:用:n“程序设计学习与实验系统程序设计学习与实验系统 ”共享版。共享版。n作者:钟家民作者:钟家民 nn注册费用:元注册费用:元第二个程序n已知有变量,变量, 编写程序求变量之和。n如何编写程序?第二个程序* 求:求: ? * “” () ; ; (“ “);* 求求 ? * () ; 定义为整型变量定义为整型变量 ; 定义为整型变量定义为整型变量 ( , );n在语言中,所有变量必须先说明后使用,说明用于申明变量的性质,变量说明语句格式如下:n变量类型名变量,变量,变量;n变量类型名有: 整数; 浮点数

    36、n 字符单字节n 短整数 长整数n 单精度浮点数 双精度浮点数第二个程序求两数之和* 两数求和两数求和* () , ; 定义三个整型变量定义三个整型变量 ;给变量赋值给变量赋值 ; ;求和求和 (“”, );输出显示输出显示 输出转换说明,用整型值来代替它输出转换说明,用整型值来代替它修改程序如下,运行结果修改程序如下,运行结果? () , ; ; ; ; (, );再修改程序如下,运行结果再修改程序如下,运行结果? () , ; 定义三个浮点型变量定义三个浮点型变量 ; ; ; (, );* 两数求和,两数求和,? * () , ; ; ; ; ( , ); 输出转换说明,用浮点型值来代替它

    37、输出转换说明,用浮点型值来代替它输出函数 ()n函数称为格式输出函数函数称为格式输出函数,用来向标准输出设备用来向标准输出设备(屏幕屏幕)写数据写数据;n(“格式控制串格式控制串”,参数表,参数表 ); n格式化字符串包括两部分内容格式化字符串包括两部分内容: n一部分是正常字符一部分是正常字符, 这些字符将按原这些字符将按原 样输出样输出; n另一部分是格式化规定字符另一部分是格式化规定字符, 以以“”“”开始开始, 后跟一个或几个规后跟一个或几个规定字符定字符, 用来确定输出内容格式。用来确定输出内容格式。n参数表是需要输出的一系列参数参数表是需要输出的一系列参数, 其个数必须与格式化字其

    38、个数必须与格式化字符串所说明的输出符串所说明的输出 参数个数一样多参数个数一样多, 各参数之间用各参数之间用,分开分开, 且顺序一一对应且顺序一一对应, 否则将会出现意想否则将会出现意想 不到的错误。不到的错误。n参数可以是变量参数可以是变量, 常量和表达式。常量和表达式。n. 格式化规定符格式化规定符 n 提供的格式化规定符如下提供的格式化规定符如下: 符号作用符号作用 十进制有符号整数十进制有符号整数 十进制无符号整数十进制无符号整数 浮点数浮点数 字符串字符串 单个字符单个字符 指针的值指针的值 指数形式的浮点数指数形式的浮点数 , 无符号以十六进制表示的整数无符号以十六进制表示的整数

    39、无符号以八进制表示的整数无符号以八进制表示的整数 自动选择合适的表示法自动选择合适的表示法 n(). 可以在可以在“”“”和字母之间插进数字表示最大场宽。和字母之间插进数字表示最大场宽。n 表示输出位整型数表示输出位整型数, 不够位右对齐。不够位右对齐。n 表示输出场宽为的浮点数表示输出场宽为的浮点数, 其中小数位为其中小数位为, 整数位为整数位为, 小小数点占一位数点占一位, 不够位右对齐。不够位右对齐。 n对浮点数对浮点数, 若整数部分位数超过了说明的整数位宽度若整数部分位数超过了说明的整数位宽度, 将按将按实际整数位输出实际整数位输出; 若小数部分位数超过了说明的小数位宽若小数部分位数超

    40、过了说明的小数位宽度度, 则按说明的宽度以四舍五入输出。则按说明的宽度以四舍五入输出。 n如果用浮点数表示字符或整型量的输出格式如果用浮点数表示字符或整型量的输出格式, 小数点后的小数点后的数字代表最大宽度数字代表最大宽度, 小数点前的数字代表最小宽度。小数点前的数字代表最小宽度。 例如例如: 表示显示一个长度不小于且不大于的字符串。若大于表示显示一个长度不小于且不大于的字符串。若大于, 则则 第个字符以后的内容将被删除。第个字符以后的内容将被删除。 n(). 可以在可以在“”“”和字母之间加小写字母和字母之间加小写字母, 表示输出表示输出的是长型数。的是长型数。 例如例如: 表示输出整数表示

    41、输出整数 表示输出浮表示输出浮点数点数n (). 可以控制输出左对齐或右对齐可以控制输出左对齐或右对齐, 即在即在和字母和字母之间加入一个之间加入一个 号可号可 说明输出为左对齐说明输出为左对齐, 否则为否则为右对齐。右对齐。 例如例如: 表示输出位整数左对齐表示输出位整数左对齐n. 一些特殊规定字符一些特殊规定字符n 字符字符 作用作用 换行换行 清屏并换页清屏并换页 回车回车 符符 表示一个码用进制数表示一个码用进制数n 表示表示, 其中是到个进制数其中是到个进制数输出函数 ()例子:例子: () (); ( ); ( ); ( ); (,); (, );* 两数求和两数求和* () ,

    42、; ; ; ; (, );n前面的程序是在源程序中就输入了要求和前面的程序是在源程序中就输入了要求和的数,如果我们想要在键盘中输入数据,的数,如果我们想要在键盘中输入数据,如果实现呢?如果实现呢?n可以使用可以使用()函数。函数。输入函数 ()n()函数是格式化输入函数函数是格式化输入函数, 它从标准输它从标准输入设备入设备(键盘键盘) 读取输入的信息。读取输入的信息。n格式格式: n(, ); n 输入函数 ()n格式化字符串包括以下三类不同的字符格式化字符串包括以下三类不同的字符; n 、 格式化说明符格式化说明符: 格式化说明符与格式化说明符与()函数中的格式说明函数中的格式说明符基本相

    43、同。符基本相同。n、分隔符要输入多个数据,在要格式化字符中加入、分隔符要输入多个数据,在要格式化字符中加入分隔符分隔符n()空白字符()空白字符: 空白字符会使空白字符会使()函数在读操作中函数在读操作中略去输入中的一个或多略去输入中的一个或多 个空白字符。个空白字符。 n()() 非空白字符非空白字符: 一个非空白字符会使一个非空白字符会使()函数在函数在读入时剔除掉与这个非空白字符相同的字符。读入时剔除掉与这个非空白字符相同的字符。n n地址表是需要读入的所有变量的地址, 而不是变量本身。n对于数值,字符变量,在其变量名前加取址符“”取变量的地址。n对于数组名不能用取址符。n各个变量的地址

    44、之间同“,”分开。n地址表与()函数完全不同, 要特别注意。 () , ; (“,, , ); (, ); 用逗号做为分隔符用逗号做为分隔符 () , ; (“, , ); (, ); 用空格做为分隔符用空格做为分隔符课堂练习n编程:n、编写一个简易加法器,从键盘中输入两个数,并在屏幕上显示出两数及其相加的结果,结果只保留小数点后两位。* 加法器* () , ; (, , ); ; ( , );第三个程序n求两个数中较大的数:n从键盘中输入数,比较并返回两数中的大数。 () , ; (, , ); () ( , , , ); ( , , , );练习n求三个数中较大的数:n从键盘中输入数,比较

    45、输出最大的数。小结n语言发展历史n语言基本特点n语言程序结构n编译和运行程序二、语言程序的结构特性:二、语言程序的结构特性:()() 文件可以由一个多个源程序组成文件可以由一个多个源程序组成()() 源程序可以由一个多个函数组成源程序可以由一个多个函数组成()() 文件有且仅有一个主函数(函数)文件有且仅有一个主函数(函数)()() 源程序中可以有预处理命令。源程序中可以有预处理命令。()每个说明语句以分号结尾。()每个说明语句以分号结尾。()标识符、关键字之间必须至少加一个()标识符、关键字之间必须至少加一个 空格以示间隔。空格以示间隔。()一个函数由两部分组成:()一个函数由两部分组成:函

    46、数的说明部分:函数名后有一对圆括号函数的说明部分:函数名后有一对圆括号函函 数数 体体 部部 分:变量定义分:变量定义 执行部分执行部分()() 程序书写格式自由程序书写格式自由()() 语言本身没有输入、输出语句。语言本身没有输入、输出语句。()可以用()可以用*。*对源程序做注解对源程序做注解程序的开发运行过程程序的开发运行过程n、源程序的编辑可使用任意纯文本编辑器、源程序的编辑可使用任意纯文本编辑器编写,如记事本,等均可,得到源程序文件编写,如记事本,等均可,得到源程序文件 *。n、编译由专门的编辑程序(编译器)对源、编译由专门的编辑程序(编译器)对源程序进行语法分析和检查,如无语法错误则转换程序进行语法分析和检查,如无语法错误则转换生成目标码程序文件生成目标码程序文件 *。n、链接与其它库函数或目标程序文件链接生、链接与其它库函数或目标程序文件链接生成可执行文件成可执行文件 *。n、执行、执行nprintf(“格式控制串格式控制串”,参数表,参数表 );nscanf(, );

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C语言程序设计课件.ppt
    链接地址:https://www.163wenku.com/p-3040055.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库