第三节 强制式语言
语言分类, 强制式 (命令式或面向语句 )
函数式
逻辑式
面向对象
一, 冯,诺依曼体系结构
1.基础
一个存储器,一个控制器,一个处理器
2.特点
① 数据或指令以二进制形式存储 ;
②, 存储程序, 的工作方式;
③ 程序顺序执行 ;
④ 存储器的内容可以被修改 。
ip
代码存储器( C) 数据存储器( D)
3.在命令式语言上的表现
① 变量 存储单元及它的名称由变量的概念来代
替 。 可以代表一个或一组单元,可以修改 。
② 赋值 计算结果必须存储 。
③ 重复 因语句顺序执行,指令存储在有限的存
储器中,完成复杂计算时必须重复执行某些指
令序列 。
二, 绑定 ( Binding)概念
1,属性:实体具有的特性 。 如变量,
子程序, 语句等均为实体 。
2,绑定:一个对象 ( 或事物 ) 与其某
种属性建立起某种联系的过程 。
3,描述符:用以描述实体的属性的符
号, 语句或表格等 。 亦即实体到属
性的映象 。
4., 静态, 和, 动态, 特性,
? 凡是在编译时能确定的特性, 称为
静态的;
? 凡是在运行时才能确定的属性称为
动态的 。
举例:动态数组和静态数组 。 数组的属性
有保留其值的存储区 。
三, 变量
? 变量是对一个 (或若干个 )存储单元的
抽象, 赋值语句则是修改存储单元内容
的抽象 。
? 变量除名字外,具有四个属性,作用域,
生存期, 值和类型 。
1.变量的作用域
变量的作用域是指可以访问该变量
的程序范围 。
① 静态作用域绑定,按照程序的语法结
构定义变量的作用域 。
② 动态作用域绑定,按照程序的执行动
态地定义变量的作用域 。
2.变量的生存期
?一个存储区绑定于一个变量的时间区间,
称为变量的生存期 。
?数据对象:存储区和它保存的值
?分配:变量获得存储区的活动
举例说明静态分配和动态分配 。
3.变量的值 —— 存储区单元的内容
?匿名变量的访问通过指针实现
?变量与它的值的绑定是动态的
?符号常数的值不能修改
?变量的初始化 ⊙ 不初始化则出错
⊙ 随机
⊙ 缺省值 0
4.变量的类型
① 类型的定义,变量的类型可以看
成与变量相关联的值的类,以及对
这些值进行的操作的说明 。
?类型可用来解释变量绑定的存储
区的内容 (二进制位串 )的意义;
?语言定义时,类型名通常绑定于某
一个值类和某一组操作 ;
?语言实现时,值和操作绑定于某种
机器二进制表示 。
② 静态绑定:通过说明语句完成
如,Pascal,Fortran
③ 动态绑定:执行时隐式说明,且动态变化
如,APL
A?5 整型
?A 标号、转到 A
A ?1 2 51 0 一维数组
A[2:3] ?0 二维数组
A ?0
A ?B+C
四,虚拟机
1.虚拟机是由软件实现的机器
① M1是实际的机器, 执行二进制机器语言
② 若汇编语言是虚拟机 M2的机器语言, 则
M2=M1+汇编程序
③ 若高级语言是虚拟机 M3的机器语言, 则
M3=M2+编译程序
2.虚拟机与抽象机的不同
虚拟机是在一台实际机器上配置某种
软件扩大其功能而实现的;而抽象机仅
仅是一个抽象模型,并不要求与之匹配的
实际机器存在 。
COBOL FORTRAN
PL/1 BASIC
FORTRAN77
ALGOL60
ALGOL68
ALGOLW
Pascal
Modula-2 Concurrent Ada
Pascal
BCPL
C
C++
五, 主要的强制式语言及其关系