【计算机类职业资格】二级C++笔试-7及答案解析.doc
《【计算机类职业资格】二级C++笔试-7及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-7及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-7 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.在结构化方法中,软件开发阶段用数据流程图(DFD) 作为描述工具的是( )。(分数:2.00)A.需求分析B.详细设计C.程序编码D.可行性分析2.下面关于运算符重载的描述中,正确的是( )。(分数:2.00)A.一元运算符只能作为成员函数来重载B.运算符重载作为成员函数时,如果参数表中无参数,重载的是一元运算符C.二元运算符重载为非成员函数时,参数表中有一个参数D.C+中可以重载所有的运算符3.虚函数( )是可以不同的。(分数:2.00)A.函数名B.参数个数C.返
2、回类型D.函数体内容4.下面关于 this 指针的说法中错误的是( )。(分数:2.00)A.this 指针是一种隐含指针,存在于每个类的非静态成员函数中B.它是成员函数所属对象的指针C.通过 this.成员变量的形式可以访问类中的数据成员D.成员函数访问类中的数据成员格式可写成:this-成员变量5.下面有关纯虚函数的表述中正确的是( )。(分数:2.00)A.含有纯虚函数的类不可能是派生类B.纯虚函数是没有给出显现版本(即无函数体定义)的虚函数C.派生类必须实现基类的纯虚函数D.纯虚函数的声明总是以“=0”结束6.类定义如下: class TestClass public: TestCla
3、ss ()cout1; ; 则执行语句 TestClass a,b2 ,*p2;后,程序的输出结果是( )。(分数:2.00)A.11B.111C.1111D.111117.以下模板定义: templateclass T T fun(T x,T y)return x *x+y*y; 下面对 fun 的调用中错误的是( )。(分数:2.00)A.funint(2,6.5)B.fun(2,6.5)C.fun(2,6)D.fun(2,6)8.若已知一个栈的入栈序列是 1、2、3、n,其输出序列是 p1、p2、p3、pn,则 pi 为( )。(分数:2.00)A.iB.n-iC.n-i+1D.不确定9
4、.有如下程序: #includeiostream using namespace std; class TestClass public: TestClass()cout“default constructor/n“; TestClass(const TestClass ; TestClass userCode(TestClass b)TestClass c(b);return c; int main() TestClass a,d; cout“calling userCode()/a“; d=userCode(a); return 0; 在执行过程中,构造函数 TestClass()和 Te
5、stClass(const TestClass (分数:2.00)A.delete q;B.delete q0;C.deleteq;D.delete*q;11.下面有关内联函数的叙述中,正确的是( )。(分数:2.00)A.内联函数体的最后一条语句必须是 return 语句B.内联函数必须通过关键字 inline 来定义C.内联函数通过编译器来实现的D.内联函数在调用时发生控制转移12.下面的说法中错误的是( )。(分数:2.00)A.公有继承的基类中 public 成员在派生类中仍是 publicB.私有继承的基类中 public 成员在派生类中是 privateC.公有继承的基类中 pri
6、vate 成员在派生类中仍是 privateD.保护继承的基类中 public 成员在派生类中是 protected13.若磁盘上已存全路径文件名为 c:/ctest/test.txt 的文件,下面语句中不能打开该文件的是( )。(分数:2.00)A.ifstream *pFile=new ifstream(“c:/ctest/test.txt“);B.ifstream file(“c:/ctest/test.txt“);C.ifstream file;file.open(“c:/ctest/test.txt“);D.ifstream file(“c:/etest/test.txt“);14.
7、下面的符号中不属于 C+关键字的是( )。(分数:2.00)A.friendB.byteC.continueD.namespace15.有如下程序: #includeiostream #includeiomanip using namespace std; class TestClass public; TestClass ()coutA; TestClass(char C)coutc;) TestClass ()coutB; ; int main() TestClass p1, *p2; p2=new TestClass(X); delete p2; return 0; 执行这个程序的结果是
8、( )。(分数:2.00)A.ABXB.ABXBC.AXBBD.AXB16.在进行了任何 C+流的操作后,都可以用 C+流的有关成员函数检测流的状态;其中( )函数名只能用于检测输入操作。(分数:2.00)A.bad()B.good()C.fail()D.eof()17.在软件开发中,下面不属于设计阶段的任务的是( )。(分数:2.00)A.数据结构设计B.定义模块算法C.给出系统模块结构D.定义需求并建立系统模型18.有三个关系 R、S 和 T 如下: (分数:2.00)A.并B.自然连接C.笛卡尔积D.交19.执行如下程序将输出( ): #includeiostream using nam
9、espace std; class Base public: Base()cout“BB“;fun(); void fun ()tout“Brim“; ; class Derived:public Base public: Derived()cout“DD“; void fun ()cout“Dfun“; ; int main()Derived d;return 0;(分数:2.00)A.DDB.BBDfunDDDfunC.BBBfunDDD.DDBBBfun20.由于常对象不能被更新,所以( )。(分数:2.00)A.利用常对象可以调用任何不改变对象值的成员函数B.利用常对象只能调用静态成员
10、函数C.常对象的成员都是常成员D.利用常对象只能调用它的常成员函数21.下列叙述中,正确的选项是( )。(分数:2.00)A.数据库设计是指设计数据库管理系统B.数据库技术的根本目标是要解决数据共享的问题C.数据库是一个独立的系统,不需要操作系统的支持D.数据库系统中,数据的物理结构必须与逻辑结构一致22.函数定义如下: void fun(int x,inty+; 如果执行代码段: int a=0,b=1; fun(a,b); 则变量 a 和 b 的值分别是( )。(分数:2.00)A.0 和 1B.0 和 2C.1 和 1D.1 和 223.下列选项中,作为是数据库系统的核心的是( )。(分
11、数:2.00)A.数据库B.数据模型C.软件工具D.数据库管理系统24.在“intb3=1,3,8) ,4,5,7,0;“中,b22的值是( )。(分数:2.00)A.0B.7C.1D.825.下面表示引用的方法中正确的是( )。已知:int n=10;(分数:2.00)A.int B.TestClass operator *(double,MyClass);C.TestClass operator *(double,double);D.TestClass operator *(MyClass,MyClass);27.有如下程序; #include iostream using namespa
12、ce std; class Base public; Base(inti)x=i; void dispa0coutx,; private; int x; ; class Derived;public Base public; Derived(int i);Base(i+10) x=i;) void dispb()dispa();coutxend1; private; int x; ; int main() Derived b(2) ; b.dispb(); return 0; 运行的结果是( )。(分数:2.00)A.2,2B.12,2C.12,10D.10,228.下面关于 C+的特点中描述
13、不正确的是( )。(分数:2.00)A.C+是 C 语言的超集,大多数 C 程序在不用修改的情况下就可以在 C+的集成环境中运行或调试B.C+是面向对象的程序设计语言C.C+中没有结构化编程的语句D.C+的执行效率很高29.下面的程序输出结果是( )。 #includeiostream using namespace std; void add() static int x; x+; coutx; int main() for(int i=0;i3;i+) add(); return 0; (分数:2.00)A.111B.123C.222D.33330.以下数据结构中,不属于线性数据结构的是(
14、 )。(分数:2.00)A.队列B.线性表C.二叉树D.栈31.下面的描述中,不属于面向对象方法的是( )。(分数:2.00)A.多态B.继承C.类D.过程调用32.在一棵二叉树上,第 4 层最多有几个结点( )。(分数:2.00)A.8B.16C.32D.1533.任何关系数据库系统都应该支持( )。 、实体完整性约束 、参照完整性约束 、用户自定义完整性约束(分数:2.00)A.仅B.仅、C.都是D.都不是34.下面关于友元的说法中错误的是( )。(分数:2.00)A.友元函数可以访问类中的所有数据成员B.友元函数不可以在类内部定义C.友元类的所有成员函数都是另一个类友元函数D.友元函数必
15、须声明在 public 区35.执行下面语句后,输出字符“#“的个数是( )。 for(int i=50;i;-i)cout#;(分数:2.00)A.48B.49C.50D.51二、B填空题/B(总题数:15,分数:30.00)36.数据的逻辑结构在计算机存储空间中的存放形式称为数据的 1。(分数:2.00)填空项 1:_37.如果一个班主任可管理多个班级,而一个班级只被一个班主任管理,则实体“班主任”与实体“班级”之间存在 1 联系。(分数:2.00)填空项 1:_38.若按功能划分,软件测试的方法可以分为白盒测试方法和 1 测试方法。(分数:2.00)填空项 1:_39.关系模型的完整性规
16、则是对关系的某种约束条件,包括实体完整性、 1 和自定义完整性。(分数:2.00)填空项 1:_40.在关系数据库中,每一个二维表称为 1。(分数:2.00)填空项 1:_41.含有纯虚函数的类称为 1。(分数:2.00)填空项 1:_42.假定 q 所指对象的值为 25,q+1 所指对象的值为 46,则执行“( *q)+;“语句后,q 所指对象的值为 1。(分数:2.00)填空项 1:_43.类继承中,缺省的继承方式是 1。(分数:2.00)填空项 1:_44.有如下程序: #includeiostream using namespace std; class TestClass int k
17、; public: TestClass(int x=1):k(x) TestClass Ocoutk; ; int main() TestClass a=TestClass(3),TestClass(3),TestClass(3); TestClass *p=new TestClass2; delete p; return (): 这个程序的输出结果是_。(分数:2.00)填空项 1:_45.执行下列程序后的输出结果是_。 #includeiostream using namespace std; int main() int x=3; int y+; coutxend1; return 0;
18、 (分数:2.00)填空项 1:_46.定义字符指针 char *str=“hello“,已知 sizeof(str)=4,则 strlen(str)= 1。(分数:2.00)填空项 1:_47.有如下程序:#includeiostreamusing namespace std;class Basepublic:Base ()cout“Base“;class Derived:public Basepublic:Derived()cout“Derived“;intmain()Derived derived;Base *p;P=return 0;执行上面程序的输出是_。(分数:2.00)填空项 1
19、:_48.在 TestClass 类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。_TestClass:operator=(const TestClassvalue=rhs.value;return *this;(分数:2.00)填空项 1:_49.若需要把一个函数“void fun1:“定义为一个类 TestClass 的友元函数,则应在类 Testclass 的定义中加入一条语句: 2。(分数:2.00)填空项 1:_50.已知递归函数 fun 的定义如下:int fun(int n)if(n=1) return 1;/递归结束情况else return n *fun(n
20、-2);/递归则函数调用语句 fun(5) 的返回值是_。(分数:2.00)填空项 1:_二级 C+笔试-7 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.在结构化方法中,软件开发阶段用数据流程图(DFD) 作为描述工具的是( )。(分数:2.00)A.需求分析 B.详细设计C.程序编码D.可行性分析解析:解析 软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流图和数据字典。2.下面关于运算符重载的描述中,正确的是( )。(分数:2.00)A.一元运算符只能作为成员函数来重载B.运算符
21、重载作为成员函数时,如果参数表中无参数,重载的是一元运算符 C.二元运算符重载为非成员函数时,参数表中有一个参数D.C+中可以重载所有的运算符解析:解析 一元运算符可以作为全局函数重载,所以选项 A) 错误。二元运算符重载为非成员函数时,参数表中有两个参数,所以选项 C)也错误。C+中有些运算符不能被重载,如域运算符(:),条件运算符(?:)等,具体哪些运算符不能被重载与编译器有关,所以选项 D) 错误。3.虚函数( )是可以不同的。(分数:2.00)A.函数名B.参数个数C.返回类型D.函数体内容 解析:解析 在 C+中的虚函数是一种单界面多实现版本的实现方法,即函数名、返回类型、函数类型和
22、个数顺序完全相同,但函数体内容可以完全不同。4.下面关于 this 指针的说法中错误的是( )。(分数:2.00)A.this 指针是一种隐含指针,存在于每个类的非静态成员函数中B.它是成员函数所属对象的指针C.通过 this.成员变量的形式可以访问类中的数据成员 D.成员函数访问类中的数据成员格式可写成:this-成员变量解析:解析 this 指针是一个隐含指针,它隐含于每个类的非静态成员函数中。this 指针是成员函数所属的对象指针,它指向当前类的对象地址。通过 this 指针访问当前对象成员有两种方式:(*this).成员,this-成员。5.下面有关纯虚函数的表述中正确的是( )。(分
23、数:2.00)A.含有纯虚函数的类不可能是派生类B.纯虚函数是没有给出显现版本(即无函数体定义)的虚函数C.派生类必须实现基类的纯虚函数D.纯虚函数的声明总是以“=0”结束 解析:解析 C+中的某些情况下基类无法确定一个虚函数的具体操作方法或内容,只能靠派生类来提供各个具体的实现版本。基类中必须靠派生类提供重定义的虚函数叫做纯虚函数。为了将一个虚函数声明为一个纯虚函数,需要在结束符号前加上=0;若派生没有重定义纯虚函数,这个函数仍然是纯虚函数。6.类定义如下: class TestClass public: TestClass ()cout1; ; 则执行语句 TestClass a,b2 ,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 答案 解析 DOC
![提示](http://www.mydoc123.com/images/bang_tan.gif)