【计算机类职业资格】二级C++笔试-60及答案解析.doc
《【计算机类职业资格】二级C++笔试-60及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-60及答案解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-60 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.设有如下关系表:(分数:2.00)A.B.C.D.2.如果表达式 y*x+中,“*”是作为成员函数重载的运算符,“+”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为(分数:2.00)A.operator+(0).operator*(y);B.operator*(x.operator+(0),y);C.operator*(operator+(x,0)D.operator*(operator+(x,0),y)3.在一个类体的下列声明中,下确的纯虚函数声明
2、星(分数:2.00)A.virtual voidvf0:0;B.void vf(int)=0;C.virtual int vf(int);D.virtual void vf(int)4.下列叙述中错误的是(分数:2.00)A.在数据库设计的过程中,需求分析阶段必须考虑具体的计算机系统B.在数据库设计的过程中,概念结构设计与具体的数据库管理系统有关C.在数据库设计的过程中,逻辑结构设计与具体的数据库管理系统有关D.在数据库设计的过程中,物理结构设计依赖于具体的计算机系统5.下列语句段将输出字符*的个数为int i=100;while(1)i-;if(i=0)break;cout*;(分数:2.0
3、0)A.98 个B.99 个C.100 个D.101 个6.下列叙述中正确的是(分数:2.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令7.有如下程序:#include iostreamusing namespace std:class Testpublic:Test() n+=2;Test() n-=3; ;static int getNum() return n;privaue:static int n:;int Test:n=1;int main()Test* p=new Test;de
4、lete p;cout“n=“Test:getNum()end1;return 0;执行后的输出结果是(分数:2.00)A.n=0B.n=1C.n=2D.n=38.下面关于虚函数的描述中正确的是(分数:2.00)A.虚函数是一个静态成员函数B.虚函数是一个非成员函数C.虚函数既可以在函数说明时定义,也可以在函数实现时定义D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型9.有如下程序:#include iostream.husing namespace std;class Stackpublic:Stack (unsigned n=10):size (n) rep_=new int
5、 size; top=0;Stack (stackfor (int i=0;isize;i+rip_i-s.rep_i;top=s.top;Stack() deleterep_;void poush(int(分数:2.00)A.rep_topj=a; top+;void setData (double D) data=d;static int count;private:double data;_count=0; /静态数据成员的定义(分数:2.00)A.intB.static intC.int Fred:D.static int Fred:12.设有以下程序段:int a5=0,*p,*q;
6、p=a;q=a;则下列选项中,合法的运算是(分数:2.00)A.p*qB.p-qC.p*qD.p%q13.下面关于 C+流的叙述中,正确的是(分数:2.00)A.cin 是一个输入流对象B.可以用 ifstream 定义一个输出流对象C.执行语句序列 char *y=“PQMN“; couty;将输出字符串“PQMN“的地址D.执行语句序列 char x80;cin.getline(x,80);时,若键入Happy new year则 x 中的字符串是“Happy“14.下列叙述中正确的是(分数:2.00)A.程序执行的效率与数据的存储结构密切相关B.程序执行的效率只取决于程序的控制结构C.程
7、序执行的效率只取决于所处理的数据量D.以上三种说法都不对15.在表达式 x-y 中,“-”是作为非成员函数重载的运算符。若使用显式的函数调用代替直接使用运算符“-”,这个表达式还可表示为(分数:2.00)A.operator-(y)B.operator-(y,x)C.operator-(x)D.operator-(x,y)16.有如下程序:#include iostreamusing namespace std;int main()cout.fill(*);cout.width(6);cout.fill(#);cout123end1;return 0;执行后的输出结果是(分数:2.00)A.#
8、123B.123#C.*123D.123*17.面向对象程序设计将数据和什么放在一起,作为一个相互依存、不可分割的整体来处理?(分数:2.00)A.对数据的操作B.信息C.数据隐藏D.数据抽象18.下列虚基类的声明中正确的是(分数:2.00)A.class virtual B: public AB.virtual class B: public AC.class B: public A virtualD.class B: virtual public A19.下列关于运行符重载的描述中,正确的是(分数:2.00)A.运算符重载可以改变操作数的个数B.运算符重载可以改变操作数的优先级C.运算符重
9、载可以改变运算符的结合性D.运算符重载可以使运算符实现特殊功能20.有如下类声明:class XAint x;public:XA(int n)x=n; class XB:public XAint y;public:XB(int a, int b) ;在构造函数 XB 的下列定义中,正确的是(分数:2.00)_21.有以下程序:#include iostreamusing namespace std;class Apublic:A(int i,int j)a=1;b=j;void move (int x,int y)a+=x;b+=y;void show()couta“,“bend1privat
10、e:int a,b;class B : private Apublic:B(int i,int 3):A (i,j) void fun()move (3,5);void f1()A:show();int main()B d(3,4);d.fun();d.f1();return 0;程序执行后的输出结果是(分数:2.00)A.3,4B.6,8C.6,9D.4,322.在关系数据库中,用来表示实体之间联系的是(分数:2.00)A.树结构B.网结构C.线性表D.二维表23.在公有派生的情况下,派生类中定义的成员函数只能访问原基类的(分数:2.00)A.公有成员和私有成员B.私有成员和保护成员C.公有
11、成员和保护成员D.私有成员、保护成员和公有成员24.在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(分数:2.00)A.概要设计B.详细设计C.可行性分析D.需求分析25.下列叙述中正确的是(分数:2.00)A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构26.下列对字符数组进行初始化的语句正确的是(分数:2.00)A.char a =“Hello“;B.char a=H,e,1,1,o);C.char a5=“Hello“;D.char a25=“Hello“, “World“;p27.在 C+中,实现封装性需借助于(分数:
12、2.00)A.枚举B.类C.数组D.函数28.若语句:coutsetfill()setw(5)3141512setw(5)“OK!“;是程序中第 1 个输出语句,则输出结果是(分数:2.00)A.3141512OK!B.31415120K!C.314150K!D.31415OK!29.有如下类声明: class Foo int bar; ;则 Foo 类的成员 bar 是(分数:2.00)A.公有数据成员B.公有成员函数C.私有数据成员D.私有成员函数30.在表达式 x+y*z 中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是 ,(分数:2.00)A.ope
13、rator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,operator*有一个参数31.下列叙述中错误的是(分数:2.00)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据处理的效率无关C.数据的存储结构与数据处理的效率密切相关D.数据的存储结构在计算机中所占的中间不一定是连续的32.有如下语句序列:int k=0;dok+=5; cout$; while(k19);while(k-00)cout*;执行上面的语句序列输出字
14、符$和*的个数分别是(分数:2.00)A.4 和 20B.55 和 20C.4 和 21D.5 和 2133.已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是(分数:2.00)A.这是运算符-的重载运算符函数B.这个函数所重载的运算符是一个一元运算符C.这是一个成员函数D.这个函数不改变类的任何数据成员的值34.有如下函数模板声明:templatetypename TT Max(T a, T B) return (a=B) ?a:b;下列对函数模板 Max()的调用中错误的是(分数:2.00)A.Max(3.5,
15、4.5)B.Max(3.5,4)C.Maxdouble(3.5,4.5)D.Maxdouble(3.5,4)35.下列叙述中正确的是(分数:2.00)A.一个逻辑数据结构只能有一种存储结构B.数据的逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率二、填空题(总题数:14,分数:28.00)36.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空项 1:_37.在面向对象方法中,类的实例称为 1 。(分数:2.0
16、0)填空项 1:_38.软件生命周期包括 8 个阶段。为了使各时期的任务更明确,又可分为 3 个时期:软件定义期、软件开发期、软件维护期。编码和测试属于 1 期。(分数:2.00)填空项 1:_39.一棵二叉树第六层(根结点为第一层)的结点数最多为 1 个。(分数:2.00)填空项 1:_40.数据库系统中实现各种数据管理功能的核心软件称为 1。(分数:2.00)填空项 1:_41.设有定义语句:int a=12;,则表达式 a*=2+3 的运算结果是 1。(分数:2.00)填空项 1:_42.设在主函数中有以下定义和函数调用语句,且 fun()函数为 void 类型,请写出 fun()函数的
17、首部_。int main()double s1022;int n:.fun (s):.return 0;(分数:2.00)填空项 1:_43.下列程序的输出结果是_。#include iostream.h#include cstring.husing namespace std;void fun(const char*s,char int main )char str =“ABCDE“;char ch=str1;fun(str,sh);coutCh;return 0;(分数:2.00)填空项 1:_44.请按下面注释的提示,将类 B 的构造函数定义补充完整。classAint a;public
18、:Aint aa=0) (a=aa;class B:public Aint b;A c;public:/用 aa 初始化基类 A,用 aa+1 初始化类对象成员 cB(int aa): b=aa+2;(分数:2.00)填空项 1:_45.以下程序运行后的输出结果是_。#include iostream#include stringusing namespace std;class Y;class Xint x;char *strx;public:X(int a, char *str)x=a;strx=new charstrlen(str)+1strcpy (strx,str);void sho
19、w(Y ;class Yprlvate:int y;char *stry;public:Y(int b,char *str)y=b;stry=new charstrlen(str)+1;strcpy(stry,str);friend void X:show(Y ;void X:showY int mainX a (10, “stringX“);Y b (20, “stringY“);a. show (b);renurn 0;(分数:2.00)填空项 1:_46.在下面横线上填上适当的语句,完成程序。#include iostreamusing namespace std;class Basei
20、nt x:public:Base (int i)x=i;Base();class Derived : public Basepublic:_ /完成类 Derive 构造函数的定义;int main (Derived Obi;return 0;在横线外应填入的语句是_。(分数:2.00)_47.下面是用来计算 n 的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是) n!=n*(n-1)*.*2*1)unsigned fact(unsigned n)if (n =1)return 1;return_;(分数:2.00)填空项 1:_48.下列程序的输出结果是_。#include i
21、ostreamusing namespace std;templatetypename TT fun(T a,T b) return (a=b)?a:b;)int main()coutfun(3, 6),fun(3.14F,6.28F) end1;return 0;(分数:2.00)填空项 1:_49.下面程序的输出是:*5.235.23*请将下划线上遗漏的部分补充完整。#include iostream#include iomanipusing namespace std:void main()double i=5.23;cout_setw(14)icouuend1_setw(14)i;(分
22、数:2.00)填空项 1:_二级 C+笔试-60 答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.设有如下关系表:(分数:2.00)A.B. C.D.解析:解析 显然,关系表 T 是关系表 R 与 S 的并,即 T=RS。2.如果表达式 y*x+中,“*”是作为成员函数重载的运算符,“+”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为(分数:2.00)A.operator+(0).operator*(y);B.operator*(x.operator+(0),y);C.operator*(operator+(x,0) D
23、.operator*(operator+(x,0),y)解析:解析 本题考核运算符的重载。假定已经作为某个类的成员函数重载了二元运算符+,且 c1,c2都是该类的对象,则 c1.operator+(c2)与 c1+c2 含义相同。如果+作为该类的非成员函数重载,则operator+(c1,c2)与 c1+c2 含义相同。同理,运算符*作为成员函数重载,则 y*(x+)与 y.operator*(x+)含义相同,后缀+作为友元函数重载,那么 x+与 operator+(x,0)含义相同,所以选项 C 是正确的。3.在一个类体的下列声明中,下确的纯虚函数声明星(分数:2.00)A.virtual
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 60 答案 解析 DOC
