《全国计算机等级考试历年真题及答案.pdf》由会员分享,可在线阅读,更多相关《全国计算机等级考试历年真题及答案.pdf(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、(10)下列模式中,能够给出数据库物理存储结构与物理全国计算机等级考试二级笔试试卷存取方法的是公共基础知识及 C+语言程序设计A)内模式B)外模式C)概念模式D)逻辑模(考试时间 90 分钟,满分 100)分)式(11)关于面向对象的程序设计方法,下列说法正确的是一、选择题(1)(35)每小题 2 分,共 70 分)A)“封装性”指的是将不同类型的相关数据组合在一下列各题 A)、B)、C)、D)四个选项中,只有一个选起,作为一个整体进行处理项是正确的,请将正确选项涂写在答题卡相应位置上,B)“多态性”指的是对象的状态会根据运行时要求自动答在试卷上不得分。变化(1)下面叙述正确的是C)基类的私有
2、成员在派生类的对象中不可访问,也不A)算法的执行效率与数据的存储结构无关占内存空间B)算法的空间复杂度是指算法程序中指令(或语句)的D)在面向对象的程序设计中,结构化程序设计方法仍条数有着重要作用C)算法的有穷性是指算法必须能在执行有限个步骤(12)判断字符型变量 ch 是否为大写英文字母,应使用表之后终止达式D)以上三种描述都不对A)ch=A&ch=ZB)ch=Z(2)以下数据结构中不属于线性数据结构的是C)A=ch=A&ch n;B)模块只有一个入口,可以有多个出口switch(n)C)注重提高程序的执行效率case 1:D)不使用 goto 语句case 2:cout 1;(5)下面概念
3、中,不属于面向对象方法的是case 3:A)对象B)继承C)类D)过case 4:cout 2;break;程调用default:cout 3;(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是时,若键盘输入 1,则屏幕显示A)可行性分析B)需求分析C)详细设计D)A)1B)2C)3D)12程序编码(15)下列程序的输出结果是(7)在软件开发中,下面任务不属于设计阶段的是#include A)数据结构设计B)给出系统模块结构using namespace std;C)定义模块算法D)定义需求并建立系统模型int main()(8)数据库系统的核心是A)数据模型C)软件工具
4、char a=Hello,World;B)数据库管理系统D)数据库char*ptr=a;(9)下列叙述中正确的是while(*ptr)A)数据库系统是一个独立的系统,不需要操作系统的支持if(*ptr=a&*ptr=z)B)数据库设计是指设计数据库管理系统cout char(*ptr+A-a);C)数据库技术的根本目标是要解决数据共享的问题else cout *ptr;D)数据库系统中,数据的物理结构必须与逻辑结构一ptr+;致1/30全国计算机等级考试历年真题及答案-第1页全国计算机等级考试历年真题及答案-第1页return 0;则执行语句 MyClass a,b2,*p2;后,程序的输出结
5、果是A)HELLO,WORLDB)Hello,WorldA)11B)111C)1111D)11111C)hELLO,wORLDD)hello,world(22)关于友元,下列说法错误的是(16)已知:int m=10;在下列定义引用的语句中,正确的A)如果类 A 是类 B 的友元,那么类 B 也是类 A 的友元是B)如果函数 fun()被说明为类 A 的友元,那么在 fun()中A)int&x=m;B)int y=&m;可以访问类 A 的私有成员C)int&z;D)int&t=&m;C)友元关系不能被继承(17)下列函数原型声明中错误的是D)如果类 A 是类 B 的友元,那么类 A 的所有成员
6、函数A)void Fun(int x=0,int y=0);都是类 B 的友元B)void Fun(int x,int y);(23)关于动态存储分配,下列说法正确的是C)void Fun(int x,int y=0);A)new 和 delete 是 C+语言中专门用于动态内存分配和D)void Fun(int x=0,int y);释放的函数(18)已知程序中已经定义了函数test,其原型是int test(int,B)动态分配的内存空间也可以被初始化int,int);,则下列重载形式中正确的是C)当系统内存不够时,会自动回收不再使用的内存单A)char test(int,int,int)
7、;元,因此程序中不必用 delete 释放内存空间B)double test(int,int,double);D)当动态分配内存失败时,系统会立刻崩溃,因此一定C)int test(int,int,int=0);要慎用 newD)float test(int,int,float=3.5F);(24)有以下程序(19)有以下程序#include#includeusing namespace std;int i=0;class MyClassvoid fun()public:static int i=1;MyClass(int n)number=n;std:couti+,;/拷贝构造函数MyCla
8、ss(MyClass&other)number=other.number;std:couti,;MyClass()private:int main()int number;fun();fun();MyClass fun(MyClass p)return 0;MyClass temp(p);程序执行后的输出结果是return temp;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);变量int main()v1、v2 的定义是:int v1;long v2;,正确的调用语句是A)f(v1,&
9、v2);B)f(v1,v2);MyClass obj1(10),obj2(0);C)f(&v1,v2);D)f(&v1,&v2);MyClass obj3(obj1);(21)有以下类定义obj2=fun(obj3);class MyClassreturn 0;public:程序执行时,MyClass 类的拷贝构造函数被调用的次数MyClass()cout1;是;A)5B)4C)3D)22/30全国计算机等级考试历年真题及答案-第2页全国计算机等级考试历年真题及答案-第2页(25)在公有派生的情况下,派生类中定义的成员函数只class Point 能访问原基类的public:A)公有成员和私有
10、成员B)私有成员和保护Point(int x=0,int y=0)_.x=x;_.y=y;成员void Move(int xOff,int yOff)C)公有成员和保护成员D)私有成员、保护成 _x+=xOff;_.y+=yOff;员和公有成员void Print()const(26)在 C+中用来实现运行时多态性的是 cout (_x ,_y )endl;A)重载函数B)析构函数private:C)构造函数D)虚函数int _x,_y;(27)一个类可以同时继承多个类,称为多继承。下列关;于多继承和虚基类的表述中,错误的是下列语句中会发生编译错误的是A)每个派生类的构造函数都要为虚基类构造函
11、数提A)Point pt;pt.Print();供实参B)const Point pt;pt.Print();B)多继承时有可能出现对基类成员访问的二义性问C)Point pt;pt.Move(l,2);题D)const Point pt;pt.Move(l,2);C)使用虚基类可以解决二义性问题并实现运行时的(34)有以下类定义多态性class MyClassD)建立最派生类对象时,虚基类的构造函数会首先被调用private:(28)在一个类体的下列声明中,正确的纯虚函数声明是int id;A)virtual void vf()=0;B)void vf(int)=0;char gender,
12、C)virtual int vf(int);D)virtual void vf(int)char*phone;(29)在下面的运算符重载函数的原型中,错误的是public:A)Volume operator-(double,double);MyClass():id(0),gender(#),phone(NULL)B)double Volume:operator-(double);MyClass(int no,char ge=#,char*ph=NULl.)C)Volume Volume:operator-(Volume);id=no;gende=ge;phone=ph;D)Volume ope
13、rator-(Volume,Volume);(30)下列是模板声明的开始部分,其中正确的是下列类对象定义语句中错误的是A)templateA)MyClass myObj;B)templateB)MyClass myObj(11,);C)templateC)MyClass myObj(12,m);D)templateD)MyClass myObj(12);(31)执行语句序列(35)有以下程序ofstream outfile(DATA.DAT);#include if(.)cout OK;else cout 是一个()double imag()const return im;A)用于输出操作的非
14、成员函数B)用于输入操作Complex operator+(Complex c)const的非成员函数 return Complex(re+c.re,im+c.im);C)用于输出操作的成员函数D)用于输入操作private:的成员函数double re,im;(33)有以下类定义;3/30全国计算机等级考试历年真题及答案-第3页全国计算机等级考试历年真题及答案-第3页int main()int main()Complex a=Complex(l,1)+Complex(5);int i=5;cout a.real()+a.imag()i endl;int&r=i;r=7;return 0;co
15、ut i endl;return 0;程序执行后的输出结果是A)6+6iB)6+1iC)1+6iD)1+1i(11)下列程序的输出结果是11。二、填空题(每空 2 分,共 30 分)#include 请将每一个空的正确答案写在答题卡 1-15序号using namespace std;的横线上,答在试卷上不得分。注意:以命令关键字填class Test 空的必须拼写完整。public:(1)算法的复杂度主要包括1复杂度和空间复杂度。Test()cnt+;(2)数据的逻辑结构在计算机存储空间中的存放形式称Test()cnt-;为数据的2。static int Count()return cnt;
16、(3)若按功能划分,软件测试的方法通常分为白盒测试方private:法和3测试方法。static int cnt;(4)如果一个工人可管理多个设备,而一个设备只被一个;工人管理,则实体“工人”与实体“设备”之间存在4int Test:cnt=0;的联系。int main()(5)关系数据库管理系统能实现的专门关系运算包括选择、连接和 5。cout Test:Count0 ;(6)设有定义语句:int a=12;,则表达式 a*=2+3 的运算Test tl,t2;结果是6。Test*pT3=new Test;(7)从实现的角度划分,C+所支持的两种多态性分别是Test*pT4=new Test
17、;7时的多态性和运行时的多态性。cout Test:Count0 ;(8)将个函数声明为一个类的友元函数必须使用关键delete pT4;字8。delete pT3;(9)请按下面注释的提示,将类 B 的构造函数定义补充完cout Test:Count()endl;整。return 0;class A(12)下面是用来计算 n 的阶乘的递归函数,请将该函数int a;的定义补充完整。(注:阶乘的定义是 n!=n*(n-1)*.*2*1)public:unsigned fact(unsigned n)A(int aa=0)a=aa;if(n=1)class B:public A return 1
18、;int b;return 12;A c;public:(13)下列程序的输出结果是13。/用 aa 初始化基类 A,用 aa+1 初始化类对象成员 c#include B(int aa):9 b=aa+2;using namespace std;template(10)下列程序的输出结果是10。T fun(T a,T b)return(a=b)?:b;#include int main()using namespace std;4/30全国计算机等级考试历年真题及答案-第4页全国计算机等级考试历年真题及答案-第4页cout fun(3,6),fun(3.14F,6.28F)name 等价的表
19、达式是(2)2 存储结构或物理结构或物理存储结构14。(15)下列程序的输出结果是15。#include using namespace std;class base public:int n;base(int x)n=x;virtual void set(int m)n=m;cout n ;class deriveA:public base public:deriveA(int x):base(x)void set(mt m)n+=m;cout n ;class deriveB:public base public:deriveB(int x):base(x)void set(int m)n
20、+=m;cout n aet(1);pbase=&d2;pbase-set(2);return 0;2004 年 9 月全国计算机等级考试二级笔试试卷公共基础知识及 C+语言程序设计答案及评分标准选择题(1)(35)每小题 2 分,共 70 分)(1)C(2)C(3)B(4)A(5)D(6)B(7)D(8)B(9)C(10)A(11)D(12)D(13)C(14)D(15)A(16)A(17)D(18)B(19)D(20)C(21)B(22)A(23)B(24)B(25)C(3)3 黑盒或黑箱(4)4一对多或1 对多或I:M或I:N(其中 M、N 大小写均可)(5)5 投影(6)6 60(7)
21、7 编译(8)8 friend(9)9 A(aa),c(aa+1)或c(aa+1),A(aa)(10)10 7(11)11 042(12)12n*fact(n-1)(13)13 3,3.14(14)14(*p).name(15)15 252010 年 3 月计算机等级考试二级C+笔试试题一、选择题(每小题 2 分,共 70 分)下列各题 A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是A)对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 nB)对长度为 n 的有序链表进行对分查找,最坏情况下需要的
22、比较次数为(n/2)C)对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n log2n)(2)算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误5/30全国计算机等级考试历年真题及答案-第5页全国计算机等级考试历年真题及答案
23、-第5页B)尽可能多地发现程序中的错误A)函数可以没有返回值C)发现并改正程序中的所有错误B)函数可以没有参数D)确定程序中错误的性质C)函数可以是一个类的成员(5)数据流程图(DFD 图)是D)函数不能被定义为模板A)软件概要设计的工具(12)若 MyClass 是一个类名,且有如下语句序列B)软件详细设计的工具MyClass c1,*c2;C)结构化方法的需求分析工具MyClass*c3=new MyClass;D)面向对象方法的需求分析工具MyClass&c4=c1;(6)软件生命周期可分为定义阶段,开发阶段和维护上面的语句序列所定义的类对象的个数是阶段。详细设计属于A)1A)定义阶段B
24、)2B)开发阶段C)3C)维护阶段D)4D)上述三个阶段(13)下列关于继承方式的描述中,错误的是(7)数据库管理系统中负责数据模式定义的语言是A)如果不显式地指定继承方式,缺省的继承方式是A)数据定义语言私有(private)B)数据管理语言B)采用公有继承方式时,基类中的公有成员在派生C)数据操纵语言类中仍然是公有成员D)数据控制语言C)采用保护继承方式时,基类中的保护成员在派生(8)在学生管理的关系数据库中,存取一个学生信息类中仍然是保护成员的数据单位是D)采用私有继承方式时,基类中的私有成员在派生A)文件类中仍然是私有成员B)数据库(14)将前缀运算符“-”重载为非成员函数,下列原型C
25、)字段中,能正确用于类中说明的是D)记录A)Decr&operator-(int);(9)数据库设计中,用 E-R 图来描述信息结构但不涉B)Decr operator-(Decr&,int);及信息在计算机中的表示,它属于数据库设计的C)friend Decr&operator-(Decr&);A)需求分析阶段D)frlend Decr operator-(Decr&,int);B)逻辑设计阶段(15)若 MyTemp是一个只有一个虚拟类型参数的类C)概念设计阶段模板,且有如下语句序列D)物理设计阶段MyTempp2;(10)有两个关系 R 和 T 如下:MyTempp32;编译系统在处理上
26、面的语句序列时,所生成的模板MyTemp的实例的个数是A)1B)2C)3D)0(16)在 C+中,cin 是个A)类则由关系 R 得到关系 T 的操作是B)对象A)选择C)模板B)投影D)函数C)交(17)在下列字符中,不允许作为C+标识符的是D)并A)b(11)下列关于函数的描述中,错误的是B)B6/30全国计算机等级考试历年真题及答案-第6页全国计算机等级考试历年真题及答案-第6页C)_;D)2在类 YY 中保护成员变量的个数是(18)下列叙述中,错误的是A)1A)false 是一个逻辑型常量B)2B)b是一个字符型常量C)3C)365 是一个 int 常量D)4D)3.1415926 是
27、一个 double 常量(24)下列关于运算符重载的描述中,错误的是(19)若 x 和 y 是程序中的两个整型变量,则下列 ifA)可以通过运算符重载在C+中创建新的运算符语句中正确的是B)赋值运算符只能重载为成员函数A)if(x=0)y=1;else y=2;C)运算符函数重载为类的成员函数时,第一操作数B)if(x=0)then y=1 else y=2;是该类对象C)if(x=0)y=1 else y=2;D)重载类型转换运算符时不需要声明返回类型D)if x=0 y=1;else y=2;(25)下列关于类模板的描述中,错误的是(20)要定义整型数组 x,使之包括初值为 O 的三个A)
28、类模板的成员函数都是模板函数元素,下列语句中错误的是B)可以为类模板参数设置默认值A)int x3=0,0,0;C)类模板描述了一组类B)int x=0;D)类模板中只允许有一个类型参数C)static int x3=0;(26)下列控制格式输入输出的操作符中,能够设置D)int x=0,0,0;浮点数精度的是(21)关于函数中的,下列表述中错误的是A)setprecisionA)中有可能包含关键字 intB)setwB)中有可能包含自定义标识符C)setfillC)中有可能包含字符*D)showpoint(27)下列程序段中包含 4 个函数,其中D)中可能包含具有隐含 this 指针的是(2
29、2)要定义一个引用变量 p,使之引用类 MyClassint fun1();的一个对象,正确的定义语句是class TestA)MyClass p=MyClass;public:B)MyClass p=new MyClass;int fun2();C)MyClass&p=new MyClass;friend int fun3();D)MyClass a,&p=a;static int fun4();(23)有如下两个类定义;class XXA)fun1private:B)fun2double x1;C)fun3protected:D)fun4double x2;(28)有如下程序public:
30、#includedouble x3;using namespace std;class Testclass YY:protected XXpublic:private:Test()double y1;Test(const Test&t)cout1;protected:;double y2;Test fun(Test&u)Test t=u;return t;public:int main()Test x,y;x=fun(y);return 0;double y3;运行这个程序的输出结果是7/30全国计算机等级考试历年真题及答案-第7页全国计算机等级考试历年真题及答案-第7页A)无输出int va
31、lB;B)1;C)11class Derived:public BaseD)111public:(29)有如下程序Derived(intx=0,int#includey=0):Base(x),valD(y)coutV ALD;using namespace std;Derived()coutVALD;class Aprivate:public:int valD;A(int i=0):r1(i);void print()coutER1-;int main()void print()const coutCR1*R1-;Derived obj12(2,3);void print(int x)cout
32、 PR1*R1*R1-;retuen 0;private:int r1;运行时的输出结果是;A)2332int main()B)2323A a1;C)3232const A a2(4);D)3223a1.print(2);(32)下面是类 Shape 的定义:a1.print();class Shapereturn 0;public:virtual void Draw()=0;运行时的输出结果是;A)P8-E4下列关于 Shape 类的描述中,正确的是B)P8-C16-A)类 Shape 是虚基类C)P0-E4-B)类 Shape 是抽象类D)P0-C16-C)类 Shape 中的 Draw
33、函数声明有误(30)下列代码声明了 3 个类D)语句“Shape s;”能够建立 Shape 的一个对象 sclass Person;(33)将运算符“+”重载为非成员函数,下列原型声明class Student:public Person;中,错误的是class Undergraduate:Student;A)MyClock operator+(MyClock,long);下列关于这些类之间关系的描述中,错误的是B)MyClock operator+(MyClock,MyClock);A)类 Person 是类 Undergraduate的基类C)MyClock operator+(long
34、,long);B)类 Undergraduate 从类 Student 公有继承D)MyClock operator+(long,MyClock);C)类 Student 是类 Person 的派生类(34)打开文件时可单独或组合使用下列文件打开模D)类 Undergraduate是类 Person 的派生类式ios_base:app ios_base:binary(31)有如下程序ios_base:in ios_base:out#include若要以二进制读方式打开一个文件,需使用的文件using namespace std;打开模式为Class BaseA)public:B)Base(in
35、t x=0):valB(x)coutV ALB;C)Base()coutVALB;D)private:(35)有如下程序:8/30全国计算机等级考试历年真题及答案-第8页全国计算机等级考试历年真题及答案-第8页#includeusing namespace std;Class Bpublic:B(int xx):x(xx)+cout;x+=10;virtual void show()constcoutCOUNT_XENDL;protected:static int count;private:int x;class D:public Bpublic:D(int xx,int yy):B(xx)
36、,y(yy)+count;y+=100;virtual void show()constcoutCOUNT_YENDL;private:int y;int B:count=0;int main()B*ptr=new D(10,20);ptr-show();delete ptr;return 0;运行时的输出结果是A)1_120B)2_120C)1_20D)2_20二、填空题(每空 2 分,共 30 分)请将每一个空的正确答案写在答题卡【l】【15】序号的横线上,答在试卷上不得分。(1)一 个 队 列 的 初 始 状 态 为 空。现 将 元 素A,B,C,D,E,F,5,4,3,2,1依次入队,
37、然后再依次退队,则元素退队的顺序为【1】。(2)设某循环队列的容量为 50,如果头指针front=45(指向队头元素的前一位置),尾指针 rear=10(指向队尾元素),则该循环队列中共有【2】个元素。(3)设二叉树如下:对该二叉树进行后序遍历的结果为【3】。(4)软件是【4】、数据和文档的集合。(5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号,【5】,成绩)。(6)若 x 和 y 是两个整形变量,在执行了语句序列x=5;y=6;y+=x-;后
38、,x+y 的值为【6】。(7)在执行语句序列int i=0;do i+;while(i*i10);时,do 后面的循环体语句i+被执行的次数为【7】。(8)有如下的函数定义:int Xfun(int*a,int n)int x=*a;for(int*pa=a+1;paif(*pax)x=*pa;return x;若执行了语句int x5=23,46,78,55,16;后,通过表达式 Xfun(x,5)调用该函数,则得到的返回值为【8】。(9)有如下的函数定义:int Xfun(int x)int y=x;int x=10;y+=x;return x+y;通过表达式 Xfun(5)调用该函数,则
39、得到的返回值为【9】。(10)假定 Xcs 是一个类,该类中一个成员函数的原型为“Xcs*abc();”,则在类外定义时对应的函数头为【10】。9/30全国计算机等级考试历年真题及答案-第9页全国计算机等级考试历年真题及答案-第9页(11)请将下面的类 Date 的定义补充完整,使得由语;句(14)下面的函数定义是某函数模板能够生成的函数Date FirstDay;实例定义的对象 FirstDay 的值为 2010 年 1 月 1 日。int square(int n)return n*n;class Datedouble square(double n)return n*n;public:由
40、此可知,该函数模板的定义是【15】。Date(【11】):year(y),month(m),day(d)private:int year,month,day;/依次表示年、月、日2007 年 4 月计算机等级考试 C+考试及答案;一、选择题(每小题 2 分,共 70 分)(12)请将下面的程序补充完整,使得程序输出“飘是下列各题 A)、B)、C)、D)四个选项中,只有一个选张娜的书”。项是正确的。请将正确选项涂写在答题卡相应位置上,#include答在试卷上不得分。using namespace std;(1)下列叙述中正确的是。class BookA)算法的效率只与问题的规模有关,而与数据的
41、存储结public:构无关.Book(char*str)strcpy(title,str);B)算法的时间复杂度是指执行算法所需要的计算工作【12】void PrintInfo()coutTITLEENDL;量protected:C)数据的逻辑结构与存储结构是一一对应的.char title50;D)算法的时间复杂度与空间复杂度一定相关.;(2)在结构化程序设计中,模块划分的原则是。class MyBook:public BookA)各模块应包括尽量多的功能public:B)各模块的规模应尽量大MyBook(char*s1,char*s2=张娜):C)各模块之间的联系应尽量紧密【13】strc
42、py(owner,s2);D)模块内具有高内聚度,模块间具有低耦合度virtualvoidPrintInfo()coutTITLE 是(3)下列叙述中正确的是。OWNER的书ENDL;A)软件测试的主要目的是发现程序中的错误.private:B)软件测试的主要目的是确定程序中错误的位置.char owner10;C)为了提高软件测试的效率,最好由程序编制者自己来;完成软件测试的工作int main()D)软件测试是证明软件没有错误Book*prt=new MyBook(飘);(4)下面选项中不属于面向对象程序设计特征的是。prt-PrintInfo();A)继承性 B)多态性 C)类比性 D)
43、封装性return 0;(5)下列对列的叙述正确的是。A)队列属于非线性表(13)在有理数类 Rational 中重载插入运算符,以B)队列按”先进后出”的原则组织数据便按 a/q 形式输出。请将运算符函数的定义补充完整。C)队列在队尾删除数据class RationalD)队列按“先进先出”原则组织数据public:(6)对下列二叉树Rational(int aa,int qq):a(aa),q(qq)A)DYBEAFCZX B)YDEBFZXCA C)ABDYECFXZ D)friend【14】operator(ostream&out,Rational&x)ABCDEFXYZ(7)某二叉树
44、中有 n 个度为 2 的结点则该二叉树中的return(outX.A p?x.q);叶子结点数为A)n+1 B)n-1 C)2n D)n/2private:(8)在下列关系运算中,不改变关系表中的属性个数但int a,q;能减少元组个数的是。10/30全国计算机等级考试历年真题及答案-第10页全国计算机等级考试历年真题及答案-第10页A)井 B)交 C)投影 D)笛卡儿乘积int*p=i;/(9)在 E-R 图中,用来表示实体之间是联系的图形是。*p=r;/A)矩形 B)椭圆形 C)菱形 D)平行四边形基中会产生编译错误的语句是(10)下列叙述中错误的是。A)B)C)D)A)在数据库系统中,数
45、据的物理结构必须与逻辑结构(21)有如下函数定义:一致.void func(int a,intb)a+;b+;B)数据库技术的根本目标是要解决数据的共享问题若执行代码段:C)数据库设计是指在已有数据库管理系统的基础上建intx=0,y=1立数据库func(x,y);D)数据库系统需要操作系统的支持则变量 x 和 y 值分别是(11)为了取代 C 中带参数的宏,在 C+中使用A)0 和 1 B)1 和 1 C)0 和 2 D)1 和 2A)重载函数 B)内联函数 C)递归函数 D)友元函数(22)有如下程序:(12)下列关于类定义的说法中,正确的是#includeA)类定义中包括数据成员和函数成
46、员的声明using namespace std;B)类成员的缺省访问权限是保护的class AC)数据成员必须被声明为私有的publicD)成员函数只能在类体外进行定义static int a;(13)下列关于派生类构造函数和析构函数的说法中,void init()a=1;错误的是A(int a=2)init();a+;A)派生类的构造函数会隐含调用基类的构造函数;B)如果基类中没有缺省构造函数,那么派生类必须定int A:;a=0义构造函数A obj;C)在建立派生类对象时,先调用基类的构造函数,再Int main()调用派生类的构造函数D)在销毁派生类对象时,先调用基类的析构函数,再cou
47、tobj.a;调用派生类的析构函数retum0;(14)通过运算符重载,可以改变运算符原有的A)操作数类型 B)操作数个数 C)优先级 D)结合性运行时输出的结果是(15)有如下函数模板:A)0 B)1 C)2 D)3template T souare(T x)(retumx*x;)(23)下列有关继承和派生的叙述中,正确的是基中 T 是A)派生类不能访问基类的保护成员A)函数形参 B)函数实参 C)模板形参 D)模板实参B)作为虚基类的类不能被实例化(16)使用输入输出操作符setw,可以控制C)派生类应当向基类的构造函数传递参数A)输出精度 B)输出宽度 C)对齐方式 D)填充字符D)虚函
48、数必须在派生类中重新实现(17)下列字符串中,不可以用作C+标识符的是(24)下列运算符中,不能被重载的是A)y_2006 B)_TEST_H C)Retum D)switchA)B)!=C).D)+(18)字面常量 42、4.2、42L 的数据类型分别是(25)下列函数模板的定义中,合法的是A)long、double int B)long、float、intA)template Tabs(T x)return x 0 x:C)int、double、long D)int、float、longx;(19)执行下列语句段后,输出字符“*”的个数是B)template class Tabs(Tx)r
49、etumx1;i)cout”*”C)template Tabs(T x)retum x0-x;x;A)48 B)49 C)50 D)51D)template T abs(T x)returm xdata;中,cin 是inti=0,j=1;A)C+的关键字 B)类名intr=i;/C)对象名 D)函数名r=j;/(27)有如下程序:11/30全国计算机等级考试历年真题及答案-第11页全国计算机等级考试历年真题及答案-第11页#includevoid main()using namespace std;point*ptr;class test printA,B;private:int a;poi
50、nt*ptr_point=new point3;public:ptr=ptr_point;test()cout”constructor”endl;test(int a)coutaendl;test(const test_test)a=_testa;cout”copy constructor”endl;test()cout”destructor”endl;int main()test A(3)return0;运行时输出的结果是A)3B)constructordestruclorC)copy constructorD)3dstructor destruclor(28)若有如下类声明class My