- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
对象是对现实世界中事物的抽象,是面向对象程序的基本封装单位,是类的实例. 类是对象的抽象,是数据和操作的封装体. 类与对象之间的关系就如同一个模具与用这个模具铸造出来的铸件之间的关系一样。也就是说,类与对象之间的关系是抽象与具体的关系。在面向对象的程序设计中,对象被称作类的一个实例,而类是对象的模板。类是多个实例的综合抽象,而实例又是类的个体实物。 类与对象之间的关系 后缀表示计算仍然使用执行堆栈处理,规则是: 1) 如果是操作数,则压栈; 2) 如果是n元操作符,那么其操作数必然是栈顶的n个项目,则n个操作数弹栈,操作计算,并将操作结果压栈。 后缀语义表示法的计算规则 为了避免悬挂引用,宁可允许产生无用单元。当自由空间表列中的单元完全用完,又需要新的存储空间的时候,当前的计算暂时挂起,调用一个特别的无用单元回收过程,该过程能在堆中确定无用单元,并把它们送回到自由空间表列中,原先被挂起的计算又恢复继续进行,无用单元又开始增加直到自由空间完全用光,这时,再次调用无用单元回收过程,如此循环。 无用单元解决悬挂引用问题的基本思想 单栈:栈和堆分别创建在主存储器的两端,如果它们相遇,那么就没有了可用空间,程序必须终止。它能够充分地利用了存储空间。它是通常采用的方法。 单堆:所有存储空间都是堆,每个栈由从堆中分配的活动记录链接而成。这种方法总是可行的,特别适用于有限存储空间的系统。其缺点:1)额外的时间开销很大;2)严重的存储器碎片问题:由于活动记录可变长。 多栈:每个任务在存储器中有自已独立的栈,如果任何栈与它的下一段存储空间相遇,那么程序必须终止。在有了现代的虚拟存储系统的情况下,该方法是一种有效的解决方法。操作系统的存储管理可用来管理这样的多个栈,这使得语言翻译器的工作大大减轻,除了设置栈的初始地址外,语言翻译器并不需要做其他什么工作。 单栈、多栈和单堆 以C语言为例,增加可读性的方法有: 1)用自然语句格式:如x=y+z; 2)结构化:如C语言采用模块化结构,函数可单独定义; 3)自由使用关键字和噪声码:如if-else, switch, while等 4)注释:如可用“;”,/* */等加以注释。 5)不限标识符长度:C语言中的标识符长度基本不受限制。 6)助记符:如C语言中的保留字等。 7)自由域格式:C语言一行可书写多条语句,且位置自由。 8)完整的声明:C语言中所有变量都必须先声明,后使用。 增加程序的可读性 三、 赋值语句 ::= 变量 = 算术表达式 算术表达式 ::= 项{ [+ | -] 项}* 项 ::= 因子 { [+ | -] 因子}* 因子 ::= 变量| 数字 | (算术表达式) 变量 ::= 标识符| 标识符[下标] 下标 ::= 算术表达式{,算术表达式}* 四、 1)请写出下列程序的输出结果 int x=1, y=1; void P(int x) { x++; y+ =x; printf(“x=%d, y=%d\n”,x,y); } main() { P(y); printf(“x=%d, y=%d\n”,x,y); } 2)假设按值-结果方式进行参数传递,则输出结果是什么? 解答:1)c程序按值传递。结果为:x= 2, y= 3 x=1, y= 3 2)按值-结果传递。结果为:x= 2, y= 3 x=1, y= 2 五、 。。 * 。。 * 。。 * 。。 * 。。 * 。。 * 。。 * 。。 * 。。 * 。。 * 。。 * 程序设计语言模拟试题(一) 一、填空(30) 1)语言的标准化有 和 两个种类。 2)基于解释型语言的源程序,不产生目标机器代码,只是产生更易于执行的 ,然后由软件解释执行。 中间代码 专有化标准 共识性标准 3)一个数据对象的可能的值由 决定。 数据类型 4)未初始化的变量是已经创建单位赋值的数据对象,从数据对象拥有的左右值的角度看,它只有 ,但无 。 左值 5)一般,标量数据对象随计算机的 不同而变化。 硬件结构 6)类型检查涉及到实际参数的数据类型与可允许的参
文档评论(0)