【计算机类职业资格】C++语言笔试-18及答案解析.doc
《【计算机类职业资格】C++语言笔试-18及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】C++语言笔试-18及答案解析.doc(34页珍藏版)》请在麦多课文档分享上搜索。
1、C+语言笔试-18 及答案解析(总分:100.00,做题时间:90 分钟)一、单项选择题(总题数:40,分数:40.00)1.下列叙述中正确的是_。A栈是“先进先出”的线性表B队列是“先进后出”的线性表C循环队列是非线性结构D有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(分数:1.00)A.B.C.D.2.支持子程序调用的数据结构是_。A栈 B树 C队列 D二叉树(分数:1.00)A.B.C.D.3.某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是_。A10 B8 C6 D4(分数:1.00)A.B.C.D.4.下列排序方法中,最坏情况下比较次数最少的是_。A冒泡排序
2、 B简单选择排序 C直接插入排序 D堆排序(分数:1.00)A.B.C.D.5.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。A编译程序 B操作系统 C教务管理系统 D汇编程序(分数:1.00)A.B.C.D.6.下面叙述中错误的是_。A软件测试的目的是发现错误并改正错误B对被调试的程序进行“错误定位”是程序调试的必要步骤C程序调试通常也称为 DebugD软件测试应严格执行测试计划,排除测试的随意性(分数:1.00)A.B.C.D.7.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是_。A提高耦合性降低内聚性有利于提高模块的独立性B降低耦
3、合性提高内聚性有利于提高模块的独立性C耦合性是指一个模块内部各个元素间彼此结合的紧密程度D内聚性是指模块间互相连接的紧密程度(分数:1.00)A.B.C.D.8.数据库应用系统中的核心问题是_。A数据库设计 B数据库系统设计 C数据库维护 D数据库管理员培训(分数:1.00)A.B.C.D.9.有两个关系 R,S 如下:RABCa32b01c21SABa3b0c2由关系 R 通过运算得到关系 S,则所使用的运算为_。A选择 B投影 C插入 D连接(分数:1.00)A.B.C.D.10.将 E-R 图转换为关系模式时,实体和联系都可以表示为_。A属性 B键 C关系 D域(分数:1.00)A.B.
4、C.D.11.字面常量 42、4.2、42L 的数据类型分别是_。Along、double、int Blong、float、int Cint、double、long Dint、float、long(分数:1.00)A.B.C.D.12.执行下列语句段后,输出字符“*”的个数是_。for(int i=50;i1;-i)cout*;A48 B49 C50 D51(分数:1.00)A.B.C.D.13.有如下程序段:int i=0,j=1;nt /r=j;/int*p=i;/*p=;/其中会产生编译错误的语句是_。A B C D(分数:1.00)A.B.C.D.14.必须用一对大括号括起来的程序段是
5、_。A switch 语句中的 case 标号语句 Bif 语句的分支C循环语句的循环体 D函数的函数体(分数:1.00)A.B.C.D.15.下列符号中不属于 C+关键字的是_。Afriend Bnamespace Ccontinue Dbyte(分数:1.00)A.B.C.D.16.下列有关函数重载的叙述中,错误的是_。A函数重载就是用相同的函数名定义多个函数B重载函数的参数列表必须不同C重载函数的返回值类型必须不同D重载函数的参数可以带有默认值(分数:1.00)A.B.C.D.17.下列有关运算符重载的叙述中,正确的是_。A运算符重载是多态性的一种表现BC+中可以通过运算符重载创造新的运
6、算符CC+中所有运算符都可以作为非成员函数重载D重载运算符时可以改变其结合性(分数:1.00)A.B.C.D.18.在下列原型所示的 C+函数中,按“传值”方式传递参数的是_。Avoid f1(int x); Bvoid f2(int*x);Cvoid B(const int*x); Dvoid f4(int(分数:1.00)A.B.C.D.19.将前缀运算符“-”重载为非成员函数,下列原型中能正确用于类中说明的是_。ADecr BDecr operator-(DecrCfriend Decr Dfriend Decr operator-(Decr(分数:1.00)A.B.C.D.20.有如下
7、函数定义:void func(int a,intb+;若执行代码段:int x=0,y=1;func(x,y);则变量 x 和 y 的值分别是_。A0 和 1 B1 和 1 C0 和 2 D1 和 2(分数:1.00)A.B.C.D.21.下列运算符中,不能被重载的是_。Aclass Apublic:static int a;void init()a=1;A(int a=2)init();a+;int A:a=0;A obj;int main()coutobj.a;return 0;运行时输出的结果是_。A0 B1 C2 D3(分数:1.00)A.B.C.D.25.以下关键字不能用来声明类的访
8、问权限的是_。Apublic Bstatic Cprotected Dprivate(分数:1.00)A.B.C.D.26.下列关于派生类构造函数和析构函数的说法中,错误的是_。A派生类的构造函数会隐含调用基类的构造函数B如果基类中没有缺省构造函数,那么派生类必须定义构造函数C在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数(分数:1.00)A.B.C.D.27.派生类的成员函数不能访问基类的_。A公有成员和保护成员 B公有成员C私有成员 D保护成员(分数:1.00)A.B.C.D.28.有如下类定义:class
9、 AAint a;Public:AA(int n=0):a(n);class BB:public AApublic:BB(int n)_;其中横线处的缺失部分是_。A:a(n) B:AA(n) Ca(n); Da=n;(分数:1.00)A.B.C.D.29.有如下程序:#includeiostreamusing namespace std;class testprivate:int a;public:test()cout“constructor“endl;test(int a)coutaendl;test(const test cout“copy constructor“endl;test()
10、cout“destructor“endl;int main()test A(3);return 0;执行这个程序的输出结果是_。A3BconstructordestructorCcopy constructordestructorD3destructor(分数:1.00)A.B.C.D.30.若有如下类声明:class MyClasspublic:MyClass()cout1;执行下列语句MyClass a,b2,*p2;程序的输出结果是_。A11 B111 C1111 D11111(分数:1.00)A.B.C.D.31.有如下程序:#includeiostreamusing namespac
11、e std;class Pointpublic:static int number;public:Point()number+;Point()number-;int Point:number=0;int main()Point*ptr;Point A,B;Point*ptr_point=new Point3;ptr=ptr_point;Point C;coutPoint:numberendl;deleteptr;return 0;执行这个程序的输出结果是_。A3 B4 C6 D7(分数:1.00)A.B.C.D.32.有如下程序:#includeiostreamusing namespace
12、std;class Samplefriend long fun(Sample s);public:Sample(long a)x=a;private:long x;long fun(Sample s)if(s.x2)return 1;return s.x*fun(Sample(s.x-1);int main()int sum=0;for(int i=0;i6;i+)sum+=fun(Sample(i);coutsum;return 0;执行这个程序的输出结果是_。A120 B16 C154 D34(分数:1.00)A.B.C.D.33.有如下程序:class Basepublic:int da
13、ta;class Derived1:public Base;class Derived2:protected Base;int main()Derived1 d1;Derived2 d2;d1.data=0;/d2.data=0;/return 0;下列关于程序编译结果的描述中,正确的是_。A皆无编译错误 B有编译错误,无编译错误C无编译错误,有编译错误 D皆有编译错误(分数:1.00)A.B.C.D.34.有如下程序:#includeiostreamusing namespace std;class Apublic:A(int i)x=i;void dispa()coutx,;pnvate:
14、int x;class B:public Apublic:B(int i):A(i+10)x=i;void dispb()dispa();coutxendl;private:int x:;int main()B b(2);b.dispb();return 0;执行这个程序的输出结果是_。A10,2 B12,10 C12,2 D2,2(分数:1.00)A.B.C.D.35.有如下程序:#includeiostreamusing namespace std;class Musicpublic:void setTitle(char*str)strcpy(title,str);protected:ch
15、ar type10;pnvate;char title20;:class Jazz:public Musicpublic:void set(char*str)strcpy(type,“Jazz“);/strcpy(title,str);/;下列叙述中正确的是_。A程序编译正确 B程序编译时语句出错C程序编译时语句出错 D程序编译时语句和都出错(分数:1.00)A.B.C.D.36.有如下程序:#includeiostreamusing namespace std;class Bookpublic:Book(char*t=“ “)strcpy(title,t);_pnvate:char titl
16、e40;class Novel:public Bookpublic:Novel(char*t=“ “):Book(t)char*Category()constretum“文学“;int main()Book*pb;pb=new Novel();coutpb-Category();delete pb;retum 0;若程序运行时输出结果是“文学“,则横线处缺失的语句是_。Achar*Category(); Bchar*Category()const;Cvirtual char*Category()const; Dvirtual char*Category()const=0;(分数:1.00)A.
17、B.C.D.37.如下函数模板:template class T T square(T x) return x*x;其中 T 是_。A函数形参 B函数实参 C模板形参 D模板实参(分数:1.00)A.B.C.D.38.下列函数模板的定义中,合法的是_。Atemplate typename T T abs(T x) return x0? -x:x;Btemplate class T T abs(T x) return x0? -x:x;Ctemplate T class T abs(T x)return x0? -x:x;Dtemplate T abs(T x)return x0? -x:x;(
18、分数:1.00)A.B.C.D.39.在 C+中,cin 是一个_。A类 B对象 C模板 D函数(分数:1.00)A.B.C.D.40.下列控制格式输入/输出的操作符中,能够设置浮点数精度的是_。Asetprecision Bsetw Csetfill Dshowpoint(分数:1.00)A.B.C.D.二、操作题(总题数:3,分数:60.00)41.请使用 VC6 或使用答题菜单打开考生文件夹 proj1 下的工程 projl,该工程含有一个源程序文件proj1.cpp。其中位于每个注释“/ERROR *found*”之后的一行语句存在错误。请改正这些错误,使程序的输出结果为:The va
19、lue is 10注意:只修改注释“/ERROR *found*”的下一行语句,不要改动程序中的其他内容。/proj1.cpp#include iostreamusing namespace std;class MyClassint value;public:/ERROR*found*void MyClass (int val):value(val)int GetValue()constreturn value;void SetValue(int val);/ERROR*found*inline void SetValue(int val)value int main ()MyClass ob
20、j(0);obj.SetValue(10);/ERROR*found*下列 i 语句功能是输出 obj 的成员 value 的值cout“The value is“obj.valueendl;return 0;(分数:20.00)_42.请使用 VC6 或使用答题菜单打开考生文件夹 proj2 下的工程 proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了 Stack 类和 ArrayStack 类。Stack 是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack 为抽象类,它只定义了栈的用户接口,如下所示:公有成员函数 功能push 入栈:在栈顶位置添加一个元
21、素pop 退栈:取出并返回栈顶元素ArrayStack 是 Stack 的派生类,它实现了 Stack 定义的接口。ArrayStack 内部使用动态分配的字符数组作为栈元素的存储空间。数据成员 maxSize 表示的是栈的最大容量,top 用于记录栈顶的位置。成员函数push 和 pop 分别实现具体的入栈和退栈操作。请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为:a,b,cc,b,a注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“/*found*”。/proj2.cpp#include iostreamusing nam
22、espace std;class Stack public:virtual void push (char c)=0;virtual char pop()=0;class ArrayStack:public Stackchar*p;int maxSize;int top;public:ArrayStack(int s)top=0;maxSize=s;/*found*p=_;ArrayStack()/*found*_;void push (char c)if (top=maxSize) cerr“Overflow! /n“;return;/*found*_;top+;char pop ()if
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 语言 笔试 18 答案 解析 DOC
