【计算机类职业资格】二级C++笔试43及答案解析.doc
《【计算机类职业资格】二级C++笔试43及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试43及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 43及答案解析(总分:99.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.在 C+中,实现封装性需借助于_ 。(分数:2.00)A.枚举B.类C.数组D.函数2.在下面的类定义中,横线处应填入的内容是_ 。 class Fred public: void print() cout data end 1; void setData(double d) data=d; static int count; private: double data; ; _count=0;/表态数据成员的定义(分数:2.00)A.intB.static intC.i
2、nt Fred:D.static int Fred:3.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指_ 。(分数:2.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对4.有如下程序: #include iostream using namespace std; class Stack public: Stack(unsigned n= 10):size(n) rep_=ew intsize; top=0; Stack(Stack for(int i=0;isize;i+) rep_i=s.rep_i; to
3、p=s.top; Stack() delete rep_; void push(int a) rep_top=a; top+; int pop() -top;return rep_top; bool isEmpty() const return top=0; private: int *rep_; unsigned size,top; ; int main() Stack s1; for(int i= 1;i5 ;i+) s1. push(i); Stack s2(s1); for(i= 1 ;iA.4,3,2,1,B.4,3,6,7,2,1,C.4,3,6,2,1,D.1,2,3,4,5.下
4、列函数中对调用它的函数没有起到任何作用的是_ 。(分数:2.00)A.void fl(double class Demo public: Demo () cout “default constructor/n“; Demo (const Demo ;Demo userCode(Demo b) Demo c(b);return c; int main() Demo a,d; cout“calling userCode()/n“; d=aserCode(a); return 0; 执行上面程序的过程中,构造函数 Demo()和 Demo(const Demo class MyString publ
5、ic: MyString(const char *s); MyString() delete data; 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(a); return 0; 在运行上面的程序时出错,出错的原因是_ 。(分数:2.00)A.构造函数的实参不允许是本类的对象B.没有定义实现深
6、层复制(深拷贝)的拷贝构造函数C.构造对象 a时实参与形参类型不符D.系统不能生成缺省的拷贝构造函数12.在表达式 x-y中,“-”是作为非成员函数重载的运算符。若使用显式的函数调用代替直接使用运算符“-”,这个表达式还可表示为_ 。(分数:2.00)A.opemtor-(B.opemtor-(y,C.operator-(D.operator-(x,13.下列说法中错误的是_ 。(分数:2.00)A.公有继承时基类中的 public 成员在派生类中仍是 public成员B.私有继承时基类中的 protected 成员在派生类中仍是 protected 成员C.私有继承时基类中的 public
7、成员在派生类中是 private成员D.保护继承时基类中的 public成员在派生类中是 protected成员14.有如下程序: #include iostream #include iomanip using namespace std; class CSum int x,y; public: CSum(int x0,int y0):x(x0),y(y0) friend ostream return os; int main() CSum y(3,5); coutsetfill(*)8; couty; return 0; 执行上面程序的输出是_。(分数:2.00)A.88B.*88C.*8
8、*8D.8*815.用树型结构表示实体之间联系的模型是_ 。(分数:2.00)A.关系模型B.网状模型C.层次模型D.以上三个都是16.对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为_ 。(分数:2.00)A.n-1B.n/2C.nD.n+117.有如下程序: #include iostream using namespace std; class Base public: Base() cout“BB“;f(); void f() cout“Bf“; ; class Derived:public Base public: Derived() cout“DD“; void f
9、() cout“Df“; ; int main() Derived d; return 0;执行上面的程序将输出_ 。(分数:2.00)A.BBBfDDB.BBDfDDDfC.DDD.DDBBBf18.已知 outfile 是一个输出流对象,要想将 outfile 的文件指针定位到当前位置之前 321字节处,正确的函数调用语句是_ 。(分数:2.00)A.outfilseekp (321, ios_ base: cu;B.outfilseekp (321,ios_ base: be;C.outfilseekp (-321,ios_ base: be;D.outfilseekp (-321,io
10、s_ base: cu;19.若语句 coutsetfill()setw (5)3141512setw (5)”OK!”;是程序中第一个输出语句,则输出结果是_ 。(分数:2.00)A.3141512OK!B.31415120K!C.314150K!D.31415OK!20.已知在函数 func中语句 this-ff=0;与语句 ff=0;的效果完全相同。对于这一现象,下列表述中错误的是_ 。(分数:2.00)A.迁是某个类的数据成员,func 是该类的友元函数B.迁是某个类的数据成员,func 是该类的成员函数C.this-ff 和 ff 是同一个变量D.func 不是一个静态成员函数21.
11、为了使模块尽可能地独立,要求_。(分数:2.00)A.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强22.要定义数组 A,使得其中每个元素的数据依次为:3、9、4、8、0、0、0,错误的定义语句是_ 。(分数:2.00)A.int A =3,9,4,8,0,0,0;B.int A7=3,9,4,8,0,0,0;C.int A =3,9,4,8;D.int A 7=3,9,4,8;23.下列关于虚函数的描述中,正确的是_ 。
12、(分数:2.00)A.虚函数是一个 static 类型的成员函数B.虚函数是一个非成员函数C.基类中采用 virtual 说明一个虚函数后,派生类中定义相同原型的函数时可不必加 virtual 说明D.派生类中的虚函数与基类中相同原型的虚函数具有不同的参数个数或类型24.下列对于软件测试的描述中正确的是_。(分数:2.00)A.软件测试的目的是证明程序是否正确B.软件测试的目的是使程序运行结果正确C.软件测试的目的是尽可能多地发现程序中的错误D.软件测试的目的是使程序符合结构化原则25.下列关于栈的描述中错误的是_ 。(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作
13、用D.对栈的插入与删除操作中,不需要改变栈底指针26.有如下函数模板声明: template typename T T Max(T a,T b)return(a=b)?a:b;下列对函数模板 Max的调用中错误的是_ 。(分数:2.00)A.Max(3.5,4.5)B.Max(3.5,4)C.Maxdouble(3.5,4.5)D.Maxdouble(3.5,4)27.有如下语句序列: int k=0; do k+=5;cout ;while (k19); while(k- 0)cout*;执行上面的语句序列输出字符和*的个数分别是_ 。(分数:2.00)A.4和 20B.5和 20C.4和
14、21D.5和 2129.数据的存储结构是指_ 。(分数:2.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示30.下列对于线性链表的描述中正确的是_ 。(分数:2.00)A.存储空间不一定是连续的,且各元素的存储顺序是任意的B.存储空间不一定是连续的,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的31.下面是关于派生类声明的开始部分,其中正确的是_ 。(分数:2.00)A.class virtual B:public AB.virtu
15、al class B:public AC.class B:public A virtualD.class B:virtual public A32.针对数组定义 int data 10;,下列表述中错误的是_ 。(分数:2.00)A.用*data 可访问到数组的首元素B.用 data 9可访问到数组的末元素C.用 data 10访问数组元素会超出数组边界D.data共有 10个元素,其首元素是 data133.有如下程序: #include iostream using namespace std; class Base protected: int i; public: int j; ; c
16、lass Derived:public Base int m; public: int n; ; int main() Derived d; d.i=0;/1 d.j=0;/2 d.m=0;/3 d.n=0;/4 return 0; 其中主函数中有两个赋值语句有错,这两个错误的赋值语句是_ 。(分数:2.00)A.1和2B.1和3C.2和3D.2和4)34.下列关于运算符重载的描述中,正确的是_ 。(分数:2.00)A.运算符重载可以改变操作数的个数B.运算符重载可以改变运算符的优先级C.运算符重载可以改变运算符的结合性D.运算符重载可以使运算符实现特殊功能35.已知 n是一个 int 型变量
17、,下列语句中错误的是_ 。(分数:2.00)A.long *p=new long ;B.long p;C.long *p=new long (;D.long p10二、B填空题/B(总题数:12,分数:29.00)36.某二叉树中度为 2的结点有 18个,则该二叉树中有U 【1】 /U个叶子结点。(分数:2.00)填空项 1:_37.在面向对象方法中,类的实例称为U 【2】 /U。(分数:2.00)填空项 1:_38.诊断和改正程序中错误的工作通常称为U 【3】 /U。(分数:2.00)填空项 1:_39.在关系数据库中,把数据表示成二维表,每一个二维表称为U 【4】 /U。(分数:1.00)
18、填空项 1:_40.问题处理方案的正确而完整的描述称为U 【5】 /U。(分数:2.00)填空项 1:_41.在下面函数的横线处填上适当的内容使该函数能够利用递归方法求解字符串 str的长度(不得使用系统提供的字符串处理函数)。 int GetLen(char *str if (U 【6】 /U) return U【17】 /U; else return 1+GetLen (str+1); (分数:4.00)填空项 1:_42.下列程序的输出结果是U 【8】 /U。 #include iostream #include cstring using namespace std; void fun
19、(const char *s, char int main() char str=“ABCDE“; char ch=str1; fun(str, ch); coutch; return 0; (分数:2.00)填空项 1:_43.在下向程序和横线处填上适当的内容,使程序执行后的输出结果为 1/2005。 #include iostream using namespace std; class Date public: Date(int m=1,int y=0):month(m),year(y) void Print() coutmonth“/“yearend 1; U 【9】 /Uoperat
20、or+(eonst Date private: int month,year; ; U 【10】 /Uoperator+(const Date year=d1 .year+d2.year; month=d1. month+d2.month; year+=(month-1 )/12; month=(month-1 )% 12+1; return Date(month,year); void main() Date d1 (3,2004),d2,d3(10); d2=d3+d1; d2,Print(); (分数:4.00)填空项 1:_44.在下面程序的横线处填上适当的内容,使程序执行后的输出结果
21、为 ABCD。 #include iostream using namespace std; class A public: A() coutA; ; class B:U 【11】 /U public:B() coutB; ; class C:U 【12】 /U public: C()coutC; ; class D:public B,public C public:D() coutD; ; void main() D obj; (分数:4.00)填空项 1:_45.Staff类含有血型数据成员 ID,两个 Staff 对象相等是指它们的 ID 相同。下面的函数重载了运算符“=”,它用来判断两
22、个 Staff 对象是否相等,相等时返回 true,否则返回 false。请将空格处缺失部分补充完整。 boo Staffi: Staff =(const Smff for(int i=1 ;in;i+) if(aim)U 【14】 /U return m; (分数:2.00)填空项 1:_47.下面程序的执行结果是U 【15】 /U。 #include iostream #include iomanip using namespace std; void main() coutsetfill(x)setw(10); cout“Hello“end1;(分数:2.00)填空项 1:_二级 C+笔
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 43 答案 解析 DOC
