- 相干保举
2016计较机二级《C++》上机冲刺题
2016年天下计较机品级测验时候为3月26日-29日,为了赞助大师顺遂经由进程计较机二级测验,上面百分网小编为大师带来2016计较机二级《C++》上机冲刺题,供大师参考进修,预祝考生备考胜利!
一、挑选题(每小题1分,共40分)
1、以下排序体例中,最坏环境下比拟次数起码的是( )。
A.冒泡排序
B.简略挑选排序
C.间接拔出排序
D.堆排序
2、上面法式的运转成果为( )。
#include
class A
{
public:
A(){tout<<”1”;}
~A(){tout<<”2”;}
};
class B:public A
{
public:
B(){cout<<”3”;}
~B(){cout<<”4”;}
};
void main()
{
B b;
}
A.1234
B.1324
C.1342
D.3142
3、以下法式中挪用cin函数给变量a输入数值的体例是毛病的,其毛病缘由是( )。
#include
void main()
{int * P,* q,a,b;
P=&a:
eout<<”input a:”;
cin>>P:
A.* P表现的是指针变量P的地点
B.P表现的是变量a的地点,而不是变量a的值
C.*P表现的是指针变量P的值
D.*P只能用来申明P是一个指针变量
4、与语句cout
B.cout<<‘\l2’:
C.cout <<’\xA’;
D.cout<<‘\0’:
5、若是抒发式x * y+z中,“*”是作为友元函数重载的,“+”是作为成员函数重载的,则该抒发式还可为 ( )。
A.operator+(operator$(X,Y),z)
B.x.operator+(operator * (x,y),Z)
C.Y.operator * (operator+(x,Y),z)
D.x.operator+(operator{(X,Y))
6、在以下关头字中,不能用来表现担当体例的是( )。
A.private
B.static
C.public
D.protected
7、上面的( )选项不能作为函数的前往范例。
A.void
B.int
C.new
D.long
8、有如下函数界说:
void funC(int a,int&B.{a++;b++;} 若履行代码段:
int x=0,Y=1: funC(X,y);
则变量X和y的值别离是( )。
A.0和1
B.1和1
C.0和2
D.1和2
9、界说无标记整数类为UInt,上面能够作.为类UInt实例化值的是( )。
A.一369
B.369
C.0.369
D.整数调集{1,2,3,4,5}
10、以下对类界说的说法中,准确的是( )。
A.类界说中包含数据成员和函数成员的申明
B.类成员的缺省拜候权限是掩护的
C.数据成员必须被申明为私有的
D.成员函数只能在类体外停止界说
11、 有如下法式:
#nclude
using namespace std;
int main()
{
void function(double val);
double val;
function(val);
cout< return 0;
}
void function(double val)
} val=3;}
编译运转这个法式将呈现的环境是( )。
A.编译犯错,没法运转
B.输入:3
C.输入:3.0
D.输入一个不肯定的数
12、 this指针是C++说话完成( )的一种机制。
A.笼统
B.封装
C.担当
D.重载
13、 上面对虚函数的描写,毛病的是( )。
A.在成员函数申明的后面加上virtual润色,便可把该函数申明为虚函数
B.基类中申了然虚函数后,派生类中对应的函数也必须申明为虚数
C.虚函数能够是另外一个类的友元函数,但不能是静态成员函数
D.基类中申明的纯虚函数在其任何派生类中都必须完成
14、 有如下法式:
#include
using namespaee std;
int main()
{
void function(double val);
double val:
function(val);
eout< return 0;
}
void function(double val)
{
val=3;
}
编译运转这个法式将呈现的环境是( )。
A.编译犯错,没法运转
B.输入:3
C.输入:3.0
D.输入一个不肯定的数
15、 面向工具体例中,担当是指( )。
A.一组工具所具备的类似性子
B.一个工具具备另外一个工具的性子
C.各工具之间的配合性子
D.类之间同享属性和操纵的机制
16、 以下法式的运转成果为( )。 #include
void main() {
int a=2:
int b=a+1: cout
B.0
C.0.7
D.0.66666666…
17、 有如下界说:
int a[5]={1,3,5,7,9},* P=a;
以下抒发式中不能获得数值5的是( )。
A.a[2]
B.a[3]
C.*(P+2)
D.+P+4
18、 C++体系预界说了4个用于规范数据流的工具,以下选项中不属于此类工具的是( )。
A.cout
B.cin
C.cerr
D.cset
19、 有如下法式:
#include
using namespace std;
class GA{
public:
virtual int f()t retum l;}
};
class GB:public GA{
public:
virtual int f(){retum 2;}
};
void show(GA g){eout<<9.f();}
void display(GA&g){cout<<9.f();}
int main()
{
GA a;show(A.;display(A.;
GB b;show(B.;display(B.;
return 0;
}
履行这个法式的输入成果是( )。
A.1111
B.1211
C.1112
D.1212
20、 以下论述中准确的是( )。
A.有一个以上根结点的数据布局不必然长短线性布局
B.只要一个根结点的数据布局不必然是线性布局
C.轮回链表长短线性布局
D.双向链表长短线性布局
21、 以下对虚函数的申明中,准确的是( )。
A.从虚基类担当的函数都是虚函数
B.虚函数不得是静态成员函数
C.只能经由进程指针或援用挪用虚函数
D.笼统类中的成员函数都是虚函数
22、 某二叉树共有7个结点,此中叶子结点只要l个,则该二叉树的深度为(假定根结点在第1层)( )。
A.3
B.4
C.6
D.7
23、 在数据库设想中,将E~R图转换成干系数据模子的进程属于( )。
A.须要阐发阶段
B.观点设想阶段
C.逻辑设想阶段
D.物理设想阶段
24、 以下对类模板的模板参数的论述中,毛病的是( )。
A.模板参数能够作为数据成员的范例
B.模板参数能够作为成员函数的前往范例
C.模板参数能够作为成员函数的参数范例
D.模板参数不能作为成员函数的局部变量的范例
25、 在软件开辟中,须要阐发阶段发生的首要文档是( )。
A.可行性阐发报告
B.软件须要规格申明书
C.提要没计申明书
D.集成测试打算
26、 上面对模板的描写,毛病的是( )。
A.函数模板和类模板的参数能够是肆意的数据范例
B.类模板不能间接利用,必须先实例化为响应的模板类,而后界说了模板类的工具后能力利用
C.函数模板不能间接利用,须要实例化为模板函数后能力利用
D.类模板的成员函数都是模板函数
27、 数据库体系的三级形式不包含( )。
A.观点形式
B.内形式
C.外形式
D.数据形式
28、以下语句中不是死轮回的是( )。
A.int i=10;
B.for(int i=1;j<10;i++)
while(1) {
{ i--; i--; }
if(i==1)break;
C.int i-0;
D.int i=1:
29、 为了代替c中带参数的宏,在c++中利用( )。
A.重载函数
B.内联函数
C.递归函数
D.友元函数
30、 C++说话对C说话做了良多改良,C++说话绝对C说话的最底子的变更是( )。
A.增添了一些新的运算符
B.许可函数重载,并许可设置默许参数
C.划定函数申明符必须用原型
D.引进了类和工具的观点
31、 派生类的成员函数不能拜候基类的( )。
A.私有成员和掩护成员
B.私有成员
C.私有成员
D.掩护成员
32、以下代码段中申了然3个类:
Class Person{};
Class Student:publiC Person{};
Class Undergraduate:Student{};
以下对这些类之间干系的描写中,毛病的是( )。
A.类Person是类Undergraduate的基类
B.类Undergraduate从类Student私有担当
C.类Student是类Person的派生类
D.类Undergraduate是类Person的派生类
33、 如有上面的函数挪用:
fun(fl+b,3,max(n一1,B.)
则fun的实参个数是( )。
A.3
B.4
C.5
D.6
34、 有如下两个类界说:
class XX{
private:
double xl;
protected:
double x2;
public:
double x3;
};
class YY:protected XX{
private:
double yl;
protected:
double y2;
public:
double y3;
在类YY中掩护成员变量的个数是( )。
A.1
B.2
C.3
D.4
35、 以下对运算符重载的描写中,准确的是( )。
A.运算符重载为成员函数时,若参数表中无参数,重载的是一元运算符
B.一元运算符只能作为成员函数重载
C.二元运算符重载为非成员函数时,参数表中有一个参数
D.C++中能够重载一切的运算符
36、 成立派生类工具时,3种机关函数别离是a(基类的机关函数)、b(成员工具的机关函数)、C(派生类)机关函数),这3种机关函数的挪用挨次为( )。
A.abC
B.aCb
C.Cab
D.Cba
37、 在以以下举标记中,用来表现“绝对以后地位”文件定位体例的是( )。
A.ios_base::cur
B.ios—base::beg
C.los_base::0ut
D.ios—base::end
38、 当利用ifstream流类界说一个流工具并翻开一个磁盘文件时,文件的默许翻开体例为( )。
A.ios—base::in
B.ios—base::in l ios base::0ut
C.los base;:0ut
D.ios_base::in&ios_base::0ut
39、 以下有关运算符重载的论述中,准确的是( )。
A.运算符重载是多态性的一种表现
B.C++中能够经由进程运算符重载缔造新的运算符
C.C++中一切运算符都能够作为非成员函数重载
D.重载运算符时能够转变其连系性
40、 必须用一对大括号括起来的法式段是( )。
A.switCh语句中的ease标号语句
B.if语句的分支
C.轮回语句的轮回体
D.函数的函数体
二、根基操纵题(18分)
41、请利用VC6或利用【答题】菜单翻开考生文件夹projl下的工程projl,该工程含有一个源法式文件pn,jl.cpp。此中位于每一个正文“//ERROR 木}}水found}}水木”以后的一行语句存在毛病。请更正这些毛病,使法式的输入成果为:
The value is 10
注重:只修更正文“//ERROR **** found****”的下一行语句,不要点窜法式中的其余内容。
//pmjl.cpp
#include
using namespace std;
class MyClass{
int value;
public:
//ERROR********found*********
void MyClass(int val):value(val){}
int GetValue()const{return value;}
void SetValue(int val);
};
//ERROR********found********
inline void SetValue(int val){value=val;}
int main()
MyClass obj(O);
obj.SetValue(10);
//ERROR********found********以下语句功效是输入obj的成员value的值
tout<<”The value is”< return 0;
}
三、简略利用题(24分)
42、请利用VC6或利用【答题】菜单翻开考生文件夹proj2下的工程proj2,此中有矩阵基类MatrixBase、矩阵类Matrix和单元阵UnitMatrix的界说,另有main函数的界说。请在横线处填写恰当的代码并删除横线,以完成上述类界说。此法式的准确输入成果应为:
1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 注重:只能在横线处填写恰当的代码,不要点窜法式中的其余内容,也不要删除或挪动“//t+++found母
***”。
#nClude using namespaCe std; //矩阵根本类,一个笼统类
Class MatrixBase{ int rows,Cols; publiC:
MatrixBase(int rows,int Cols):roWS(rows),Cow(Cols){} int getRows()Const{retum rows;}//矩阵行数
int getCols()Const{return Cols;}//矩阵列数
virtual double getElement(int r,int C)Const=0;//取第i个元素的值 void show()Const{//分行显现矩阵中一切元素
for(int i=0;i for(int j=0;j } }; //矩阵类
Class Matrix:publiC MatfixBase{ double*val;
publiC: //**********found**********
Matrix(int rows,int Cols,double in[]=NULL):——{ //**********found**********
val=;
for(int i=0:i val[i]=(m==NULL?0.0:Ill[i]);
}
一Matrix(){delete[]val;} double getElement(int r,int C)Const{retum val[r*getCols()+C];}
};
//单元阵(主对角线元素都是l,其余元素都是0的方阵)类 Class UnitMatrix:publiC MatrixBase{
publiC:
UnitMatrix(int rOWS):MatrixBase(rows,rows){} //单元阵行数列数不异
double getElement(int r,int C)Const{ //**********found**********
if(_____)retum l.0; retum 0.0;
} }; int main(){
MatrixBase*m;
double d[][5]={{1,2,3,4,5},{2,3,4,5,6},{3,4,5,6,7}}; ITI=new Matrix(3,5,(double*)d);
m→show(); delete m;
Cout< m=new UnitMatrix(6); Ill→show();
delete m; retum0; } .
四、综合利用题(18分)
43、请利用VC6或利用【答题】菜单翻开考生文件夹proj3下的工程proj3,此中申明的CDeepCopy是一个用于表现矩阵的类。请编写这个类的赋值运算符成员函数0perator=,以完成深层复制。
请求:
补充体例的内容写在“//************333************”与“//****************666*************”之间。不得点窜法式的其余局部。
注重:法式最初将成果输入到文件out.dat中。输入函数writeToFile已编译为obj文件,并且在本法式中挪用。
//CDeepCopy.h
#include
#include
using namespace std;
class CDeepCopy
{
public:
int n;//静态数组的元素个数
int *p;//静态数组首地点
CDeepCopy(int);
~CDeepCopy();
CDeepCopy&operator=(const CDeepCopy&r);//赋值运算符函数
};
void writeToFile(char});
//main.cpp
#include”CDeepCopy.h”
CDeepCopy::一CDeepCopy(){delete[]P;}
CDeepCopy::CDeepCopy(int k){n=k;p=new int[n];}//机关函数完成
CDeepCopy&CDeepCopy::0perator=(const CDeepCopy&r)//赋值运算符函数完成
{
//***********333*********
//***********666***********
}
int main()
{
CDeepCopy a(2),d(3);
a.p[O]=1;d.p[O]=666;//工具a,d数组元素的赋值
{
CDeepCopy b(3);//挪用赋值运算符函数
a.p[O]=88;b=a;
cout< }
cout< cout<<”d fade away;\n”;
cout< writeToFile(””);
return 0;
}
【计较机二级《C++》上机冲刺题】相干文章:
2017计较机二级C++考前冲刺题及谜底09-04
2016计较机二级《C++》上机操练题06-09
天下计较机二级《C++》上机试题及谜底08-15
计较机二级C++法式题及谜底剖析10-25
2017计较机二级C++常识稳固题及谜底07-11
2017计较机二级C++挑选题操练06-26
天下计较机二级测验C++真题09-20
2017计较机二级C说话上机终究展望题07-08