2024年4月19日发(作者:)

国家二级C语言机试(程序设计基础、软件工程基础)-试卷1

(总分68, 做题时间90分钟)

1. 选择题

1.

下列描述中,不符合良好程序设计风格要求的是

A 程序的效率第一,清晰第二

B 程序的可读性好

C 程序中要有必要的注释

D 输入数据前要有提示信息

分值: 2

答案:A

解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑

思路。程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。

著名的“清晰第一,效率第二”的论点已成为当今主导的程序设计风格。

2.

下列选项中不属于结构化程序设计原则的是

SSS_SINGLE_SEL

SSS_SINGLE_SEL

A 可封装

B 自顶向下

C 模块化

D 逐步求精

分值: 2

答案:A

解析:结构化设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、

限制使用goto语句。

3.

下列选项中不属于结构化程序设计方法的是

SSS_SINGLE_SEL

A 自顶向下

B 逐步求精

C 模块化

D 可复用

分值: 2

答案:D

解析:结构化程序设计方法的主要原则可以概括为:自顶向下,步求精,模块

化,限制使用goto语句。自顶向下是指程序设计时应先考虑总体,后考虑细

节:先考虑全局目标,后考虑局部目标。逐步求精是指对复杂问题应设计一些

子目标过渡,逐步细化。模块化是把程序要解决的总目标先分解成分目标,再

进一步分解成具体的小目标,把每个小目标称为一个模块。可复用性是指软件

元素不加修改成稍加修改便可在不同的软件开发过程中重复使用的性质。软件

可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法,不

属于结构化程序设计方法。

4.

下列选项中不符合良好程序设计风格的是

SSS_SINGLE_SEL

A 源程序要文档化

B 数据说明的次序要规范化

C 避免滥用goto语句

D 模块设计要保证高耦合、高内聚

分值: 2

答案:D

解析:一般来讲,程序设计风格是指编写程序时所表现出的特点、习惯和逻辑

思路。程序设计风格总体而言应该强调简单和清晰,程序必须是可以理解的。

可以认为,著名的“清晰第一、效率第二”的论点已成为当今主导的程序设计

风格。良好的程序设计风格主要应注重和考虑下列几个因素:①源程序文档

化,包括下列三个方面:A)符号的命名应具有一定的含义;B)正确的注释能够

帮助读者理解程序;C)视觉组织,可以在程序中利用空格、空行、缩进等技巧

使程序层次清晰。②数据说明的方法,包括下列三个方面:A)数据说明的次序

规范化:B)说明语句中变量安排有序化;C)使用注释来说明复杂数据的结构。

③语句的结构应该简单直接,不应该为提高效率而把语句复杂化。④输入和输

出方式和风格应尽可能方便用户的使用。

5.

下列选项中属于面向对象设计方法主要特征的是

SSS_SINGLE_SEL

A 继承

B 自顶向下

C 模块化

D 逐步求精

分值: 2

答案:A

解析:面向对象设计方法的主要特征有封装性、继承性和多态性。而结构化程

序设计方法的主要原则有自顶向下,逐步求精,模块化,限制使用goto语句。

6.

定义无符号整数类为UInt,下面可以作为类UInt实例化值的是

SSS_SINGLE_SEL

A -369

B 369

C 0.369

D 整数集合{1,2,3,4,5}

分值: 2

答案:B

解析:UInt表示的是无符号整数类,所以它的每个实例都是一个无符号整数,

所以排除选项A)和选项C),选项D)是整数集合,所以也排除。

7.

在面向对象方法中,实现信息隐蔽是依靠

SSS_SINGLE_SEL

A 对象的继承

B 对象的多态

C 对象的封装

D 对象的分类

分值: 2

答案:C

解析:对象的封装性是指从外部看只能看到对象的外部特征,即只需知道数据

的取值范围和可以对该数据施加的操作,而不需要知道数据的具体结构以及实

现操作的算法。对象的内部,即处理能力的实行和内部状态,对外是不可见

的。从外面不能直接使用对象的处理能力,也不能直接修改其内部状态,对象

的内部状态只能由其自身改变。

8.

构成计算机软件的是

SSS_SINGLE_SEL

A 源代码

B 程序和数据

C 程序和文档

D 程序、数据及相关文档

分值: 2

答案:D

解析:软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行

的,与软件开发、运行、维护、使用等有关的文档。

9.

下列描述中正确的是

SSS_SINGLE_SEL

A 程序就是软件

B 软件开发不受计算机系统的限制

C 软件既是逻辑实体,又是物理实体

D 软件是程序、数据与相关文档的集合

分值: 2

答案:D

解析:计算机软件与硬件是计算机系统中相互依存的两部分。计算机软件是包

括程序、数据及相关文档的完整集合。软件由两部分组成:一部分是机器可执

行的程序和数据:二是机器不可执行的,与软件开发、运行、维护、使用等有

关的文档。软件具有以下六个特点:①软件是一种逻辑实体,而不是物理实

体,具有抽象性。②软件的生产与硬件不同,它没有明显的制作过程。③软件

在运行、使用期间不存在磨损、老化问题。④软件的开发、运行对计算机系统

具有依赖性,受计算机系统的限制,这导致了软件移值的问题。⑤软件复杂性

高,成本昂贵。⑥软件的开发涉及诸多社会因素。

10.

软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属

于应用软件的是

SSS_SINGLE_SEL

A 编译程序

B 操作系统

C 教务管理系统

D 汇编程序

分值: 2

答案:C

解析:编译程序和汇编程序属于支撑软件,操作系统属于系统软件,而教务管

理系统属于应用软件。

11.

下面描述中,不属于软件危机表现的是

SSS_SINGLE_SEL

A 软件过程不规范

B 软件开发生产率低

C 软件质量难以控制

D 软件成本不断提高

分值: 2

答案:A

解析:软件危机主要表现在以下6个方面: ①软件需求的增长得不到满足。

②软件开发成本和进度无法控制。 ③软件质量难以保证。 ④软件不可维护或

维护程度非常低。 ⑤软件的成本不断提高。 ⑥软件开发生产率的提高赶不上

硬件的发展和应用需求的增长。

12.

下面不属于软件工程的3个要素是

SSS_SINGLE_SEL

A 工具

B 过程

C 方法

D 环境

分值: 2

答案:D

解析:软件工程的3个要素是工具、过程和方法。

13.

软件生命周期是指

A 软件产品从提出、实现、使用维护到停止使用退役的过程

B 软件从需求分析、设计、实现到测试完成的过程

C 软件的开发过程

D 软件的运行维护过程

分值: 2

答案:A

解析:软件生命周期是指软件产品从提出、实现、使用、维护到停止使用、退

役的过程。

14.

软件生命周期可分为定义阶段、开发阶段和维护阶段,下面不属于开发阶段任

务的是

SSS_SINGLE_SEL

SSS_SINGLE_SEL

A 测试

B 设计

C 可行性研究

D 实现

分值: 2

答案:C

解析:软件生命周期是指软件产品从提出、实现、使用、维护到停止使用退役

的过程。其中,定义阶段包括可行性研究与计划制定和需求分析。测试、概要

设计、详细设计和实现属于开发阶段。

15.

软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于

SSS_SINGLE_SEL

A 定义阶段

B 开发阶段

C 维护阶段

D 上述三个阶段

分值: 2

答案:B

解析:本题考查软件生命周期的相关概念。通常,将软件产品从提出、实现、

使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考

虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。

一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活

动。还可以将软件生命周期分为软件定义、软件开发及软件运行维护三个阶

段。

16.

下面不属于软件设计原则的是

SSS_SINGLE_SEL

A 抽象

B 模块化

C 自底向上

D 信息隐藏

分值: 2

答案:C

解析:软件设计的基本原则包括抽象、信息隐藏、模块化、局部化、确定性、

一致性、完备性和可验证性。

17.

下面不属于需求分析阶段任务的是

A 确定软件系统的功能需求

B 确定软件系统的性能需求

C 需求规格说明书评审

D 制定软件集成测试计划

分值: 2

SSS_SINGLE_SEL