【计算机类职业资格】二级C++-100及答案解析.doc
《【计算机类职业资格】二级C++-100及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-100及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-100 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:46,分数:100.00)1.有如下程序 #includeiostream using namespace std; class Test public: Test() Test(const Test ; Test fun(Test return t; int main()Test x,y;x=fun(y);return 0; 运行这个程序的输出结果是_。(分数:2.00)A.无输出B.1C.11D.1112.若 MyClass 为一个类,执行“MyClass a4,*p5;”语句时会自动调用该类构造
2、函数的次数是_。(分数:2.00)A.2B.5C.4D.93.有如下程序: #includeiostream using namespace std; class CD public: CD()cout“C“;) private: char name80; ; int main()CD a,*b,d2;return 0; 运行时的输出结果是_。(分数:2.00)A.CCCCB.CCCC.CCD.C4.有如下程序: #includeiostream using namespace std; class XA int a; public: static int b; XA(int aa):a(aa
3、)b+; XA() int get()return a; ; int XA:b=0; int main() XA d1(2),d2(3); coutd1.get()+d2.get()+XA:bendl; return 0; 运行时的输出结果是_。(分数:2.00)A.5B.6C.7D.85.下列关于析构函数的描述中,错误的是_。(分数:2.00)A.析构函数可以重载B.析构函数由系统自动调用C.每个对象的析构函数只被调用一次D.每个类都有析构函数6.下列关于构造函数的描述中,错误的是_。(分数:2.00)A.构造函数名与类名相同B.构造函数可以有返回值C.构造函数可以重载D.每个类都有构造函数
4、7.若 PAT 是一个类,则程序运行时,语句“PAT*ad3;”调用 PAT 的构造函数的次数是_。(分数:2.00)A.0B.1C.2D.38.有如下程序: #includelostream using namespace std; class MyClass public: MyClass() cout “*“; MyClass(MyClass MyClass() cout “; ; int main(); MyClass a; Myclass b(a); return 0; 运行时的输出结果是_。(分数:2.00)A.*#B.#*C.*#D.#*9.有如下程序: #includeiost
5、ream using namespace std; class Monkey public: Monkey() cout“M“; Monkey(char n) coutn;) Monkey() cout“Y“; ; int main() Monkey p1,*p2; p2=new Monkey(“X“); delete p2; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.MYXB.MYMYC.MXYD.MXYY10.下列关于类成员对象构造函数调用顺序的叙述中,正确的是_。(分数:2.00)A.与它们在初始化列表中的顺序相同B.与它们在类中声明的顺序相同C.与析构函数的
6、调用顺序相同D.顺序不确定11.有如下程序: #includeiostream #includecstring using namespace std; class MyString public: char str80; MyString(const char*s)strcpy(str,s); MyString return*this; ; ostream int main() MyString x(“abc“),y(“cde“); cout(x+=y)endl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.abcB.cdeC.abcdeD.abccde12.下列关
7、于 this 指针的叙述中,正确的是_。(分数:2.00)A.任何与类相关的函数都有 this 指针B.类的成员函数都有 this 指针C.类的友元函数都有 this 指针D.类的非静态成员函数才有 this 指针13.有如下头文件: int f1(); static int f2(); class MA public: int f3(); static int f4(); ; 在所描述的函数中,具有隐含的 this 指针的是_。(分数:2.00)A.f1B.f2C.f3D.f414.下列程序段中包含 4 个函数。其中具有隐含 this 指针的是_。 int fun1(); class Tes
8、t public: int fun2(); friend int fun3(); static int fun4(); (分数:2.00)A.fun1B.fnn2C.fun3D.fun415.下列关于 this 指针的描述中,正确的是_。(分数:2.00)A.类的成员函数都有 this 指针B.类的友元函数都有 this 指针C.任何与类相关的函数都有 this 指针D.类的非静态成员函数都有 this 指针16.有如下程序: #includeiostream using namespace std; class Test public: Test() n+=2; Test() n-=3; s
9、tatic int getNum()return n; private: static int n; ; int Test:n=1; int main() Test*p=new Test; delete p; cout“n=“Test:getNum()endl; return 0; 执行后的输出结果是_。(分数:2.00)A.n=0B.n=1C.n=2D.n=317.有如下程序: #includeiostream using namespace std; class Obj static int i; public: Obj()i+; Obj()i-; static int getVal()r
10、eturn i;) ; int Obj:i=0; void f()Obj ob2;coutob2.getVal(); int main() Obj ob1; f(); Obj*ob3=new Obj;coutob3-getVal(); delete ob3;coutObj:getVal(); return 0; 程序的输出结果是_。(分数:2.00)A.232B.231C.222D.22118.有如下程序: #includeiostream using namespace std; class MyClass public: MyClass()+count; MyClass()-count;
11、static int getCount()return count;) private: static int count; ; int MyClass:count=0; int main() MyClass obj; coutobj.getCount(); MyClass*ptr=new MyClass; coutMyClass:getCount(); delete ptr; coutMyClass:getCount(); return 0; 程序的输出结果是_。(分数:2.00)A.121B.232C.221D.12219.有如下类定义: class Point private; stat
12、ic int how_many; ; _how_many=0; 要初始化 Point 类的静态成员 how_many,下划线处应填入的内容是_。(分数:2.00)A.ingB.static intC.int Point:D.static int Point:20.有如下类和对象的定义: class Constants public; static double getPI()return 3.1416; ; Constants constants; 下列各组语句中,能输出 3.1416 的是_。(分数:2.00)A.coutconstants-getPI();和 coutConstants:g
13、erPI();B.coutconstants.getPI();和 coutConstants.getPI();C.coutconstants-getPI();和 coutConstants-getPI();D.coutconstants.getPI();和 coutConstants:getPI();21.若 AA 为一个类,a 为该类的非静态数据成员,在该类的一个成员函数定义中访问 a 时,其书写格式为_。(分数:2.00)A.aB.AA.aC.aD.AA:a22.有如下类定义: class Sample public; Sample(int x):ref(x) / private: Sam
14、ple():ref(0) / static int val=5; / constint ref; / ; 上述程序段中,错误的语句是_。(分数:2.00)A.B.C.D.23.己知类 Myclass 的定义如下 class MyClass public: void function1(MyClass static void function2(MyClass void function3()coutdata; staric void function4()coutdata; private: int data; ; 其中有编译错误的函数是_。(分数:2.00)A.function1B.func
15、tion2C.function3D.function424.有如下程序: #includeiostream using namespace std; class XA int a; public: static int b; XA(int aa):a(aa)b+; in getA()return a; ; int XA:b=0; int main() XA d1(4),d2(5); coutd1.getA()+d2.getA()+XA:b+d1.bendl; return 0; 运行这个程序的输出结果是_。(分数:2.00)A.9B.11C.13D.1525.由于常对象不能被更新,因此_。(分
16、数:2.00)A.通过常对象只能调用它的常成员函数B.通过常对象只能调用静态成员函数C.常对象的成员都是常成员D.通过常对象可以调用任何不改变对象值的成员函数26.有如下程序 #includeiostream using namespace std; int i=1; class Fun public: static int i; int value()return i-1; int value()constreturn i+1;) ; int Fun:i=2; int main() int i=3; Fun fun1; const Fun fun2; _ return 0; 若程序的输出结果
17、是: 123 则程序中下划线处遗漏的语句是_。(分数:2.00)A.coutfun1.value()Fun:ifun2.value();B.coutFun:ifun1.value()fun2.value();C.coutfun1.value()fun2.value()Fun:i;D.coutfun2.value()Fun:ifun1.value();27.有如下程序: #includeiostream using namespace std; class VAC public; int f() constreturn 3; int f()return 5; ; Int main() VAC v
18、1; const VAC v2; coutv1.f()v2.f(); return 0; 运行时的输出结果是_。(分数:2.00)A.53B.35C.55D.3328.有如下程序: #includeiostream using namespace std; class MyClass public: MyClass(int x):val(X) void Set(int X)val=x; void Print()constcout“val=“val“/t“; private: int val; ; int main() const MyClass obj1(10); MyClass obj2(2
19、0); obj1.Print(); /语句 1 obj2.Print(); /语句 2 obj1.Set(20); /语句 3 obj2.Set(30); /语句 4 return 0; 其主函数中错误的语句是_。(分数:2.00)A.语句 1B.语句 2C.语句 3D.语句 429.有如下类定义和变量定义: classA public: A()data=0; A() int GetData() const return data; void SetData(int n) data=n; private: int data; ; constA a; A b; 下列函数调用中错误的是_。(分数:
20、2.00)A.a.GetData();B.a.SetData(10);C.b.GetData();D.b.SetData(10);30.有如下程序: #includeiostream using namespace std; class A public: A(int i):r1(i) void print() cout“E“r1“-“; void print() const cout“C“r1*r1“-“; private: int r1; ; int main() A a1(2); const A a2(4); a1.print(); a2.print(); return 0; 运行时的输
21、出结果是_。(分数:2.00)A.运行时出错B.E2-C16-C.C4-C16-D.E2-E4-31.有如下程序: #includeiostream using namespace std; class A public: A(int i=0):r1(i) void print()cout“E“r1“-“; void print()constcout“C“r1*r1“-“; void print(int x)cout“p“r1*r1*r1“-“; private: int r1; ; int main() A a1; const A a2(4); a1.print(2); a2.print()
22、; return 0; 运行时的输出结果是_。(分数:2.00)A.P8-E4B.P8-C16-C.P0-E4-D.P0-C16-32.某类中有一个无参且无返回值的常成员函数 Show,则正确的 Show 函数原型是_。(分数:2.00)A.const void Show();B.void const Show();C.void Show() const;D.void Show(const);33.已知类 IMS 中两个成员函数的声明为“void listen()const;”与“void speak();”,另有两个对象的定义为“IMS obj1;”与“const IMS obj2;”,则下
23、列语句中,产生编译错误的是_。(分数:2.00)A.obj1.listen();B.obj1.speak();C.obj2.listen();D.obj2.speak();34.己知函数 print()没有返回值,如果在类中将之声明为常成员函数,正确的是_。(分数:2.00)A.void print() const;B.const void print();C.void const print();D.void print(const);35.有如下类定义: class Test char a;const char b; public: Test(char c)a=c;b=c; /第 1 行
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C100 答案 解析 DOC
