【计算机类职业资格】二级C++笔试-76及答案解析.doc
《【计算机类职业资格】二级C++笔试-76及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-76及答案解析.doc(28页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-76 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.有下列二又树,对此二叉树前序遍历的结果是( )。(分数:2.00)A.B.C.D.2.有以下类定义class MyClassprivate:int id;char gender;char *phone;public:MyClass():id(0),gender(#),phone(NULL)MyClass(int no,char ge=#,char *ph=NULL)id=no;gender=ge;phone=ph;下列类对象定义语句中错误的是( )。(分数:2.00)A.
2、MyClass myObj;B.MyClass myObj(11,“13301111155“);C.MyClass myObj(12,m);D.MyClass myObj(12);3.数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是( )。(分数:2.00)A.DB 包括 DBS 和 DBMSB.DBMS 包括 DB 和 DBSC.DBS 包括 DB 和 DBMSD.没有任何关系4.如果表达式-x/y 中的“-”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为( )。(分数:2.00)A.operator/(x.operator-(),y)
3、;B.operator/(operator-(x),y);C.operator-().operator/(y);D.operator/(operator-(x);5.下列程序的输出结果为( )。#includeiostream.hclass TestClasspublic:TestClass()val+;static,int val;int TestClass:val=0;void main()TestClass cs1;coutcs1.val“;TestClass cs2;TestClass cs3,cs4;coutcs2.valendl;(分数:2.00)_6.有如下程序:#include
4、iostreamusing namespace std;class AAint n;public:AA(int k):n(k)int get()return n;int get()constreturn n+1;int main()AA a(5);const AA b(6);couta.get()b.get();return 0;执行后的输出结果是( )。(分数:2.00)A.55B.57C.75D.777.有如下程序:#includeiostreamusing namespace std;class MyClasspublic:MyClass(int x):val(x)void Print(
5、)constcout“const:val=val/t;void Print()cout“val=“valt;private:int val;int main()const MyClass obj1(10);MyClass obj2(20);obj1.Print();obj2.Print();return 0;程序的输出结果是( )。(分数:2.00)A.val=10 const:val=20B.const:val=10 const:val=20C.const:val=10 val=20D.val=10 val=208.下列运算符中不能在 C+中重载的是( )。(分数:2.00)A.?:B.+C
6、.-D.=9.下列叙述中正确的是( )。(分数:2.00)A.一个算法的空间复杂度大,则其时间复杂度必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对10.如果类 A 被说明成类 B 的友元,则( )。(分数:2.00)A.类 A 的成员即类 B 的成员B.类 B 的成员即类 A 的成员C.类 A 的成员函数不得访问类 B 的成员D.类 B 不一定是类 A 的友元11.下列选项中不属于软件生命周期开发阶段任务的是( )。(分数:2.00)A.软件测试B.概要设计C.软件维护D.详细设计12.最简单的交换排序方法是( )。
7、(分数:2.00)A.快速排序B.选择排序C.堆排序D.冒泡排序13.下列各类函数中,不是类的成员函数的是( )。(分数:2.00)A.构造函数B.抽象类C.派生类D.以上都不对14.下列关于构造函数和析构函数的描述,错误的是( )。(分数:2.00)A.析构函数中调用虚函数采用静态联编B.对虚析构函数的调用可以采用动态联编C.当基类的析构函数是虚函数时,其派生类的析构函数也一定是虚函数D.构造函数可以声明为虚函数15.考虑函数原型 void test(int a,int b=7,char z=*),下面的函数调用中,属于不合法调用的是( )。(分数:2.00)A.test(5);B.test
8、(5,8);C.test(6,#);D.test(0,0,*);16.使用 ifstream 流类定义流对象并打开磁盘文件时,文件的隐含打开方式为( )。(分数:2.00)A.ios:inB.ios:outC.ios:inlios:outD.没有默认17.若有如下程序:#includeiostrearmusing namespace std;class TestClass1private:int a;public:TestClass1(int i)a=i;void disp()couta“,“;class TestClass2private:int b;public:TestClass2(in
9、t j)b=j;void disp()coutb“,“;class TestClass3:public TestClass2,public TestClass1private:int c;public:TestClass3(int k):TestClass1(k-2),TestClass2(k+2)c=k;void disp()TestClasss1:disp();TestClasss2:disp();coutcendl;int main()TestClass3 obj(10);obj.disp();return 0;程序执行后的输出结果是( )。(分数:2.00)A.10,10,10B.10
10、,12,14C.8,10,12D.8,12,1018.关于结构化程序设计原则和方法的描述错误的是( )。(分数:2.00)A.选用的结构只允许有一个入口和一个出口B.复杂结构应该用嵌套的基本控制结构进行组合嵌套来实现C.不允许使用 GOTO 语句D.语言中所没有的控制结构,应该采用前后一致的方法来模拟19.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据20.下列叙述中正确的是( )。(分数:2.00)A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计
11、中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述三种说法都不对21.可以用 p.a 的形式访问派生类对象 p 的基类成员 a,其中 a 是( )。(分数:2.00)A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员22.若有如下程序:#includeiostreamusing namespace std;class TestClasspublic:void who()cout“TestClass“andl;class TestClass1:public TestClasspublic:void who()cout
12、“TestClass1“endl;int main()TestClass *p;TestClass1 obj1;p=obj1;p-who();return 0;则该程序运行后的输出结果是( )。(分数:2.00)A.TestClass1B.TestClassC.0D.无输出23.在 C+语言中函数返回值的类型是由( )决定的。(分数:2.00)A.调用该函数时系统临时B.return 语句中的表达式类型C.定义该函数时所指定的函数类型D.调用该函数时的主调函数类型24.设有定义 char str80;以下不能将输入数据 first/nsecond/nCR读取到数组 str 中的语句是( )。(
13、分数:2.00)A.cin.get(str,strlen(str);B.cin.getline(str,strlen(str);C.cinstr;D.cin.read(str,strlen(str);25.下面关于 break 语句的描述中,不正确的是( )。(分数:2.00)A.break 可以用于循环体内B.break 语句可以在 for 循环语句中出现多次C.break 语句可以在 switch 语句中出现多次D.break 语句可用于 if 条件判断语句内26.有如下程序:#includeiostreamusing namespace std;class DAint k;public:
14、DA(int x=1):k(x)DA()coutk;int main()DA d=DA(3),DA(3),DA(3);DA *p=new DA2;delete p;return();这个程序的输出结果是( )。(分数:2.00)A.111B.333C.11333D.1113327.下列描述正确的是( )。(分数:2.00)A.表示 mn 为 true 或 mn 为 true 的表达式为 mnmnB.switch 语句结构中必须有 default 语句C.if 语句结构中必须有 else 语句D.如果至少有一个操作数为 true,则包含|运算符的表达式为 true28.有如下程序:#includ
15、eiostream.husing namespace std;class Demopublic:Demo() cout“default constructor/n“;Demo(const Demo x)cont“copy constructor/n“;Demo userCode(Demo b)Demo c(b);return c;int main()Demo a;d;eout“calling userCode()/n“;d=userCode(a);return 0;执行上面程序的过程中,构造函数 Demo()和 Demo(const Demo x)被调用的次数分别是( )。(分数:2.00)A
16、.1 和 1B.1 和 2C.2 和 3D.2 和 429.类 MyClass 的定义如下:class MyClasspublic:MyClass()value=0;SetVariable(int i)value=i;private:int value;则对下列语句序列正确的描述是( )。MyClass *p,my;p=my;(分数:2.00)A.语句 p=my;是把对象 my 赋值给指针变量 pB.语句 MyClass *p,my;会调用两次类 MyClass 的构造函数C.对语句*p.SetVariable(5)的调用是正确的D.语句 p-SetVariable(5)与语句 my.SetV
17、ariable(5)等价30.将 E-R 图转换到关系模式时,实体与实体间的联系可以表示成( )。(分数:2.00)A.属性B.关系C.键D.域31.下列是关于派生类声明的开始部分,其中正确的是( )。(分数:2.00)A.class virtual B:public AB.virtual class B:public AC.class B:public A virtualD.class B:virtual public A32.已知类 A 有公用数据成员 a,并重载了一运算符,且有 A obj2;const A *ptr=new A;,则下列语句错误的是( )。(分数:2.00)A.Dtr-
18、a=100;B.ptr=obj2;C.ptr+;D.obj2=*ptr;33.下面程序的运行结果为( )。#includeiostream.hclass Aint num;public:A(int i)num=i;A(A a)num=a.num+;void print()coutnum;void main()A a(1),b(a);a.print();b.print();(分数:2.00)A.11B.12C.21D.2234.在下列程序的横线处填上适当的内容,使程序执行后的输出结果为 ABCD。#includediostreamusing namespace std;class Apublic
19、:A()coutA;class B:_public:B()coutB;class C:virtual public Apublic:C()coutC;class D:public B,public Dpublic:D()coutD;void main()D obj;(分数:2.00)A.public AB.private AC.protected AD.virtual public A35.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,这样的集合运算称为( )。(分数:2.00)A.并运算B.交运算C.差运算D.积运算二、填空题(总题数:15,分数:
20、30.00)36.软件工程研究的内容主要包括: 1 技术和软件工程管理。(分数:2.00)填空项 1:_37.在算法的四个特性中,算法必须能在执行有限个步骤之后终止是指的算法的 1 特性。(分数:2.00)填空项 1:_38.注释一般分为序言性注释和 1 注释。(分数:2.00)填空项 1:_39.在链表的运算过程中,能够使空表与非空表的运算统一的结构是 1。(分数:2.00)填空项 1:_40.数据库系统的主要特点为数据集成性、数据的高 1 和低冗余性、数据独立性和数据统一管理和控制。(分数:2.00)填空项 1:_41.执行“coutchar(A+2)endl;语句后得到的输出结果为 1。
21、(分数:2.00)填空项 1:_42. 1 允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。(分数:2.00)填空项 1:_43.通过使用 new 和 delete 两个运算符进行的分配为 1 存储分配。(分数:2.00)填空项 1:_44.假定用户没有给一个名为 MyClass 的类定义析构函数,则系统为其定义的默认析构函数首部形式为 1。(分数:2.00)填空项 1:_45.参照函数模板的写法,完成非模板函数的定义,语句为_。#includeiostream.h#includestring.htemplateclass TT min(T a,T b)re
22、turn(ab ?a:b);char*min(char *a,char *b)void main()double a=1.23,b=3.45;char s1=“abcd“,s2=“efg“;eoutmin(a,b)min(s1,s2)endl;(分数:2.00)填空项 1:_46.下列程序的运行结果是_。#includediostream.hclass Sampleint a;public:Sample(int aa=0)a=aa;Sample()cout“Sample=“a;class Derived:public Sampleint b;public:Derived(int aa=0,in
23、t bb=0):Sample(aa)b=bb;Derived()cout“Derived=“b;void main()Derived d1(9);(分数:2.00)填空项 1:_47.下列程序的输出结果是_。#includeiostreamusing namespace std;void fun(int rf)rf *2;int main()int num=500;fun(num);toutnumendl;return 0;(分数:2.00)填空项 1:_48.以下函数模板 main()的功能是:返回数组 a 中最大元素韵值。请将横线处缺失部分补充完整。templatetypename TT
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 76 答案 解析 DOC