全国计算机等级考试二级C笔试试题.pdf
《全国计算机等级考试二级C笔试试题.pdf》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C笔试试题.pdf(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2021 年 3 月 二级 C+真题及参考答案 一、选择题每题 2 分,共 70 分 11对 C+编译器区分重载函数无任何意义的信息是 A参数类型 B参数个数 C返回值类型 D常成员函数关键字 coast 12有如下类定义和变量定义:class A publie:Adata=0;A int GetData coast return data;void SetDataint n data=n;private:int data;ccnst A a;A b;以下函数调用中错误的选项是 Aa.GetData;Ba.SetData10;Cb.GetData;Db.SetData10;13有如下类定义和变
2、量定义:class Parents public:int publicuata;private:int privateData;class ChildA:public Parents/*类体略*/;class ChildB:private Parents/*类体略*/;ChildA a;ChildBb;以下语句中正确的选项是 Acouta.publicData endl;Bcouta.privateData endl;Ccoutb.publicData endl;Dcoutb.privateData open“;17以下描述中,不属于面向对象思想主要特征的是 A封装性 B跨平台性 C继承性 D
3、多态性 18有如下程序段:Tnt i=4;int j=l;int main int i=8,j=i;coutijendl;运行时的输出结果是 A44 B41 C88 D81 19有如下程序段:int i=5;whileint i=0cout?*;i-;运行时输出“*的个数是 A0 B1 C5 D无穷 20己知有数组定义 char a34;以下表达式中错误的选项是 Aa2=“WIN Bstrcpya2,“WIN Ca 23=W Da01=a01 21函数 fun 的原型为 int funint,int,int;以下重载函数原型中错误的选项是 Achar funint,int;Bdouble fu
4、nint,int,double;Cint funint,char*;Dfloat fun int,int,int;22建立一个类对象时,系统自动调用 A析构函数 B构造函数 C静态函数 D友元函数 23通过派生类的对象可直接访问其 A公有继承基类的公有成员 B公有继承基类的私有成员 C私有继承基类的公有成员 D私有继承基类的私有成员 24己知表达式+a 中的“+是作为成员函数重载的运算符,那么及十+a 等效的运算符函数调用形式为 Aa.orerator+1 Boperator+a Coperator+a,l Da.operator+25在定义一个类模板时,模板形参表是用一对括号括起来的,所采用
5、的括号是 A B C D 26当使用 ifstream 流类定义一个流对象并翻开一个磁盘文件时,文件的默认翻开方式为 Aios_base:in Bios_base:in|ios_base:out Cios_base:out Dios_base:in&ios_base:out 27有如下程序:#include#include using namespace std;class XCD char*a;int b;public:XCDchar*aa,int bb a=new charstrlenaa+1;strcptya,aa;b=bb;Char*Geta return a;int Getb ret
6、urn b;int main char*pl=“abcd,*p2=“weirong;int dl=6,d2=8;XCD xpl,dl,Yp2,d2;coutstrien x.Geta+y.Getb+endl;return 0;运行时的输出结果是 A12 B16 C14 D11 28有如下程序:#include#include using namespace std;class XCF int a;public:XCF int aa=0:a aa cout“1;XCF XCF&x a=x.a;cout“2;XCFcouta;int Getareturn a;int main XCF dl5,d7
7、 dl;XCF*pd=new XCF8;coutGeta;delete pd;return 0;运行时的输出结果是 A121SS88 B12188SS C12185 D128512 29类 MyClass 声明如下:class MyClass int n;public;MyClassint k:nk int getValueconstreturn n;在以下数组定义中正确的选项是 AMyClass x12;BMyClass x22=new MyClass1,new MyClass2;CMyClass*x32;DMyClass*x42=MyClass1,MyClass2;30有如下程序:#inc
8、lude using namespace std;class AA lilt k;protected:int n;void setKint k this-k=k;public:void setNint n this-n=n;class BB:public/*类体略*/;int main BB x_;/1 x.n=1;/2 x.setN 2;/3 x.k=3;/4 x.setK4;return 0;在标注号码的四条语句中正确的选项是 A1 B2 C3 D4 31有如下类定义:class XX int xx;public:XX:xx0cout A;XXint n:xx ntout B;Class
9、YY:public XX Int yy;public:YY:yy 0cout+yy;YY int n:XX n+1,yy n coutyy;YY int m,int n:XX m,yyncoutyy;以下选项中,输出结果为 A0 的语句是 AYY y10,0;BYY y21;CYY y30;DYY y4;32有如下程序:#include Using namespace std;class A public:virtual void fcout+1;void gcout2;class B:public A public:virtual void fcout3;void gecut4;void s
10、howA&aa.f;a.g ;int main B b;showb;return 0;运行时的输出结果是 A12 B34 C14 D32 33有如下程序:#include using namespace std;class Pair int m;int n;public:Pairint i,int j:mi,nj boot operator pair pconst;/须在类体外给出定义 ;int main Pair Al3,4,p24,3;p34,5;Coutp2 P1 p3p2;return 0;运算符函数。operator的功能是比拟两个 Pair 对象的大小,当左边对象大时,返回 tru
11、e,否那么返回 false。比拟规那么是首先比拟两对象的 m 成员,m 大者为大;当 m 相等时比拟 n,n 大者为大。程序输出 0101,以下对运算符重载函数的正确定义是 Abool Pair:operatorPair pconst if m!=p.m return mp.m;return np.n;Bbool Pair:;operatorPair p if m!=p.m return mp.m;return np.n;Cbool Pair:operatorPair pconst if mp.m return true;return np.n;Dbool Pair:;operatorPair
12、 p if mp.m return true;return np.n;34假定以下语句都是程序运行后首次执行的输出语句,其中输出结果及另外三条语句不同的语句是 Acoutsetfill*123setw9321;Bcoutsetfill*setw6left123setw6right321;C cout123setfill*setw 6321;Dcoutsetfill*SetW9left123321;35有如下程序:#include using namespace std;class ONE int c;public:ONE:c0cout1;ONEint n:c ncout2;class TWO
13、ONE onel;ONE one2;public:TWOint m:one2mcout3;int maint TWO t4 return 0 运行时的输出结果是 A3 B23 C123 D213 二、填空题每空 2 分,共 30 分 6有如下程序段:int x=1,Y=2,z=3;x=xz;y=yz;z=xy;coutxyz;执行这个程序段的输出是【6】。7有如下程序段:ferint i=1;i=50;i+ifi%3!=0 continue;else ifi%5!=0 continue;touti“,;执行这个程序段的输出是【7】。8有如下程序段:Char c 20=“examination;
14、c4=0;coutcendl;执行这个程序段的输出是【8】。9下面的函数利用递归实现了求1+2+3+n 的功能:int sumint n ifn=0 return 0;else return n+sumn-1;在执行 sum10的过程中,递归调用sum 函数的次数是【9】。10非成员函数应该声明为类【10】函数才能访问该类的私有成员。11有如下程序:#include using namespace std;class Monitor public:Monitor char t:type t void print const cout“The type of monitor is typeend
15、l;private:char type;class Computer public:Computerint i,char c:【11】void Printconst cout“The computer isidendl;mon.Print;private:int id;Monitor mon;const Computer myComputer101,B;myComputer.Print;return 0;请将程序补充完整,使程序在运行时输出:The computer is 101 The type of monitor i.s 8 12有如下程序:#include using namespac
16、e std class Animal public:virtual char*getTypeconst return“Animal;virtual char*getVoiceconst return“Voice;;Class Dog:public Animal public:char*getType const return“Dog;char*getVoice const return“Woof ;void typeAnimal&a couta.getType;void speakAnimal a couta.getVoice;int main Dog d;type d;cout“speak;
17、speakd;coutendi;return 0;运行时的输出结果是【12】。13补充完整下面的类定义:const double PI=3.14;class Circle /圆形物体的抽象基类 protected:double r;/半径 public:Circledouble radius=0:rradius 【13】;/计算圆形物体外表积的纯虚函数声明 ;class Cylinder:public Circle /圆柱体类 double h;/高度 public:Cylindr double radius=0,doubli height=0:Circleradius,h height Vi
18、rtual double Area /计算圆柱体的外表积 return 2*PI*r*r+h;;14补充完整下面的类定义:class XCH char*a;public:XCHchar*as /构造函数 a=new charstrlenaa+1;strcpya,aa;XCH&operator=const XCH&x /重载赋值函数 Delele a;A=new charstrlenx.a+l;strcpya,x.a 【14】;XCH delete a;15补充完整下面的模板定义:template /Type 为类型参数 class Xtwo /由两个 Type 类型的数据成员构成的模板类 Ty
19、pe a;Type b;public:XtweType aa=0,Type bb=0:aaa,bbb int Ccmpare /比拟 a 和 b 的大小 if abreturm 1;else ifa=b return 0;else return-1;Type Snm return a+b;/返回 a 和b 之和 Type Mult;/函数声明,返回a 和 b 之乘积 ;Template 【15】:Multreturn a*b;/Mult 函数的类外定义 参考 答案 一、选择题:11D 12B 13A 14B 15 B 16 A 17 B 18C 19)A 20 D 21 D 22B 23 A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 笔试 试题
限制150内