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

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

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

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

选择题

1.由于常对象不能被更新,因此( )。(A)

A. 通过常对象只能调用它的常成员函数

B. 通过常对象只能调用静态成员函数

C. 常对象的成员都是常成员

D. 通过常对象可以调用任何不改变对象值的成员函数

解析:本题考查常对象的基本知识,常对象只能调用它的常成员函数,而不能调用非const函数,常对象的成员函数不一定都是常成员函数,只需保证其数据成员是常数据成员即可。所以本题选A。

2.若有如下程序:

#include

using namespace std;

int s=0:

class sample

{

static int n;

public:

sample(int i)

{n=i;}

static void add()

{s+=n;}

};

int sample::n=0:

int main()

{sample a(2),b(5);

sample::add();

cout<<s<<endl;

return 0:

}

程序运行后的输出结果是( )。(B)

A. 2

B. 5

C. 7

D. 3

解析:执行语句“sample a(2),b(5)”;的结果是使n的值最终变为5,sample::add()语句调用函数static void add(),使得s=s+n=5。

3.下面的符号中可以用作C++标识符的是( )。(D)

A. 3test

B. fcc~other

C. else

D. radius

解析:c++标识符是以字母、下划线开头的,由字母、数字及下划线组成的,不与关键字相同的字符串。选项c)中else为关键字。

4.有如下程序:

#include

using namespace std;

int main()

{

cout.fill(’*’);

cout.width(6);

cout.fill(’#’);

cOut<<888<<endl:

return 0:

}

的执行结果是( )。(A)

A. ###888

B. 888###

C. ***888

D. 888***

解析:C++在流操作中,利用cout对象的width属性设置输出字符的宽度,用fill函数来设置需要填充的字符。题目程序中,首先设置填充字符为*,输出宽度为6,但在输出前又设置了填充字符为#,所以在输出时,其填充字符为撑,由于888不足6个字符,所以在前面以三个“#”来填充。

5.类中的一个字符指针成员指向具有m个字节的存储空间时,它所能存储的字符串的最大长度为( )。(B)

A. m.2

B. m.1

C. m

D. m+l

解析:在C++中,字符中以‘\0’作为字符串结束的标志,所以个数为m一1。

6.在每个C++程序中必须有且仅有一个( )。(B )

A. 函数

B. 主函数

C. 预处理指令

D. 语句

解析:在每一个C++程序中必须有且只有一个主函数,每个程序的执行都是从主函数的开始。

7.有如下程序:

#include<iostream>

using namespace std;

class test{

private:

int a;

public:

test(){cout<<\\(D)

A. 3

B. constructor

destructor

C. copy constructor

destructor

D. 3

destructor

解析:本题考查默认构造函数和带参数的构造函数以及析构函数,本题中定义了一个对象A(3),对象带着参数,所以执行带参数的构造函数,输出3,然后执行析构函数,输出destructor。所以本题答案为D。

8.下列函数模板的定义中,合法的是( )。

A

解析:本题考查模板函数的基本概念,根据模板函数的定义,所以答案为A。

9.将E-R图转换到关系模式时,实体与联系都可以表示成( )。(B )

A. 属性

B. 关系

C. 记录

D. 码

解析:E-R图由实体、实体的属性和实体之间的联系3个要素组成,关系模型的逻辑结构是一组关系模式的集合,将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。如下表所示。

10.关于函数重载,下列叙述中错误的是( )。(C)

A. 重载函数的函数名必须相同

B. 重载函数必须在参数个数或类型上有所不同

C. 重载函数的返回值类型必须相同

D. 重载函数的函数体可以有所不同

解析:所谓函数重载是指同一个函数名可以对应多个函数的实现。每种实现对应一个函数体,这些函数的名字相同,其参数类型或个数不同,但不能出现函数返回值类型不同而参数类型和个数完全相同的重载。所以本题答案为C。

11.有以下程序,在横线应添加( )。

#include

using namespace std;

class TestClass

{

public:

TestClass(int n){number=n;)

∥拷贝构造函数

~TestClass(){}

private:

int number;

};

TestClass fun(TestClass P)

{

TestClass temp(p);

return temp;

}

int main()

{

TestClass objl(10),obj2(0);

TestClass obj3(objl);

obj2=fun(obj3);

return 0;

}(A)

A. TestClass(ZestClass&other){number=other.number;)

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号