app在线生成平台 免费,天津网络优化推广公司,专业网站建设全包,抢注域名网站青少年编程能力等级测评CPA C 四级试卷#xff08;1#xff09; 一、单项选择题#xff08;共15题#xff0c;每题3分#xff0c;共45分#xff09;
CP4_1_1.在面向对象程序设计中#xff0c;与数据构成一个相互依存的整体的是#xff08; #xff09;。
A. 对数据…青少年编程能力等级测评CPA C 四级试卷1 一、单项选择题共15题每题3分共45分
CP4_1_1.在面向对象程序设计中与数据构成一个相互依存的整体的是 。
A. 对数据的操作
B. 对数据的封装
C. 对数据的隐藏
D. 对数据的抽象 CP4_1_2已知定义了类Day并且在该类之前已经定义了类Week。下列关于类Day的数据成员定义语句不正确的是( )。
AWeek weekend;
BDay *today;
CDay yestoday;
Dint tomorrow; CP4_1_3下列有关类与对象的关系叙述中不正确的是 。
A对象是类的实例
B一个类只能拥有一个对象
C一个对象只能属于一个类
D类是抽象的不占用内存而对象是具体的占用内存 CP4_1_4若Demo为一个类则执行Demo sa; 语句时将自动调用该类的 。
A. 有参构造函数
B. 无参构造函数
C. 拷贝构造函数
D. 赋值重载函数 CP4_1_5类的复制构造函数的参数是 。
A. 类对象
B. 类对象的成员
C. 类对象的引用
D. 指向类对象的指针 CP4_1_6执行下列代码运行结果是 。
#includeiostream
using namespace std;
class aClass{
public: aClass(int n) { in; } void set(int n){ in; } int get( ){ return i; }
private: int i;
};
void sqr(aClass ob)
{ ob.set(ob.get()*ob.get()); coutob.get() ;
}
int main()
{ aClass obj(10); sqr(obj); coutobj.get( )endl;
return 0;
}
A10 10
B100 100
C10 100
D100 10 CP4_1_7执行下列代码运行结果是 。
#includeiostream
#includestring
using namespace std;
class MyBag{ public: MyBag(string brOK):brand(br) { coutbrand ; } private: string brand;
};
int main(){ MyBag arrays[2]{MyBag(GO)}; return 0;
}
AOK OK
BGO GO
CGO OK
DOK GO CP4_1_8执行下列代码运行结果是
#include iostream
using namespace std;
class Member{
public: Member(){ std::cout N1 ; } ~Member(){ cout N2 ; }
};
class Test{
private: Member member;
public: Test(){ cout N3 ; } ~Test(){ cout N4 ; }
};
int main(){ Test* test new Test(); delete test;
coutendl; return 0;
}
A.N1 N2 N3 N4
B.N3 N4 N1 N2
C.N1 N3 N4 N2
D.N3 N1 N2 N4 CP4_1_9在C中结构体是一种特殊的类其成员默认的访问权限是 。
Apublic
Bprivate
Cstatic
Dprotected CP4_1_10下列有关对静态数据成员的叙述中正确的是 。
A静态数据成员可以在类体内进行初始化
B静态数据成员不可以被类的对象调用
C静态数据成员不受private控制符的作用
D静态数据成员可以直接用类名调用 CP4_1_11. 执行下列代码运行结果是 。
#includeiostream
using namespace std;
class Cd{ public: static int cacu(); private: static int sum; };
int Cd::sum20;
int Cd::cacu(){ return(sumsum*3);
}
int main(){
coutCd::cacu(),Cd::cacu() endl;
return 0;
}
A60,180
B180,60
C60,60
D180,180 CP4_1_12执行下列代码运行结果是 。
using namespace std;
#include iostream
class Sample{
int n;
public: Sample(int i){n--i;} friend int Plus(Sample s1,Sample s2);
}; int Plus(Sample s1,Sample s2){ return s1.n*s2.n;
}
int main(){ Sample s1(5),s2(6); cout Plus(s1,s2)endl; return 0;
}
A. 20
B. 24
C. 25
D.30 CP4_1_13下列有关友元成员的叙述中不正确的是 。
A. 友元成员可以声明在类的public部分也可以声明在private部分
B. 友元成员包括友元函数、友元成员函数和友元类
C. 通过友元成员可以让外部函数直接访问类的私有数据
D. 类之间的友元关系是可以传递的即是可逆的 CP4_1_14下列代码定义了两个类有关这两个类的叙述中正确的是 。
class B{
friend class A; public: int x; private:int y;
};
class A{ public: float m; private:float n;
}; AB是A的友元类B可以访问A中的私有成员
BB是A的友元类A可以访问B中的私有成员
CA是B的友元类B可以访问A中的私有成员
DA是B的友元类A可以访问B中的私有成员 CP4_1_15下列有关vector容器的定义语句不正确的是
A. vector int v(10);
B. vector char v;
C. vector v;
D. vector double v; 二、多项选择题共5题每题2分共10分
CP4_1_16下列代码定义了类和对象能够正确完成函数调用的语句有 。
class A{
public: A(int x):data(x){} int GetData() const{return data;} void SetData(int n) {data n;}
private: int data;
};
const A a(5);
A b(7); Aa.GetData();
Ba.SetData(8);
Cb.GetData(8);
Db.SetData(); CP4_1_17下列代码定义了类MyClass有关其对象数组的定义语句正确的有 。
class MyClass{
int n;
public:
MyClass(int k):n(k){}
}; A.MyClass x1[2];
B.MyClass x2[2]{new MyClass(1),new MyClass(2)};
C.MyClass *x3[2];
D.MyClass x4[2]{MyClass(1),MyClass(2)}; CP4_1_18下列有关类的静态成员的叙述中正确的有 。
A类的静态成员可以解决同一个类的不同对象之间的数据和函数的共享问题
B类的静态数据成员和静态成员函数的声明均需以关键字static开始
C类的静态数据成员必须进行初始化初始化时必须加关键字static
D类的静态成员函数只能在类体内定义不可以在类外定义 CP4_1_19下列有关友元函数的叙述中正确的有 。
A友元函数可以是不属于任何类的非成员函数
B友元函数是它声明语句所在类的成员函数
C友元函数破坏了类的封装性和隐藏性
D友元函数不能访问类的私有成员 CP4_1_20下列运算符中只能作为成员函数重载的运算符有 。
A. []
B. ()
C. -
D. 三、编程题共3题每题15分共45分
CP4_1_21编写程序实现如下功能
用户输入圆的半径通过类的定义和计算求圆的周长和面积。
说明
(1) 编程过程中对于程序给定的部分不允许修改考生仅允许在/****code****/提示行区间内作答。
(2)圆周率的值取3.14。 #include iostream
using namespace std;
class Circle
{
/*****************code***********/ /*****************code***********/
private: double m_r;
}; int main(void)
{ Circle c; double r; double girth; //周长 double area; //面积 cin r; //输入半径 c.set(r); girth c.getGirth(); area c.getArea(); cout girth endl; cout area endl;
return 0;
}
样例1
输入 1
输出 6.28
3.14 样例2
输入 2.5
输出 15.7 19.625
CP4_1_22编写程序实现如下功能
通过类的静态成员实现计数统计。用户输入预构造三角形的数量n(n≤10)以及n个三角形的边长。输出满足可以构建成为三角形的对象的总数。
说明编程过程中对于程序给定的部分不允许修改考生仅允许在/****code****/提示行区间内作答。 #include iostream
using namespace std;
class Triangle
{ /******************************code*****************/ /******************************code*****************/
};
int Triangle::T_Count 0; // 初始化类 Triangle 的静态成员
int main( )
{ int n; double c1,c2,c3; //三角形的三边长度 Triangle *t[10]; cin n; // 输入要构造的三角形数量, 小于等于10 for(int i0;in;i){ cinc1c2c3; t[i]new Triangle(c1,c2,c3); } cout Triangle::getCount() endl; //创建对象之后输出满足要求的对象总数 return 0;
} 样例1
输入3 1 1 1 1 2 3 3.4 4.2 5.6
输出2 样例2
输入1
2.2 5.4 2.3
输出0 CP4_1_23编写程序实现如下功能
定义complex类通过重载运算符“”使之能实现复数的加法运算。用户输入两个复数的实部和虚部值输出两个复数以及两个复数相加后的结果。
说明
1本程序中复数的实部和虚部值均为整数
2若虚部的值为0则该复数即为整数其输出也是整数的形式例如40j输出为4。
3编程过程中对于程序给定的部分不允许修改考生仅允许在/****code****/提示行区间内作答。 #includeiostream
using namespace std;
class complex{
private: int real; int image;
public: complex(); complex(int real_,int image_);
void show();
/*************************code***********************/ /*************************code***********************/
};
complex::complex(){
real 0;
image 0;
}
complex::complex(int real_,int image_){
real real_;
image image_;
}
void complex::show(){
/**********************code*********************/ /**********************code**********************/
} int main(){ int r1,r2,i1,i2; //分别表示两个复数的实部和虚部的值 complex c; // 创建complex类的对象 cinr1i1; //输入数1的实部及虚部 cinr2i2; //输入数1的实部及虚部 complex a(r1,i1); //创建复数a对象 complex b(r2,i2); //创建复数b对象 a.show(); //显示复数a b.show(); //显示复数b c a b; // 在复数加中的实现 c.show(); // 显示相加后的复数c return 0; } 样例1
输入1 2
3 4 输出12j
34j
46j
样例2
输入1 -2 1 2
输出1-2j
12j
2