最新全国计算机等级考试二级c++笔试试题.pdf
《最新全国计算机等级考试二级c++笔试试题.pdf》由会员分享,可在线阅读,更多相关《最新全国计算机等级考试二级c++笔试试题.pdf(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 2 0 0 9 年 全 国 计 算 机 等 级 考 试 二 级 C+笔 试 试 题 精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 2009 年 3 月 二级 C+真题及参考答案 一、选择题(每小题 2 分,共 70 分)(11)对 C+编译器区分重载函数无任何意义的信息是 A)参数类型 B)参数个数 C)返回值类型 D)常成员函数关键字 coast(12)有如下类定义和变量定义:class A publie:A()data=0;A()int GetData()coast return data;void SetData(int n)data=n;private:in
2、t data;ccnst A a;A b;下列函数调用中错误的是 A)a.GetData();B)a.SetData(10);C)b.GetData();D)b.SetData(10);(13)有如下类定义和变量定义:class Parents public:int publicuata;private:int privateData;class ChildA:public Parents/*类体略*/;class ChildB:private Parents/*类体略*/);ChildA a;ChildBb;下列语句中正确的是 A)couta.publicData endl;B)couta.
3、privateData endl;C)coutb.publicData endl;D)coutb.privateData endl;(14)运算符重载时不需要保持的性质是 A)操作数个数 B)操作数类型 C)优先级 D)结合性(15)下列关于函数模板的描述中,错误的是 A)从模板实参表和从模板函数实参表获得信息矛盾时,以模板实参的信息为准 精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 B)对于常规参数所对应的模板实参,任何情况下都不能省略 C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参 D)模板参数表不能为空(16)要建立文件流并打开当前目录下的文件
4、 file.dat 用于输入,下列语句中错误的是 A)ifstream fin=ifstream.open(“file.dat”);B)ifstream*fir.=new ifstream(“file.dat”);C)ifstream fin;fin.open(“file.dat”);D)ifstream*fin=new ifstream();fin一 open(“file.dat”);(17)下列描述中,不属于面向对象思想主要特征的是 A)封装性 B)跨平台性 C)继承性 D)多态性(18)有如下程序段:Tnt i=4;int j=l;int main()int i=8,j=i;coutij
5、endl;运行时的输出结果是 A)44 B)41 C)88 D)81(19)有如下程序段:int i=5;while(int i=0)cout*;i-;运行时输出“*”的个数是 A)0 B)1 C)5 D)无穷(20)己知有数组定义 char a34;下列表达式中错误的是 A)a2=“WIN”B)strcpy(a2,“WIN”)C)a 23=W D)a01=a01 精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除(21)已知函数 fun 的原型为 int fun(int,int,int);下列重载函数原型中错误的是 A)char fun(int,int);B)double
6、 fun(int,int,double);C)int fun(int,char*);D)float fun(int,int,int);(22)建立一个类对象时,系统自动调用 A)析构函数 B)构造函数 C)静态函数 D)友元函数(23)通过派生类的对象可直接访问其 A)公有继承基类的公有成员 B)公有继承基类的私有成员 C)私有继承基类的公有成员 D)私有继承基类的私有成员(24)己知表达式+a 中的“+”是作为成员函数重载的运算符,则与十+a 等效的运算符函数调用形式为 A)a.orerator+(1)B)operator+(a)C)operator+(a,l)D)a.operator+()
7、(25)在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是 A)()B)C)D)(26)当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为 A)ios_base:in B)ios_base:in|ios_base:out C)ios_base:out D)ios_base:in&ios_base:out(27)有如下程序:#include#include using namespace std;class XCD char*a;int b;public:XCD(char*aa,int bb)精品好资料-如有侵权请联系网站删除 精品好资料-如有
8、侵权请联系网站删除 a=new charstrlen(aa)+1;strcpty(a,aa);b=bb;Char*Geta()return a;)int Getb()return b;int main()char*pl=“abcd”,*p2=“weirong”;int dl=6,d2=8;XCD x(pl,dl),Y(p2,d2);coutstrien(x.Geta()+y.Getb()+endl;return 0;运行时的输出结果是 A)12 B)16 C)14 D)11(28)有如下程序:#include#include using namespace std;class XCF int
9、a;public:XCF(int aa=0):a(aa)cout“1”;XCF(XCF&x)a=x.a;cout“2”;)XCF()couta;int Geta()return a;int main()XCF dl(5),d7(dl);XCF*pd=new XCF(8);coutGeta();delete pd;return 0;运行时的输出结果是 A)121SS88 B)12188SS C)12185 D)128512(29)已知类 MyClass 声明如下:class MyClass int n;public;MyClass(int k):n(k)int getValue()constre
10、turn n;精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 在下列数组定义中正确的是 A)MyClass x12;B)MyClass x22=new MyClass(1),new MyClass(2);C)MyClass*x32;D)MyClass*x42=MyClass(1),MyClass(2);(30)有如下程序:#include using namespace std;class AA lilt k;protected:int n;void setK(int k)this-k=k;public:void setN(int n)this-n=n;class BB
11、:public/*类体略*/;int main()BB x_;/1 x.n=1;/2 x.setN(2);/3 x.k=3;/4 x.setK(4);return 0;在标注号码的四条语句中正确的是 A)1 B)2 C)3 D)4(31)有如下类定义:class XX int xx;public:XX():xx(0)cout A;XX(int n):xx(n)tout B;Class YY:public XX Int yy;public:YY():yy(0)cout+yy;YY(int n):XX(n+1),yy(n)coutyy;YY(int m,int n):XX(m),yy(n)cout
12、yy;下列选项中,输出结果为 A0 的语句是 A)YY y1(0,0);B)YY y2(1);C)YY y3(0);D)YY y4;(32)有如下程序:#include Using namespace std;class A 精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 public:virtual void f()cout+1;void g()cout2;class B:public A public:virtual void f()cout3;void g()ecut4;void show(A&a)a.f();a.g();int main()B b;show(b)
13、;return 0;运行时的输出结果是 A)12 B)34 C)14 D)32(33)有如下程序:#include using namespace std;class Pair int m;int n;public:Pair(int i,int j):m(i),n(j)boot operator(pair p)const;/须在类体外给出定义;int main()Pair Al(3,4),p2(4,3);p3(4,5);Coutp2)P1)p3)p2);return 0;运算符函数。operator 的功能是比较两个 Pair 对象的大小,当左边对象大时,返回 true,否则返回 false。
14、比较规则是首先比较两对象的 m 成员,m 大者为大;当 m 相等时比较 n,n 大者为大。程序输出 0101,下列对运算符重载函数的正确定义是 A)bool Pair:operator(Pair p)const if(m!=p.m)return mp.m;return np.n;B)bool Pair:;operator(Pair p)if(m!=p.m)return mp.m;return np.n;C)bool Pair:operator(Pair p)const 精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 if(mp.m)return true;return
15、np.n;D)bool Pair:;operator(Pair p)if(mp.m)return true;return np.n;(34)假定下列语句都是程序运行后首 次执行的输出语句,其中输出结果与另外 三条语句不同的语句是 A)coutsetfill(*)123setw(9)321;B)coutsetfill(*)setw(6)left123setw(6)right321;C)cout123setfill(*)setw(6)321;D)coutsetfill(*)SetW(9)left123321;(35)有如下程序:#include using namespace std;class
16、ONE int c;public:ONE():c(0)cout1;ONE(int n):c(n)cout2;class TWO ONE onel;ONE one2;public:TWO(int m):one2(m)cout3;int main()t TWO t(4)return 0 运行时的输出结果是 A)3 B)23 C)123 D)213 二、填空题(每空 2 分,共 30 分)(6)有如下程序段:int x=1,Y=2,z=3;x=xz;y=yz;z=xy;coutxyz;执行这个程序段的输出是【6】。(7)有如下程序段:fer(int i=1;i=50;i+)if(i%3!=0)con
17、tinue;else if(i%5!=0)continue;touti“,”;精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除 执行这个程序段的输出是【7】。(8)有如下程序段:Char c 20=“examination”;c4=0;coutcendl;执行这个程序段的输出是【8】。(9)下面的函数利用递归实现了求 1+2+3+n 的功能:int sum(int n)if(n=0)return 0;else return n+sum(n-1);在执行 sum(10)的过程中,递归调用sum 函数的次数是【9】。(10)非成员函数应该声明为类【10】函数才能访问该类的私有
18、成员。(11)有如下程序:#include using namespace std;class Monitor public:Monitor(char t):type(t)void print()const cout“The type of monitor is”typeendl;private:char type;class Computer public:Computer(int i,char c):【11】void Print()const cout“The computer is”idendl;mon.Print();private:int id;Monitor mon;const C
19、omputer myComputer(101,B);myComputer.Print();return 0;请将程序补充完整,使程序在运行时输出:The computer is 101 The type of monitor i.s 8(12)有如下程序:#include using namespace std class Animal public:virtual char*getType()const return“Animal”;virtual char*getVoice()const return“Voice”;;Class Dog:public Animal 精品好资料-如有侵权请联
20、系网站删除 精品好资料-如有侵权请联系网站删除 public:char*getType()const return“Dog”;char*getVoice()const return“Woof”;void type(Animal&a)couta.getType();void speak(Animal a)couta.getVoice();int main()Dog d;type(d);cout“speak”;speak(d);coutendi;return 0;运行时的输出结果是【12】。(13)补充完整下面的类定义:const double PI=3.14;class Circle/圆形物体的
21、抽象基类 protected:double r;/半径 public:Circle(double radius=0):r(radius)【13】;/计算圆形物体表面积的纯虚函数声明;class Cylinder:public Circle/圆柱体类 double h;/高度 public:Cylindr(double radius=0,doubli height=0):Circle(radius),h(height)Virtual double Area()/计算圆柱体的表面积 return 2*PI*r*(r+h);;(14)补充完整下面的类定义:class XCH char*a;publi
22、c:XCH(char*as)/构造函数 a=new charstrlen(aa)+1;strcpy(a,aa);XCH&operator=(const XCH&x)/重载赋值函数 Delele a;A=new charstrlen(x.a)+l;strcpy(a,x.a)【14】;XCH()delete a;精品好资料-如有侵权请联系网站删除 精品好资料-如有侵权请联系网站删除;(15)补充完整下面的模板定义:template/Type 为类型参 数 class Xtwo/由两个 Type 类型的数据成员构成的模板类 Type a;Type b;public:Xtwe(Type aa=0,Ty
23、pe bb=0):a(aa),b(bb)int Ccmpare()/比较 a 和 b 的大小 if(ab)returm 1;else if(a=b)return 0;else return-1;Type Snm()return a+b;/返回 a 和b 之和 Type Mult();/函数声明,返回 a 和 b 之乘积;Template【15】:Mult()return a*b;/Mult 函数的类外定义 参考 答案 一、选择题:(11)D(12)B(13)A(14)B(15)B(16)A(17)B(18)C(19)A(20)D(21)D(22)B(23)A(24)B(25)C(26)B(27
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 全国 计算机等级考试 二级 c+ 笔试 试题
限制150内