【计算机类职业资格】二级C++笔试-343及答案解析.doc
《【计算机类职业资格】二级C++笔试-343及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-343及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-343 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.设计数据库的存储结构属于( )。(分数:2.00)A.需求分析B.概念设计C.逻辑设计D.物理设计2.下列描述中正确的是( )。(分数:2.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据和相关文档的集合3.若有如下变量定义和函数调用语句: inta=5; fun( 则执行下面函数后正确的输出结果是( )。 void fun(int*x) cout+*xendl; (分数:2.00)A.3B.4C.5D.
2、64.关系数据库管理系统能实现的专门关系运算包括( )。(分数:2.00)A.排序、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表5.有下列语句序列: int k=0; dok+=5;cout$; while(k19); while(k-0)cout*; 执行上面的语句序列输出字符“$”和“*”的个数分别是( )。(分数:2.00)A.4 和 20B.5 和 20C.4 和 21D.5 和 216.数据库技术的根本目标是要解决数据的( )。(分数:2.00)A.存储问题B.共享问题C.安全问题D.保护问题7.有如下的运算符重载函数定义: double operator+
3、(inti,intk)return double(i+k); 但定义有错误,对这个错误最准确的描述是( )。(分数:2.00)A.+只能作为成员函数重载,而这里的+是作为非成员函数重载的B.两个 int 型参数的和也应该是 int 型,而这里将+的返回类型声明为 doubleC.没有将运算符重载函数声明为某个类的友元D.C+已经提供了求两个 int 型数据之和的运算符+,不能再定义同样的运算符8.关于运算符重载的表述中正确的是( )。(分数:2.00)A.C+已有的任何运算符都可以重载B.运算符函数的返回类型不能声明为基本数据类型C.在类型转换符函数的定义中不需要声明返回类型D.可以通过运算符
4、重载来创建 C+中原来没有的运算符9.将 E-R 图转换到关系模式时,实体与实体间的联系可以表示成( )。(分数:2.00)A.属性B.关系C.键D.域10.下列关于重载函数的描述中,( )是错误的。(分数:2.00)A.重载函数中不允许使用默认参数B.重载函数中编译是根据参数表进行选择C.不要使用重载函数来描述毫不相干的函数D.构造函数重载将会给初始化带来多种方式11.下列程序的输出结果是( )。 #includeiostream using namespace std; int main() char a=“Hello,Test“; char*p=a; while(*p) if(*p=a
5、else cout*p; p+; retum 0; (分数:2.00)A.hllo,testB.Hello,TestC.HELLO,TESTD.hELLO,tEST12.假定 MyCIass 为一个类,那么下列的函数说明中,( )为该类的析构函数。(分数:2.00)A.voidMyClass();B.MyClass(int ;C.MyClass();D.MyClass();13.已知在函数 func()中语句 this-ff=0;与语句 fi=O;的效果完全相同。对于这一现象,下列表述中错误的是( )。(分数:2.00)A.ff 是某个类的数据成员,func()是该类的友元函数B.ff 是某个
6、类的数据成员,func()是该类的成员函数C.this-ff 和 ff 是同一个变量D.func 不是一个静态成员函数14.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据15.下列关于 getline()函数的描述中,错误的是( )。(分数:2.00)A.该函数可以用宋从键盘上读取字符串B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符时便停止D.该函数中所使用的终止符只能是换行符16.下列函数中对调用它的函数没有起到任何作用的是( )。(分数:2.00)A
7、.void f1(double B.double f2(double return x-1.5;C.void f3(double -x;D.double f4(double*-*x;return*x;17.关于拷贝初始化构造函数,正确的是( )。(分数:2.00)A.在 C+语言中,如果不自定义类的拷贝初始化构造函数,则每个类都有默认的拷贝初始化构造函数B.必须为每个类定义拷贝初始化构造函数C.如果要使用拷贝初始化构造函数,则必须在类中先定义D.当定义了类的构造函数时,如果要使用拷贝初始化构造函数,则必须定义拷贝初始化构造函数18.下列程序的执行结果是( )。 #includeiostream
8、.h #includestdlib.h class TestClass public: intx,y; TestClass()x=y=0; TestClass(int a,int b)x=a;y=b; void disp() cout“X“=“X“,y=“yendl; ; void main() TestClass sl(2,3); s1.disp(); (分数:2.00)A.x=2,y=2B.x=3,y=3C.x=2,y=3D.x=3,y=219.下列选项中合法的用户标识符是( )。(分数:2.00)A.10ngB.2TestC.3DmaxD.dat20.程序中有如下语句 for(int i
9、=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;21.下列关于 C+函数的说明中,正确的是( )。(分数:2.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式22.算法的空间复杂度是指( )。(分数:2.00)A.算法程序的长度B.算法程序中的指
10、令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间23.下列有关重载函数的描述中,正确的是( )。(分数:2.00)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须具有不同的形参列表D.重载函数名可以不同24.有下列的程序: #includecstring.h #includeiostream.h using namespace std; class MyString public: MyString(const char*s); MyString()deletedata; protected: unsigned len; char*data;
11、; MyStringMyString(const char*s) len=strlen(S); data=new char1en+1); strcpy(data,s); int main() MyString a(“C+Programing“); MyString b(A) ; return 0; 在运行上面的程序时出错,出错的原因是( )。(分数:2.00)A.构造函数的实参不允许是本类的对象B.没有定义实现深层复制(深拷贝)的复制构造函数C.构造对象 a 时实参与形参类型不符D.系统不能生成默认的复制构造函数25.有下列二叉树,对此二叉树前序遍历的结果为( )。 (分数:2.00)A.AC
12、FHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI26.两个或两个以上模块之间联系的紧密程度称为( )。(分数:2.00)A.耦合性B.内聚性C.复杂性D.数据传输特性27.下列不属于软件工程 3 个要素的是( )。(分数:2.00)A.工具B.过程C.方法D.环境28.假定 MyClass 为一个类,则执行 MyClass a b(2),*p;语句时,自动调用该类构造函数( )次。(分数:2.00)A.2B.3C.4D.529.关于下列程序段的描述中,正确的是( )。 #includeiostream.h int fun(int,int); void main(
13、) coutfun(1,2)endl; int fun(int x,int y) return X+y; (分数:2.00)A.该函数定义正确,但函数调用方式错误B.该函数调用方式正确,但函数定义错误C.该函数定义和调用方式都正确D.该函数定义和调用方式都错误30.有下列程序: #includeiostream using namespace std; classTest public: Test() n2; Test() n-3; static int getNum()return n; private: static int n; ; int Test:n1; int main() Tes
14、t*pnew Test; delete p; cout“n“Test:getNum()endl; retum 0; 执行后的输出结果是( )。(分数:2.00)A.n=0B.n=lC.n=2D.n=331.是以一种完全通用的方法来设计函数或类而不必预先说明将被使用的每个对象的类型。(分数:2.00)A.模板B.类C.对象D.函数32.有下列程序: #includeiostream.h using namespace std; class Demo public: Demo() cout“default constmctor/n“; Demo(const Demo ; Demo userCode
15、(Demo b)Demo c(b);return c; int main() Demo a,d; cout“calling userCode()/n“; d=userCode(A) ; return 0; 执行上面程序的过程中,构造函数 Demo()和 Demo(const Demo p=S; 则指针对 s 数组中第三个元素的正确引用形式是( )。(分数:2.00)A.p03B.p12C.p02D.p1334.下列说法中错误的是( )。(分数:2.00)A.公有继承时基类中的 public 成员在派生类中仍是 public 成员B.私有继承时基类中的 protected 成员在派生类中仍是 p
16、rotected 成员C.私有继承时基类中的 public 成员在派生类中仍是 private 成员D.保护继承时基类中的 public 成员在派生类中仍是 protected 成员35.有下列程序: #includeiostream using namespace std; class Complex double re,im; public: Complex(double r,double i):re(r),im(i) double real()constretum re; double image()constreturn im; Complex im+=a.im; return*thi
17、s; ; ostream int main() Complex x(1,2),y(2,3); cout(x+=y)endl; return 0; 执行这个程序的输出结果是( )。(分数:2.00)A.(1,-2)B.(2,3)C.(3,5)D.(3,1)二、B填空题/B(总题数:15,分数:30.00)36.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。(分数:2.00)填空项 1:_37.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一 端称作 1。(分数:2.00)填空项 1:_38.在一个容量为 32 的循环队列中,若头指针 front=3,尾指针 re
18、ar=2,则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_39.一棵二叉树第 6 层(根结点为第一层)的结点最多为 1 个。(分数:2.00)填空项 1:_40.度为 10 的线性表进行冒泡排序,最坏情况下需要比较的次数为 1。(分数:2.00)填空项 1:_41.表达式 x=operator-(y,z)可以表示为 1。(分数:2.00)填空项 1:_42.以下函数模板 max()的功能是返回数组 a 中最大元素的值。请将横线处缺失部分补充完整。 templatetypename TT max(T a,int n) T m=a0; for(int i=l;in;i+) if(a
19、im)_; return m; (分数:2.00)填空项 1:_43.重载的关系运算符和逻辑运算符的返回类型应当是 1。(分数:2.00)填空项 1:_44.如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是_。 #includeiostream using namespace std; class Base public: void print() coutB; class Derived:public Base public: void print() coutD; int main() Derived*pd=
20、new Derived()“ Base*pb=pd; pb-print(); pd-print(); delete pd; return 0; (分数:2.00)填空项 1:_45.对于派生类的构造函数,在定义对象时构造函数的执行顺序:先执行调用 1 的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。(分数:2.00)填空项 1:_46.执行下列程序的输出结果是_: #includeiostream using namespacestd; class TestClassl public: void funl()cout“TestClassl/n“; virtual
21、void fun2() cout“TestClassl/n“; ; class TestClass2:public TestClass1 public: void fun1() cout“,TestClass2/n“; void fun2()cout“,TestClass2/n“; ; void f(TestClass1b.fun2(); int main() TestClass2 obj; f(obj); retum 0; (分数:2.00)填空项 1:_47.请定义一个函数名为 fun,返回值为 int,没有参数的纯虚函数的定义是 1。(分数:2.00)填空项 1:_48.重新定义标识符的
22、作用域规定是外层变量被隐藏, 1 变量是可见的。(分数:2.00)填空项 1:_49.如果表达式 x=y*z 中的“*”是作为成员函数重的运算符,采用运算符函数调用格式,该表达式还可以表示为 1。(分数:2.00)填空项 1:_50.有下列程序: #includeiostream using namespace std; class Con char ID; public: Con():ID(A)cout1; Con(char ID) :D(ID) cout2; Con(Con char getID()constreturn ID; ; void show(COn c)coutc.getID(
23、); int main() Con c1; show(c1); Con c2(B); show(c2); retum 0; 执行上面程序的输出结果是_。(分数:2.00)填空项 1:_二级 C+笔试-343 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.设计数据库的存储结构属于( )。(分数:2.00)A.需求分析B.概念设计C.逻辑设计D.物理设计 解析:解析 物理设计阶段主要解决选择文件存储结构和确定文件存取方法的问题,包括选择存储结构、确定存取方法、选择存取路径、确定数据的存放位置。2.下列描述中正确的是( )。(分数:2.00
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 343 答案 解析 DOC
