首页 > 全部 > 二级C++ > 国家二级C++机试(选择题)模拟试卷501

国家二级C++机试(选择题)模拟试卷501

本单篇文档共9073字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 2861人下载
价格: 2.00 原价:¥7.00
收藏

国家二级C++机试(选择题)模拟试卷501

选择题

1.有如下类定义:

class B

{

public:void funl(){}

private:void fun2(){}

protected:void fun3(){}

};

class D:public B

{

protected:void fun4(){}

};

若obj是类D的对象,则下列语句中不违反访问控制权限的是( )。(A)

A. obj.funl();

B. obj.fun2();

C. obj.fun3();

D. obj.fun4();

解析:本题考查公用继承对基类成员的访问属性。在公用继承中,基类的公用成员和保护成员在派生类中保持原有的访问属性,其私有成员仍为基类私有。所以在本题中,在类外引用成员函数时,派生对象只能引用基类的公用成员函数funl,故本题答案为A。

2.T列数据结构中,能用二分法进行查找的是(A)

A. 顺序存储的有序线性表

B. 线性链表

C. 二叉链表

D. 有序线性链表

解析:二分法查找只适应于顺序存储的有序表。有序表是指线性表中的元素按值非递减排序(即从小到大,但允许相邻元素值相等)的表。

3.对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。(D)

A. 冒泡排序为n/2

B. 冒泡排序为n

C. 快速排序为n

D. 快速排序为n(n-1)/2

解析:假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后的扫描和n/2遍的从后往前的扫描,需要的比较次数为n(n-1)/2。快速排序法也是一种互换类的排序方法,但由于它比冒泡排序法的速度快,因此,称为快速排序法。

4.有如下类定义:

class MyBase{

int k;

public:

MyBase(int n=0):k(n){}

int value()const{return k;}

};

class MyDerived:MyBase{

int j;

public:

MyDerived(int i):j(i){}

int getK()const{return k;}

int getJ()const{return j;}

};

编译时发现有一处语法错误,对这个错误最准确的描述是( )。(A)

A. 函数getK试图访问基类的私有成员变量k

B. 在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或private

C. 类MyDerived缺少一个无参的构造函数

D. 类MyDerived的构造函数没有对基类数据成员k进行初始化

解析:默认继承方式为私有继承,私有继承将基类的公用成员和保护成员都变为了私有成员,基类的私有成员依然属于基类私有,派生类不能访问基类的私有成员。所以A选项正确。

5.下列选项中不属于面向对象程序设计特征的是( )。(C)

A. 继承性

B. 多态性

C. 类比性

D. 封装性

解析:面向对象程序设计的三个主要特征是:封装性、继承性和多态性。封装性即只需知道数据的取值范围和可以对该数据施加的操作,而无需知道数据的具体结构以及实现操作的算法。继承性是指使用已有的类定义作为基础建立新类的定义技术。对象根据所接受的消息而做出动作,同样的消息被不同的对象接受时可导致完全不同的行动,该现象称为多态性。

6.在三级模式之间引入两层映像,其主要功能之一是( )。(A)

A. 使数据与程序具有较高的独立性

B. 使系统具有较高的通道能力

C. 保持数据与程序的一致性

D. 提高存储空间的利用率

解析:数据库管理系统在数据库的三级模式之间提供了两层映像,保证了数据库中数据的较高的逻辑独立性和物理独立性。

7.设表的长度为n。在下列算法中,最坏情况下时间复杂度最高的是(B)

A. 堆排序

B. 希尔排序

C. 有序链表查找

D. 循环链表中寻找最大项

解析:希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。排序方法最坏时间复杂度:直接插入为O(n2)、简单选择为O(n2)、起泡排序为O(n2)、快速排序为O(n2)、堆排序为O(nlog2n)、归并排序为O(nlog2n)。

8.下列关于数据库设计的叙述中,正确的是( )。(A)

A. 在需求分析阶段建立数据字典

B. 在概念设计阶段建立数据字典

C. 在逻辑设计阶段建立数据字典

D. 在物理设计阶段建立数据字典

解析:数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开发分解成目标独立的若干阶段。分别是:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。数据字典是对系统中数据的详尽描述,是各类数据属性的清单。对数据设计来讲,数据字典是进行详细的数据收集和数据分析所获得的主要结果。

9.对于int*pa[5];的描述,正确的是( )。(A)

A. pa是一个指向数组的指针,所指向的数组是5个int型元素

B. pa是一个指向某个数组中第5个元素的指针,该元素是int型变量

C. pa[5]表示某个数组的第5个元素的值

D. pa是一个具有5个元素的指针数组,每个元素是一个int型指针

解析:语句“int*p[5]”表示一个数组p,它的大小是5,里面存放的数据类型是int*,也就是整型指针。称之为指针数组(从右向左解析这个表示)。

10.有如下程序:

#include<iostream>

using namespace std;

class A

{

public:

A(){cout<<\\(D)

A. CBA

B. BAC

C. ACB

D. ABC

解析:此题中,语句C obj对象初始化首先调用基类的构造函数A(),输出“A”,其次是C类中对象的构造函数的调用,即调用B(),输出“B”;最后是调用自身的构造函数C(),输出“C”。

11.有三个关系R、S和T如下:

(D)

A. 选择

B. 投影

C. 交

D. 并

解析:由关系T中的数据可以看出,其数据由关系R和s的数据组成。所以关系T是由关系R和T通过并运算得到的。

12.有三个关系R、S和T如下:

(A)

A. 自然连接

本文档预览:3600字符,共9073字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(选择题)模拟试卷501

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号