【计算机类职业资格】二级C++笔试-33及答案解析.doc
《【计算机类职业资格】二级C++笔试-33及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-33及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-33 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.假定 MyClass 为一个类,那么下列的函数说明中,( )为该类的析构函数。(分数:2.00)A.voidMyClass();B.MyClass(int n);C.MyClass();D.MyClass();2.下列程序的执行结果是( )。#includeiostream.h#includestdlib.hClass TestClasspublic:int x,y;TestClass()x=y=0;TestClass(int a,int b)x=a;y=b;void d
2、isp()cout“x=“x“,y=“yend1;void main()TestClass s1(2,3);s1.disp();(分数:2.00)A.x=2,y=2B.x=3,y=3C.x=2,y=3D.x=3,y=23.有如下语句序列:int k=0;dok+=5;cout; while(k19);while(k-0)cout*;执行上面的语句序列输出字符“”和“*”的个数分别是( )。(分数:2.00)A.4 和 20B.5 和 20C.4 和 21D.5 和 214.关系数据库管理系统能实现的专门关系运算包括( )。(分数:2.00)A.排序、索引、统计B.选择、投影、连接C.关联、更新
3、、排序D.显示、打印、制表5.有如下程序:#includeiostreamusing namespace std;class Testpublic:Test() n+=2;Test() n-=3;static int getNum()return n;private:static int n;;int Test:n=1;int main()Test*p=new Test;delete p;cout“n=“Test:getNum()endl;return 0;执行后的输出结果是( )。(分数:2.00)_6.下列对重载函数的描述中,错误的是( )。(分数:2.00)A.重载函数中不允许使用默认参
4、数B.重载函数中编译是根据参数表进行选择的C.不要使用重载函数来描述毫不相干的函数D.构造函数重载将会给初始化带来多种方式7.数据库技术的根本目标是要解决数据的( )。(分数:2.00)A.存储问题B.共享问题C.安全问题D.保护问题8.若有以下变量定义和函数调用语句:int a=5;fun(但定义有错误,对这个错误最准确的描述是( )。(分数:2.00)A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的B.两个 int 型参数的和也应该是 int 型,而这里将+的返回类型声明为 doubleC.没有将运算符重载函数声明为某个类的友元D.C+已经提供了求两个 int 型数据之和的运算
5、符+,不能再定义同样的运算符18.关于运算符重载,下列表述中正确的是( )。(分数:2.00)A.C+已有的任何运算符都可以重载B.运算符函数的返回类型不能声明为基本数据类型C.在类型转换符函数的定义中不需要声明返回类型D.可以通过运算符重载来创建 C+中原来没有的运算符19.下列关于 getline()函数的描述中,错误的是( )。(分数:2.00)A.该函数可以用来从键盘上读取字符串B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符时便停止D.该函数中所使用的终止符只能是换行符20.下列说法中错误的是( )。(分数:2.00)A.公有继承时基类中的 public 成员在
6、派生类中仍是 public 成员B.私有继承时基类中的 protected 成员在派生类中仍是 protected 成员C.私有继承时基类中的 public 成员在派生类中仍是 private 成员D.保护继承时基类中的 public 成员在派生类中仍是 protected 成员21.( )是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。(分数:2.00)A.模板B.类C.对象D.函数22.有下列的程序:#includecstring.h#includeiostream.husing namespace std;class MyStringpublic:MyStri
7、ng(const char*s);MyString()deletedata;protected:unsigned len;char*data;MyString:MyString(const char*s)len=strlen(s);data=new charlen+1);strcpy(data,s);int main()MyString a(“C+Programing“);MyString b((分数:2.00)A.;return 0;在运行上面的程23.下列选项中合法的用户标识符是( )。(分数:2.00)A.10ngB._2TestC.3DmaxD.dat24.将 E-R 图转换到关系模式
8、时,实体与实体间的联系可以表示成( )。(分数:2.00)A.属性B.关系C.键D.域25.程序中有如下语句 for(int i=0;i5;i+)cout*(p+i)“,“;能够依次输出 int 型一维数组 a的前 5 个元素。由此可知,变量 P 的定义及初始化语句是( )。(分数:2.00)A.int *p=a;B.int p=a;C.*p=a;D.p=a;26.有下列二叉树,对此二叉树前序遍历的结果为( )。(分数:2.00)A.B.C.D.27.下列不属于软件工程 3 个要素的是( )。(分数:2.00)A.工具B.过程C.方法D.环境28.设计数据库的存储结构属于( )。(分数:2.0
9、0)A.需求分析B.概念设计C.逻辑设计D.物理设计29.下列关于 C+函数的说明中,正确的是( )。(分数:2.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式30.若有以下定义和语句:int s45,(*p)5;p=s;则指针对 s 数组中第三个元素的正确引用形式是( )。(分数:2.00)A.p03B.p12C.p02D.p1331.下列函数中,对调用它的函数没有起到任何作用的是( )。(分数:2.00)A.void f
10、1(double B.double f2(double x)return x-1.5;C.void f3(double x)-x;D.double f4(double *x)-*x;return*x;32.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间33.有如下程序:#includeiostream.husing namespace std;class Demopublic:Demo() cout“default constructor/n“;Demo(const Demo ;Demo us
11、erCode (Demo b)Demo c(b);return c;int main()Demo a,d;cout“calling userCode()/n“;d=userCode((分数:2.00)A.;double image()constreturn im;Complexin;i+)if(aim)_;return m;(分数:2.00)填空项 1:_43.重载的关系运算符和逻辑运算符的返回类型应当是 1。(分数:2.00)填空项 1:_44.如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是_。#includ
12、eiostreamusing namespace std;class Basepublic:void print()coutB;;class Derived:public Basepublic:void print()coutD;int main()Derived* pd=new Derived();Base* pb=pd;pb-print();pd-print();delete pd;return 0;(分数:2.00)填空项 1:_45.对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用 1 的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。(分
13、数:2.00)填空项 1:_46.动态多态性通过 1 实现。(分数:2.00)填空项 1:_47.执行下列程序的输出结果是_:#includeiostreamusing namespace std;class TestClass1public:void fun1()cout“TestClass1/n“;virtual void fun2()cout“TestClass1/n“;;class TestClass2:public TestClass1public:void fun1()cout“TestClass2/n“;void fun2()cout“TestClass2/n“;;void f(
14、TestClass1b.fun2();int main()TestClass2 obj;f(obj);return 0;(分数:2.00)_48.定义一个函数名为 fun,返回值为 int,没有参数的纯虚函数的定义是 1。(分数:2.00)填空项 1:_49.重新定义标识符的作用域规定是外层变量被隐藏, 1 变量是可见的。(分数:2.00)填空项 1:_50.如果表达式 x=y*z 中的“*”是作为成员函数重的运算符,采用运算符函数调用格式,该表达式还可以表示为 1。(分数:2.00)填空项 1:_二级 C+笔试-33 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:3
15、5,分数:70.00)1.假定 MyClass 为一个类,那么下列的函数说明中,( )为该类的析构函数。(分数:2.00)A.voidMyClass();B.MyClass(int n);C.MyClass();D.MyClass(); 解析:解析 c+语言中析构函数为符号“”加类名,且析构函数没有返回值和参数,故前不加 void关键字。所以正确的形式应该是MyClass()。2.下列程序的执行结果是( )。#includeiostream.h#includestdlib.hClass TestClasspublic:int x,y;TestClass()x=y=0;TestClass(int
16、 a,int b)x=a;y=b;void disp()cout“x=“x“,y=“yend1;void main()TestClass s1(2,3);s1.disp();(分数:2.00)A.x=2,y=2B.x=3,y=3C.x=2,y=3 D.x=3,y=2解析:解析 由主函数入手,定义了类 TestClass 的对象 s1(2,3),当类对象进入其作用域时调用构造函数,构造函数应该是调用具有参数的“TestClass(int a,int b)x=a;y=b;)”。然后引用成员函数disp(),则输出为“cout”x=“x”,y=“yendl;”。3.有如下语句序列:int k=0;d
17、ok+=5;cout; while(k19);while(k-0)cout*;执行上面的语句序列输出字符“”和“*”的个数分别是( )。(分数:2.00)A.4 和 20 B.5 和 20C.4 和 21D.5 和 21解析:解析 此题考查的是 do.while 语句和 while 语句的使用。题目中 do.while 语句循环了 4 次,while 语句循环了 20 次,故最后输出字符“”4 个,字符“*”20 个。4.关系数据库管理系统能实现的专门关系运算包括( )。(分数:2.00)A.排序、索引、统计B.选择、投影、连接 C.关联、更新、排序D.显示、打印、制表解析:解析 关系数据库管
18、理系统的专门关系运算包括选择运算、投影运算和连接运算。5.有如下程序:#includeiostreamusing namespace std;class Testpublic:Test() n+=2;Test() n-=3;static int getNum()return n;private:static int n;;int Test:n=1;int main()Test*p=new Test;delete p;cout“n=“Test:getNum()endl;return 0;执行后的输出结果是( )。(分数:2.00)_解析:解析 语句 Test*p=new Test;会调用类的构造
19、函数 Test() n+=2;,使 n 的值由原来的 1 变为3,然后 delete p 调用类的析构函数Test() n-=3;6.下列对重载函数的描述中,错误的是( )。(分数:2.00)A.重载函数中不允许使用默认参数 B.重载函数中编译是根据参数表进行选择的C.不要使用重载函数来描述毫不相干的函数D.构造函数重载将会给初始化带来多种方式解析:解析 选项 A)中,重载函数中是允许使用默认参数的;为了使重载函数有意义,不要使用重载函数来描述毫不相干的函数;重载函数中编译是根据参数表进行选择的,包括参数的个数和类型。7.数据库技术的根本目标是要解决数据的( )。(分数:2.00)A.存储问题
20、B.共享问题 C.安全问题D.保护问题解析:解析 在数据库系统中,需要对数据进行集中、统一的管理,以达到被多个应用程序共享的目标。8.若有以下变量定义和函数调用语句:int a=5;fun(但定义有错误,对这个错误最准确的描述是( )。(分数:2.00)A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的B.两个 int 型参数的和也应该是 int 型,而这里将+的返回类型声明为 doubleC.没有将运算符重载函数声明为某个类的友元D.C+已经提供了求两个 int 型数据之和的运算符+,不能再定义同样的运算符 解析:解析 此题考查的是运算符的重载。c+语言规定,不能作为非成员函数重载
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 33 答案 解析 DOC
