首页 > 全部 > 二级C++ > 国家二级(C++)机试模拟试卷295

国家二级(C++)机试模拟试卷295

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

国家二级(C++)机试模拟试卷295

选择题

1.在下面的类定义中,横线处应填入的内容是( )。

class Fred

{

public:

void print(){cout<<data<<endl;)

void setData(double d) {data=d;}

static int count;

private:

double data;

};

count=0; //静态数据成员的定义(C)

A. int

B. static int

C. int Fred::

D. static int Fred::

解析:此题考查的是静态数据成员的定义。题目中count数据成员要定义成静态的,其初始化的格式为:类型类名::静态数据成员=常量。

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

A. 冒泡排序为n(n-1)/2

B. 简单插入排序为n

C. 希尔排序为n

D. 快速排序为n/2

解析:在最坏情况下,冒泡排序所需要的比较次数为n(n-1)/2:简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为0(n1.5);堆排序所需要的比较次数为0(nlog2n)。

3.以下关键字不能用来声明类的访问权限的是( )。(B)

A. public

B. static

C. protected

D. private

解析:类的成员访问权限有3种:public(公用)、protected(保护)、private(私有)。

4.若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:

   a=7

   b=9

   则输出的语句“printf(\\(C)

A. a=%c\nb=%c\n

B. a=%d/nb=%d/n

C. a=%d\nb=%d\n

D. a=%a\nb=%b\n

解析:本题考查两个知识点:标准输出函数的格式与转义字符。\n为转义字符,其意义为换行,%d代表以整型的格式输出相应位置变量的值。其他字符按原样输出。

5.有如下程序:

#include

using namespaee std;

elass Base{

protected:

Base(){cout<<’A’;}

Base(char c){cout<<c;}

};

class Derived:public Base{

public:

Derived(char c){cout<<c;}

};

int main(){

Derived dl(’B’);

return 0;

}

执行这个程序的输出结果是( )。(C)

A. B

B. BA

C. AB

D. BB

解析:本题考查派生类的构造函数和析构菌数,在定义二不派笙类的对象时,先调用基类的构造函数,然后再执行派生类的构造函数;对象释放时,先执行派生类的析构函数,再执行基类的析构函数。本题中定义了一个派生类对象d1,首先执行基类的构造函数,输出A;然后执行派生类的构造函数,输出B。所以答案为C。

6.下列关于抽象类的表述中正确的是( )。(C)

A. 派生类必须要实现作为基类的抽象类中的纯虚函数

B. 抽象类的成员函数至少有一个没实现

C. 抽象类不可能用来定义对象

D. 派生类不能成为抽象类

解析:C++中拥有纯虚函数的类称为抽象类。抽象类不能用来定义对象。如果一个抽象类的派生类没有重定义来自基类的某个纯虚函数,则该函数在派生类中仍是纯虚函数,该类仍为抽象类。

7.下列叙述中正确的是( )。(D)

A. 栈是“先进先出”的线性表

B. 队列是“先进后出”的线性表

C. 循环队列是非线性结构

D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

解析:栈是先进后出的线性表,所以A错误;队列是先进先出的线性表,所以B错误;循环队列是线性结构的线性表,所以C错误。

8.对关系S和关系R进行集合运算,结果中既包含关系S中的所有元组也包含关系R中的所有元组,这样的集合运算称为( )。(A)

A. 并运算

B. 交运算

C. 差运算

D. 除运算

解析:关系的并运算是指,由结构相同的两个关系合并,形成一个新的关系,其中包含两个关系中的所有元组。

9.有如下程序:

#include<iostream>

using namespace std;

class A{

public:

static int a;

void init() {a=1;}

A(int a=2){init();a++;}

};

int A∷a=0:

A obj;

int main()

{

cout<<obj.a:

return 0;

}

运行时输出的结果是( )。(B)

A. 0

B. 1

C. 2

D. 3

解析:本题考查构造函数,本题中对类中的a数据成员先是赋值为0,当定义了对象obj时,执行构造函数,将a的值变为了1,所以输出1。

10.以下程序运行后的输出结果是( )。

#include

void main()

{

char a[]=“abbcabbcabbc”;

int i=0,j=0,k=0;

while(a[i])

{

if(a[i]=a)

j++;

if(a[i]==b)

k++:

i++:

}

cout<<j<<\\(D)

A. 2,6

B. 3,5

C. 4,7

D. 3,6

解析:程序中首先定义字符数组a,然后在while循环中统计字符a和b的个数。其中j记录a的个数,k记录b的个数。第一个if语句是当第i个字符为a时,j加1;第二个if语句是当第i个字符为b

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号