《历年二级C++真题及答案1.pdf》由会员分享,可在线阅读,更多相关《历年二级C++真题及答案1.pdf(58页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、公共基础知识及C+语言程序设计(考试时间90分钟,满分100)分)一、选择题(1)(35)每小题2分,共70分)卜列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)卜面叙述正确的是A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是A)队列 B)线性表 C)二叉树 D)栈(3)在一棵二叉树上第5层的结点数最多是A)8 B)16 C)32 D)15(4)下面描述中,符合
2、结构化程序设计风格的是A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B)模块只有一个入口,可以有多个出口C)注重提高程序的执行效率D)不使用goto语句(5)下面概念中,不属于面向对象方法的是A)对象 B)继承 C)类 D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是A)可行性分析 B)需求分析 C)详细设计 D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计 B)给出系统模块结构C)定义模块算法 D)定义需求并建立系统模型(8)数据库系统的核心是A)数据模型 C)软件工具B)数据库管理系统 D)数据库(9)下列叙
3、述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库设计是指设计数据库管理系统C)数据库技术的根本目标是要解决数据共享的问题D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式 B)外模式 C)概念模式 D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B)“多态性”指的是对象的状态会根据运行时要求自动变化C)基类的私有成员在派生类的对象中不可访问,也不占内存空间D)在面向对象的程序设计中,结构化程序设计方法仍有着重
4、要作用(12)判断字符型变量ch是否为大写英文字母,应使用表达式A)ch=A&ch=Z B)ch=ZC )A,=ch=A&chv=Z(13)已知下列语句中的x和y都是int型变量,其中错误的语句A)x=y+;B)x=+y;C )(x+y)+;D)+x=y;(14)执行语句序列int n;cin n;switch(n)(case 1:case 2:cout T;case 3:case 4:cout 2;break;default:cout 3;)时,若键盘输入1,则屏幕显示A)1 B)2 C)3 D)12(15)下列程序的输出结果是#include using namespace std;int
5、 main()(char a=H ello,World;char*ptr=a;while(*ptr)(if(*ptr=*a&*ptr=*z)cout char(*ptr+A-a);else cout *ptr;ptr+;)return 0;A)H ELLO,WORLD B)H ello,WorldC )hELLO,WORLD D)hello,world(16)已知:inlm=10;在下列定义引用的语句中,正确的是A)int&x=m;B)int y=&m;C )int&z;D)int&t=&m;(17)下列函数原型声明中错误的是A)void Fun(int x=0,int y=0);B)void
6、 Fun(int x,int y);C )void Fun(int x,int y=0);D)void Fun(int x=0,int y);(18)已知程序中已经定义了函数te s t,其原型是int test(int,int,in t);,则下列重载形式中正确的是A)char test(int,int,int);B)double test(int,int,double);C)i nt t es t(i nt,i nt,i nt=O);D)fl oat t es t(i nt,i nt,fl oat=3.5F);(1 9)有以卜程序#i ncl u dei nt i =0;v oi d fu
7、 n()s t at i c i nt i =1;s t d:c o u t i+V;)s t d:cou t i ;)i nt m ai n()(fu n();fu n();ret u rn 0;)程序执行后的输出结果是A)1,2,1,2,B)1,2,2,3,C)2,0,3,0,D)1,0,2,0,(2 0)已知函数f的原型是:v oi d f(i nt *a.l ong&b);变量v l、v2的定义是:i nt v l;kng v 2;,正确的调用语句是A)f(v l,&v 2);B)f(v l,v 2);C)f(&v l,v 2);D)f(&v 1,&v 2);(2 1)有以下类定义cl
8、 as s M y Cl as s(pu bl i c:M y CIas s()c o u t 1;);则执行语句M y Cl as s a,b ,*p;后,程序的输出结果是A)l l B)l l l C)l l l l D)l l l l l(2 2)关于友元,下列说法错误的是A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fu n()被说明为类A的友元,那么在fu n()中可以访问类A的私有成员C)友元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(2 3)关于动态存储分配,下列说法正确的是A)n e w和del et e是C+语言中专门用于动态内
9、存分配和释放的函数B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用del et e释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用n e w(2 4)有以下程序#i ncl u deu s i ng nam es pace s t d;class MyClass(public:MyClass(int n)number=n;拷贝构造函数MyClass(MyClass&other)numbei-other.number;MyClass()private:int number;;MyClass fun(MyClass p)(
10、MyClass temp(p);return temp;)int main()(MyClass obj 1 (10),obj2(0);MyClass obj3(obj 1);obj2=fun(obj3);return 0;)程序执行时,MyClass类的拷贝构造函数被调用的次数是A)5 B)4 C)3 D)2(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的A)公有成员和私有成员 B)私有成员和保护成员C)公有成员和保护成员 D)私有成员、保护成员和公有成员(26)在 C+中用来实现运行时多态性的是A)重载函数 B)析构函数C)构造函数 D)虚函数(27)一个类可以同时继承多个
11、类,称为多继承。下列关于多继承和虚基类的表述中,错误的是A)每个派生类的构造函数都要为虚基类构造函数提供实参B)多继承时有可能出现对基类成员访问的二义性问题C)使用虚基类可以解决二义性问题并实现运行时的多态性D)建立最派生类对象时,虚基类的构造函数会首先被调用(28)在一个类体的下列声明中,正确的纯虚函数声明是A)virtual void vf()=0;B)void vf(int)=0;C)virtual int vf(int);D)virtual void vf(int)(29)在下面的运算符重载函数的原型中,错误的是A)Volume operator-(double,double);B)d
12、ouble Volume:operator-(double);C)Volume Volume:operator-(Volume);D)Volume operator-(Volume,Volume);(30)下列是模板声明的开始部分,其中正确的是A)templateB)templateC)templateD)template(31)执行语句序列ofstream outfile(nDATA.DAT);cout OK;else cout FAIL;后,如果文件打开成功显示“OK”,否则就显示“F A n。由此可知,上面if语句的 处的表达式应是A)outfile.fail()或 outfile B)
13、outfile.good()或!outfileC)outfile.good()或 outfile D)outfile.fail()或 Joutfile(32)C+流中重裁的运算符是一个()A)用于输出操作的非成员函数 B)用于输入操作的非成员函数C)用于输出操作的成员函数 D)用于输入操作的成员函数(33)有以下类定义class Point public:Point(int x=0,int y=0)_.x=x;_.y=y;void Move(int xOff,int yOff)_x+=xOff;_.y+=yOff;void Print()const cout (_x /_y y endl;pr
14、ivate:int _x,_y;);下列语句中会发生编译错误的是A)Point pt;pt.Print();B)const Point pt;pt.Print();C)Point pt;pt.Move(l,2);D)const Point pt;pt.Move(l,2);(34)有以下类定义class MyClass(private:int id;char gender,char*phone;public:MyClass():id(0),gender,#),phone(NULL)MyClass(int no,char ge=#char*ph=NULL)id=no;gende=ge;phone=
15、ph;;下列类对象定义语句中错误的是A)MyClass myObj;B)MyClass myObj(ll,n13301111155n);C)MyClass myObj(12,m);D)MyClass myObj(12);(35)有以下程序#include using namespace std;class Complex(public:Complex(double r=0,double i=0):re(r),im(i)double real()const return re;double imag()const return im;Complex operator+(Complex c)con
16、st return Complex(re+c.re,im+c.im);)private:double re,im;);int main()(Complex a=Complex。,1)+Complex(5);cout a.real()+a.imagO T endl;return 0;程序执行后的输出结果是A)6+6i B)6+li C)l+6i D)1+li二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡 1H15序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。算法的复杂度主要包括 1复杂度和空间复杂度。(2)数据的逻辑结构在计算机存储空间中的存放形式称为数
17、据的 2。(3)若按功能划分,软件测试的方法通常分为白盒测试方法和 3测试方法。(4)如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间 存 在 4的联系。(5)关系数据库管理系统能实现的专门关系运算包括选择、连接和 5。(6)设有定义语句:inta=l2:,则表达式a*=2+3的运算结果是|6。(7)从实现的角度划分,C+所支持的两种多态性分别是 7时的多态性和运行时的多态性。(8)将一个函数声明为一个类的友元函数必须使用关键字 8 o(9)请按下面注释的提示,将类B的构造函数定义补充完整。class Aint a;public:A(int aa=0)a
18、=aa;);class B:public A int b;A c;public:用aa初始化基类A,用aa+1初始化类对象成员cB(int aa):f 9 b=aa+2;);(10)下列程序的输出结果是 7 o#include using namespace std;int main()(int i=5;int&r=i;r=7;cout i endl;return 0;)(11)下列程序的输出结果是11 o#include using namespace std;class Test public:Test()cnt+;Test()ent;)static int Count()return e
19、nt;private:static int ent;);int Test:cnt=0;int main()(cout Test二Count。rTest tl,t2;Test*pT3=new Test;Test*pT4=new Test;cout Test:CountO delete pT4;delete pT3;cout Test:Count()endl;return 0;(12)下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!=n*(n-l)*.*2*l)Fibnacci 也很重要unsigned fact(unsigned n)if(n=1)return
20、1;return 12 ;n*facl(nl)(13)下列程序的输出结果是13 o#include using namespace std;tempiateT fun(T a,T b)return(aname等价的表达式是 1 4。(15)下列程序的输出结果是15 o#include using namespace std;class base public:int n;base(int x)n=x;virtual void set(int m)n=m;cout n r;;class deriveA:public base public:deriveA(int x):base(x)void s
21、et(mt m)n+=m;cout n );class deriveB:public base public:deriveB(int x):base(x)void set(int m)n+=m;cout n aet(l);phase=&d2;pbase-set(2);r e t u r n 0;2 0 0 4年9月全国计算机等级考试二级笔试试卷公共基础知识及C+语言程序设计答案及评分标准选择题(1)(3 5)每小题2分,共7 0分)C (2)C (3)B (4)A (5)D(6)B(7)D(8)B(9)C(1 0)A(H)D(1 2)D(1 3)C(1 4)D(1 5)A(1 6)A(1 7)
22、D(1 8)B(1 9)D(2 0)C(2 1)B(2 2)A(2 3)B(2 4)B(2 5)C(2 6)D(2 7)C(2 8)A(2 9)A(3 0)C(3 D C(3 2)B(3 3)D(3 4)B(3 5)B二、填空题(每空2分,共3 0分)(DfU时间 存储结构或 物 理 结 构 或物理存储结构网 黑 盒 或黑箱(4)4 一对多或1对多或I:M或I:N(其中M、N大小写均可)投影(6)1 6 6 0 编译(8)1 8 f r i e n d(9)f 9 A(a a),c(a a+1)或 c(a a+l),A(a a)(1 0)l l 0 J 7(l l)l l 0 4 2(1 2)
23、1 2 J n*f a c t(n-l)(1 3)1 3 3,3.1 4(1 4)1 4 J (*p).n a m e(1 5)1 5 2 52 0 1 0年3月计算机等级考试二级C+笔试试题一、选择题(每小题2分,共7 0分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(l o g 2 n)D)对长
24、度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n l o g 2 n)(2)算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。卜面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)而
25、向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:I A I 5 J_Cc;3 1 3则由关系R得到关系T的操作是A)
26、选择B)投影C)交D讲(11)下列关于函数的描述中,错误的是A)函数可以没有返回值B)函数可以没有参数C)函数可以是一个类的成员D)函数不能被定义为模板(12)若MyClass是一个类名,且有如下语句序列MyClass cl,*c2;MyClass*c3=new MyClass;MyClass&c4=c 1;上面的语句序列所定义的类对象的个数是A)1B)2C)3D)4(13)下列关于继承方式的描述中,错误的是A)如果不显式地指定继承方式,缺省的继承方式是私有(private)B)采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员C)采用保护继承方式时,基类中的保护成员在派生类中仍然是
27、保护成员D)采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员(14)将前缀运算符“-”重载为非成员函数,下列原型中,能正确用于类中说明的是A)Decr&operator (int);B)Decr operator (Decr&,int);C)friend Decr&operator (Decr&);D)frlend Deer operator (Decr&,int);(15)若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列MyTempp2;MyTempp32;编译系统在处理上面的语句序列时,所牛.成的模板MyTemp的实例的个数是A)1B)2C)3D)0(16)在
28、C+中,cin是个A)类B)对象C)模板D涵数(17)在下列字符中,不允许作为C+标识符的是A)bB)BC)_D)2(18)下列叙述中,错误的是A)false是一个逻辑型常量B)b是一个字符型常量C)365是一个int常量D)3.1415926 是一个 double 常量(19)若x和y是程序中的两个整型变量,则 卜 一 列if语句中正确的是A)if(x=O)y=l:else y=2:B)if(x=0)then y=l else y=2;C)if(x=0)y=l else y=2;D)if x=0 y=1;else y=2;(20)要定义整型数组x,使之包括初值为O的三个元素,下列语句中错误的
29、是A)int x3=0,0,0);B)inlxn=(0);C)static int x3=0;D)intx=0,0,0);(21)关于函数中的 返回类型),下列表述中错误的是A)返回类型 中有可能包含关键字intB)返回类型 中有可能包含自定义标识符C)返回类型 中有可能包含字符*D)返回类型 中可能包含II(22)要定义一个引用变量p,使之引用类M yOass的一个对象,正确的定义语句是A)MyClass p=MyClass;B)MyClass p=new MyClass;C)MyClass&p=new MyClass;D)MyClass a,&p=a;(23)有如下两个类定义class X
30、X private:double xl;protected:double x2;public:double x3;class YY:protected XX private:double yl;protected:double y2;public:double y3;在类Y Y中保护成员变量的个数是A)1B)2C)3D)4(24)卜列关于运算符重载的描述中,错误的是A)可以通过运算符重载在C+中创建新的运算符B)赋值运算符只能重载为成员函数C)运算符函数重载为类的成员函数时,第一操作数是该类对象D)重载类型转换运算符时不需要声明返回类型(25)下列关于类模板的描述中,错误的是A)类模板的成员函
31、数都是模板函数B)可以为类模板参数设置默认值C)类模板描述了 一组类D)类模板中只允许有一个类型参数(26)卜.列控制格式输入输出的操作符中,能够设置浮点数精度的是A)setprecisionB)setwC)setfillD)showpoint(27)下列程序段中包含4个函数,其中具有隐含this指针的是int fun 1();class Testpublic:int fun2();friend int fun3();static int fun4(););A)funlB)fun2C)fun3D)fun4(28)有如下程序#includeusing namespace std;class Te
32、stpublic:Test()Test(const Test&t)cout 1;);Test fun(Test&u)Test t=u;return t;int main()Test x,y;x=fun(y);return 0;运行这个程序的输出结果是A)无输出B)1C)llD)lll(29)有如下程序#includeusing namespace std;class A public:A(int i=0):rl(i)void print()cout,E Rl p void print()const coutC,R 1 *R 1 void print(int x)cout,P,R 1 *R 1
33、*R 1 -*;private:int rl;);int main()A al;const A a2(4);al.print(2);al.print();return 0;)运行时的输出结果是A)P8-E4B)P8-C16-OP0-E4-D)PO-C16-(30)下列代码声明了 3个类class Person;class Studenepublic Person;class Undergraduate:Student;下列关于这些类之间关系的描述中,错误的是A)类 Person 是类 Undergraduate 的基类B)类 Undergraduate 从类 Student 公有继承C)类St
34、udent是类Person的派生类D)类Undergraduate是类Person的派生类(31)有如下程序#includeusing namespace std;Class Basepublic:Base(int x=O):valB(x)coutVALB;-Base()coutVALB;private:int valB;);class Derived:public Basepublic:Derived(int x=O,int y=O):Base(x),valD(y)coutVALD;-Derived()coutVALD;private:int valD;);int main()Derived
35、 obj 12(2,3);retuen 0;)运行时的输出结果是A)2332B)2323C)3232D)3223(32)下面是类Shape的定义:class Shape public:virtual void Draw()=0;);下列关于Shape类的描述中,正确的是A)类Shape是虚基类B)类Shape是抽象类C)类Shape中的Draw函数声明有误D)语句“Shape s;”能够建立Shape的一个对象s(33)将运算符重载为非成员函数,下列原型声明中,错误的是A)MyClock operator+(MyClock,long);B)MyClock operator+(MyClock,M
36、yClock);C)MyClock operator+(long,long);D)MyClock operator+(long,MyClock);(34)打开文件时可单独或组合使用下列文件打开模式ios_base:app ios_base:binaryios_base:in ios_base:out若要以二进制读方式打开一个文件,需使用的文件打开模式为A)B)C)D)(35)有如下程序:#includeusing namespace std;C lass Bpublic:B(int xx):x(xx)+cout;x+=10;virtual void show()constco u tC O U
37、 N T rJ X E N D L;protected:static int count;private:int x;;class D:public Bpublic:D(int xx,int yy):B(xx),y(yy)+count;y+=100;)virtual void show()constco u tC O U N T,J Y E N D L;private:int y;);int B:count=0;int main()B*ptr=new D(10,20);ptr-show();delete ptr;return 0;)运行时的输出结果是A)l_120B)2_120C)l_20D)
38、2_20二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】1 5 序号的横线上,答在试卷上不得分。(1)一个队列的初始状态为空。现将元素A,B,C,D,E,F,5.4,3,2依次入队,然后再依次退队,则元素退队的顺序为【1】0(2)设某循环队列的容量为5 0,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有 2个元素。(3)设二叉树如下:3E 必 2对该二叉树进行后序遍历的结果为【3】o(4)软 件 是 4、数据和文档的集合。(5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的
39、关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号,【5】,成绩)。(6)若x和y是两个整形变量,在执行了语句序列x=5;y=6;y+=x-;后,x+y的 值 为【6】。15(7)在执行语句序列int i=0;do i+;while(i*ix)x=*pa;return x;)若执行了语句int x 5=23,46,78,55,16);后,通过表达式Xfun(x,5)调用该函数,则得到的返回值为【8】o(9)有如下的函数定义:int Xfun(int x)int y=x;int x=10;y+=x;return x+y;)通过表达式X
40、fun(5)调用该函数,则得到的返回值为【9】。20(10)假定Xcs是一个类,该类中一个成员函数的原型为“Xcs*abc();,则在类外定义时对应的 函 数 头 为【10】。(11)请将下面的类Date的定义补充完整,使得由语句Date FirstDay;定义的对象FirstDay的值为2010年 1 月 1 日。class Datepublic:Date(11):year(y),month(m),day(d)private:int year,month,day;依次表示年、月、日);(12)请将卜面的程序补充完整,使得程序输出“飘是张娜的书”。#includeusing namespace
41、 std;class Bookpublic:Book(char*str)strcpy(title,str);)12 void Printlnfo()coutTITLEENDL;protected:char title50;);class MyBook:public Bookpublic:MyBook(char*si,char*s2=张娜”):13 strcpy(owner,s2);virtual void Printlnfo。coutccTITLEvv”是“OWNERvv”的书“vvENDL;v pprivate:char owner10;);int main()Book*prt=new My
42、Book(飘);prt-PrintInfo();return 0;)(13)在有理数类Ralional中重载插入运算符,以便按a/q形式输出。请将v v 运算符函数的定义补充完整。class Rationalpublic:Rational(int aa,int qq):a(aa),q(qq)friend 14 operator(ostream&out,Rational&x)(return(outX.A p?x.q);)private:int a,q;(14)下面的函数定义是某函数模板能够生成的函数实例i n t s qu a r e(i n t n)r e t u r n n*n;d ou b
43、 l e s qu a r e(d ou b l e n)r e t u r n n*n;由此可知,该函数模板的定义是【1 5】。2 0 0 7年4月计算机等级考试C+考试及答案一、选择题(每小题2 分,共 70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是。A)算法的效率只与问题的规模有关,而与数据的存储结构无关.B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的.D)算法的时间复杂度与空间复杂度一定相关.(2)在结构化程序设计中,模块划分的原则是。A
44、)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度,模块间具有低耦合度(3)下列叙述中正确的是。A)软件测试的主要目的是发现程序中的错误.B)软件测试的主要目的是确定程序中错误的位置.C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错误(4)下面选项中不属于面向对象程序设计特征的是。A)继承性B)多态性C)类比性D)封装性(5)下列对列的叙述正确的是。A)队列属于非线性表B)队列按“先进后出”的原则组织数据C)队列在队尾删除数据D)队列按“先进先出”原则组织数据(6)对下列二又树A)D Y B E
45、 A F C Z X B)YD EB F Z X C A C)A B D Y E C F X Z D)A B C D EF X YZ(7)某二义树中有n 个度为2 的结点则该二叉树中的叶子结点数为A)n+1 B )n-1 C)2 nD)n/2(8)在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是。A)井 B)交 C)投 影 D)笛卡儿乘积(9)在 E-R 图中,用来表示实体之间是联系的图形是。A)矩 形 B)椭圆形C)菱 形 D)平行四边形(1 0)下列叙述中错误的是。A)在数据库系统中,数据的物理结构必须与逻辑结构一致.B)数据库技术的根本目标是要解决数据的共享问题C)数据库设
46、计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(1 1)为了取代C中带参数的宏,在C+中使用A)重载函数B)内联函数C)递归函数D)友元函数(1 2)下列关于类定义的说法中,正确的是A)类定义中包括数据成员和函数成员的声明B)类成员的缺省访问权限是保护的C)数据成员必须被声明为私有的D)成员函数只能在类体外进行定义(1 3)下列关于派生类构造函数和析构函数的说法中,错误的是A)派生类的构造函数会隐含调用基类的构造函数B)如果基类中没有缺省构造函数,那么派生类必须定义构造函数C)在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D)在销毁派生类对象时,
47、先调用基类的析构函数,再调用派生类的析构函数(1 4)通过运算符重载,可以改变运算符原有的A)操作数类型B)操作数个数C)优先级D)结合性(1 5)有如下函数模板:t em p l a t e Tsou a re(T x)(ret u m x*x;)基中T是A)函数形参B)函数实参C)模板形参D)模板实参(1 6)使用输入输出操作符set w,可以控制A)输出精度B)输出宽度C)对齐方式D)填充字符(1 7)下列字符串中,不可以用作C+标识符的是A)y_ 20 0 6 B)_ _ _ _T ES T _H C)Ret u rn D)swi t ch(1 8)字面常量4 2、4.2、4 2 L的
48、数据类型分别是A)l ong、dou b l e i nt B)l ong fl oa t,i ntC)i nt、dou b l e、l ongD)i nt、fl oa t、l ong(1 9)执行下列语句段后,输出字符“*”的个数是for(i nt i=5 0;1 1;i )cou t *A)4 8 B)4 9 0 5 0 D)5 1(2 0)有如下程序段i nt i =0,j=l:i nt&r=i ;/r=j;/i nt*p=&i ;*p=&r;/基中会产生编译错误的语句是A)B)C)D)(2 1)有如下函数定义:voi d fu nc(i nt a,i nt&b)a+;b+;若执行代码段
49、:i nt x=O,y=1fu nc(x,y);则变量x和y值分别是A)0 和 1 B)1 和 1 C)0 和 2 D)1 和 2(2 2)有如下程序:#i nc 1 udeusing namespace std;class Apublicstatic int a;void init()a=1;A(int a=2)init();a+;);int A:;a=0A obj;Int main()(coutobj.a;retumO;)运行时输出的结果是A)OB)1 C)2D)3(2 3)下列有关继承和派生的叙述中,正确的是A)派生类不能访问基类的保护成员B)作为虚基类的类不能被实例化C)派生类应当向基
50、类的构造函数传递参数D)虚函数必须在派生类中重新实现(2 4)卜.列运算符中,不能被重载的是A)&B)!=C).D)+(2 5)下列函数模板的定义中,合法的是A)templateTabs(Tx)return x 0-x:x;B)template class Tabs(Tx)retumx0-x;x;C)template Tabs(T x)return x0-x;x;D)template T abs(T x)returm x0-x;x;(2 6)在语句 cindata;中,cin 是A)C+的关键字B)类名C)对象名D)函数名(2 7)有如下程序:#includeusing namespace s