2022年江苏省镇江市全国计算机等级考试C++语言程序设计模拟考试(含答案)
学校:________ 班级:________ 姓名:________ 考号:________
一、1.选择题(10题)
1. 下面程序输出的结果为 #include"iostream.h" class A { public: A(){cout<<"CLASSA"<<endl;} ~A() {} }; class B:public A { public: B(){cout<<"CLASSB"<<endl;} ~B() {} }; void main() { A * p; p=new B; B *q; q=new B; }
A.CLASS A CLASS B 
B.CLASS A CLASS B CLASS B 
C.CLASS A CLASS B CLASS A CLASS B 
D.CLASS A CLASS B CLASS B CLASS B 
2.设a和b均为double型变量,且a=5.5,b=2.5,则表达式(int)a+b/b的值是
A.6.5 B.6 C.5.5 D.6 
3. 假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为( )
A.MyClass&(MyClass x); 
B.MyClass(MyClass x) 
C.MyClass(MyClass &x); 
D.MyClass(MyClass *x) 
4. 已知类Myst有一个只需要一个double型参数的构造函数,且将运算符“-”重载为友元函数。要使语句序列 Myst x(3.2),y(5.5),z(0.0); z=8.9-y; y=x-6.3; 能够正常运行,运算符函数operator—应该在类中声明为
A.friend Myst operator-(Myst&,Myst&); 
B.friend Myst operator-(Myst,Myst); 
C.friend Myst operator-(Myst,Myst&); 
D.friend Myst operator-(Myst&,Myst); 
5. 若有以下程序段; #include<iostream> using namespace std; int main() { int a[]={1,4,5}; int *p=&a[0],x=6,y,z; for(y=0;y<3;y++) z=((*(p+y)<x) ? *(p+y):x); cout<<z<<end1; return 0; } 程序运行后的输出结果是( )。
A.1 B.4 C.5 D.2 
6.假定MyClass为一个类,则执行MyClassa,b(2),*p;语句时,自动调用该类构造函数(  )次。
A.2 B.3 C.4 D.5 
7. 已知程序中已经定义了函数test,其原型是int test(int,int,int);,则下列重载形式中正确的是______ 。
A.char test (int,int,int); 
B.double test(int,int,double); 
C.int test (int,int,int=0); 
D.float test(int,int,float=3.5F); 
8.如果一个类至少有一个纯虚函数,那么就称该类为()
A.抽象类 B.虚基类 C.派生类 D.以上都不对 
9. 在关系代数运算中,有5种基本运算,它们是( )。
A.并()、差(-)、交(∩)、除(÷)和笛卡儿积错误 
B.并()、差(-)、交(∩)、投影(π)和选择(σ) 
C.并(2022年高级编程语言排名∪)、交(∩)、投影(π)、选择(σ)和笛卡儿积错误 
D.并()、差(-)、投影(π)、选择(σ)和笛卡儿积错误 
10. 下列打开文件的表达式中,错误的是
A.ofstream ofile;ofile.open("C:\\vc\\",ios::binary);