您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 2008年9月计算机等级考试及答案
2008年9月计算机等级考试及答案二级C++笔试试题一、选择题(每小题2分,共70分)(1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是(B)。A)123456ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBA(2)下列叙述中正确的是(D)。A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定(3)在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是(C)。A)O(n)B)O(n2)C)O(log2n)D)O(nlog2n)(4)下列叙述中正确的是(A)。A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间(5)数据流图中带有箭头的线段表示的是(D)。A)控制流C)模块调用B)事件驱动D)数据流(6)在软件开发中,需求分析阶段可以使用的工具是(B)。A)N-S图B)DFD图(数据流图)C)PAD图D)程序流程图(7)在面向对象方法中,不属于“对象”基本特点的是(A)。A)一致性B)分类性C)多态性D)标识唯一性(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是(B)。A)一对一B)一对多C)多对一D)多对多(9)在数据管理技术发展的三个阶段中,数据共享最好的是(C)。A)人工管理阶段B)文件系统阶段C)数据库系统阶段D)二个阶段相同(10)有三个关系R、S和T如下:RSTABBCABCm113m13n235由关系R和S通过运算得到关系T,则所使用的运算为(D)。A)笛卡尔积B)交C)并D)自然连接(11)在下列原型所示的C++函数中,按“传值”方式传递参数的是(A)。A)voidf1(intx);B)voidf2(int*x);C)voidf3(constint*x);D)voidf4(int&x);(12)在C++中,编译系统自动为一个类生成缺省构造函数的条件是(C)。A)该类没有定义任何有参构造函数B)该类没有定义任何无参构造函数C)该类没有定义任何构造函数D)该类没有定义任何成员函数(13)在一个派生类的成员函数中,试图调用其基类的成员函数“voidf();”,但无法通过编译。这说明(A)。A)f()是基类的私有成员C)派生类的继承方式为私有B)f()是基类的保护成员D)派生类的继承方式为保护(14)下列关于运算符重载的叙述中,错误的是(B)。A)有的运算符可以作为非成员函数重载B)所有的运算符都可以通过重载而被赋予新的含义C)不得为重载的运算符函数的参数设置默认值D)有的运算符只能作为成员函数重载(15)下列关于模板的叙述中,错误的是(C)。A)调用模版函数时,在一定条件下可以省略模板实参B)可以用int、double这样的类型修饰符来声明模版参数C)模板声明中的关键字class都可以用关键字typename替代D)模板的形参表中可以有多个参数(16)要利用C++流进行文件操作,必须在程序中包含的头文件是(B)。A)iostreamB)fstreamC)strstreamD)iomanip(17)下列字符串中不能作为C++标识符使用的是(D)。A)WHILEB)userC)_lvarD)9stars(18)下列语句中错误的是(A)。A)constinta;B)constinta=10;C)constint*point=0;D)constint*point=newint(10);(19)有如下程序:#includeiostreamusingnamespacestd;intmain(){intsum;for(inti=0;i6;i+=3){sum=i;for(intj=i;j6;j++)sum+=j;}coutsumend1;return0;}运行时的输出结果是(D)。A)3B)10C)12D)15(20)下列语句中,正确的是(A)。A)char*myString=Hello-World!;B)charmyString=Hello-World!;C)charmyString[11]=Hello-World!;D)charmyString[12]=Hello-World!;(21)若已经声明了函数原型“voidfun(inta,doubleb=0.0);”,则下列重载函数声明中正确的是(C)。A)voidfun(inta=90,doubleb=0.0);B)intfun(inta,doubleB);C)voidfun(doublea,intB);D)boolfun(inta,doubleb=0.0);(22)有如下程序:#includeiostreamusingnamespacestd;classSample{public:Sample(){}~Sample(){cout'*';}};intmain(){Sampletemp[2],*pTemp[2];return0;}执行这个程序输出星号(*)的个数为(B)。A)1B)2C)3D)4(23)下列选项中,与实现运行时多态性无关的是(A)。A)重载函数B)虚函数C)指针D)引用(24)下列运算符函数中,肯定不属于类Value的成员函数的是(B)。A)Valueoperator+(Value);B)Valueoperator-(Value,Value);C)Valueoperator*(int);D)Valueoperator/(Value);(25)下列模板声明中,有语法错误的是(D)。A)templatetypenameTTfun(Tx){returnx;}B)templatetypenameTTfun(Tx,intn){returnx*n;}C)templateclassTTfun(T*p){return*p;}D)templateclassTTclassA{Tn;};(26)在语句“cout'A';”中,cout是(B)。A)类名B)对象名C)函数名D)C++的关键字(27)有如下程序:#includeiostreamusingnamespacestd;classMyClass{public:MyClass(inti=0){cout1;}MyClass(constMyClass&x){cout2;}MyClass&operator=(constMyClass&x){cout3;return*this;}~MyClass(){cout4;}};intmain(){MyClassobj1(1),obj2(2),obj3(obj1);return0:}运行时的输出结果是(A)。A)112444B)11114444C)121444D)11314444(28)有如下程序:#includeiostreamusingnamespacestd;classMyClass{public:MyClass(intx):val(x){}voidSet(intx){val=x;}voidPrint()const{coutval=val'\t';}private:intval;};intmain(){constMyClassobj1(10);MyClassobj2(20);obj1.Print();//语句1obj2.Print();//语句2obj1.Set(20);//语句3obj2.Set(30);//语句4return0;}其主函数中错误的语句是(C)。A)语句1B)语句2C)语句3D)语句4(29)在类声明中,紧跟在“public:”后声明的成员的访问权限是(B)。A)私有B)公有C)保护D)默认(30)对于通过公有继承定义的派生类,若其成员函数可以直接访问基类的某个成员,说明该基类成员的访问权限是(D)。A)公有或私有B)私有C)保护或私有D)公有或保护(31)定义派生类时,若不使用关键字显式地规定采用何种继承方式,则默认方式为(A)。A)私有继承B)非私有继承C)保护继承D)公有继承(32)建立一个有成员对象的派生类对象时,各构造函数体的执行次序为(C)。A)派生类、成员对象类、基类B)成员对象类、基类、派生类C)基类、成员对象类、派生类D)基类、派生类、成员对象类(33)如果表达式a=b中的“=”是作为非成员函数重载的运算符,则可以等效地表示为(C)。A)a.operator=(b)B)b.operatotr=(a)C)operator=(a,b)D)operator=(b,a)(34)当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为(D)。A)iosbase::inB)ios_base::binaryC)ios_base::in|ios_base::outD)ios_base::out(35)在一个抽象类中,一定包含有(B)。A)虚函数B)纯虚函数C)模板函数D)重载函数二、填空题(每空2分,共30分)(1)对下列二叉树进行中序遍历的结果_DBXEAYFZC_。(2)按照软件测试的一般步骤,集成测试应在__单元__测试之后进行。(3)软件工程三要素包括方法、工具和过程,其中,__过程__支持软件开发的各个环节的控制ABCDEFXYZ和管理。(4)数据库设计包括概念设计、_逻辑设计_和物理设计。(5)在二维表中,元组的__分量__不能再分成更小的数据项。(6)当使用关键字__void__作为函数返回类型时,该函数不返回任何值。(7)已知数组a中有n个元素,下列语句将数组a中从下标x1开始的k个元素移动到从下标x2开始的k个元素中,其中0=x1x2n,x2+kn,请将下列语句补充完整。for(inti=x1+k-1;i=x1;i--)a[_x2+k-1_]=a[i];(8)有如下程序:#includeiostreamusingnamespacestd;intfun1(intx){return++x;}intfun2(int&x){return++x;}intmain(){intx=1,y=2;y=fun1(fun2(x));coutx','y;return0:}程序的输出结果是_2,3_。(9)有如下程序:#includeiostreamusingnamespacestd;classpumpkin{public:pumpkin(){++count;}~pumpkin(){--count;}staticvoidtotal_count(){coutcountpumpkin(s)endl;}private:staticintcount;};intpumpkin::count=0;intmain(){pumpkinpl[10];pumpkin::total_count();return0;}这个程序的输出结果是__10pumpkin(s)__。(10)有如下递归函数:intFun(intn){if(n=1)return1;__elsereturnn*Fun(n-1);__}请补充完整,使得函数Fun能够正确计算形参n的阶乘。(11)请在下列程序中的空格处填写正确的语句:classSample{public:Sample(){}~Sample(){}voidSetData(intdata){//将Sample类成员变量data设置成形参的值__Sample::data=data__//注意形参与成员同名}private:intdata;};(12)有如下类定义,请将Sample类的拷贝构造函数补充完整。classSample{publi
本文标题:2008年9月计算机等级考试及答案
链接地址:https://www.777doc.com/doc-3082956 .html