欢迎来到天天文库
浏览记录
ID:47998429
大小:558.98 KB
页数:10页
时间:2020-01-11
《程序设计语言原理重点总结.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一章1.语言的评价标准(LanguageEvaluationCriteria):A,可读性(最重要的评价标准):因素:1,整体简单性2,正交性3,控制语句4,数据类型和结构5,语法考虑B,可写性因素:1,简单性和正交性2,支持抽象(子程序、二叉树)3,表现性(Expressivity)C,可靠性因素:1,类型检查2,异常处理3,可读性和可写性D,代价种类:1,编写程序2,可靠性3,维护计划2.可读性中的正交性(Orthogonality)的意思:使用该语言中一组相对少量的基本结构,经过相对少的结合步骤,可
2、以构成该语言的控制结构和数据结构。而且他的基本结构的任何组合都是合法的和有意义的!3.语言的分类(LanguageCategories):命令式语言、函数式语言、逻辑语言、面向对象语言4.影响语言设计的因素:计算机体系结构和程序设计方法学5.影响冯诺依曼体系的速度瓶颈的因素:内存和CPU之间的存取速度6,纯解释执行语言瓶颈:语句解码(statementdecoding)第二章6.第一个高级语言:Fortran解释器7.第一个具有结构化和接口化的语言:Algol608.第一个面向对象的语言:SIMULA679
3、.美国国防部耗资巨大创建的语言:Ada10.第一个纯面向对象的语言:Smalltalk11.两个早期的动态语言(DynamicLanguage):APL、SNOBOL第五章12.(名字部分)关键字和保留字的定义和区别:关键字(keyword):是程序设计语言中的一种字,它只在特定的上下文里是特殊的。如Fortran中的real就是关键字,当在realapple中表示一种类型,是个声明语句;而在real=3.4这样的赋值语句中代表变量名。保留字(reservedword):是程序设计语言中的特殊字,它不能用作
4、名字。保留字比关键字优越,因为重新定义关键字的功能会导致混淆。13.(名字部分)预定义名字(Predefinenames):介于保留字和用户预定义的名字之间,他们有预定义的含义,但用户可以重新定义。14.(变量部分)变量(variables)是内存空间的抽象15.(变量部分)变量的六个部分:名字、地址、值、类型、生命周期、范围!(不是所有的变量都有名字,如匿名类)16.(变量部分)变量在静态作用域中和动态作用域中的引用顺序:静态作用域:自己——>父亲动态作用域:自己——>调用者17.绑定的概念(TheCon
5、ceptofBinding):A,左值是变量的地址,B右值是变量的值C,绑定时一种关联(属性和实体,操作与符号)18.静态绑定:第一次是发生在运行之前,并且执行过程中保持不变19.动态绑定:第一次发生在运行时或程序在运行时可以改变20.显式声明:是程序中的一条说明语句,列出一批变量名并指明这些变量的特定类型21.隐式声明:是一默认的声明机制,来声明特定的类型<声明declaration:仅声明而不会分配内存空间><定义definition:是分配内存的>22.生存期(lifetime):是该变量被绑定与某一
6、特定的存储地址的时间23.静态变量(StaticVariable):在程序的运行开始前绑定知道结束时候,仍然保持相同的绑定<高校,灵活性差>24.动态绑定(DynamicBinding):灵活性好,有额外的开销25.类型检查:是确保操作符飞操作数为相容类型26.相容类型有两条:①要么是合法的操作符,②要么就是在一定条件下进行的隐式转换27.强化类型:只要某个程序语言总能够发现其程序中的类型错误,那么这种的语言为强类型的28.(变量部分)变量的三周等价:(1)按名字类型等价:定义于同一个声明之中或者定义于使用
7、相同类型名的声明之中。按名字类型等价具有一定的局限性,例如一个整数子范围类型的变量不会与一个整数类型的变量等价,如:typeIndextypeis1…100;count:Integer;index:Indextype;这里的count和index就不是按名字等价的!(2)按结构类型等价:两个变量具有等价的类型,如果他们的类型具有相同的结构。这种等价方式更加灵活,也更难实现。两种特殊情况:派生类型不等价:typeaisnewFloat,typebisnewFloat.中a和b就不等价!子类型等价:subtyp
8、eSmall_typeisIntegerranger0…99;中Small_type和Integer等价(3)按定义等价:两个类型具有完全相同的定义,则两者是按定义等价的!Varx:complexz:recordre:intim:intendu:rationalv:recordreport:intdenominator:1-29999endx,y是按定义等价,但按名不等价n,v安定义不等价29.Scope(作用域
此文档下载收益归作者所有