【计算机类职业资格】二级C++笔试-259及答案解析.doc

上传人:figureissue185 文档编号:1324499 上传时间:2019-10-17 格式:DOC 页数:23 大小:74.50KB
下载 相关 举报
【计算机类职业资格】二级C++笔试-259及答案解析.doc_第1页
第1页 / 共23页
【计算机类职业资格】二级C++笔试-259及答案解析.doc_第2页
第2页 / 共23页
【计算机类职业资格】二级C++笔试-259及答案解析.doc_第3页
第3页 / 共23页
【计算机类职业资格】二级C++笔试-259及答案解析.doc_第4页
第4页 / 共23页
【计算机类职业资格】二级C++笔试-259及答案解析.doc_第5页
第5页 / 共23页
点击查看更多>>
资源描述

1、二级 C+笔试-259 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.按照“先进先出”原则组织数据的数据结构是( )。(分数:2.00)A.队列B.栈C.双向链表D.二叉树2.关于 getline()函数的下列描述中,错误的是( )。(分数:2.00)A.该函数可以用来从键盘上读取字符串B.该函数读取的字符串长度是受限制的C.该函数读取字符串时,遇到终止符时便停止D.该函数中所使用的终止符只能是换行符3.下面关于对象概念的描述中,( )是错误的。(分数:2.00)A.对象就是 C 语言中的结构体变量B.对象代表着正在创建的系统中的一个实体

2、C.对象是一个状态和操作(或方法)的封装体D.对象之间的信息传递是通过消息进行的4.下列关于虚基类的描述,错误的是( )。(分数:2.00)A.设置虚基类的目的是为了消除二义性B.虚基类的构造函数在非虚基类之后调用C.若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用D.若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数5.以下程序的输出结果是( )。#includeiostream#includestdlibusing namespace std;void func(char *m)+m;cout*mendl;main()static char *a

3、=“MORNING“,“AFTERNOON“,“EVENING“);char *n;n=a;func(n);system(“PAUSE“);return 0;(分数:2.00)A.为空B.MORNINGC.AFTERNOOND.EVENING6.下面数据结构中,属于非线性的是( )。(分数:2.00)A.线性表B.树C.队列D.堆栈7.下列情况中,不会调用拷贝构造函数的是( )。(分数:2.00)A.用一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调用函数进行形参和实参结合时D.函数的返回值是类的对象,函数执行返回调用时8.在函数中,

4、可以用 auto、extem、register 和 static 四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是( )。(分数:2.00)A.autoB.externC.概 registerD.static9.下列关于运算符重载的描述中,正确的是( )。(分数:2.00)A.运算符重载可以改变运算符的操作数的个数B.运算符重载可以改变优先级C.运算符重载不可以改变优先级D.运算符重载不可以改变语法结构10.支持数据库各种操作的软件系统叫做( )。(分数:2.00)A.数据库管理系统B.文件系统C.数据库系统D.操作系统11.若有如下类定义:class Bvoid

5、 funl()protected:double varl:public:void fun2();class D:public Bprotected:void fun3();已知 obj 是类 D 的对象,下列语句中不违反类成员访问控制权限的是( )。(分数:2.00)A.obj.funl();B.obj.varl;C.obj.fun2();D.obj.fun3();12.下列语句中,错误的是( )。(分数:2.00)A.const int buffer=256;B.const double *point;C.int const buffer=256;D.double *const point;

6、13.在 C+语言的数据类型中,int、short 等类型的长度是( )。(分数:2.00)A.固定的B.任意的C.由用户自定义D.与机器字长有关14.从用户角度看,下面列出的条目中( )是数据库管理系统应具有的目标。 用户界面友好 内部结构清晰、层次分明 开放性,即符合标准和规范 负责管理企业组织的数据库资源(分数:2.00)A.、B.、C.、D.都是15.在下面的运算符重载函数的原型中,错误的是( )。(分数:2.00)A.Volume operator-(double,double);B.double Volume:operator-(double);C.Volume Volume:op

7、erator-(Volume);D.Volume operator-(Volume,Volume);16.以下( )成员函数表示纯虚函数。(分数:2.00)A.virtual int vf(int)B.void vf(int)=0C.virtual void vf()=0D.virtual void vf(int)17.设有如下三个关系表(分数:2.00)A.T=RSB.T=RSC.T=RSD.T=R/S18.假定 n=3,下列程序的运行结果是( )。#includeiostreamhint Fun(int m)void main()cout“Please input a number:“;i

8、nt n,s=0;cinn;s=Fun(n);coutsendl;int Fun(int m)iht p=1,s=0;for (int I=1;I=m;I+)p*=I;S+=p;return s;(分数:2.00)A.7B.9C.8D.1019.下面概念中,不属于面向对象方法的是( )。(分数:2.00)A.对象B.继承C.类D.过程调用20.有如下程序#includeiostreamusing namespace std;class Baseprotected:Base()coutA;Base(char c)coutc;);class Derived: public Basepublic:D

9、erived(char c)coutc;);int main()Derived dl(B);return 0;执行这个程序屏幕上将显示输出( )。(分数:2.00)A.BB.BAC.ABD.BB21.下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。(分数:2.00)A.内模式B.外模式C.概念模式D.逻辑模式22.语句 ofstream f(“SALARYDAT“,ios:app|ios:binary);的功能是建立流对象 f,试图打开文件SALARY.DAT 并与之连接,并且( )。(分数:2.00)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若

10、文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件23.关于运算符重载,下列表述中正确的是( )。(分数:2.00)A.C+已有的任何运算符都可以重载B.运算符函数的返回类型不能声明为基本数据类型C.在类型转换符函数的定义中不需要声明返回类型D.可以通过运算符重载来创建 C 十十中原来没有的运算符24.阅读下面的程序:#includeiostreamhvoid main()int x;cinx;if(x+5)coutxendl;elsecoutxendl;如果两次执行上述程

11、序,且键盘输入分别为 4 和 6,则输出结果分别是( )。(分数:2.00)A.4,6B.3,6C.4,7D.5,725.下列程序的运行结果为( )。#includeiostream.hvoid main()int a=2;int b=a+1;couta/bendl;(分数:2.00)A.0.66667B.0C.0.7D.0.6666666626.关于动态存储分配,下列说法正确的是( )。(分数:2.00)A.new 和 delete 是 C+语言中专门用于动态内存分配和释放的函数B.动态分配的内存空间也可以被初始化C.当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用 dele

12、te 释放内存空间D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用 new27.如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用( )关键字来修饰。(分数:2.00)A.constB.staticC.voidD.class28.结构化程序设计主要强调的是( )。(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性29.下列函数原型声明中错误的是( )。(分数:2.00)A.void Fun(int x=0,int y=0);B.void Fun(int x,int y);C.void Fun(int x,int y=0)

13、;D.void Fun(int x=0,int y);30.使用 fstream 流类定义流对象并打开磁盘文件时,文件的隐含打开方式为( )。(分数:2.00)A.ios:inB.ios:outC.ios:inlios:outD.没有默认31.下面不是派生类对基类的继承方式的是( )。(分数:2.00)A.privateB.publicC.staticD.protected32.有以下类定义。class MyClassprivate:int id;char gender;char *phone;public:MyClass():id(0),gender(#),phone(NULL)MyClas

14、s(int no,char ge=#,char *ph=NULL)id=no;gender=ge;phone=ph;);下列类对象定义语句中错误的是( )。(分数:2.00)A.MyClass myobj;B.MyClass myobj(11,“13301111155“);C.MyClass myobj(12,m);D.MyClass myobj(12);33.下列关于数组的描述正确的是( )。(分数:2.00)A.数组的长度是固定的,而其中元素的数据类型可以有不同B.数组的长度是固定的,而其中元素的数据类型必须相同C.数组的长度是可变的,而其中元素的数据类型可以有不同D.数组的长度是可变的,

15、而其中元素的数据类型必须相同34.在关系数据库模型中,通常可以把外码所在的关系称为( )。(分数:2.00)A.被参照关系B.参照关系C.主码D.主关系35.线性表的顺序存储结构和线性表的链式存储结构分别是( )。(分数:2.00)A.顺序存取的存储结构、顺序存取的存储结构B.随机存取的存储结构、顺序存取的存储结构C.随机存取的存储结构、随机存取的存储结构D.任意存取的存储结构、任意存取的存储结构二、填空题(总题数:15,分数:30.00)36.算法的复杂度主要包括 【1】 复杂度和空间复杂度。(分数:2.00)填空项 1:_37.通常元素进栈的操作是 【2】 。(分数:2.00)填空项 1:

16、_38.结构化程序设计的一种基本方法是 【3】 法。(分数:2.00)填空项 1:_39.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【4】 。(分数:2.00)填空项 1:_40.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 【5】 和选择排序等。(分数:2.00)填空项 1:_41.将以下程序写成三目运算表达式是 【6】 。if(ab) max=a;else max=b;(分数:2.00)填空项 1:_42.已知递归函数 f 的定义如下:int f(int n)if(n=1)return 1; /递归结束情况else retulil n*f(n-2)

17、;/递归则函数调用语句 f(5)的返回值是 【7】 。(分数:2.00)填空项 1:_43.如果表达式 x=y*z 中的“*”是作为成员函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为 【8】 。(分数:2.00)填空项 1:_44.以下程序的执行结果是 【9】 。#includeiostream.htemplateclass Tclass SampleT n;public:Sample(T i)n=i;)void operator();void disp()cout“n=“nendl;);templateclass Tvoid SampleT:operator()n=1;/不能

18、用 n;因为 double 型不能用void main()SamplecharS(a);S;s.disp();(分数:2.00)填空项 1:_45.下面程序的输出结果为 【10】 。#inclUdeiostream.hvoid main()int a;int );class Derived: public Basepublic:Derived(char c)coutc;);int main()Derived dl(B);return 0;执行这个程序屏幕上将显示输出( )。(分数:2.00)A.BB.BAC.AB D.BB解析:21.下列模式中,能够给出数据库物理存储结构与物理存取方法的是(

19、)。(分数:2.00)A.内模式 B.外模式C.概念模式D.逻辑模式解析:22.语句 ofstream f(“SALARYDAT“,ios:app|ios:binary);的功能是建立流对象 f,试图打开文件SALARY.DAT 并与之连接,并且( )。(分数:2.00)A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件 B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件解析:23.关于运算符重载,下列表述中正确的是( )。(分数:2.00)A.C

20、+已有的任何运算符都可以重载B.运算符函数的返回类型不能声明为基本数据类型C.在类型转换符函数的定义中不需要声明返回类型 D.可以通过运算符重载来创建 C 十十中原来没有的运算符解析:24.阅读下面的程序:#includeiostreamhvoid main()int x;cinx;if(x+5)coutxendl;elsecoutxendl;如果两次执行上述程序,且键盘输入分别为 4 和 6,则输出结果分别是( )。(分数:2.00)A.4,6B.3,6C.4,7D.5,7 解析:25.下列程序的运行结果为( )。#includeiostream.hvoid main()int a=2;in

21、t b=a+1;couta/bendl;(分数:2.00)A.0.66667B.0 C.0.7D.0.66666666解析:26.关于动态存储分配,下列说法正确的是( )。(分数:2.00)A.new 和 delete 是 C+语言中专门用于动态内存分配和释放的函数B.动态分配的内存空间也可以被初始化 C.当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用 delete 释放内存空间D.当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用 new解析:27.如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用( )关键字来修饰。(分数:2.00)A.

22、constB.staticC.voidD.class 解析:28.结构化程序设计主要强调的是( )。(分数:2.00)A.程序的规模B.程序的效率C.程序设计语言的先进性D.程序易读性 解析:29.下列函数原型声明中错误的是( )。(分数:2.00)A.void Fun(int x=0,int y=0);B.void Fun(int x,int y);C.void Fun(int x,int y=0);D.void Fun(int x=0,int y); 解析:30.使用 fstream 流类定义流对象并打开磁盘文件时,文件的隐含打开方式为( )。(分数:2.00)A.ios:inB.ios:

23、outC.ios:inlios:outD.没有默认 解析:31.下面不是派生类对基类的继承方式的是( )。(分数:2.00)A.privateB.publicC.static D.protected解析:32.有以下类定义。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

24、)A.MyClass myobj;B.MyClass myobj(11,“13301111155“); C.MyClass myobj(12,m);D.MyClass myobj(12);解析:33.下列关于数组的描述正确的是( )。(分数:2.00)A.数组的长度是固定的,而其中元素的数据类型可以有不同B.数组的长度是固定的,而其中元素的数据类型必须相同 C.数组的长度是可变的,而其中元素的数据类型可以有不同D.数组的长度是可变的,而其中元素的数据类型必须相同解析:34.在关系数据库模型中,通常可以把外码所在的关系称为( )。(分数:2.00)A.被参照关系B.参照关系 C.主码D.主关系解

25、析:35.线性表的顺序存储结构和线性表的链式存储结构分别是( )。(分数:2.00)A.顺序存取的存储结构、顺序存取的存储结构B.随机存取的存储结构、顺序存取的存储结构 C.随机存取的存储结构、随机存取的存储结构D.任意存取的存储结构、任意存取的存储结构解析:二、填空题(总题数:15,分数:30.00)36.算法的复杂度主要包括 【1】 复杂度和空间复杂度。(分数:2.00)填空项 1:_ (正确答案:时间)解析:37.通常元素进栈的操作是 【2】 。(分数:2.00)填空项 1:_ (正确答案:先移动栈顶指针,后存入元素)解析:38.结构化程序设计的一种基本方法是 【3】 法。(分数:2.0

26、0)填空项 1:_ (正确答案:逐步求精)解析:39.通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为 【4】 。(分数:2.00)填空项 1:_ (正确答案:软件生命周期)解析:40.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 【5】 和选择排序等。(分数:2.00)填空项 1:_ (正确答案:交换排序)解析:41.将以下程序写成三目运算表达式是 【6】 。if(ab) max=a;else max=b;(分数:2.00)填空项 1:_ (正确答案:max=(ab)?a:b)解析:42.已知递归函数 f 的定义如下:int f(int n)if(n=1)r

27、eturn 1; /递归结束情况else retulil n*f(n-2);/递归则函数调用语句 f(5)的返回值是 【7】 。(分数:2.00)填空项 1:_ (正确答案:15)解析:43.如果表达式 x=y*z 中的“*”是作为成员函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为 【8】 。(分数:2.00)填空项 1:_ (正确答案:x=y.operator*(z))解析:44.以下程序的执行结果是 【9】 。#includeiostream.htemplateclass Tclass SampleT n;public:Sample(T i)n=i;)void operat

28、or();void disp()cout“n=“nendl;);templateclass Tvoid SampleT:operator()n=1;/不能用 n;因为 double 型不能用void main()SamplecharS(a);S;s.disp();(分数:2.00)填空项 1:_ (正确答案:n=b)解析:45.下面程序的输出结果为 【10】 。#inclUdeiostream.hvoid main()int a;int &b=a;/变量引用b=10;cout“a=“aendl;(分数:2.00)填空项 1:_ (正确答案:a=10)解析:46.下列程序的运行结果为 【11】

29、。#includeiostream.hvoid main(void)int a=2,b=-1,c=2;if(ab)if(b0)c=0;else c=c+1;coutcendl;(分数:2.00)填空项 1:_ (正确答案:2)解析:47.以下程序的运行结果是 【12】 。#includeiostream.hfunc(int a,int b)statlC int m=0,i=2;i+=m+1;m=i+a+b;return m;void main()int k=4,m=1,p;p=func(k,m);coutp”,”;p=func(k,m);coutpendl;(分数:2.00)填空项 1:_ (

30、正确答案:8,17)解析:48.下列程序的输出结果是 【13】 。#inCludeiostreamrsing namespace std;templatetypename TT fun(Ta,Tb)retum(a=b)?a:b;)int main()coutfun(3,6),fun(3.14F,6.28F)endl; return 0;(分数:2.00)填空项 1:_ (正确答案:3,3.14)解析:49.插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到已排序序列中的正确位置。InsertSort 类的成员函数 sort()实现了插入排序算法。请将画线处缺失的部分补充完整。cl

31、ass InsertSortpublic:InsertSort(int* a0,int n0):a(a0),n(n0)/参数 a0 是某数组首地址,n 是数组元素个数void sort()/此函数假设已排序序列初始化状态只包含 a0,未排序序列初始为 a1.an-1for(int i=1;in;11i)int t=ai;int j;for( 【14】 ;j0;-j)if(t=aj-1)break;aj=aj-1;aj=t;protected:int *a,n;/指针 a 用于存放数组首地址,n 用于存放数组元素个数;(分数:2.00)填空项 1:_ (正确答案:j=i)解析:50.阅读下面程序:#includeiostream.hvoid funl(char a,char b)char c;c=a;a=b;b=C;void fun2(char &a,char b)char c;c=a;a=b;b=c;void fun3(char &a,char &b)char c;c=a;a=b;b=C;void main()char a,b;a=A;b=B;funl(a,b);coutab;a=A;b=B;fun2(a,b);coutab;a=A;b=B;fun3(a,b);coutab;则该程序的输出为 【15】 。(分数:2.00)填空项 1:_ (正确答案:ABBBBA)解析:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1