国家二级C++机试(选择题)模拟试卷213
选择题
1.在开发一个C++程序的整个过程中,第3个步骤为( )。(A)
A. 链接
B. 运行
C. 编辑
D. 编译
解析:C++程序的开发过程是编辑、编译、链接、运行和调试。
2.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。(C)
A. O(n)
B. O(n2)
C. O(log2n)
D. O(nlog2n)
解析:当有序线性表为顺序存储时才能用二分法查找。可以证明的是对于长度为n的有序线性表,在最坏情况下,二分法查找只需要比较log2n次,而顺序查找需要比较n次。
3.下列叙述中,不属于软件需求规格说明书的作用的是( )。(D)
A. 便于用户,开发人员进行理解和交流
B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据
C. 作为确认测试和验收的依据
D. 便于开发人员进行需求分析
解析:软件需求规格说明书有以下几个方面的作用:
①便于用户、开发人员进行理解和交流。
②反映出用户问题的结构,可以作为软件开发工作的基础和依据。
③作为确认测试和验收的依据。
4.下列选项中不属于结构化程序设计原则的是( )。(A)
A. 可封装
B. 自顶向下
C. 模块化
D. 逐步求精
解析:结构化设计方法的主要原则可以概括为自顶向下、逐步求精、模块化、限制使用goto语句。
5.关于模板,下列说法不正确的是( )。(B)
A. 用类模板定义一个对象时,不能省略实参
B. 类模板只能有虚拟类型参数
C. 类模板本身在编译中不会生成任何代码
D. 类模板的成员函数都是模板函数
解析:类模板不是一个实实在在的类,本身在编译中不会生成任何代码;用类模板定义一个对象时,不能省略实参;类模板的成员函数都是模板函数。C++中可以为类模板的参数设置默认值,所以选项B)错误。
6.软件详细设计产生的图如下:
(C)
A. N―S图
B. PAD图
C. 程序流程图
D. E―R图
解析:N―s图提出了用方框图来代替传统的程序流程图,所以A不对。PAD图是问题分析图,它是继承程序流程图和方框图之后提出的又一种主要用于描述软件详细设计的图形表示工具,所以B不对。E―R图是数据库中的用于表示E―R模型的图示工具,所以D不对。根据图中所示表示方法是进行软件详细设计时使用的程序流程图。
7.有如下程序:
#include
using namespace std;
class Point{
public:
static int number;
public:
Pointo{number++;}
-Point(){number-一;)
);
int Point::number~0;
void main0{
Point*ptr;
PointA,B;
{
Point*ptr_point=new Point[3];
ptx=ptr_point;
)
Point C:
Gout+Point::number+endl;
delete[]ptr;
)
运行时输出的结果是( )。(C)
A. 3
B. 4
C. 6
D. 7
解析:此题是静态成员、对象的构造和对象的生存期等知识点的综合考查。此题定义了一个静态成员变量number,初始值为0。土函数中第2行定义了2个Point对象,此时number变为2;随后new运算符又定义了一个包含3个Point对象元素的数组,其通过delete结束后number的值变为5;然后又定义了一个Point对象C,number变为6;最后输出number的内容。
8.下列关于数据库设计的叙述中,正确的是(A)
A. 在需求分析阶段建立数据字典
B. 在概念设计阶段建立数据字典
C. 在逻辑设计阶段建立数据字典
D. 在物理设计阶段建立数据字典
解析:数据字典是指对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。
9.一个工作人员可使用多台计算机,而一台计算机被多个人使用,则实体工作人员与实体计算机之间的联系是( )。(C)
A. 一对一
B. 一对多
C. 多对多
D. 多对一
解析:如果一个工作人员只能使用一台计算机且一台计算机只能被一个工作人员使用,则关系为一对一;如果一个工作人员可以使用多台计算机,但是一台计算机只能被一个工作人员使用,则关系为一对多;如果一个工作人员可以使用多台计算机,一台计算机也可以被多个工作人员使用,则关系为多对多。
10.必须用对大括号括起来的程序段是( )。(D)
A. switch语句中的case标号语句
B. if语句的分支
C. 循环语句的循环体
D. 函数的函数体
解析:此题考查的是语句块和函数。if语句的分支和循环语句的循环体可以是一条语句也可以使一个语句块,所以不是必须用一个大括号括起来;switch语句中的case标号语句可以是一系列语句,也可以包含语句块,也不是必须用一对大括号括起来:函数的函数体必须用一对大括号括起来。
11.在函数中,可以用auto、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是( )。(A)
A. auto
B. extem
C. register
D. static
解析:此题考查的是存储类型。C++语言变量的存储类型分为如下几种类型:auto—函数内部的局部变量;static…静态存储分配;extern—全局变量;register—变量存储在硬件寄存器中。
12.执行下列语句段后,输出字符“*”的个数是( )。
for (int i=50; 1>1;I一=2)cout<<’*’;(B)
A. 24
B. 25
C. 26
D. 50
解析:此题考查的是for循环语句。执行循环语句,变量i从50递减,每次减2,所以循环会执行25次,输出25个’*’。
13.下列运算符函数中,肯定不属于类Value的成员函数的是( )。(B)
A. Value operator+(Value);
B. Value operator一(Value, Value);
本文档预览:3600字符,共6875字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载