2018软考试题及答案(2018年软考试题及答案解析)
2018年软考试题及答案解析
第一部分:计算机组成原理
1.以下描述中,错误的是:
A:操作系统在计算机启动时被执行
B:操作系统是一种系统软件
C:操作系统通过命令行或图形界面来管理计算机资源
D:操作系统与计算机硬件直接交互
答案: A
解析: 操作系统是一种系统软件,它通过命令行或图形界面来管理计算机资源,与计算机硬件直接交互。但是在计算机启动时,先是BIOS执行,再是操作系统被加载到内存中,最后才是操作系统被执行。
2.计算机的系统总线主要包括:
A:地址总线和数据总线
B:数据总线和控制总线
C:地址总线、数据总线和控制总线
D:地址总线、数据总线、控制总线和扩展总线
答案: C
解析: 计算机的系统总线主要包括地址总线、数据总线和控制总线,它们共同协调着计算机内部各个模块的工作。
第二部分:Java语言
1.以下程序的执行结果是什么:
public static void main(String[] args) { int i = 0; a: for (; i < 5; i++) { b: for (int j = 0; j < 5; j++) { if (j == 3) continue a; if (i == 2) break b; System.out.println(\"i=\" + i + \", j=\" + j); } }}
答案:
i=0, j=0
i=0, j=1
i=0, j=2
i=1, j=0
i=1, j=1
i=1, j=2
i=2, j=0
解析: 该程序使用了带有标签的continue和break语句,其中continue a表示跳出标签为a的循环,break b表示跳出标签为b的循环。因此,当j等于3时会跳出标签为a的循环,当i等于2时会跳出标签为b的循环。
2.Java中如何实现多态性的?
答案: Java中实现多态性的方式有两种:继承和接口。其中,继承是通过子类继承父类的属性和方法来实现多态性的,而接口则通过实现相同接口但具有不同实现的类来实现多态性。
第三部分:软件工程
1.以下关于软件测试说法正确的是:
A:测试过程是一个贯穿软件生命周期的过程
B:测试仅仅是为了找出代码中的错误
C:测试仅仅局限于黑盒测试
D:测试不需要进行计划,纯随意性即可
答案: A
解析: 测试是一个贯穿软件生命周期的过程,既包括单元测试、集成测试、系统测试、验收测试等多种测试方式,也包括在软件需求分析、设计、编码、测试、运行和维护等各个开发阶段中的测试工作。
2.以下哪项不是敏捷开发原则:
A:个体和交互 高于 流程和工具
B:完整可靠的文档 高于 及时交付的软件
C:回应变化 高于 遵循计划
D:客户参与 高于 合同谈判
答案: B
解析: 敏捷开发原则强调个体与交互、工作的实时性以及持续改进过程等,其中并没有完整可靠的文档高于及时交付的软件的原则。相反,敏捷开发的理念是通过持续交付来获取反馈,及时调整开发过程,更好地满足用户需求。