国家二级C++机试(选择题)模拟试卷387
选择题
1.在数据库设计中,将E-R图转换成关系数据模型的过程属于( )。(C)
A. 需求分析阶段
B. 概念设计阶段
C. 逻辑设计阶段
D. 物理设计阶段
解析:逻辑结构设计的任务:概念结构是各种数据模型的共同基础,为了能够用某一DBMS实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。它包括从E-R图向关系模式转换和逻辑模式规范化及调整、实现。
2.下列关于栈的叙述正确的是( )。(B)
A. 栈按“先进先出”组织数据
B. 栈按“先进后出”组织数据
C. 只能在栈底插入数据
D. 不能删除数据
解析:栈是限定在一端进行插入和删除的线性表,允许进行插入和删除元素的一端称为栈顶,另一端称为栈底。栈是按照“先进后出”的原则组织数据的。
3.对虚函数的调用( )。(D)
A. 一定使用动态联编
B. 必须使用动态联编
C. 一定使用静态联编
D. 不一定使用动态联编
解析:虚函数在运行阶段和类的对象绑定在一起,这样成为动态联编。虚函数声明只能出现在类声明中虚函数原型中,而不能在成员的函数体实现的时候。必须由成员函数来调用或者通过指针、引用来访问虚函数。如果通过对象名来访问虚函数,则联编在编译过程中认为是静态联编。
4.下列链表中,其逻辑结构属于非线性结构的是(A)
A. 二叉链表
B. 循环链表
C. 双向链表
D. 带琏的栈
解析:二叉链表作为树的存储结构。链表中结点的两个链域分别指向该结点的第一个孩子结点和下一个兄弟结点。
5.一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为( )。(A)
A. 16
B. 10
C. 6
D. 4
解析:根据二叉树的性质,在任意二叉树中,度为O的结点(即叶子结点)总是比度为2的结点多一个,故此度为l的结点个数=总结点数.叶子节点数.度为2的节点数=25.5-4=16。
6.已知递归函数fun的定义如下:
int fun(int n)
{
if(n<=1)return1;//递归结束情况
else return n*fun(n.2);//递归
}
则函数调用语句fun(5)的返回值是( )。(C)
A. 5
B. 12
C. 15
D. 30
解析:递归函数fun被定义为含有参数int n,返回整型。其中fun函数递归调用本身,当n=1时,fun返回1,如果大于1那么执行n*fun(n-2)。所以,当n等于5时,执行5*fun(3);当3时继续调用fun,3*fun(1),即fun(5)=5*(3*fun(1)),答案为15。
7.下面不属于软件工程的3个要素是( )。(D)
A. 工具
B. 过程
C. 方法
D. 环境
解析:软件工程的3个要素是工具、过程和方法。
8.在数据库管理技术的发展中,数据独立性最高的是( )。(C)
A. 人工管理
B. 文件系统
C. 数据库系统
D. 数据模型
解析:在人工管理阶段,数据无法共享,冗余度大,不独立,完全依赖程序;在文件系统阶段,数据共享性差;在数据库系统阶段,共享性好,独立性高。
9.下面不属于软件测试实施步骤的是( )。(B)
A. 集成测试
B. 回归测试
C. 确认测试
D. 单元测试
解析:软件测试实施的步骤有单元测试、集成测试和确认测试。
10.有如下程序:
#include
using namespace std;
class MyClass{
public:
MyClass(){++count;}
~MyClass(){一一count;}
static int getCount(){return count;}
private:
static int count;
};
int MyClass::count=0;
im main()
{
MyClass obj;
cout<<obj.getCount();
MyClass*ptr=new MyClass;
cout<<MyClass::getCount();
delete ptr;
cout<<MyClass::getCount();
retum 0;
}
执行这个程序的输出结果是( )。(A)
A. 121
B. 232
C. 221
D. 122
解析:本题考查静态数据成员。静态数据成员在内存中只占一份空间,静态数据成员属于类,即使不定义对象,也会给静态数据成员分配空间,可以被引用。本题中先是定义了一个对象obj,执行构造函数使得静态数据成员count变为了1,然后又定义了指针对象,执行构造函数后,count变为了2,释放指针后,执行析构函数,使得count变为了1。所以本题答案为A。
11.在数据库系统中,用户所见的数据模式为( )。(B)
A. 概念模式
B. 外模式
C. 内模式
D. 物理模式
解析:用户所见到的数据模式是外模式也称用户模式。它是用户的数据视图,它由概念模式导出。一个概念模式可以有若干个外模式,每个用户只关心与它有关的外模式,这样不仅可以屏蔽大量无关信息,而且有利于数据维护。
12.定义如下枚举类型
enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2};
则下列语句正确的是( )。(A)
A. 表达式Wednesday=Friday的值是true
B. Day day;day=3
C. Day day;day=Mondday+3
D. Day day;day=Tuesday+10
解析:enum<枚举类型名>{<枚举元素表>):其中:关键词enum表示定义的是枚举类型,枚举类型名由标识符组成,而枚举元素表由枚举元素或枚举常量组成。其中enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2}的值由0开始,即0,1,2,3。D中的本题中的枚举类型中的数据值Wednesday为2,而Friday的值赋值为2,所以判断Wednesday等于Friday的表达式值为真,即true。即选择A。
13.对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是( )。(D)
A. 公有或私有
B. 私有
C. 保护或私有
D. 公有或保护
解析:通过公有继承定义的派生类,其成员函数可以访问基类的公有成员和保护成员,但不能访问基类的私有成员。
14.程序调试的任务是( )。(D)
A. 设计测试用例
B. 验证程序的正
本文档预览:3600字符,共13342字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载