您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 2011年9月全国计算机等级考试二级C++笔试试卷
2011年9月全国计算机等级考试二级C++笔试试卷C++语言程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是(D)。A)算法就是程序B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是(C)。A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是(B)。A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为2的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是(A)。A)学生成绩管理系统B)C语言编译程序C)UNIX操作系统D)数据库管理系统(5)某系统总体结构图如下图所示:该系统总体结构图的深度是(C)。A)7B)6C)3D)2(6)程序调试的任务是(D)。A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是(A)。A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括(D)。A)概念模式B)内模式C)外模式D)数据模式(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是(B)。A)自然连接B)差C)交D)并(10)下列选项中属于面向对象设计方法主要特征的是(A)。A)继承B)自项向下C)模块化D)逐步求精(11)在对函数进行原型声明时,下列语法成分中,不需要的是(D)。A)函数返回类型B)函数参数列表C)函数名D)函数体(12)下列关于this指针的描述中,正确的是(D)。A)类的成员函数都有this指针B)类的友元函数都有this指针C)任何与类相关的函数都有this指针D)类的非静态成员函数都有this指针(13)有如下类定义:classAA{public:AA(intn=0):a(n){}};ClassBB::publicAA{public:BB(intn)__________其中横线处缺失部分是(B)。A):a(n){}B):AA(n){}C){a(n);}D){a=n;}(14)为类Matrix重载下列运算符时,只能作为Matrix类成员函数重载的运算符是(B)。A)+B)=C)D)++(15)下列关于模板的描述中,错误的是(D)。A)类模板的成员函数都是模板函数B)函数模板是一种参数化类型的函数C)满足一定条件时可以省略模板实参D)模板形参只能由关键字typename声明(16)要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是(D)。A)fstreamB)istrearaC)ostreamD)iomanip(17)下列选项中,不是C++关键字的是(B)。A)classB)functi013C)friendD)virtual(18)若有定义语句“inti=2,j=3;”,则表达式i/j的结果是(A)。A)0B)0.7C)0.66667D)0.66666667(19)下列语句中,与语句“n=(ab?(bc?1:0):0);”的功能等价的是(C)。A)if(a=b)n=0;B)if((ab)||(bc))n=1;elsen=0;C)if(ab)if(bc)n=1;elsen=0;elsen=0;D)if(ab)n=1;elseif(b=c)n=1;elseif(bc)n=1;elsen=0;(20)有如下语句序列:intx=100,&r=x;coutx’-‘rendl;已知其中变量x的地址为0012FF7C,则执行该语句序列的输出结果为(A)。A)100-100B)100-0012FF7CC)0012FF7C-100D)0012FF7C-0012FF7C(21)已知函数f的原型是“voidf(int*x,int&y);”,变量v1、v2的定义是“intv1,v2;”,下列调用语句中,正确的是(C)。A)f(v1,v2)B)f(v1,&v2)C)f(&v1,v2)D)f(&v1,&v2)(22)有如下类定义:classSample{public:Sample(intx):ref(x){}//①Private:Sample():ref(0){}//②Staticintval=5;//③Constintref;//④}上述程序段中,错误的语句是(C)。A)①B)②C)③D)④(23)有如下类定义:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{protected:voidfun4(){}};若obj是类D的对象,则下列语句中不违反访问控制权限的是(A)。A)obj.fun1()B)obj.fun2()C)obj.fun3()D)obj.fun4()(24)有如下类定义:classMyClass{public:__________private:intdata;};若要为MyClass类重载流输入运算符,使得程序中可以“cinobj;”形式输入MyClass类的对象obj,则横线处的声明语句应为(A)。A)friendistream&operator(istream&is,MyClass&a);B)friendistream&operator(istream&is,MyClassa);C)istream&operator(istream&is,MyClass&a);D)istream&operator(istream&is,MyClassa);(25)已知主函数中通过如下语句序列实现对函数模版swap的调用:inta[10,b[10];swap(a,b,10);下列对函数模版swap的声明中,会导致上述语句序列发生编译错误的是(B)。A)templatetypenameTvoidswap(Ta[],Tb[],intsize);B)templatetypenameTvoidswap(intsize,Ta[],Tb[]);C)templatetypenameT1,typenameT2voidswap(T1a[],T2b[],intsize);D)templateclassT1,classT2voidswap(T1a[],T2b[],intsize);(26)若目前D盘根目录下并不存在test.txt文件,则下列打开文件方式不会自动创建test.txt文件的是(A)。A)ifstreamfin;fin.open(“d:\\test.txt”,ios_base::in);B)fstreamfio;fio.open(“d:\\test.txt”,ios_base::out);C)ofstreamfout;fout.open(“d:\\test.txt”,ios_base::out);D)ofstreamfout;fout.open(“d:\\test.txt”,ios_base::app);(27)已知类MyClass的定义如下:classMyClass{public:voidfunction1(MyClass&c){coutc.data;}staticvoidfunction2(MyClass&c){coutc.data;}voidfunction3(){coutdata;}staticvoidfunction4(){coutdata;}private:intdata;};其中有编译错误的函数是(D)。A)function1B)function2C)function3D)function4(28)有如下程序:CA)*@#@B)#@*@C)*#@@D)#*@@(29)已知类MyClass的定义如下:classMyClass{public:MyClass(intd){data=d;}~MyClass(){}private:intdata;};下列对MyClass类对象数组的定义和初始化语句中,正确的是(C)。A)MyClassarray[2];B)MyClassarray[2]={MyClass(5)};C)MyClassarray[2]={MyClass(5),MyClass(6),};D)MyClass*arrays=newMyClass[2];(30)有如下程序:下列关于程序编译结果的描述中,正确的是(C)。A)①②皆无编译错误B)①有编译错误,②无编译错误C)①无编译错误,②有编译错误D)①②皆有编译错误(31)有如下程序:运行时的输出结果是(D)。A)1234B)2134C)12D)21(32)有如下程序:运行时的输出结果是(B)。A)01B)21C)03D)23(33)若为Fraction类重载前增1运算符++,应在类体中将其声明为(A)。A)Fraction&operator++();B)Fraction&operator++(int);C)friendFraction&operator++();D)friendFraction&operator++(int);(34)有如下程序:#includeiomanip#includeiostreamusingnamespacestd;intmain(){coutsetfill(‘*’)setw(6)123456;return0;}运行时的输出结果是(C)。A)***123***456B)***123456***C)***123456D)123456(35)有如下程序:下列关于程序运行情况的描述中,正确的是(D)。A)function1运行1次,function2运行2次B)function1运行2次,function2运行1次C)function1运行2次,function2运行3次D)function1运行2次,function2运行2次二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。(1)数据结构分为线性结构与非线性结构,带链的栈属于【线性结构1】。(2)在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中【n】个元素。(3)常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD),则应采用【3结构化】方法。(4)数据库系统的核心是【4数据库管理系统】。(5)在进行关系数据库的逻辑设计时,E-R图中的属性常被转换为关系中的属性,联系通常被转换为【5关系】。(6)若有“intx=15,y=20”,则执行表达式y-=x++后,表达式x+y的值为【21】。(7)执行语句序列“intk=0;dok++;while(k*k20);”后,k的值为【5】,(8)下列程序运行时的输出结果是【23】。(9)下列程序运行时的输出结果是【19】。(10)若Xcs是一个类,该类中具有一个函数体为空的不带参数的构造函数,此构造函数的类外定义为【Xcs::Xcs(){}】。(11)有如下程序:运行时的输出结果是【4382】。(12)有如下两个类声明calssAA{public:intm;};classBB:protectedAA{intn;};在类中,数据成员m的访问属性是【保护】,数据成员n的访问属性是【13公有】。(13)已知类Ben中将二元运算符“/”重载为友元函数,若c
本文标题:2011年9月全国计算机等级考试二级C++笔试试卷
链接地址:https://www.777doc.com/doc-3049230 .html