程序设计语言与编译ppt课件_1.2 强制式语言.pptxVIP

程序设计语言与编译ppt课件_1.2 强制式语言.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第一章绪论;按设计的理论基础分为4类语言:

强制式语言:基础是冯.诺依曼模型

函数式语言:基础是数学函数(函数运算)

逻辑式语言:基础是数理逻辑、谓词演算

对象式语言:基础是抽象数据类型;按语言的发展进程分类

第一代语言(机器语言)

第二代语言(汇编语言)

第三代语言(高级语言:命令式、过程式)

第四代语言(说明性语言、超高级语言)

新一代语言(函数式、逻辑式语言);第一章绪论;冯.诺依曼体系结构;(1) 构成基础

存储器,控制器,处理器,ip。

(2) 特点

数据、指令以二进制形式存储;

存储程序的工作方式;

程序顺序执行,可强制修改执行顺序;

存储器的内容可以被修改。;(3) 在命令式语言上的表现

变量:存储单元由变量的概念代替,变量可以代表一个或一组单元。

赋值:存储计算结果。

重复:语句顺序执行,指令存储在有限的存储器中,完成复杂计算时需要重复执行某些指令序列。;第一章绪论;实体:程序的组成部分,如变量、表达式、程序单元等。

属性:实体具有的特性。

绑定:实体与其各种属性建立联系的过程称为绑定。

描述符:描述实体属性的表格。;静态和动态特性

编译时能确定的特性——静态特性

运行时才能确定的特性——动态特性

若绑定在编译时(即运行之前)完成,且在运行时不会改变,则称为静态绑定。

若绑定在运行时完成,则称为动态绑定。;第一章绪论;变量是对一个或若干个存储单元的抽象;

一个存储单元至少一个字节构成;

一个变量至少占用一个存储单元;

变量用名字来标识(也存在匿名变量);

赋值是对修改存储单元内容的抽象。

变量的4个属性:作用域、生存期、值、类型;(1) 变量的作用域

可以访问该变量的程序范围。

静态作用域绑定:

按照程序的结构定义变量的作用域(C语言等);

依据定义变量的位置进行。

动态作用域绑定:

按照过程的调用关系动态地定义变量的作用域(SNOBL4语言等)。;(2) 变量的生存期

变量绑定于存储区的时间区间

变量获得存储区的活动称为分配

变量分配的存储单元的个数称为变量长度

静态分配

全局变量(C、C++语言)

运行前分配局??变量存储区(FORTRAN语言)

;动态分配

运行时分配局部变量存储区(C、C++语言)

通过两种途径来实现:

运行变量所对应的程序单元时自动分配;

相关的语句显式提出请求(new)

匿名变量

访问匿名变量的基本方法是通过访问路径(指针)来实现的。

一般属于动态分配。

;(3) 变量的值

变量的值——存储区的内容

该存储区中的内容以二进制编码方式表示,按变量所绑定的类型来进行解释;

变量与它的值的绑定是动态的;

常数(量)的值不能修改。;初始值问题

变量获得所分配的存储区,完成变量与存储区的绑定。

此时,该变量绑定的值是什么呢?即变量初始化问题。

不同的语言有不同的规则:

不初始化则出错

随机

缺省值0;(4) 变量的类型

与变量相关联的值,以及对这些值进行的操作的抽象。

类型可用来解释变量绑定的存储区的内容(二进制编码)的意义。

;变量类型可以静态或动态地进行绑定

静态绑定:通过说明语句完成

动态绑定:执行时隐式说明,且动态变化

A?5 整型

A?12510 一维数组

A?0 整型

A[2:3]?0 二维数组

动态绑定的语言实现采用解释方式处理更合适。;语言实现采用编译还是解释方式,受到变量与类型绑定规则的严重影响。

静态绑定语言是面向编译的语言。

动态绑定语言是面向解释的语言。

动态类型绑定的语言,往往其作用域也是动态绑定的,因此,这类语言又称为动态语言。

;第一章绪论;主要的强制式语言

文档评论(0)

Kaiser + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档