【计算机类职业资格】国家二级C++机试(类和对象)模拟试卷17及答案解析.doc
《【计算机类职业资格】国家二级C++机试(类和对象)模拟试卷17及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C++机试(类和对象)模拟试卷17及答案解析.doc(12页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(类和对象)模拟试卷 17及答案解析(总分:58.00,做题时间:90 分钟)一、选择题(总题数:29,分数:58.00)1.有如下头文件: int fl(); static int f2(); c1ass MA public: int f3(); static int f4(); ;在所描述的函数中,具有隐含的 this指针的是( )。(分数:2.00)A.f1B.f2C.f3D.f42.下列程序段中包含 4个函数。其中具有隐含 this指针的是( )。 int funl(); c1ass Test public: int fun2(); friend intfun3();
2、 static int fun4(); (分数:2.00)A.funlB.fun2C.fun3D.fun43.下列关于 this指针的描述中,正确的是( )。(分数:2.00)A.类的成员函数都有 this指针B.类的友元函数都有 this指针C.任何与类相关的函数都有 this指针D.类的非静态成员函数都有 this指针4.有如下程序: #inc1ude iostream using namespacestd; c1ass Test public: TestO n+=2; Test0n=3; static int getNum0 return n; private: static int n
3、; ; int Test:n=1; int main() Test* p=new Test; delete p; cout“n=“Test:getNumOend1; retum 0; 执行后的输出结果是( )。(分数:2.00)A.n=0B.n=1C.n=2D.n=35.有如下程序: #inc1ude iostream using ruunespace std; c1ass Obj static int i; public: Obj()i+ Obj()i; static int getVal()return i; ; int Obj:i=0; void f()Obj ob2; coutob2g
4、etVal(); int main() Obj obl; f(); Obj *ob3= new Obj; coutob3getVal(); delete ob3; cOutObj:getVal(); retutn 0; 程序的输出结果是( )。(分数:2.00)A.232B.231C.222D.2216.有如下程序: #inc1udeiostream using namespace std; c1ass MyClass public: MyClass()+count;) MyClass()count;) static int getCount()retum count; private: st
5、atic int count; ; intMyClass:count0; int main0 MyClass obj; coutobjgetCounto; MyClass*ptr=new MyClass; coutMyClass:getCount0; delete ptr; coutMyClass:getCount(); return 0; 程序的输出结果是( )。(分数:2.00)A.121B.232C.221D.1227.有如下类定义: c1ass Point private; static int how many; ; _how many=0; 要初始化Point类的静态成员 how_
6、many,下划线处应填入的内容是( )。(分数:2.00)A.ingB.static intC.int Point:D.static int Point:8.有如下类和对象的定义: c1ass Constants public; static double getPIO retum 31416;) ; Constants constants, 下列各组语句中,能输出 31416 的是( )。(分数:2.00)A.coutconstantsgetPI();和 coutConstants:gerPI();B.coutconstantsgetPI();和 coutConstantsgetPI();C
7、.coutconstantsgetPI();和 coutConstantsgetPI();D.coutconstantsgetPI();和 coutConstants:getPI();9.若 AA为一个类,a 为该类的非静态数据成员,在该类的一个成员函数定义中访问 a时,其书写格式为( )。(分数:2.00)A.aB.AAaC.aD.AA:a10.有如下类定义: c1ass Samp1e public; Samp1e(int x): ref(x) private: Samp1e():ref(0) static int val=5; const int ref; ; 上述程序段中,错误的语句是(
8、 )。(分数:2.00)A.B.C.D.11.已知类 Myc1ass的定义如下 c1ass MyClass public: void functionl (MyClass static void function2(MyClass void function3()coutdata; staric void function4()coutdata; private: int data; ; 其中有编译错误的函数是( )。(分数:2.00)A.functionlB.function2C.function3D.function412.有如下程序: #inc1udeiostream using nam
9、espace std; c1ass XA int a; puolic: static int b; XA(int aa):a(aa)b+; int getA()retum a; ; int XA:b=0; int main0 XA d1(4),d2(5); coutd1getA()+d2getA()+XA:b+d1bend1; return 0: 运行这个程序的输出结果是( )。(分数:2.00)A.9B.11C.13D.1513.由于常对象不能被更新,因此( )。(分数:2.00)A.通过常对象只能调用它的常成员函数B.通过常对象只能调用静态成员函数C.常对象的成员都是常成员D.通过常对象可
10、以调用任何不改变对象值的成员函数14.有如下程序 #inc1udeiostream using namespace std; int i=1; c1ass Fun public: static int i; int value()return il, int value( )const return i+1; ; int Fun:1=2; int main() int i=3; Fun funl; const Fun fun2; retum 0; 若程序的输出结果是: 123 则程序中下划线处遗漏的语句是( )。(分数:2.00)A.coutfunlvalue()Fun:ifun2value(
11、);B.coutFun:ifunlvalue()fun2value();C.coutfunlvalue()fun2value()Fun:i;D.coutfun2value()Fun:ifunlvalue();15.有如下程序: #inc1udeiostream using namespace std; c1ass VAC public; int f()constreturn 3; int f()return 5; ; Int main() VAC vl; const VAC v2; coutvlfv2f(); fetum 0; 运行时的输出结果是( )。(分数:2.00)A.53B.35C.5
12、5D.3316.有如下程序: #inc1udeiostream using namespace std; c1ass MyClass public: MyClass(int x):val(x) void Set(int x)val=x; void Print()constcout“val=“valt; private: int val; ; int main() const MyClass obj1(10); MyClass obj2(20); obj1Print(); 语句 1 obj2Print(); 语句 2 obj1Set(20); 语句 3 obj2Set(30); 语句 4 ret
13、urn 0; 其主函数中错误的语句是( )。(分数:2.00)A.语句 1B.语句 2C.语句 3D.语句 417.有如下类定义和变量定义: c1ass A public: A()data=0; A() int GetData()const retum data; void SetData (int n) data=n; private: int data; ; const A a; A b; 下列函数调用中错误的是( )。(分数:2.00)A.aGetData();B.aSetData(10);C.bGetData();D.bSetData(10);18.有如下程序: #inc1ude io
14、stream using namespace std; c1ass A public: A(int i):rl(i) void print0 coutEr1;) void print() const coutCkr1*rl;) private: int r1, ; int main() A a1(2); const A a2(4); alprint(); a2print(); return 0; 运行时的输出结果是( )。(分数:2.00)A.运行时出错B.E2C16C.C4C16D.E2E419.有如下程序: #inc1ude iostream using namespace std; c1
15、ass A public: A(int i=0):rl(i) void print()coutErl;) void print()const coutCkrl*rl; void print(int x)cout“pkrl*rl*rl; private: int r1, ; int main() A a1; const A a2(4); alprint(2); a2print(); returnO; 运行时的输出结果是( )。(分数:2.00)A.P8E4B.P8C16C.P0E4D.P0C1620.某类中有一个无参且无返回值的常成员函数 Show,则正确的 Show函数原型是( )。(分数:2
16、.00)A.const void Show();B.void const Show();C.void Show()const;D.void Show(const);21.已知类 IMS中两个成员函数的声明为“void listeno const;”与“void speak();”,另有两个对象的定义为“IMS obj1;”与“cortst IMS obj2;”,则下列语句中,产生编译错误的是( )。(分数:2.00)A.objllisten();B.objlspeak();C.obj2listen();D.obj2speak();22.已知函数 print()没有返回值,如果在类中将之声明为常
17、成员函数,正确的是( )。(分数:2.00)A.void print()const;B.const void print();C.void const print();D.voidprint(const);23.有如下类定义: c1ass Test char a;const charb; public: Test(charc)a=c;b=c;第 1行 void f(char a)const thisa=a;) 第 2行 void g(charb)thisb=b; 第 3行 char ho constreturn a; 第 4行 ; 编译时没有错误的行是( )。(分数:2.00)A.第 1行B.
18、第 2行C.第 3行D.第 4行24.有如下类定义: c1ass AA int a; public: int getRef()const retum int getValue()const retuma; void set(int n)const a=n; friend void show(AA aa)const couta; ; 其中的四个函数定义中正确的是( )。(分数:2.00)A.B.C.D.25.有如下程序: #inc1ude iostream using namespace std; c1ass Samp1e friend long fun (Samp1e s); public:
19、Samp1e (long a)x=a; private: long x; ); long fun (Samp1e s) if (sx2)return 1: return sx*fun(Samp1e(sx1): int main() int sum=0; for(int 1=0; 16; 1+)sum+=fun(Samp1e(i); coutsum, return O; 运行时输出的结果是( )。(分数:2.00)A.120B.16C.154D.3426.有如下程序: #inc1ude iostream #inc1ude cmath using std:cout; c1ass Point pub
20、lic: friend double distance(const Point /p距原点的距离 Point(int xx=0, int yy=0): x(xx), y(yy) private: int x,y; ; double distance(const Point int main() Point p1(3,4); coutdistance(p1); return 0; 下列叙述中正确的是( )。(分数:2.00)A.程序编译正确B.程序编译时语句出错C.程序编译时语句出错D.程序编译时语句出错27.有如下程序: #inc1udeiostream using namespace std
21、; c1ass Boat; c1ass Car public: Car(int i):weight(i) friend int Total(const Car private: int weight; ; c1ass Boat public: Boat(int i):weight(i) friend int Total(const Car private: int weight; ; int Total(const Car int main0 Car c(10), Boat b(8); cout“The totalweightis “Total(c,b)end1; returnO; 下列关于程
22、序的描述中,正确的是( )。(分数:2.00)A.程序编译正确B.程序编译时语句出错C.程序编译时语句出错D.程序编译时语句出错28.已知类 MyClass声明如下: c1ass MyClass int n: public: MyClass(int k):n(k) int getValue()const return n; ) ; 在下列数组定义中正确的是( )。(分数:2.00)A.MyClass x12;B.MyClass x22=neW MyClass(1),neW MyClass(2);C.MyClass *x32;D.MyClass *x42=MyClass(1),MyClass(2
23、);29.已知类 Myc1ass的定义如下: c1ass MyClass public: MyClass(int d)data=d; MyClass() priVate: int data; ; 下列对 Myc1ass类对象数组的定义和初始化语句中,正确的是( )。(分数:2.00)A.MyClass arrays2;B.MyClass arrays2=MyClass(5);C.MyClass arrays2=MyClass(5),MyClass(6);D.MyClass*a* ays=new MyClass2;国家二级 C+机试(类和对象)模拟试卷 17答案解析(总分:58.00,做题时间:
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 机试 对象 模拟 试卷 17 答案 解析 DOC
