c++程序设计习题答案第七章.pdf

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 动态内存分配习题 1 第七章 动态内存分配习题 一、基本概念与基础知识自测题 7.1 填空题 7.1.1 C/C++ 定义了 4 个内存区间: (1) 、 (2 ) 、 (3) 和 (4 ) 。 答案: (1)代码区,存放程序代码; (2 )全局变量与静态变量区,存放全局变量或对象(包括静态) ; (3 )局部变量区即栈( stack )区,存放局部变量; (4 )自由存储区( free store ),即动态存储区或堆( heap)区。 7.1.2 静态定义的变量和对象用标识符命名,称为 (1) ;而动态建立的称为 (2 ) ,动 态建立对象的初始化是通过 (3 ) 实现 (4 ) 。 答案: (1)命名对象 (2 )无名对象 (3 )初始化式 (initializer) (4 )显式初始化 7.1.3 在用 new 运算符建立一个三维数组 15*30*10 时,使用了 (1) 个下标运算符,对 应的用 delete 运算符注销这个三维数组时使用了 (2 ) 个下标运算符。 new 返回的 指针是指向 (3) 的指针。 答案: (1)3 个 (2 )1 个 (3 )30 行 10 列的 2 位数组 7.1.4 当动态分配失败,系统采用 (1) 来表示发生了异常。如果 new 返回的指针丢失, 则所分配的自由存储区空间无法收回,称为 (2 ) 。这部分空间必须在 (3) 才 能找回,这是因为无名对象的生命期 (4 ) 。 答案: (1)返回一个空指针( NULL ) (2 )内存泄漏 (3 )重新启动计算机后 (4 )并不依赖于建立它的作用域 7.1.5 按语义的默认复制构造函数和默认复制赋值操作符实现的复制称为 (1) ,假设类 对象 obj 中有一个数据成员为指针,并为这个指针动态分配一个堆对象,如用 obj1 按成员语义拷贝了一个对象 obj2 ,则 obj2 对应指针指向 (2 ) 。 答案: (1)浅拷贝 (2 )同一个堆对象 7.1.6 单链表的结点包含两个域: (1) 和 (2 ) 。使用链表的最大的优点是 (3) , 即使是动态数组也做不到这一点。 答案: (1)数据域 (2 )指针域 (3 )用多少空间,开多少空间 第七章 动态内存分配习题 2 7.1.7 进入单链表必须通过单链表的 (1) ,如果它丢失则 (2) ,内存也 (3 ) ,在 单链表中进行的查找只能是 (4 ) 。 答案: (1)头指针 (2 )链表整个丢失 (3 )会发生泄漏 (4 )顺序查找 7.1.8 对链栈, 链的生成必须是向 (1) 生成, 最新压栈的元素 (结点),放在 (2 ) 位 置,弹出时从 (3 ) 删除结点。对链队,采用向 (4 ) 生成,新入队的结点放在 链的 (5 ) ,出队操作在 (6 ) 位置。

文档评论(0)

明若晓溪 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档