《计算机二级C++试题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
一、选择题每小题纷,共7晚)下列各题2、6、。、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。①下列关于栈的叙述中正确的是DA在栈中只能插入数据B在栈中只能删除数据。栈是先进先出的线性表D栈是先进后出的线性表②下列数据结构中,插入时不需要移动其他元素的是D合有序线性链表B无序线性链表。栈和队列D以上三种都是6)下列叙述中正确的是B目同一个数据结构不管是采用何种存储方式,其所占的存储容量一定是相同的6同一个数据结构采用不同的存储方式,其所占的存储容量一般是不同的。同一个有序表不管是采用何种存储方式,都可以使用对分查找法D同一个有序表不管是采用何种存储方式,都不能使用对分查找法⑷数据结构分为逻辑结构和存储结构,下列数据结构中不属于存储结构的是CA线性链表B二叉链表。栈与队列D循环队列(3下列数据结构中,能直接使用堆排序法进行排序的是A目完全二叉树B线性链表。带链的栈D带链的队列⑥下列关于队列的叙述中正确的是B片只能插入元素,而不能删除元素B可以插入元素,也能删除元素。插入元素时需要移动队列中所有的元素D删除元素时需要移动队列中所有的元素⑦下列叙述中正确的是C为在模块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息6在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节。在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则
1D在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法@数据独立性是数据库技术的重要特点之一。所谓数据独立性是指D目数据与程序独立存放B不同的数据被存放在不同的文件中0不同的数据只能被对应的应用程序所使用D以上三种说法都不对⑨用树形结构来表示实体之间联系的模型称为BA关系模型B层次模型。网状模型D格式化模型(1。下列叙述中正确的是AA用E-R图能够表示实体集之间一对一的联系、一对多的联系、多对多的联系B用E-R图只能表示实体集之间一对一的联系0用E-R图只能表示实体集之间一对多的联系D用E-R图表示的概念数据模型只能转换为关系数据模型11)以下对(ZGH语言函数的描述中,正确的是AAC程序由一个或一个以上的函数组成BC函数既可以嵌套定义又可以递归调用。函数必须有返回值,否则不能使用函数D&毋呈序中调用关系的所有函数必须放在同一个程序文件中(19以下正确的描述为CA每个GH语言程序必须在开头用预处理命令:6预处理命令必须位于GH源程序的首部。在GH语言中预处理命令都以“#开头D语言的预处理命令只能实现宏定义和条件编译的功能(15下列叙述中正确的是B片全局变量的作用域一定比局部变量的作用域范围大6静态类别变量的生存期贯穿于整个程序的运行期间。函数的形参都属于全局变量D未在定义语句中赋初值的auto变量和static变量的初值都是随机值(1@以下选项中合法的用户标识符是B
2氐longB03DnaxDAdat(15)已知大写字母即勺ASCII码值是65,小写字母a的ASCH码是97,则用八进制表示的字
3符常量是A丹字符AB字符a。字符eD非法的常量(1。下面对宏定义的描述中不正确的是CA宏不存在类型问题,宏名无类型,它的参数也无类型B宏替换不占用运行时间0宏替换时先求出实参表达式的值,然后代入形参数运算求值D其实,宏替换只不过是字符替代而已(1力下列不是循环语句的是D语句Bdo-x\hile语句0for语句Dif-else语句(18如果Al,b=2,m3,d=4则表达式aAAlB2Q3D4(19有关构造函数的说法中错误的是DA构造函数名字和类的名字一样B构造函数在说明类变量时自动执行。构造函数无任何函数类型D构造函数有且只有一个(2。以下有关析构函数的叙述不正确的是BA一个类只能定义一个析构函数6析构函数和构造函数一样可以有形参。析构函数不允许有返回值D析构函数名前必须冠有符号"〜"QD以下关于静态成员变量的叙述不正确的是DA静态成员变量为类的所有对象所公有B静态成员变量可以在类内任何位置上声明。静态成员变量的赋初值必须放在类外D定义静态成员变量时必须赋初值Q4若执行下面的程序时,从键盘上输入开口4则输出结果是Bmain0inta.b.s:3=a;if(a
4Q3)以下程序不用第三个变量实现将两个数进行对调的操作,划线处应为BmainOinta«b;scanf("%d%d",cin>>a»bicou〔VV”a=yVaVV"b="VVbja=a+bib"a-bsa=icout«Ha=H«a«Hb=H«b«endliAa+b6a-b。b*aD^/bQ@如下程序的输出结果是CAQ000000BQ2500000Q500000D1.000000Q5)如下程序的输出结果是CmainO{inta=2,b・-if(a
5Q9以下程序的输出结果是Dmtf()(staticinii=0sints=1;6+=i,i++।return5,)mainO(inti.a=0|for(isw0|i<5|i++)a+f();cout< 6voidtun(inii•A«mti«int))(intfun(a«++i.——j)।main()int・「]=(1.2.3・4♦5・6)fiu>(a*0«S)i(orti-0ti<5ii++)coutVV・[i]i执行后输出结果是A)654321B)4321560456123D)123456(32)有以下程序nuun()intp[7j*=(11•13*14•15*16*17•18}•is0»ks3:0iwhiie(i<7&&p[i]%2)(k=k+p[i[ii++1)coinVVkVOndh执行后输出结果是A)58B)56045D)2d(33)有以下程序main()inti-0・5・0ido((i+±icontinue।)while(i^7)tcout<<»«endhD123456执行后输出结果是A冷6543216432156。456123下列语句中,输出与众不同的是A 7A>couiVVl."Wscifill「〉VV**Hdlo!"VVcndhA)cout«*L*«?-«*Heilo! 8"iB)cout«*l.He!1o!*< 9⑤在关系模型中,一个关系的属性名表称为【关系模式】.也就是二维表的表框架,相当于H录型。⑥执行.coutMEM!4”语句后得到的输出结果后[口。①十进制2和3.2绑J类型分别是【intdoubld。®假定一个二维数组的定义为”inta团区;”,则该数组所含元素的个数为15,所占的字储空间的字节数为【6(|。⑨假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句是【\rorker*Eeww3rker⑹】。(1。将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。比时const不是指定函数的返回值,而是修饰【thiy指针。QD若要在程序文件中进行标准输入输出操作,则必须在开始的#include命令中使用头文件【iostreanj。(。下列程序的输出结果为【良好优秀良好】。sinclude*^iostream.h>voidFunc*(「h〃rch)cascB:b।coutVV"良好■WendhbreakicoutVV.及格“VVendl,break।default।comW.不及格"«endlivoidmain()charchi■B1),Func(chl)tFunc 10classLocationpnvatetintX.Y«publicsvoidinit(intinitX.intinitY)iintGetX()iiniGetY(>ihvoidLocationstinit(intinitXJnvinitY)(X*initXiYainitYi)intLocationttGeiXC)(reuirnXiintLocation11GetY()(reutmY।$include 11[sample(inn):con(n+-l)&r=fY]}]0D下列叙述中正确的是A总线性表是线性结构6栈与队列是非线性结构。线性链表是非线性结构D二叉树是线性结构②下列数据结构中,插入时不需要移动其他元素的是CA有序线性表8无序线性表。栈和队列D以上三种都不是6数据的存储结构是指B合数据所占的存储空间量6数据的逻辑结构在计算机中的表示。数据在计算机中的顺序存储方式D存储在外存中的数据⑷一棵二叉树中共有7什叶子结点与8冷度为呸J结点,则该二叉树中的总结点数为Ba221621902310229(5)下列关于栈的叙述中正确的是B丹只能在栈顶插入元素,而不能删除元素6可以插入元素,也能删除元素。插入元素时需要移动栈中所有的元素D删除元素时需要移动栈中所有的元素⑥下列叙述中正确的是BA软件测试的目的是证明程序是否正确B软件测试的目的是尽可能多的发现程序中的错误。软件测试的目的是使程序运行结果正确D软件测试的目的是使程序符合结构化原则⑦下列叙述中正确的是AA在面向对象的程序设计中,各个对象之间应相对独立,相互依赖性小6在面向对象的程序设计中,各个对象之间应具有密切的联系。在面向对象的程序设计中,各个对象应都是公用的D上述三种说法都不对®下列叙述中正确的是CA数据库设计是指设计数据库系统6数据库设计是指设计数据库管理系统。数据库设计是指在已有数据库管理系统的基础上建立数据库 12D以上三种说法都不对9设有二元关系用口三元关系S下列运算中合法的是D@RnSBRUSOR-SE)RXS(1。下列关于E-R图的描述中正确的是DAAR图只能表示实体之间的联系6E-R图只能表示实体和实体之间的联系07R图只能表示实体和属性DE-R图能表示实体、属性和实体之间的联系1D以下叙述中不正确的是BA在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参6在C的函数中,最好使用全局变量。在C中,形式参数只是局限于所浮?吃£)在C中,函数名的存储类别为外部(12GH语言中函数返回值的类型决定于DAreturn语句中的表达式类型B调用函数的主调函数类型。调用函数时r临时类型D定义函数时所指定的函数类型(13若要说明一个类型名SIR使得SIP$等价于char*s;,以下选项中正确的是DAtypedefSIPchara*$Btypedefa*charSIPC)typedefSIPfi*chai;Dtypedefchara*IP(1④以下非法的赋值语句是C@e(i=2,4+i);9j-H-O+Hi+DDx=jX);(15)C十假言中在C语言的基础上增加的特性不包括AA结构6引用0类和对象D静态成员函数(1。对于下列语句,正确的判断是forgQy=Q例=123&&仁④;xH);C四是无限循环百循环次数不定。最多执行4欠D最多执行软(1力若有说明:inta印图;则对a数组元素的非法引用是Da0J][2*1]Ba国⑶。a即为⑼DaQ⑷(18设a和b均为double型变量,且后5.5.b=25,则表达式(int)a十h/b的值是D 13K650000066Q5.500000D6000000(19下面赋值语句中正确的是DAff=7+b+c=a4-7BAT+tyH=al7:Q后7+b,a-l-7;Da=7+b,g^+-7;QQ)语句cout«0=318&;的输出结果是DA无输出6编译错误。-1Dl(21)在下面的函数声明中,存在着语法错误的是DAVDidBC(inta,int)BvoidBd(int,int)0VDid(1BE(int,int?=5)DintBF(Int$inty)Q4下列关于指针的操作中.错误的是D合两个同类型的指针可以进行比较运算B可以用一个空指针赋给某个指针。一个指针可以加上两个整数之差D两个同类型的指针可以相加(23静态成员函数不能说明为C目整型函数6常函数0虚函数D内联函数Q4静态成员函数没有B总返回值6this指针。指针参数D返回类型(2》以下程序的输出结果为(25)以下程序的输出结果为Amain()1\inim=7»n=4;floata=38.4•b=6.4tx;x=m/2+n»a/b+1/21cout«x 14(2秒所有在函数中定义的变ht及函数的形式参数,都属于B合全局变量B局部变量。静态变量D常量Q9为引入对象的同义词,对象的别名称为B丹指针B引用。枚举D结构6Q)以下不属于构造函数特征的是D四构造函数名与类名相同6构造函数可以重载。构造函数可以设置默认参数D构造函数必须指定函数类型3D以下关于虚函数的叙述中不正确的是C丹虚函数属于成员函数B虚函数不允许说明成静态的。凡是虚函数必须用virtual说明D虚函数可以被继承60类的构造函数的作用是C丹一般成员函数6类的初始化。对象的初始化D删除对象创建的所有对象63继承机制的作用是C@信息隐藏6数据封装。定义新类D数据抽象6④关于虚函数的描述中正确的是D片虚函数是一个静态成员函数B虚函数是一个非成员函数。虚函数既可以在函数说明时定义,也可以在函数实现时定义D派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型65)下列表示纯虚函数的成员函数是C@virtualintfunc(int);Bvoidfunc(int)=Q0virtualvoidfunc=QDvirtualvoidfunc(int)}(1)设一棵二叉树的中序遍历结果为AKLHG前序遍历结果为皿班则后序遍历结果为【汉曲口。②在面向对象方法中,属性与操作相似的一组对象称为【类】o③在结构化设计方法中,数据流图表达了问题中的数据流与加工之间的关系,并且,每一个【加工】实际上对应一个处理模块。④在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块。其中【驱动模块】的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(5)在关系运算中,【选择】运算是在指定的关系中选取所有满足给定条件的元组,构成一个新的关系,而这个 15新的关系是原关系的一个子集。⑥为了表明一个函数不带返回值,应在定义函数时指定该函数类型为【void。⑦下列程序如果去掉for循环外围的大括号对,则会出现编译错误。错误原因是【a重定义】。Winclude 16doubleFunc(inta«intb*charch)doublex;switch(ch){case*+*:x=double(a)+b;break;caseJ7x=double(a)-b;break)case'**:x=double(a)«h;break;case7*:if(b)x=double(a)/b:elseexit(l);break;default:exit(l);}voidmainO(cout< 17classbase(private:intnum3public:rio]।voidmainO(basetry(6):(ID下列程序的执行结果为【一曰。4;include 18二includeViozream.h>classApublicsvirtualvoidusc()(cout«"inA 19**tr«cias#BipublicApublic:virtualvoiduse(>(coui<<"inB 20*i))IclassCtpublicBpublic:virtualvoiduse()(cornVV"inC 21"i)voidmainO(A•objiobj-newCiobj->use(>ideleteobjiQ3完成下列类的构造函数,初始化语句为【Ainitx,产initlW#include 22执行结果:i9afootballiscreated.Jifootballtscreated4afootImIIisdestroyed.•footballiscreated.1-20afootballisdestroyed,afootballisdestroyt?d.源程序,indude-CiOstrram.h>classFootball(puhliciFootbam)(cout«"«footballi.created.*«endli-FootbalK)(cout<<*«footballindestroyed."VOndhhvoidfunc(inti)(_FoolballfliFootball121emitW**i・・VViVVendLvoidnutin()Ifunc(10)।func(20)i(15)下列程序的输出结果是[5,10,3。 23#include 24BATBHCYP0ZBIXXXP0ATBZJCPj(5)下列叙述中正确的是D目软件就是程序清单6软件就是存放在计算机中的文件。软件应包括程序清单以及运行结果D软件包括程序和文档⑥在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送DA调用语句6命令。口令D消息⑦在模块化程序设计中,按功能划分模块的原则是A电各模块的功能尽量单一,且各模块之间的联系尽量的少6各模块的功能尽量单一,且各模块之间的联系尽量紧密0各模块应包括尽最多的功能D各模块应包括尽讨多的输入输出操作⑧下述关于数据库系统的叙述中正确的是A合数据库系统减少了数据冗余6数据库系统避免了一切冗余。数据库系统中数据的一致性是指数据类型一致D数据库系统比文件系统能管理更多的数据⑨在关系数据库中,用来表示实体之间联系的是D火树结构B网结构0线性表D二维表(1。下列叙述中正确的是B冷数据库系统是一个独立的系统,不需要操作系统的支持B数据库技术的根本目标是要解决数据的共享问题。数据库管理系统就是数据库系统D以上三种说法都不对 2511)设char型变量x中的值为10100111,则表达式Q+4人~3的值是D10101001Q1O1O1CBD011111101P0101010](12)以下叙述中不正确的是C冷GH语言中的文本文件以ASCH码形式存储数据BGH语言中,对二进制文件的访问速度比文本文件快OGH语言中,随机读写方式不适用于文本文件DGH语言中,顺序读写方式不适用于二进制文件(13若已定义int后256执行语句cout 26intfl(in(x«inty){returnx>y?x:y;!intf2(in(x.inty)(returnx>y?)main(){inta=4,b=3,c=5.d,e.hd=fl(a,b)sd=fl(d,c);e=f2(3.bhc=f2(e,r);f=a-^h+c-d-e;cout«d«\"«f«",M«e«endl;}执行后输出结果是C冷3,456j,3,40j,43D3,5,4(1力有以下程序voidf(intx.inty){intt>if(x 27则以下叙述不正确的是D@st眼一个含有3g•元素的对象数组Bst瞰组中的每个元素都是person类的对象0std数组中的每个元素都有自己的私有变量him和naneDstd数组中的每个元素都有各自的成员函数init2D以下叙述中不正确的是CA一个类的所有对象都有各自的数据成员,它们共享函数成员6一个类中可以有多个同名的成员函数。一个类中可以有多个构造函数、多个析构函数D在一个类中可以声明另一个类的对象作为它的数据成员Q4以下关于私有和保护成员的叙述中,不正确的是A目私有成员不能被外界引用,保护成员可以B私有成员不能被派生类引用,保护成员在公有继承下可以。私有成员不能被派生类引用,保护成员在保护继承下可以D私有成员不能被派生类引用,保护成员在私有继承下可以123友元函数的作用是AA提高程序的效率百加强类的封装性。实现数据的隐蔽性D增加成员函数的种类(24使用静态数据成员的好处不包括DA可以节省内存空间B是为了解决数据共享问题。可以直接用类名来引用D可以提高运算速度(25)以下不能正确创建输出文件对象并使其与磁盘文件相关联的语句是Dofstreammyfile;myfileopen(dofiletxt''):0ofstreanftnyfile=^iewofstrean)nyfile—>open《dofiletxt");0ofstreammyfile(dofiletx/);Dofstreanf^iyfile=new(dofiletxt");QO有关析构函数的说法中错误的是C片析构函数有且只有一个6析构函数无任何函数类型。析构函数和构造函数一样可以有形参D析构函数的作用是在对象被撤销时做清理工作 28Q7)下列运算符中,不能重载的是AA?:6+0-Dv=Q8)已知类A中有公用数据成员B*h其中B为类名。则下列语句错误的是C@AJ:d(pewBO6Afconst皱o。:d(pewB{*d=^oa(±}0〜A@ID〜A。delete4}<29以下有关析构函数的叙述中错误的是BA一个类只能定义一个析构函数B析构函数和构造函数一样可以有形参。析构函数不允许有显式的返回值D析构函数名前必须冠有符号"〜”6。在比语言程序中D式函数的定义可以嵌套,但函数的调用不可以嵌套6函数的定义和调用均可以嵌套。函数的定义和调用均不可以嵌套D函数的定义不可以嵌套,但函数的调用可以嵌套6D以下叙述中不正确的是C合在类的定义中通常是用数据成员描述对象的属性,用成员函数描述对象的行为B类的一个成员只能具有一种访问控制属性。构造函数和析构函数是特殊的成员函数,因此不允许重载D通过对象只能访问类的公有成员6》磁盘文件操作中,打开磁盘文件的访问方式中以追加方式打开文件的CAinBout0appDate65假定期为一个类,则执行AB苏语句时将自动调用该类的BA有参构造函数B无参构造函数0拷贝构造函数D赋值重载函数6④通常初始化拷贝构造函数的参数是CA某个对象名6某个对象的成员名。某个对象的引用名D某个对象的指针名6,实现运行时的多态性用DA重载函数B构造函数。析构函数D虚函数(1)在深度为钠满二叉树中,叶子结点的个数为【&o0在一个容量为2田勺循环队列中,若头指针fronT旨针rea=16则该循环队列中共有【4个元素。 29傍在面向对象方法中,允许作用于某个对象上的操作称为【方法】。⑷软件生命周期包括八个阶段。为使各时期的任务更明又可以分为以下三个时期:软件定义期,软件开发期,软件维护期。编码和测试属于【软件开发】期。(5)在数据库系统中,数据具有独立性。由于数据的存储结构与逻辑结构之间由系统提供映象,使得当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改。这种独立性称为【物理独立性】。(。在任何类中都有三种访问权限的数据成员,这三种权限是publiGprivate和【protected。。下列程序的输出结果是【43】#include 30二includtKCionuittiii.h>incEunc 31#include 32GraduateSiudenfgs(30)icouiVV及<*j»kTuition()<2 33#include 34fi加2.closet)।Q5)下列程序的输出结果是【61 35#includeViostream.h>classbase(intx,y;public:baseCimi»int)>(x=iiy=j।}virtualintadd()(returnx+y;)hclassthree:publicbase{intzipublic:three(inti.intj.intk):baseGtj)(z=ki}intadd(){return(base::add()+z);)!|voidmain()(three*q=newthree(10♦20.30);coutVVq—>add()VVendh(!)为了培养良好的程序设计风格,下列描述中正确的是AA程序应简单、清晰、可读性好B符号名的命名只要符合语法。充分考虑程序的执行效率D程序的注释可有可无②在最坏情况下,下列各排序方法的比较次数正确的是D母冒泡排序为n/26冒泡排序为n(H-DZ2。快速排序为0/2D快速排序为n(h-D/26按“先进后出”原则组织数据的结构是BA有序表B栈。队列D二叉树④对下列二叉树进行中序遍历的结果是C 36aZBTtCPXA0AIBZXQP0ZBDCiXPDAIB2CTY⑤下列叙述中正确的是D目数据的逻辑结构与存储结构必定是一一对应的6由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构。程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构。D以上三种说法都不对⑥下列叙述中正确的是B冷接口复杂的模块,其耦合程度一定低B耦合程度弱的模块,其内聚程度一定高。耦合程度弱的模块,其内聚程度一定低D上述三种说法都不对⑦软件调试的目的是B目发现错误6改正错误。改善软件的性能D挖掘软件的潜能@下列叙述中正确的是DA买体集之间一对一的联系实际上就是一一对应的关系6关系模型只能处理实体集之间一对一的联系0关系模型属于格式化模型D以上三种说法都不对(9数据库概念设计中由分散到集中的设计方法是BA视图设计B视图集成设计。集中式模式设计D分散式模式设计(1。下列叙述中正确的是C为程序设计就是编制程序B程序的测试必须由程序员自己去完成。程序经调试改错后还应进行再测试D程序经调试改错后不必进行再测试(1D以下选项中,与H完全等价的表达式是AAEn=^rl-l6n=^H,X0Dld=n+-l(14已知char劣intb;floatqdouble4则表达式a*tHc—d结果为A@double6int0floatDchar(13假定有下列变量定义: 37int47.#42;则能使值为。的表达式是CA56x*—网5)。炊=(k-3D=(^*=5)(1④下面关于for循环的正确描述是DAfor循环只能用于循环次数已经确定的情况Bfor循环是先执行循环体语句,后判断表达式。在for循环中,不能用break语句跳出循环体Dfor循环的循环体语句中,可以包含多条语句,但必须用花括号括起来Q5)在int年3int*p=&a;中,p的值是AA变量a的地址值B无意义。变量P的地址值D3(1。对于intaEO[7]:下列表示中错误的是B6*@十1)0O*(*(HD)D*防QQ+4(17)已知一函数的形参说明为intarrra⑹,则与此等效的形参说明为DAintarr0DBint[5]Q0int*a⑹Dintt(*a)⑹(18若有以下程序段:inta=Qb=Qc=Qc=(3-=a—5),(M)>1>H);coutW,"其输出结果是B3,Q—10BQQ5。一IQ3,一IO03,Q3(19下面的程序的结果是Dmainjj(ntx=^,y=Qz=QifCDt1t 38QQ下面程序的输出是Amain0{intx=100»a=10>b=20.okl=5»ok2=0;if(a执行后输出结果是47,807,708,7,7D&%8Q3设有定义:classC 39{public:intvalue)intx,*p; 40则以下引用形式中,正确的是B良x=valueBx=G:value;0p=&valueDp=C:value。④以下叙述中正确的是A为在类中,不作特别说明的数据成员均为私有类型B在类中,不作特别说明的成员函数均为公有类型。类成员的定义必须是成员变量在前、成员函数在后D类成员的定义必须放在类定义体内部Q5)以下关于派生机制的描述中,不正确的是DA派生类不仅可以继承基类的成员,也可以添加自己的成员B设置protected成员是为派生类访问基类成员之用。采用不周的继承方式,将限制派生类对基类成员的访问D采用私有继承,派生类只能得到基类的公有成员(2。以下叙述中不正确的是B目一个类的友元函数可以无条件的使用这个类的私有成员B静态成员函数可以直接访问非静态数据成员。不可以声明抽象类的对象,但可以声明抽象类的指针变枇D静态数据成员为类的所有对象所共有(2万以下使用不当会破坏面向程序设计特性的是D为派生类B虚函数。抽象类D静态函数QS在文件操作中,代表以追加方式打开文件的模式是B@ios:ate8iC8:app0iOS:outDios::truncQ9析构函数的特征包括AA一个类中只能定义一个析构函数8析构函数与类名没有关系。析构函数的定义只能在类体内部D析构函数可以有一个或多个参数6。即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员,这说明继承具有BA规律性B传递性。重复性D多样6D已知类精公用数据成员a,且有Aohj^A*constptLnewA则下列语句正 41确的是A良ptBptr=&obj^0ptrH-f;Dpti=obj2,64下面的描述中错误的是B冷调用函数时,实参可以是表达式B调用函数时,实参与形参可以共用内存单元。调用函数时,将为形参分配内存单元D调用函数时,实参与形参的类型必须一致65下列有关类和对象的叙述不正确的是C目任何一个对象都归属于一个具体的类B类与对象的关系和数据类型与变量的关系相似。类的数据成员不允许是另一个类的对象D一个类可以被实例化成多个对象64下列关于抽象类的叙述不正确的是B目含有纯虚函数的类称作抽象类B抽象类只能是基类0抽象类不能被实例化D纯虚函数可以被继承65)下列描述中正确的是D合多重继承中,不同父类中不能有同名成员6多重派生中,所有父类的派生方式必须相同。多重派生的子类不能再派生子类D上述三种说法都不对(1)在深度为粕完全二又树中,叶子结点的个数最多为【1(1o4在一个容量为25的循环队列中.若头指针fronnl5,尾指针reaR则该循环队列中共有11司个元素。③符合结构化原则的三种基本控制结构为:顺序结构,选择结构和【缩放结构】。④在结构化分析方法中.用于描述系统中所用到的全部数据和文件的文档称为【数据字典】⑤数据库管理最本质的特点是实现数据的共享。为了实现数据的共享,保证数据的独立性、完整性和安全性,需要有一组软件来管理数据库中的数据,处理用户对数据库的访问,这组软件称为【数据库管理系统】。⑥假定要访问一个结构指针P所指对象中的b指针成员所指的对象,则表示方法为【*曰】。⑦设px是指向一个类动态对象的指针变量,则执行"deletepx;”语句时,将自动调用该类的【析构函数】。 42⑧若需要把一个函数"voidFuncJ;w定义为一个类Sample的友元函数,则应在类Sample的定义中加入一条语句【friendvoidFuncH。⑨类classone在声明func成员函数时发生错误,出错原因是【classone前没有声明语句classtxwjoclassone(private:inta;public:voidfunc(two&);classtwoprivate:intb;friendvoidone::func(two&->i);voidone::func(two&-r)(a=r.b.(1。下列程序从保存整数的文本文件"cSanpledat”中依次取出每个数据并显示出来,同时统计并显示出所有数据的个数。程序划线处的表达式为【fi玲o若includeVstream.h>学include 43为o^zuwaavsM(inta){A=a;B+=ai)staticvoidfl(Mm)iprivate:intA;staticintB;)|voidM;;fl(Mm)(cout< 44private।intmistaticintst;public:SampleCinta)(m=aist+-)staticvoiddisp(){cout< 45当use0为虚拟函数时的程序执行结果:sized®=8sized®=12sizeof0=16当use0非虚拟函数时的程序执行结果:sizeof8=4sizeof(0=8sizeof0=12源程序如下:#include 46四算法的空间复杂度是指算法程序的长度B算法的效率只与所处理数据的规模有关,而与数据的存储结构无关0数据的逻辑结构与存储结构是一一对应的D上述三种说法都不对⑤下列数据结构中具有记忆作用的是AA栈B队列0有序表D二叉树RZBTtCPXABAIBZXQP0ZBDCffiPDAIBZ5CTY6)在长度为n的有序线性表中进行二分查找,需要的比较次数为A良log2nBnlog2n0r)Z2E)(h+D/2⑥在结构化分析方法中,数据字典的作用是DA存放所有需要处理的原始数据B存放所有处理的结果0存放所有的程序文件D描述系统中所用到的全部数据和文件的有关信息⑦下列叙述中正确的是A目软件交付使用后还需要进行维护B软件一旦交付使用就不需要再进行维护0软件交付使用后其生命周期就结束D软件维护是指修复程序中被破坏的指令a下列关于关系运算的叙述中正确的是C目投影、选择、连接是从二维表的行的方向来进行运算B并、交、差是从二维表的列的方向来进行运算。投影、选择、连接是从二维表的列的方向来进行运算D以上三种说法都不对 47(9设有如卜关系表:则下列操作中正确的是BOliRXSDl^S(1。在下列数据管理的各阶段中,数据独立性最高的阶段是D为手工管理B文件系统。数据项管理D数据库系统(11)假定a为一个整型数组名,则元素a⑷的字节地址为CA叶46科80a+160(12)以下的for循环CforgO,卢Q(y!=123&&(»=④;对4);A是无限循环B循环次数不定0最多执行4次D最多执行软(13已知inta,U用语句scanf(%%d",&a,&肌输入a,b的值时,不能作为输入数据分隔符的是A为,B.空格。回车DTab键(1④语句couf侬才瞰g-为;的输出结果是DA无输出B结果不确定。一101Q5)以下选项中与一用完全等价的表达式是A冷k=n,n=n+-l;8n=n+l,k=q。k=Hn;Dkf=n+l;(10以下程序运行后,输出结果是B 48#definePT5.5*defineS(x)PT*x•xmainO{inia-l#b"2iprintfC%4.lf 49\S(a+b)i)A49.509.5Q22OD45.OQ7)设有以下类的定义:classEx{intxipublic:voidsetx(intt=0)iIt若在类外定义成员函数setxL以下定义形式中正确的是BAVDldsetx(Intt){..}0VDid(Ex:Setx(intt){..}0Ex::voidsetx(intt){••}DVDid:setx。{..}Q8关于const修饰符的说法中,错误的是DAconst既可以修饰成员函数,也可以修饰数据成员,还可以修饰对象6若const修饰了一个对象,则该对象中的所有数据成员都无法被更新。常对象无法调用一般成员函数D常成员函数只能被常对象调用,不能被一般对象调用Q9以下不属于构造函数特征的是DA构造函数名与类名相同6构造函数可以重载。构造函数可以设置默认参数D构造函数必须指定函数类型<2。以下叙述正确的是DA派生类中不可以定义与基类中同名的成员变量6派生类中不可以重载成员函数。派生类中不能调用基类中的同名函数D以上三项均不正确QD如果一个类含有一个以上的纯虚函数,则称该类为B目虚基类6抽象类。派生类D以上都不对下列各类函数中,不是类的成员函数的是Ca构造函数6析构函数。友元函数d拷贝构造函数Q3在多继承中.公用派生和私有派生对于基类成员在派生类中的可访问性与单继 50承规则AA完全相同B完全不同。部分相同,部分不同D以上都不对Q4已知类A有公用数据成员a,并重载了一运算符,且有Aobj^constA*ptr=newA则下列语句错误的是AAptrBptx&objZ0ptr-H;Dobj2^*pti;(25)已知语句intm-IQ则下列引用的表示中正确的是A@int&^nBint^=lQQint&z;Dfloat&t=&r)Q6以下有关类与结构体关系的叙述不正确的是C丹结构体中只包含数据;类中封装了数据和操作b结构体的成员对外界通常是开放的;类的成员可以被隐蔽。用Struct不能声明一个类型名;而class可以声明一个类名D结构体成员默认为public;类成员默认为privateQ7)以下不能作为输出流对象的是B@文件6内存。键盘D显示器Q8以下不能够读入空格字符的语句是C冷charlinq1ine=ciagetj0charline;cingetQin。;C)charline;cin»line;L)charline[2];cinget1ine(line,2);Q9设有定义charstr[80];以下不能将输入数据first 51second 52读取到数组sti■中的语句是D@cin.get(str,strlen(sti));0cin.get1ine(str,strlen(sti));0ciri»sti;Dciaread(str,strlen(sti));60当使用fstrean流类定义•个流对象并打开一个磁盘文件时,文件的隐含打开方式为D@ios::inBiCS:outC)iOS:int|iOS:outD没有6D对于常数据成员,下面描述正确的是B 53四常数据成员可以不初始化,并且不能更新B常数据成员必须被初始化,并且不能更新。常数据成员可以不初始化,并且可以被更新D常数据成员必须被初始化,并且可以被更新64下列能对对象进行初始化的是AA构造函数B析构函数。友元函数D静态成员函数63下述说法错误的是AA对象之间不可以相互赋值B对象可以用作函数参数。对象可以用作数组的元素D对象可以用作另一对象的成员6④设A为test类的对象且赋有初值,赋值符号已经重载,则语句testR由表示CA语法错6为对象碇义一个别名。将对象Ag制给对象BD仅说明BfflA属于同一个类65)重载函数在调用时选择的依据中,错误的是A目函数的参数名称B参数的类型。函数的名字D函数的类型(D数据结构分为逻辑结构与存储结构,循环队列属于【存储结构】。②在最坏情况下,冒泡排序所需要的比较次数为o③设一棵完全二叉树共有83外结点,则在该二叉树中有【42(1个叶子结点。⑷数据模型分为格式化模型与非格式化模型,层次模型与网状模型属于【格式化模型】。6)在关系模型中,把数据看成一个二维表,每一个二维表称为一个【关系】。⑥执行"89<5心力”语句后得到的输出结果为Po<[d>⑦下列函数的功能是【比较两个整数a和b的大小,若a>b则返回1,若a等于b,则返回Q否则返回一Do"include 54cootVV”请输入三角形三边a.b.cJVVendhcin»a»b»ciif(>{s=(a+b+c)/2;area=sqrt(s»(sa)•《$-b)•(6—c)hcou【VV,三角形的面积为:'VVarea,)elsecoinVV.不能构成三角形!・VVendhS(9下列程序的运行结果为【iT。4include 55if(this!・&p)(x-p.X|y^p.yi[return(strcmp(a,tj)](12参照函数模板的写法,完成非模板函数的定义,语句为#include 56Samplesl(10)»&2(10)।$1.disp()।:51.AddValue(5)i52.Change(100)।53.disp()।54.disp();)(14下列程序的运行结果为【对IQthis—#include 57①下列叙述中正确的是BA所有形态的二叉树都只能采用链式存储结构6循环队列是队列的一种存储方式。栈只能采用顺序存储结构D循环队列与循环链表都属于链式存储结构 58②下列叙述中正确的是c冷软件测试的主要目的是确定程序中错误的位置B软件调试的主要目的是发现程序中错误的类型。程序经调试后还应进行测试D软件的测试与调试工作最好都由程序编制者来完成售下列有关程序设计的原则中错误的是D片对所有的输入数据都要检查数据的合法性6输入一批数据时,最好使用数据结束标志。对于不好的程序,尽量重新编写,避免修补D输出数据要干净,避免加注释④在深度为映满二叉树中,叶子结点的个数为cA64663032D316)下列数据结构中按“先进先出”原则组织数据的是BA线性表B循环队列。循环链表D双向链表⑥将小数据进行插入排序,在最坏情况下需要比较的次数是DA426607D21⑦设有如图所示的二叉树则对该二叉树前序遍历的结果是A冷FCACBBGBAZHZTCE。AHUIFDAZHTBG份下列关于软件设计基本原理的叙述中错误的是AA信息隐蔽是指在一个模块内的信息要使所有的模块都能访问得到6模块的独立程度是评价软件设计好坏的重要标准。耦合性用于衡量软件的模块独立性D内聚性用于衡量软件的模块独立性⑨数据库概念设计中,由分散到集中的设计方法是Ba油忌杓?6视图集成设计。集中式模式设计d分数式模式设计 59(1。在下列关系运算中,可能改变关系中属性个数的是CA并B差。投影D交QD关于常成员函数,下列说法中错误的是Ba常成员函数无法更新对象的数据成员,但可以访问其他类的公用数据成员或全局变量B常成员函数无法更新对象的数据成员,但是可以更新该对象的常数据成员。常成员函数既可以被常对象调用,也可以被一般对象调用D常成员函数不仅要在声明中用到const修饰符,在定义时也必须使用const修饰符(。解决类继承中产生的二义性的方法不包括Ca使用作用域运算符限定访问的成员函数6在派生类中定义同名函数,且参数表必须和基类的保持一致。在派生类中定义同名函数,且参数表可以和基类的不同D采用虚基类解决多重继承中的共同基类产生的二义性(13一个类的友元函数能够访问该类的DA私有成员B保护成员。公用成员D所有成员(14执行下列语句后,输出结果为steven的是Achar*str=steverf:cout.write(s11);@strlen(sti)Bsizeof(sti)0strlen(stiH-1)Dsizeof(str—1)Q5)对于拷贝构造函数和赋值操作的关系,正确的是CA拷贝构造函数和赋值操作是完全一样的操作6进行赋值操作时,会调用类的构造函数。当调用拷贝构造函数时,类的对象正在被建立并被初始化D拷贝构造函数和赋值操作不能在同一个类中被同时定义(1。下面描述中体现了抽象类特性的语句是DA可以说明虚函数B可以进行构造函数重载。可以定义友元函数D不能说明其对象Q7)下面说法正确的是BA内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方 60B内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方。类的内联函数必须在类体内定义D类的内联函数必须在类体外通过加关键字inline定(1炒已知一个运行正常的的程序中有下面两个语句:int*pl,*p2=&apl=b5由此可知,变讨a和h的类型分别是CAint和int6int部口int0int和int*Dint评Uint*(19若有以下定义和语句inta=4jb=3,*q,效p=&a;卬=&b;q=MU;则以下选项中错误的语句是D丹*q=QB0*p=a;D*p=*v^(2。下列关于虚函数与函数重载区别的叙述中不正确的是D合函数说明形式上不同B函数重载允许是非成员函数,虚函数只能是成员函数。函数重载的调用依据参数和类型的差别,虚函数则依据对象D函数重载的本体可以在类外定义,虚函数不可以QD请阅读以下程序tnainO{.•intx=l»y=0.a=0,b=Ojswitch(x)(case1:•switch(y){._case0:a++ibreakicase1:b++jbreakj}.case2Sa++;b++;break;}coulVV,="VVaVV”b="VVbVVendh>上面程序的输出结果是AAa2,glBaLgl0b=0Db=^Q)以下程序的输出结果是Bmain()(inti=O»a=O;while(i<20)(for(h).{if((i%10)==0)break;elsei——।)i+=ll,a+=i,)Count<}A21032033D11Q3)以下程序的功能是按顺序读入1叱学生4、J课程的成绩,计算出每位学生的平均分并输出: 61main()(intn«kifloatscore,sum,ave,sum=0.0;•for(n-slin<=10;n++){.forCk=lik<=4;k++)(cin>>scoreisum+score,}ave=sum/4.0i.cout«*,No"«n«**:*< Q4执行下列程序时输入12女空格乂56小格>78%回车X输出结果是DmainO{charsQlOO];intc«iiscanf("%c".&.c)iscan«"%d",&-i)»scanfCM»",s)Iprintf("^c,%d,%s 62".c,i.s)»)R123,45。7890L456,789。L23,456,789DL23,456(25)右加下程序mainO{intn[51={0.0.0},i,k=2jfor(i"0»i 63Q8以下有关类与结构体关系的叙述不正确的是C总结构体中只包含数据;类中封装了数据和操作B结构体的成员对外界通常是开放的;类的成员可以被隐蔽。用struct不能声明一个类型名;而claSS可以声明一个类名D结构体成员默认为puhliq类成员默认为privateQ9设有charstr[BQ];以下不能将输入数据f1rst 64second 65读取到数组str中的语句是BAcin.get(str,strlen(sti));6cin.getline(str,strlen(sti));0ciri»sti;Dcinread(str,strlen(sti));6。下列能对对象进行初始化的是A@构造函数B析构函数。友元函数D静态成员函数6D控制格式输入/输出的操作子中,设置域宽的的函数是D7JVSBoct0setfi11(int)Dsetw(nt)64下列不能作为类的成员的是BA自身类对象的指针B自身类对象。自身类对象的引用D另一个类的对象63)设置虚基类的目的是B目简化程序B消除二义性。提高程序运行效率D减少目标代码6④下列描述中正确的是C合类中可以定义与类名相同的数据成员6直接子类中可以定义与父类名相同的数据成员0孙子类中可以定义与爷爷类名相同的数据成员。D类的所有子孙中都不可以定义与该类同名的数据成员。05)要通过函数实现一种不太复杂的功能,并且要求加快执行速度,则应该选用B总重载函数B内联函数。静态函数D虚函数①数据结构分为线性结构和非线性结构,其中循环链表属于【线性结构】。②程序设计分为面向过程程序设计和面向对象程序设计,具有继承性特点的程序设汁称为【面向对象】 66程序设计。⑤为了在两个关系中提取所有相同的元组,则在交与并这两种关系运算中,应使用【交】运算。④在算法执行过程中所需要的基本运算次数称为算法的【时间】复杂度。6数据模型分为格式化模型和非格式化模型,则关系模型属于【非格式化】模型。⑥逻辑表达式心被&绑)相反表达式为xiao⑦在派生类中,对类对象成员,基类成员和非类对象成员的初始化程序是【基类成员类对象成员非类对象成员】。(8假定用户没有给一个名字为Sample的类定义构造函数,则系统为其隐含定义的构造函数为[Sample5}]。。在C十航类库中,根基类为【io*。(1。若需要定义一个标识符常量,并且使得C44能够进行类型检查,则应在定义语句的开始使用保留字【const](11)下列程序的运行结果是一【Base9J0Uinclude 67Minclude 68二inciude 69pc^^Sample::y;s.*pc=20(s.dispOi 70D下列叙述中正确的是D目一个算法的时间复杂度大,则其空间复杂度也必定大B一个算法的空间复杂度大,则其时间复杂度也必定大。一个算法的空间复杂度大,则其时间复杂度必定小D上述三种说法都不对②下列叙述中错误的是BA二叉链表是二叉树的存储结构B循环链表是循环队列的一种存储结构。循环队列属于线性表D带链的队列是队列的一种存储结构⑤下列叙述中错误的是CA继承是面向对象方法的一个主要特征B对象是面向对象软件的基本模块。类是对象的一个实例D消息是请求对象执行某一处理或回答某一要求的信息⑷下列叙述中正确的是D为软件工程主要研究如何编程B数据库设计的主要任务是设计数据库管理系统0算法的效率与数据的存储结构无关D上述三种说法都不对6)下列叙述中正确的是A片黑箱盒)测试方法完全不考虑程序的内部结构和内部特征B黑箱盒)测试方法主要考虑程序的内部结构和内部特征。白箱盒)测试完全不考虑程序内部的逻辑结构D上述三种说法都不对⑥将介数据进行快速排序,在最坏情况下需要比较的次数是Ca4B5。10D20⑦设有如图所示的二叉树 71则对该二叉树后序遍历的结果是CAKTTBBSBAZHZKE0AHICEFDXHAE3(矽关系表中的每一横行称为一个B冷关系B元组。属性D字段⑨在下列关系运算中,能不改变关系中属性个数且减少元组个数的是DA并B差。投影D交(1。下列叙述中正确的是D为实体集之间一对一的联系实际上就是一一对应的关系B关系模型只能处理实体集之间一对一的联系。关系模型属于格式化模型D以上三种说法都不对(1D一个GH程序由函数A。,BLC]和函数P]构成,在函数A0中分别调用了函数B0和函数CJ,在函数B0中调用了函数A0,且在函数P0中也调用了函数A(,则可以说Aa函数BO中调用的函数AO是函数AO的间接递归调用B函数A0被函数BJ调用是直接递归调用。函数P0直接递归调用了函数AfD函数P。中调用的函数Ajj是函数P0的嵌套(12下面不正确的描述为B为调用函数时,实参可以是表达式6调用函数时,实参与形参可以共用内存单元0调用函数时,将为形参分配内存单元D调用函数时,实参与形参的类型必须一致Q5存取指针所指的值时,采用的运算符是DA#B&0%D*(1@已知语句intm=lQ则下列表示引用的表示中正确的是AAint&x=n;6int&y=lQ。int&z;Dfloat&t=&n(15下面程序段的正确输出是B 72inty^=2,z=l;cout«AO6102L)3(1。若变量都已正确说明,则以下程序段的输出结果是Cb=^;printf#Wb=%(f,a,tj);A没有正确的输出格式控制B输出为:***a=2。输出为:林阳=2D输出为:***a=2###b=2(17)若执行以下程序时从键盘上输入9,则输出结果是Bmain()(intmcin»n;if(n++<10)cout«n«endlielsecout< 73main(){inta=0»i;for(i™l;i<5;i-F+){switch⑴{caseOscase3:a+==2|case1*c&se2:a+=3;default:a+®=51))coutVVaWend!।}431013010020QD下列程序执行后的输出结果是A#include 74{n®8fun()ji4-4-;)cout«n*argc< 75假设程序经编译、连接后生成可执行文件examexe,若键入以下命令行exam12次回车〉则运行结果为A@6680304(24设有如下定义mainCintargc.chara»argv口){intn.i=0;while(argv[l][i]!{nmfun()ii++»)coutVVn*argc<* 76}则下面针对成员变量m的引用,错误的是BAki.m=l0k2->n=20pl->n=3D(*p3.m=4 77(2秒设有基类定义:classA(publicsintm,•••)IAkl,k2..pl,.p2,派生类采用何种继承方式可以使成员变量b成为自己的私有成员A@私有继承B保护继承。公有继承D私有、保护、公有(29以下有关类与结构体的叙述不正确的是CA结构体中只包含数据;类中封装了数据和操作6结构体的成员对外界通常是开放的;类的成员可以被隐蔽。用Struet不能声明一个类型名;而class可以声明一个类名D结构体成员默认为publiq类成员默认为private6。以下有关成员函数特征的叙述不正确的是A式成员函数一定是内联函数百成员函数可以重。成员函数可以设置缺省参数值D成员函数可以是6D定义静态成员函数的主要目的是CA方便调用B有利于数据隐蔽。处理类的静态成员变量D便于继承64有关构造函数的说法中错误的是D合构造函数名字和类的名字一样B构造函数在说明类变量时自动执行。构造函数无任何函数类型D构造函数有且只有一个65关于友元的描述中错误的是D四友元函数可以访问该类的私有数据成员B一个类的友元类中的成员函数都是这个类的友元函数。友元可以提高程序的运行效率D类和类之间的友元关系可以继承阅读以下程序#include
此文档下载收益归作者所有