第四章课后习题与参考答案
一、选择题
1.能将高级语言编写的源程序转换为目标程序的软件是()
A、汇编程序
B、编辑程序
C、解释程序
D、编译程序
2.类和对象之间的关系是()。
A、定义和被定义的关系
B、调用和被调用的关系
C、类即是对象数组
D、抽象和具体的关系
3.下列是面向对象系统的特性的是()。
A、封装性
B、二义性
C、可重用性
D、完整性
4.计算机能直接执行的程序是()。
A、机器语言程序
B、汇编语言程序
C、高级语言程序
D、自然语言程序
5.下列高级语言中,能用于面向对象程序设计的语言是()。
A、C语言
B、C++语言
C、FORTRAN语言
D、Pascal语言
6.软件生存周期中的需求分析阶段的任务是确定()。
A、软件开发方法
B、软件开发工具
C、软件开发费用
D、软件开发系统的功能
7.程序设计语言所经历的主要阶段依次为()。
A、机器语言、高级语言和汇编语言
B、高级语言、机器语言和汇编语言
C、汇编语言、机器语言和高级语言
D、机器语言、汇编语言和高级语言
8.关于计算机软件叙述中正确的是()。
A、用户所编写的程序即为软件
B、源程序称为软件
C、软件包括程序和文档
D、数据及文档称为软件
9.下列叙述中,错误的是()。
A、计算机软件是指计算机中的程序和文档
B、软件就是程序
C、系统软件是应用程序与硬件间的接口
D、为课程管理开发的软件属于应用软件
10.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是()。
A、2 3 1
B、3 2 1
C、3 1 2
D、1 2 3
11.在数据结构中,从逻辑上可以把数据结构分成()。
A、动态结构和静态结构则
B、线性结构和非线性结构
C、集合结构和非集合结构
D、树状结构和图状结构
12.在软件生存周期中,能准确确定软件系统必须做什么和必须具备哪些功能的阶段是()。
A、概要设计
B、详细设计
C、可行性分析
D、需求分析
13.软件测试的目的是()。
A、证明软件系统中存在错误
B、找出软件系统中存在的所有错误
C、尽可能多地发现系统中的错误和缺陷
D、证明软件的正确性
14.下面叙述正确的是()。
A、算法的执行效率与数据的存储结构无关
B、算法得空间复杂度是指算法程序中指令(或语句)的条数
C、算法得有穷性是指算法必须能在执行有限个步骤之后终止
D、以上三种描述都不对
15.以下数据结构中不属于线性数据结构的是()。
A、队列
B、线性表
C、二叉树
D、栈
二、判断题
1.程序设计语言的不断发展和完善,程序设计也变得越来越简单、标准和工程化。
()
2.任何一个计算机程序都具有目的性,有序性,有穷性的性质。
()
3.用高级语言编写的源程序必须经过编译或解释,成为计算机能够“识别”的机器语言程序,才能在计算上执行。
()
4.类与对象的关系是抽象与具体的关系。
()
5.在面向对象的程序设计中,凡是具备属性和行为这两个要素的都可以作为对象。
()
6.算法的正确性是评价一个算法优劣的最重要的标准。
()
7.瀑布模型各阶段间具有顺序性和依赖性。
()
8.快速原型模型优点是可以减少由于软件需求不明确带来的开发风险。
()
9.C#不是一种面向对象的程序设计语言。
()
10.栈是一种特殊的线性表,具有先入先出的特点。
()
三、填空题
1.计算机程序设计语言经历了从()、()到高级语言的发展历程。
2.结构化程序设计的基本思想是()、()、()。
3.结构化程序设计的三种基本结构是()、()、()。
4.在面向对象的概念中,()表示具有相同属性和行为的一组对象的集合。
5.一个对象向另一个对象发出的请求称为(),也称为()。
6.面向对象技术的基本特征是()、()、()和多态。
7.算法具有()、()、()、有0个或多个输入项和至少有一个输出项5个基本特征。
8.常用的算法描述主要有()、()、()三种方式。
9.一个算法的评价主要从()和空间复杂度来考虑。
10.数据结构一般包含()、()和数据的运算三个方面的内容。
11.队列的插入操作是在队列的()进行,删除操作是在队列的()进行。
12.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是()。
13.二叉树遍历方式有()、()和()历三种,这三种遍历方式都是相对于根结点而言的。
14.软件生存周期被划分为()、()、系统编程、系统测试和系统维护5个阶段。
15.按测试方式分类,软件测试可分为()和动态测试。
按测试方法分类,软件测试可分为()和();按测试过程分,可分为()、集成测试、系统测试和()。
四、简答题
1.什么叫程序?什么是软件?软件具有哪些特性?
2.试述面向对象与面向过程的区别。
3.试述面向对象程序设计的优点。
4.谈谈你对“程序=数据结构+算法”的理解。
5.试述产生软件危机的原因及解决软件危机的途径。
6.什么是软件工程?
7.什么是软件生存周期?简述该周期的组成及所要解决的问题。
参考答案
一、选择题
1.D
2.D
3.A
4.A
5.B
6.D
7.D
8.C
9.B 10.C 11.B 12.D 13.C 14.C 15.C
二、判断题
1.√
2. √
3. √
4. √
5. √
6. √
7. √
8. √
9.×10×
三、填空题
1.机器语言汇编语言
2.自顶向下逐步求精模块化
3.:顺序结构选择结构循环结构
4.类
5. 消息(Message)事件(Event)
6.抽象封装继承
7.有穷性确定性有效性
8.自然语言流程图伪代码
9.时间复杂度10.数据的逻辑结构数据的存储结构11.队尾队头12.top=0 13.先序遍历中序遍历后序遍历14.系统分析系统设计15.静态测试白盒测试黑盒测试单元测试验收测试。