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

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

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

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

选择题

1.下面关于数据库三级模式结构的叙述中,正确的是( )。(B)

A. 内模式可以有多个,外模式和模式只有一个

B. 外模式可以有多个,内模式和模式只有一个

C. 内模式只有一个,模式和外模式可以有多个

D. 模式只有一个,外模式和内模式可以有多个

解析:数据库的三级模式结构是指数据库系统的外模式、模式和内模式。一个数据库可以有多个外模式,但只有一个模式和一个内模式。

2.将\\(C)

A. x.rational+(rational*(y,z))

B. x.const+(const*(y,z))

C. x.operator+(operator*(y,z))

D. x.temp+(temp*(y,z))

解析:运算符重载为成员函数的形式:“函数类型operator运算符(形参表){函数体;}”;运算符重载为友元函数的形式:“friend函数类型operator运算符(形参表){函数体;}”。一般来讲,单目运算符最好重载为成员函数,双目运算符最好重载为友元函数。运算符函数有两种调用形式,第一种是像一般函数那样用函数名调用,即“y.operator*(z)”或者“operator*(y,z)”;另一种是通过运算符构成表达式,即“y*z”。

3.有如下程序:

#include<iostream>

using namespace std;

int main()

{

int.p;

*p=9;

cout<<”The value at p:”<<*p;

return 0;

编译运行程序将出现的情况是( )。(D)

A. 编译时出现语法错误,不能生成可执行文件

B. 运行时一定输出:The value at p:9

C. 运行时一定输出:The value at p:*9

D. 运行时有可能出错

解析:先定义指针变量,然后给指针变量赋初值有三种情况:①用取地址运算符“&”将变量地址赋给指针变量,如p=&a;②将一个指针变量中的地址赋给另一个指针变量,如p=p1;③给指针变量赋空值0,如q=0,表示该指针变量不指向任何变量。而不能用一个常量给指针变量赋初值,所以本题选D。

4.有如下类定义:

class Point

{

int XX,YY;

public:

Point():xx(0),yy(0){}

Point(int X,int y=0):xx(x),yy(y){}

};

若执行语句

Point a(2),b[3],*c[4];

则Point类的构造函数被调用的次数是( )。(C)

A. 2次

B. 3次

C. 4次

D. 5次

解析:本题考查默认构造函数和带参数的构造函数,题目中定义一个对象a(2)以及对象数组b[3],共执行4次构造函数,对象指针不调用构造函数。所以本题答案为C。

5.有如下程序:

#include

using namespace std;

class TestClass

{

int n;

public:

TestClass(int k):n(k){}

int get(){return n;}

int get()const{return n+1;}

};

int main()

{

TestClass p(5);

const TestClass q(6);

cout<<p.get()<<q.get();

return 0:

}

执行后的输出结果是( )。(B)

A. 55

B. 57

C. 75

D. 77

解析:C++中对常对象的成员函数调用,将自动调用其常成员函数,程序中调用原型为\\

6.某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。(C)

A. 10

B. 8

C. 6

D. 4

解析:根据二叉树的基本性质3:在任意一颗二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中是5+1=6个。

7.下列运算符中不能在C++中重载的是( )。(A )

A. ?:

B. +

C. 一

D. <=

解析:此题考查的是运算符的有关概念。运算符重载是针对C++原有运算符进行的,不能通过重载创造新的运算符;除了.、.*、->*、::、?:这五个运算符之外,其他运算符都可以重载。

8.如果表达式一X/y中的“一”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为( )。(B)

A. operator/(x.operato一(),y);

B. operator/(operator一(x),y);

C. x.operator一().operator/(y);

D. y.operator/(operator一(x));

解析:运算符重载实际上时函数的重载。重载运算符的一般格式:函数类型operator运算符名称(参数表)。重载运算符之后:函数operatot+重载运算符“+”。“一”重载为“operator一”,“/”重载为“operator/”。另外重载不能改变运算的优先级,一x/y计算一x后,除以y,所以表达式改写为:operator/(operator一(x),y):。

9.有如下定义:

int a[5]={1,3,5,7,9},*p=a;

下列表达式中不能得到数值5的是( )。(B)

A. a[2]

B. a[3]

C. *(p+2)

D. *p+4

解析:本题考查指向数组的指针,本题中指针变量p指向数组a,直接使用数组下标即可取值,数组下标是从0开始标号的,所以a[2]能取到5,而a[3]取不到5,C选项中使用指针后移方法能够取到5,D选项中*p为1,所以*p+4为5。

10.有如下类声明:

class MyBASE

{int k;

public:

void set(int n){k=n;)

int get()const{retum k;}

};

class MyDERIVED:protected MyBASE

{protected:

intj;

public:

void set(int m,int n){MyBASE::set(m);j=n;}

int getoconst{return MyBASE::get(

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号