【计算机类职业资格】二级C++笔试-442及答案解析.doc
《【计算机类职业资格】二级C++笔试-442及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-442及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-442 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.以下( )特征不是面向对象思想中的主要特征。A多态 B继承C封装 D垃圾回收(分数:2.00)A.B.C.D.2.下列关于信息和数据的叙述不正确的是( )。A信息是数据的符号表示B信息是数据的内涵C信息是现实世界事物的存在方式或运动状态的反映D数据是描述现实世界事物的符号记录(分数:2.00)A.B.C.D.3.下列叙述中正确的是( )。A在面向对象的程序设计中,各个对象之间具有密切的联系B在面向对象的程序设计中,各个对象都是公用的C在面向对象的程序设计中,各个对象之间
2、相对独立,相互依赖性小D上述三种说法都不对(分数:2.00)A.B.C.D.4.数据库的故障恢复一般是由( )。A数据流图完成的 B数据字典完成的CDBA 完成的 DPAD 图完成的(分数:2.00)A.B.C.D.5.对线性表进行二分法检索,其前提条件是( )。A线性表以顺序方式存储,并按关键码值排好序B线性表以顺序方式存储,并按关键码的检索频率排好序C线性表以链接方式存储,并按关键码值排好序D线性表以链接方式存储,并按关键码的检索频率排好序(分数:2.00)A.B.C.D.6.在结构化设计方法中生成的结构图(SC)中,带有箭头的连线表示( )。A模块之间的调用关系 B程序的组成成分C控制程
3、序的执行顺序 D数据的流向(分数:2.00)A.B.C.D.7.下列关于栈的叙述正确的是( )。A栈按“先进先出”组织数据 B栈按“先进后出”组织数据C只能在栈底插入数据 D不能删除数据(分数:2.00)A.B.C.D.8.在数据库系统中,是数据库中全体数据的逻辑结构和特征的描述的数据模式为( )。A概念模式 B外模式C内模式 D物理模式(分数:2.00)A.B.C.D.9.数据库设计中反映用户对数据要求的模式是( )。A内模式 B概念模式C外模式 D设计模式(分数:2.00)A.B.C.D.10.数据库系统的基础是( )。A数据库技术 B数据库分析C数据库开发 D数据库管理系统(分数:2.0
4、0)A.B.C.D.11.要定义数组 A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是( )。Aint A=3,9,4,8,0,0,0; Bint A9=3,9,4,8,0,0,0;Cint A=3,9,4,8; Dint A7=3,9,4,8;(分数:2.00)A.B.C.D.12.当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是( )。A任何 B公有或保护 C保护或私有 D私有(分数:2.00)A.B.C.D.13.下面的语句中错误的是( )。Aint a=5;int xa; Bconstint a=5;i
5、nt xa;Cint n=5;int *p=new intn; Dconst int n=5;int *p=new inta;(分数:2.00)A.B.C.D.14.以下不能正确进行字符串赋值初值的语句是( )。Achar str5=“good!“; Bchar str=“good!“;Cchar*str=“good!“; Dchar str5=g,o,o,d);(分数:2.00)A.B.C.D.15.下列关于 break 语句的叙述不正确的是( )。Abreak 语句可用在循环体中,它将使执行流程跳出本层循环体Bbreak 语句可用在 switch 语句中,它将使执行流程跳出当前 switc
6、h 语句Cbreak 语句可用在 if 语句中,它将使执行流程跳出当前 if 语句Dbreak 语句在一层循环体中可以出现多次(分数:2.00)A.B.C.D.16.在函数的返回值类型与返回值表达式类型的描述中,错误的是( )。A函数返回值的类型是在定义函数时确定的,在函数调用时是不能改变的B函数返回值的类型就是返回值表达式的类型C函数返回值的类型与返回值类型不同时,函数表达式类型应转换成返回值类型D函数返回值的类型决定了返回值表达式的类型(分数:2.00)A.B.C.D.17.有如下语句序列:int k=0;do k+=5;cout$; while(k19);while(k-0) cout*
7、;执行上面的语句序列输出字符$和*的个数分别是( )。A4 和 20 B5 和 20 C4 和 21 D5 和 21(分数:2.00)A.B.C.D.18.有以下程序:#include iostreamusing namespace std;int main()int x=15;while(x10if(x/3)x+; break;coutxendl;return0;执行后的输出结果是( )。A15 B16 C17 D18(分数:2.00)A.B.C.D.19.对下列程序段的描述正确的是(#include iostream.hint Fun(int,int)void main()cout Fun
8、(5,50)endl;int Fun(int x,int y)return x*x+y*y;A该函数定义正确,但函数调用方式错误 B该函数调用方式正确,但函数定义错误C该函数定义和调用方式都正确 D该函数定义和调用方式都错误(分数:2.00)A.B.C.D.20.有如下程序#include iostream.hvoid main()char ch25=“6937“,“8254“,*p2;inti,j,s=0;for(i=0;i2;i+) pi=chi;for(i=0;i2;i+)for(j=0;pij/0;j+=2)s=10*s+pij-0;couts;return 0;该程序的输出结果是(
9、)。A, 69825 B63825 C6385 D693825(分数:2.00)A.B.C.D.21.类的析构函数的作用是( )。A一般成员函数B类的初始化C对象的初始化D释放由对象所占用的资源(分数:2.00)A.B.C.D.22.已有函数 max(a,b),为了使函数指针变量 p 指向函数 max,则下面选项中赋值方法正确的是( )。Ap=max; B*p=max; Cp=max(a,b); D*p=max(a,b);(分数:2.00)A.B.C.D.23.有如下程序:#include iostream.hclass Baseprotected: int i;public: intj;cl
10、ass Derived: public Baseint m;public: int n;int main()Derived d;d.i=0; /1d.j=0; /2d.m=0; /3d.n=0; /4return 0;其中主函数中有两个赋值语句有错,这两个错误的赋值语句是( )。A1和2 B1和3 C2和3 D2和4(分数:2.00)A.B.C.D.24.下列关于 new 运算符的描述中错误的是( )。A使用运算符 new 创建对象数组时必须定义初始值B使用运算符 new 创建对象时,会调用类的构造函数C运算符 new 可以用来动态创建对象和对象数组D使用 new 运算符创建的对象可以使用运算
11、符 delete 删除(分数:2.00)A.B.C.D.25.在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态,其中只能用于检测刚进行的操作是否失败函数名是( )。Afail Beof Cbad Dgood(分数:2.00)A.B.C.D.26.下列有关拷贝构造函数的描述中错误的是( )。A拷贝构造函数是一种构造函数B拷贝构造函数与一般的构造函数一样,可以设置多个形参C每一个类中都必须有一个拷贝构造函数D拷贝构造函数的功能是用一个已知对象去初始化一个正在创建的对象。(分数:2.00)A.B.C.D.27.下列关于 this 指针的叙述中,正确的是( )。Athis 指针
12、是一个隐含指针,它隐含于类的成员函数中B只有在使用 this 时,系统才会将对象的地址赋值给 thisC类的友元函数也有 this 指针Dthis 指针表示了成员函数当前操作的数据所属的对象(分数:2.00)A.B.C.D.28.下列重载函数中,正确的是( )。Avoid fun(int a,float b);void fun(int c,float d)Bvoid fun( int a,float b);void fun(float a,int b)Cfloat fun(int a,float b);int fun(int b,float a)Dint fun(int a,int b);fl
13、oat fun(int a,int b)(分数:2.00)A.B.C.D.29.下面的函数模板定义中错误的是( )。Atemplate class QQF(Qx)return Q-x;Btemplate class QQF(Qx)return x+x;Ctemplateclass TTF(Tx)return x*x;) Dtemplate class Tbool F(Tx) return x1;(分数:2.00)A.B.C.D.30.有如下程序:#include iostreamusing namespace std;int main()cout.fill(*);cout.width(5);c
14、outscientific314.15926535endl;return 0;程序运行后,输出的结果是( )。A3.141593e+002 B3.1416e+002 C*3.14e+002 D314.16(分数:2.00)A.B.C.D.31.下面关于构造函数和析构函数的描述中,错误的是( )。A析构函数可以声明为虚函数B对虚析构函数的调用可以采用动联编C一个类的虚函数仅对派生类中重定义的函数起作用,对其他函数没有影响D构造函数可以声明为虚函数(分数:2.00)A.B.C.D.32.以下程序的输出结果是( )。#include iostreamusing namespace std;int m
15、ain()cout.fill(*);cout.width(5);couthex100endl;return 0;A*100 B*64 C100* D64*(分数:2.00)A.B.C.D.33.下列说法中错误的是( )。A公有继承时基类中的 public 成员在派生类中仍是 public 成员B公有继承时基类中的 private 成员在派生类中仍是 private 成员C私有继承时基类中的 public 成员在派生类中是 private 成员D保护继承时基类中的 public 成员在派生类中是 protected 成员(分数:2.00)A.B.C.D.34.下面程序的运行结果是( )。#inc
16、lude iostream.hint x=5;int fun(int a)int c;c=x*a;return c;void main()int x=3,a=4;x=x+fun(a);cout“X=“xendl;Ax=15 Bx=17 Cx=23 Dx=25(分数:2.00)A.B.C.D.35.有如下程序#include iostreamusing namespace std;class basepublic:virtual void f1()cout“F1Base“;virtual void f2()cout“F2Base“;;class derive: public basevoid f
17、1()cout“F1Derive“;void f2(intx)cout“F2Derive“;;int main()base obj1,*p;derive obj2;p=p-f1();p-f2();return 0;执行后的输出结果是( )。AF1Derive F2Base BF1Derive F2DeriveCF1Base F2Base DF1Base F2Derive(分数:2.00)A.B.C.D.二、填空题(总题数:14,分数:30.00)36.若某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_37.在算法的 5 个特性中,算法必须
18、能在执行有限个步骤之后终止指的是算法的 1 性。(分数:2.00)填空项 1:_38.在面向对象方法中,允许作用于某个对象上的操作称为 1。(分数:2.00)填空项 1:_39.在调用一个函数的过程中可以直接或间接地调用该函数,这种调用称为 1 调用,该函数称为 2 函数。(分数:2.00)填空项 1:_40.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 1。(分数:2.00)填空项 1:_41.数学表达式 (分数:2.00)填空项 1:_42.假定一个一维数组的定义为“char a8,b;”若把该数组最后一个元素赋值给 b,应该采取的表达式为: 1。(分数:2.
19、00)填空项 1:_43.若有:int i=1000;int *ip=void *vp;vp=ip;其中,vp=ip 的含义是_。(分数:2.00)填空项 1:_若已定义 fun 函数的功能是:在第一个循环中给前 10 个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使 a 数组前 10 个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1。请填空。fun( int a)int i;for(i=1;i=10;i+)_=i;for(i=0;i5;i+) _=ai;(分数:4.00)填空项 1:_填空项 1:_44.下列程序的运行结果为_。#include io
20、stream.hvoid main(void)int i=10;switch(i)case 9:i=i+1;case 10:i=i+1;case 11:i=i+1;default:i=i+1;coutiendl;(分数:2.00)填空项 1:_45.有以下程序#include iostreamusing namespace std;class MyClasspublic:static int s;MyClass();void SetValue(int val);;int MyClass:s=0;MyClass:MyClass()s+;)void MyClass:SetValue(int val
21、)s=val;int main()MyClass my3,*p;p=my;for(int k=0;k3;k+)p-SetValue(k+1);p+;coutMyClass:sendl;return 0;运行后的输出结果是_。(分数:2.00)填空项 1:_46.下面程序的运行结果是_。#include iostream.hvoid main()char s=“9876“, *p;for(p=s;ps+2;p+)coutp;(分数:2.00)填空项 1:_47.以下程序的执行结果是_。#include iostreamusing namespace std;class basepublic:vi
22、rtual void who() cout“Base Class“endl;class Derived1: public Basepublic:virtual void who() cout“Derived1 Class“endl; ;class derived2: public Basepublic:virtual void who() cout“Derived2 Class“endl; ;int main(int argc, char *argv )base obj1,*p;derived1 obj2;derived2 obj3;p= p-who();p= p-who();p= p-who
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 442 答案 解析 DOC
