《计算机导论》课件第五章程序设计语言与编译原理.pptx

上传人(卖家):momomo 文档编号:7651490 上传时间:2024-05-24 格式:PPTX 页数:15 大小:215.54KB
下载 相关 举报
《计算机导论》课件第五章程序设计语言与编译原理.pptx_第1页
第1页 / 共15页
《计算机导论》课件第五章程序设计语言与编译原理.pptx_第2页
第2页 / 共15页
《计算机导论》课件第五章程序设计语言与编译原理.pptx_第3页
第3页 / 共15页
《计算机导论》课件第五章程序设计语言与编译原理.pptx_第4页
第4页 / 共15页
《计算机导论》课件第五章程序设计语言与编译原理.pptx_第5页
第5页 / 共15页
点击查看更多>>
资源描述

1、第五章 程序设计语言与编译原理5.1 程序设计语言5.2 编译原理第五章 程序设计语言与编译原理第五章 程序设计语言与编译原理5.1 程序设计语言第五章 程序设计语言与编译原理5.1.1 机器语言机器语言就是机器指令。回顾第二章介绍的两个加数相加的机器指令形式的程序:0001 00 00100000000011 00 00100000010010 00 00100000100000 00 0000000000可以看到机器语言程序是0、1形式的程序,可以被计算机直接识别和处理,执行效率高,但是它与指令系统相关,通用性差,可读性差,容易出错且不易纠错,编写效率低。为了克服机器语言的缺点,引入了汇编

2、语言。第五章 程序设计语言与编译原理5.1.2 汇编语言以下是采用COMET模型机的CASL汇编语言编写的两个加数相加的汇编语言程序。STARTLD GR0,XADD GR0,YST GR0,ZENDSTART表示程序开始,LD(LOAD)表示载入数据,ADD表示相加,ST(STORE)表示存储数据,END表示程序结束,GR0(GENERAL REGISTER)表示通用寄存器地址,X、Y、Z表示内存地址。LD GR0,X表示从X中载入数据到GR0中;ADD GR0,Y表示GR0中的数据与Y中的数据相加,和存于GR0中;ST GR0,Z表示从GR0中存储数据到Z中。机器语言相比,汇编语言的编写效

3、率提高了,但是它仍然与指令系统相关,通用性也差。于是,出现了高级语言。第五章 程序设计语言与编译原理5.1.3 高级语言主流高级语言主要包括命令型语言和面向对象语言。1.命令型语言命令型语言,也称为面向过程语言,采用结构化程序设计,以操作为中心,进行功能分解和模块划分,强调程序“做什么”和“如何做”。命令型语言包括Fortran语言、Pascal语言和C语言等。Fortran语言是第一个广泛用于科学计算的高级语言;Pascal语言在早期的高校计算机程序设计教学中处于主导地位;C语言是20世纪70年代发展起来的高级语言。C语言兼顾了高级语言与汇编语言的特点,允许直接访问操作系统和底层硬件,因此在

4、系统级应用和实时处理应用的开发中成为主要语言。程序设计语言的基本元素主要包括以下几点:(1)常量与变量:常量是在程序运行过程中其值不能改变的量;变量是在程序运行过程中其值可以改变的量,具有数据类型、变量名、变量值三个属性。(2)数据类型:数据是程序处理的基本对象,数据类型决定了数据的存储长度、取值范围及允许的操作。第五章 程序设计语言与编译原理(3)运算符与表达式:运算是数据加工的过程。(4)选择与循环等控制语句:程序具有顺序、选择、循环三种控制结构。(5)函数与过程等程序模块:函数与过程是一段具有独立功能的程序模块。2.面向对象语言面向对象语言采用面向对象程序设计,以数据为中心,进行对象抽取

5、和类抽象,强调程序“包括什么对象”、“对象包括什么属性和方法”。面向对象语言包括C+语言、Java语言和C#语言等。C+语言是在C语言基础上于20世纪80年代发展起来的面向对象语言,与C语言兼容,C+语言增加了类机制。Java语言是20世纪90年代发展起来的广泛用于网络开发的面向对象语言。C#语言是Microsoft为.net开发的全新的面向对象语言,它吸收了C+、Java等语言的优点。下面给出采用C+语言编写的计算圆的面积和周长的高级语言程序。#include const double pi=3.14;第五章 程序设计语言与编译原理class circle;public:int radius

6、;double calculate-area()return pi*radius*radius;double calculate-perimeter()return 2*pi*radius;void main(void)circle thecircle;coutthecircle.radius;cout圆的面积为:thecircle.calculate-area()n;第五章 程序设计语言与编译原理cout圆的周长为:thecircle.calculate-perimeter()后+是指两个相邻+,在运算次序的优先关系上前面+大于后面+。算符优先分析法就是基于算符优先关系,分析表达式是否符合语

7、法规范(语法分析),以及运算次序和运算结果如何(语义分析)等。第五章 程序设计语言与编译原理算符优先分析法采用两个栈操作数栈和运算符栈分别存放操作数和运算符,开始两个栈都为空栈。算符优先分析法的基本方法是从左到右扫描表达式的各个单词,如果是操作数就直接进操作数栈;如果是运算符,则与栈顶运算符比较,并完成下列相应操作:(1)如果没有栈顶运算符,则直接进运算符栈,继续扫描;(2)如果大于栈顶运算符,则直接进运算符栈,继续扫描;(3)如果小于栈顶运算符,则栈顶运算符出栈,相应操作数出栈,并进行运算,结果进操作数栈,继续比较;(4)如果等于栈顶运算符,则栈顶运算符出栈,继续扫描。若表达式扫描完成,则重复下列操作直至操作数栈中只有一个操作数且运算符栈为空栈:栈顶运算符出栈,相应操作数出栈,并进行运算,结果进操作数栈。如果分析过程能够正常结束,则表达式正确,结果就是操作数栈中的操作数;否则表达式不正确。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 大学
版权提示 | 免责声明

1,本文(《计算机导论》课件第五章程序设计语言与编译原理.pptx)为本站会员(momomo)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

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


163文库-Www.163Wenku.Com |网站地图|