《历二级C真题及答案.pdf》由会员分享,可在线阅读,更多相关《历二级C真题及答案.pdf(67页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、公共基础知识及C+语言程序设计(考试时间 90 分钟,满分 100)分)(1)C(2)C(3)B(4)A(5)D一、选择题(1)(35)每小题2 分,共 70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下面叙述正确的是A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是A)队列 B)线性表 C)二叉树 D)栈(3)在一棵二叉树上第5 层的结点数最多是A)8
2、 B)16 C)32 D)(4)下面描述中,符合结构化程序设计风格的是A)使用顺序、选择和重复(循环)三种基木控制结构表示程序的控制逻辑B)模块只有一个入口,可以有多个出口C)注重提高程序的执行效率D)不使用goto语句(5)下面概念中,不属于面向对象方法的是A)对象 B)继承 C)类 D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是A)可行性分析 B)需求分析 C)详细设计 D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计 B)给出系统模块结构C)定义模块算法 D)定义需求并建立系统模型(8)数据库系统的核心是A)数据模型 C)软
3、件工具B)数据库管理系统 D)数据库(9)卜列叙述中正确的是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
5、 using namespace std;int main()(chara=Hello,World;char*ptr=a;while(*ptr)(if(*ptr=a&*ptr=*z)cout char(*ptr+A-a);else cout *ptr;ptr+;return 0;A)HELLO,WORLD B)Hello,WorldC)hELLO,wORLD D)hello,world(16)已知:intm=10;在下列定义引用的语句中,正确的是A)int&x=m;B)int y=&m;C)int&z;D)int&t=&m;(17)下列函数原型声明中错误的是A)void Fun(int x=0
6、,int y=0);B)void 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)int test(int,int,int=O);D)float test(int,int,float=3.5F);(19)有以下程序#includeint i=0;void fun()(s
7、tatic int i=1;std:couti+,/;)std:coutiV;int main()(fun();fun();return 0;)程序执行后的输出结果是A)1,2,1,2,B)1,2,2,3,C)2,0,3,0,D)1,0,2,0,(20)已知函数f的原型是:void f(int*a,long&b);变量v l、v2的定义是:int vl;long v 2;,正确的调用语句是A)f(vl,&v2);B)f(vl,v2);C)f(&vl,v2);D)f(&vl,&v2);(21)有以下类定义class MyClass(public:MyClass()coutl;);则执行语句MyC
8、lass a,b2,*p;后,程序的输出结果是A)ll B)lll C)llll D)lllll(22)关于友元,下列说法错误的是A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员C)友无关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(23)关于动态存储分配,下列说法正确的是A)new和delete是C+语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D)当动态分配内存
9、失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#includeusing namespace std;class MyClass(public:MyClass(int n)number=n;拷贝构造函数MyClass(MyClass&other)number=other.number;-MyClass()private:int number;;MyClass fun(MyClass p)(MyClass temp(p);return temp;)int main()(MyClass objl(10),obj2(0);MyClass obj3(obj 1);obj2=fun(ob
10、j3);return 0;)程序执行时,MyClass类的拷贝构造函数被调用的次数是A)5 B)4 C)3 D)2(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的A)公有成员和私有成员 B)私有成员和保护成员C)公有成员和保护成员 D)私有成员、保护成员和公有成员(26)在C+中用来实现运行时多态性的是A)重载函数 B)析构函数C)构造函数 D)虚函数(27)一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是A)每个派生类的构造函数都要为虚基类构造函数提供实参B)多继承时有可能出现对基类成员访问的二义性问题C)使用虚基类可以解决二义性问题并实现运行
11、时的多态性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)double Volume:opera tor-(double);C)Volume Volume:operator-(Volume);D)Volume operator-(Volume,Volume)
12、;(30)下列是模板声明的开始部分,其中正确的是A)templateB)templateC)templateD)template(31)执行语句序列ofstream outfile(DATA.DAT);if(.)cout OK;else cout TAIL;后,如果文件打开成功显示“O K 否则就显示“FZ、n。由此可知,上面if语句的.处的表达式应是A)outfile.fail()或 outfile B)outfile.good()或 JoutfileC)outfile.good()或 outGle D)outfile.fail()或!outfile(32)C+流中重载的运算符 是一个()A
13、)用于输出操作的非成员函数 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 7 _y y endl;private:int _x,_y;;下列语句中会发生编译错误的是A)Point pt;pt.Print();B)const Point pt;pt.Print();C)Point pt;pt
14、.Move(l,2);D)const Point pt;pt.Move(h 2);(34)有以下类定义class MyClass(private:int id;char gender,char*phone;public:MyClass。:id(0),gender(#),phone(NULL)MyCIass(int no,char ge=*#,char*ph=NULL)id=no;gende=ge;phone=ph;下列类对象定义语句中错误的是A)MyClass myObj;B)MyClass myObj(ll,13301111155);C)MyClass myObj(12,m*);D)MyCl
15、ass 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)const return Complex(re+c.re,im+c.im);private:double re,im;);int main()(Complex a=Complex。,1)+Compl
16、ex(5);cout a.real()+a.imag()*i endl;return 0;)程序执行后的输出结果是A)6+6i B)6+li C)l+6i D)1 +li二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡UH15序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。(1)算法的复杂度主要包括 1复杂度和空间复杂度。(2)数据的逻辑结构在计算机存储空间中的存放形式称为数据的 2。(3)若按功能划分,软件测试的方法通常分为白盒测试方法和 3测试方法。(4)如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之 间 存 在
17、 4的联系。(5)关系数据库管理系统能实现的专门关系运算包括选择、连接和 5 o(6)设有定义语句:inta=12;,则表达式a*=2+3的运算结果是 6。(7)从实现的角度划分,C+所支持的两种多态性分别是 7时的多态性和运行时的多态性。(8)将个函数声明为一个类的友元函数必须使用关键字 8。(9)请按下面注释的提示,将类B的构造函数定义补充完整。class A(int a;public:A(int aa=0)a=aa;class B:public A int b;Ac;public:用aa初始化基类A,用aa+1初始化类对象成员cB(int aa):9 J b=aa+2;);(10)下列程
18、序的输出结果是noj。#include using namespace std;int main()(int i=5;int&r=i;r=7;cout i endl;return 0;)(11)下列程序的输出结果是11J。#include using namespace std;class Test public:Test()cnt+;-Test()ent;static int Count()return ent;private:static int ent;);int Test:cnt=0;int main()cout Test:CountO rTest tl,t2;Test*pT3=new
19、 Test;Test*pT4=new Test;cout Test:CountO delete pT4;delete pT3;cout Test:Count()endl;retum 0;(12)下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!=n*(n-l)*.*2*l)unsigned fact(unsigned n)(if(n=1)return 1;return 12 ;)(13)下列程序的输出结果是13 o#include using namespace std;templateT fun(T a,T b)return(aname等价的表达式是 1 4。
20、(15)下列程序的输出结果是(151 o#include using namespace std;class base public:int n;base(int x)n=x;virtual void set(int m)n=in;cout n ;;class deriveA:pubIic base public:deriveA(int x):base(x)void set(mt m)n+=m;cout n aet(l);phase=&d2;p b a s e-s e t(2);r e t u r n 0;2 0 0 4年9月全国计算机等级考试二级笔试试卷公共基础知识及C+语言程序设计答案及评
21、分标准选择题(1)一(3 5)每小题2分,共70分)C (2)C (3)B (4)A(5)D二、填空题(每空2分,共30分)(6)B 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)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)c(3 2)B(3 3)D(3 4)B(3 5)B(1)1 J时间(2)2 存 储 结 构 或 物 理 结 构 或 物 理 存 储 结 构 黑 盒 或 黑 箱(4)4 一 对 多 或1对 多 或I
22、:M或I:N(其中M、N大小写均可)投影 6 0 编译(8)8 f r i e n d(9)9 J A(a a),c(a a+1)或 c(a a+l),A(a a)(1 0)1 0 7(1 1)1 1 0 4 2(1 2)1 2 n*f a c t(n-l)(1 3)1 3 3,3.1 4(1 4)(1 4 (*p).n a m e(1 5)1 5 2 52 0 1 0年3月计算机等级考试二级C+笔试试题、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是A)对长度为n的有
23、序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况卜需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(l o g 2 n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n k g 2 n)(2)算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)
24、诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息
25、结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:Rf A 1 B;C;a12,b22 _ I32Id.32I A I 5 J_Cc;3 1 3则由关系R得到关系T的操作是A)选择B)投影。交D)并(11)下列关于函数的描述中,错误的是A)函数可以没有返回值B)函数可以没有参数C)函数可以是一个类的成员D)函数不能被定义为模板(12)若MyClass是一个类名,且有如下语句序列MyClass cl,*c2;MyClass*c3=new MyClass;MyClass&c4=c 1;上面的语句序列所定
26、义的类对象的个数是A)1B)2C)3D)4(13)下列关于继承方式的描述中,错误的是A)如果不显式地指定继承方式,缺省的继承方式是私有(private)B)采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员。采用保护继承方式时.,基类中的保护成员在派生类中仍然是保护成员D)采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员(14)将前缀运算符“-”重载为非成员函数,下列原型中,能正确用于类中说明的是A)Decr&operator-(int);B)Decr operator (Decr&,int);C)friend Decr&operator-(Decr&);D)frlend
27、 Deer operator (Decr&,int);(15)若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列MyTempp2;MyTempp32;编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是A)1B)2C)3D)0(16)在C+中,cin是个A)类B)对象C)模板D涵数(17)在下列字符中,不允许作为C+标识符的是A)bB)BC).D)2(18)卜列叙述中,错误的是A)false是一个逻辑型常量B),b,是一个字符型常量0 3 6 5是一个int常量D)3.1415926 是一个 double 常量(19)若x和y是程序中的两个整型变量,则下列if
28、语句中正确的是A)if(x=O)y=l;else y=2;B)if(x=O)then y=l else y=2;C)if(x=O)y=l else y=2;D)if x=0 y=l;else y=2;(20)要定义整型数组x,使之包括初值为O的三个元素,下列语句中错误的是A)int x3=0,0,0;B)int x=0;C)static int x3=0;D)int x0,0,0);(21)关于函数中的 返回类型,下列表述中错误的是A)返回类型 中有可能包含关键字intB)返回类型中有可能包含自定义标识符C)返回类型)中有可能包含字符*D)返回类型,中可能包含口(22)要定义一个引用变量p,使
29、之引用类MyClass的一个对象,正确的定义语句是A)MyClass p=MyClass;B)MyClass p=new MyClass;C)MyClass&p=new MyClass;D)MyClass a,&p=a;(23)有如下两个类定义class XX private:double x 1;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)下列关于
30、运算符重载的描述中,错误的是A)可以通过运算符重载在C+中创建新的运算符B)赋值运算符只能重载为成员函数C)运算符函数重载为类的成员函数时,第一操作数是该类对象D)重载类型转换运算符时不需要声明返回类型(25)下列关于类模板的描述中,错误的是A)类模板的成员函数都是模板函数B)可以为类模板参数设置默认值C)类模板描述了一组类D)类模板中只允许有一个类型参数(26)下列控制格式输入输出的操作符中,能够设置浮点数精度的是A)setprecisionB)setwC)setfillD)showpoint(27)下列程序段中包含4个函数,其中具有隐含this指针的是intfunlQ;class Test
31、public:int fun2();friend int fun3();static int fun4(););A)funlB)fun2C)fun3D)fun4(28)有如下程序#includeusing namespace std;class Test)public:Test()Test(const Test&t)coutl;);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
32、 std;class Apublic:A(int i=0):rl(i)void print()coutE,R l-*;void print()const coutC R 1 *R 1 -f;void print(int x)cout,P R 1 *R 1 *R 1 -*;private:int rl;);int main()A al;const Aa2(4);al.print(2);al.print();return 0;运行时的输出结果是A)P8-E4B)P8-C16-C)P0-E4-D)P0-C16-(30)下列代码声明了 3个类class Person);class StudenCpub
33、lic Person;class Undergraduate:Student;下列关于这些类之间关系的描述中,错误的是A)类 Person 是类 Undergraduate 的基类B)类 Undergraduate 从类 Student 公有继承C)类Student是类Person的派生类D)类Undergraduate是类Person的派生类(31)有如下程序#includeusing namespace std;Class Basepublic:Base(int x=O):valB(x)coutVALB;Base。coutVALB;private:int valB;;class Deriv
34、ed:public Basepublic:Derived(int x=O,int y=0):Base(x),valD(y)coutVALD;Derived。coutVALD;private:int valD;);int main()Derived 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函数声
35、明有误D)语句“Shape s广能够建立Shape的-个对象s(33)将运算符“+”重载为非成员函数,下列原型声明中,错误的是A)MyClock operator+(MyClockJong);B)MyClock operator+(MyClock.MyClock);C)MyClock operator+(long,long);D)MyClock operator+(long,MyClock);(34)打开文件时可单独或组合使用下列文件打开模式ios_base:app(2)ios_base:binaryios_base:in ios_base:out若要以二进制读方式打开一个文件,需使用的文件打
36、开模式为A)B)C)D)(35)有如下程序:#includeusing namespace std;Class Bpublic:B(int xx):x(xx)+cout;x+=10;virtual void show()constco u tC O U N T,J 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()constcout C O U N T _Y E N D L;
37、)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)2_20二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【I】【15】序号的横线上,答在试卷上不得分。(1)一个队列的初始状态为空。现将元素A,B.C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为【1】o(2)设某循环队列的容量为5 0,如果头指针front=45(指向队头元素的前一位置),尾指针r e a r
38、=1 0(指向队尾元素),则该循环队列中共有【2】个元素。(3)设二叉树如下:对该二叉树进行后序遍历的结果为【3】。(4)软 件 是4、数据和文档的集合。(5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号,【5】,成绩)。(6)若x和y是两个整形变量,在执行了语句序列x=5;y=6;y+=x;后,x+y的 值 为【6】o(7)在执行语句序列i n t i=0;d o i+;w h i l e(i*i x)x=*p a;r e t u r n x;
39、)若执行了语句i n t x 5 =2 3,4 6,78,5 5,1 6);后,通过表达式X f u n(x,5)调用该函数,则得到的返回值为【8】o(9)有如下的函数定义:i n t X f u n(i n t x)i n t y=x;i n t x=1 0;y+=x;r e t u r n x+y;通过表达式X f u n(5)调用该函数,则得到的返回值为 9 o(1 0)假定X c s是一个类,该类中一个成员函数的原型为“X cs *abc();,则在类外定义时对应的函数头为【1 0】o(1 1)请将卜 面的类Dat e的定义补充完整,使得由语句Date FirstDay;定义的对象Fi
40、rstDay的值为2010年1月1日。class Datepublic:Date(11):year(y),month(m),day(d)private:int year,month,day;依次表示年、月、;(12)请将下面的程序补充完整,使得程序输出“飘是张娜的书”。#includeusing namespace std;class Bookpublic:Book(char*str)strcpy(title,str);12 void PrintlnfoO coutTITLEENDL;protected:char title50J;);class MyBook:public Book)publ
41、ic:MyBook(char*sl,char*s2=”张娜”):13 strcpy(owner,s2);virtual void PrintlnfoO coutvvTITLEvv”是“OWNERvv”的书“vvENDL;v pprivate:char owner 10;);int main()Book*prt=new MyBook(飘“);prt-PrintInfo();return 0;)(13)在有理数类Rational中重载插入运算符v v,以便按a/q形式输出。请将v运算符函数的定义补充完整。class Rationalpublic:Rational(int aa,int qq):a(
42、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 q u ar e(i n t n)r e t u r n n*n;d o u bl e s q u ar e(d o u bl e n)r e t u r n n*n;由此可知,该函数模板的定义是 1 5 .2 0 0 7年4月计算机等级考试C+考试及答案一、选择题(每小题2 分,共 70 分)下列各题A)、B)、C)、D)四个选项中,只有个选项是
43、正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是。A)算法的效率只与问题的规模有关,而与数据的存储结构无关.B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是-对应的.D)算法的时间复杂度与空间复杂度一定相关.(2)在结构化程序设计中,模块划分的原则是。A)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度,模块间具有低耦合度(3)下列叙述中正确的是。A)软件测试的主要目的是发现程序中的错误.B)软件测试的主要目的是确定程序中错误的位置.C)为了提高软件测试的效率,最好由程序编
44、制者自己来完成软件测试的工作D)软件测试是证明软件没有错误(4)下面选项中不属于面向对象程序设计特征的是。A)继承性B)多态性C)类比性D)封装性(5)下列对列的叙述正确的是。A)队列属于非线性表B)队列按“先进后出”的原则组织数据C)队列在队尾删除数据D)队列按“先进先出”原则组织数据(6)对下列二叉树A)D YB E A F C Z X B)Y D E B F Z X C A C)A B D Y E C F X Z D)A B C D E F X YZ(7)某二叉树中有n 个度为2的结点则该二叉树中的叶子结点数为A)n+1 B )n-1 C)2 n D)n/2(8)在下列关系运算中,不改变
45、关系表中的属性个数但能减少元组个数的是。A)井 B)交 C)投 影 D)笛卡儿乘积(9)在 E-R 图中,用来表示实体之间是联系的图形是。A)矩 形 B)椭圆形C)菱 形 D)平行四边形(1 0)下列叙述中错误的是。A)在数据库系统中,数据的物理结构必须与逻辑结构一 致.B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(1 1)为了取代C中带参数的宏,在C+中使用A)重载函数B)内联函数C)递归函数D)友元函数(1 2)下列关于类定义的说法中,正确的是A)类定义中包括数据成员和函数成员的声明B)类成员的缺省访
46、问权限是保护的C)数据成员必须被声明为私有的D)成员函数只能在类体外进行定义(1 3)下列关于派生类构造函数和析构函数的说法中,错误的是A)派生类的构造函数会隐含调用基类的构造函数B)如果基类中没有缺省构造函数,那么派生类必须定义构造函数C)在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D)在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数(1 4)通过运算符重载,可以改变运算符原有的A)操作数类型B)操作数个数C)优先级D)结合性(1 5)有如下函数模板:tem plate T so uare(T x)(retum x *x ;)基中T是A)函数形参B)函数实
47、参C)模板形参D)模板实参(1 6)使用输入输出操作符setw,可以控制A)输出精度B)输出宽度C)对齐方式D)填充字符(1 7)下列字符串中,不可以用作C+标识符的是A)y _2006 B)_ TE S T_ HC)R eturn D)sw itch(1 8)字面常量42、4.2、4 2 L的数据类型分别是A)lo n g s do uble in t B)lo n g、f lo at、in tC)in t,do uble lo n g D)in t、f lo at、lo n g(1 9)执行下列语句段后,输出字符“*”的个数是f o r(in t i =50;1 1;i )co ut,*,
48、A)48 B)49 0 50 D)51(2 0)有如下程序段in ti=O,j=l;in t&r=i;/r=j;in t*p=&i;/*p=&r;/基中会产生编译错误的语句是A)B)C)D)(2 1)有如下函数定义:v o id f un c(in t a,in t&b)a+;b+;若执行代码段:in tx=O ,y=lf un c(x,y);则变量x和y值分别是A)0 和 1 B)1 和 1 C)0 和 2 D)1 和 2(2 2)有如下程序:#includeusing namespace std;class A publicstatic int a;void init()a=l;A(int
49、 a=2)init();a+;);int A:;a=0Aobj;Int main()(coutobj.a;retumO;)运行时输出的结果是A)OB)1 C)2D)3(2 3)下列有关继承和派生的叙述中,正确的是A)派生类不能访问基类的保护成员B)作为虚基类的类不能被实例化C)派生类应当向基类的构造函数传递参数D)虚函数必须在派生类中重新实现(2 4)下列运算符中,不能被重载的是A)&B)!=C).D)+(2 5)下列函数模板的定义中,合法的是A)template Tabs(T x)return x 0-x:x;B)template class Tabs(Tx)retumx0-x;x;C)te
50、mplateTabs(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 std;class test private:int a;public:test()cout,constructor,endl;test(int a)coutaendl;test(const test&_test)a=_testa;cout,copy constructor“vvendl;)test()cou