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

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

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

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

选择题

1.下列有关内联函数的叙述中,正确的是( )。(C)

A. 内联函数在调用时发生控制转移

B. 内联函数必须通过关键字inline来定义

C. 内联函数是通过编译器来实现的

D. 内联函数函数体的最后一条语句必须是return语句

解析:一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换,所以在调用时不发生控制转移。在类内部实现的函数都是内联函数,可以不用inline定义;只有函数外部定义的内联函数才必须加关键字inline。编译系统并非对内联函数必须使用内联,而且根据具体情况决定。内联函数不是必须要有返回值的。

2.假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。(D)

A. void~MyClass():

B. MyClass(int n);

C. MyClass():

D. ~MyClass0:

解析:CH语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~MyClass()。

3.有如下程序段:

int i=0,j=1;

int &r=i;//①

r=j;//②

int *p=&i://③

*p=&r;//④

其中会产生编译错误的语句是( )。(A)

A. ④

B. ③

C. ②

D. ①

解析:本题考查指针和引用。①为引崩,使用正确;④中&r表示一个地址,而*p已经是一个值了,不能将一个指针赋值给一个值,所以编译错误。

4.有如下程序:

#include

using namespace std;

int i=1;

class Fun{

public:

static int i;

int value(){return i-1;}

int value()const{return i+1;}

};

int Fun::i=2;

int main(){

int i:3:

Fun fun1;

const Fun fun2;

——

return 0;

}

若程序的输出结果是:

123

则程序中下画线处遗漏的语句是( )。(A)

A. cout<<funl.value()<<Fun::i<<fun2.value();

B. eout<<Fun::i<<fun1.value()《fun2.value();

C. tout<<funl.value()<<fun2.value()<<Fun::i;

D. eout<<fun2.value()<<Fun::i<<fun1.value();

解析:本题考查构造函数、常成员函数和静态数据成员。外部同名的变量赋值,不能改变类的静态变量值,所以Fun对象里的i值为2,所以本题答案为A。

5.有如下程序:

#include

using namespace std;

class test{

private:

int a;

public:

test(){tout<<\\(D)

A. 3

B. constructor

destructor

C. copy constructor

destructor

D. 3

destructor

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

6.在下列原型所示的C++函数中,按“传值”方式传递参数的是( )。(A)

A. void f1(int x);

B. void f2(int * x);

C. void f3(const int *x);

D. void f4(int &x);

解析:函数参数的3种传递方式:①将变量名作为形参和实参,即传值方式;②传递变量指针;③引用形参。其中B、C选项都是传递变量指针,D选项为引用形参,所以本题答案为A。

7.有如下程序:

#include

using namespace std;

class Point{

public:

static int number;

public:

Point(){number++;}

~Point(){number–;}

};

int Point::number=0:

int main(){

Point*ptr;

Point A,B;

{

Point*ptr_point=new Point [3];

ptr=ptr_point;

}

Point C;

eout<<Point::number<<endl;

delete[]ptr;

return 0;

}

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

A. 3

B. 4

C. 6

D. 7

解析:本题考查默认构造函数,题目中定义一个对象A、B以及对象数组Point[3],又定义了对象C,共执行6次构造函数,number变为了6,所以本题答案为C。

8.下列各选项中,不属于序言性注释的是( )。(D)

A. 程序标题

B. 程序设计者

C. 主要算法

D. 数据状态

解析:注释一般为序言性注释和功能性注释。序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期及修改日期等。功能性注释一般嵌在源程序体之中,用于描述其后的语句或程序的主要功能。

9.软件详细设计产生的图如下:

(C)

A. N-S图

B. PAD图

C. 程序流程图

D. E-R图

解析:N-S图提出了用方框

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号