logo资料库

2009年3月全国计算机二级C++考试真题及答案.doc

第1页 / 共15页
第2页 / 共15页
第3页 / 共15页
第4页 / 共15页
第5页 / 共15页
第6页 / 共15页
第7页 / 共15页
第8页 / 共15页
资料共15页,剩余部分请下载后查看
2009 年 3 月全国计算机二级 C++考试真题及答案 一、选择题(每小题 2 分,共 70 分) (1)下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进后出”的线性表 C)循环队列是非线性结构 D)有序线性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈 B)树 C)队列 D)二叉树 (3)某二叉树有 5 个度为 z 的结点,则该二叉树中的叶子结点数是 A)10 B)8 C)6 D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A)编译程序 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为 Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利他哦高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性 1
C)耦合性是指一个模块内部各个元索间彼此结合的紧密程度 D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系 R,S 如下: 由关系 R 通过运算得到关系 S,则所使用的运算为 A)选择 B)投影 C)插入 D)连接 (10)将 E-R 图转换为关系模式时,实体和联系都可以表示为 A)属性 B)键 C)关系 D)域 (11)对 C++编译器区分重载函数无任何意义的信息是 A)参数类型 B)参数个数 C)返回值类型 D)常成员函数关键字 coast (12)有如下类定义和变量定义: classA{ publie: A(){data=0;} ~A(){} intGetData()coast{returndata;} voidSetData(intn){data=n;} 2
private: intdata; }; ccnstAa; Ab; 下列函数调用中错误的是 A)a.GetData(); B)a.SetData(10); C)b.GetData(); D)b.SetData(10); (13)有如下类定义和变量定义: classParents{ public: intpublicuata; private: intprivateData; }; classChildA:publicParents{/*类体略*/}; classChildB:privateParents{/*类体略*/); ChildAa; ChildBb; 下列语句中正确的是 A)cout<
C)虚拟类型参数没有出现在模板函数的形参表中时,不能省略模板实参 D)模板参数表不能为空 (16)要建立文件流并打开当前目录下的文件 file.dat 用于输入,下列语句中错误的是 A)ifstreamfin=ifstream.open(“file.dat”); B)ifstream*fir.=newifstream(“file.dat”); C)ifstreamfin;fin.open(“file.dat”); D)ifstream*fin=newifstream();fin 一>open(“file.dat”); (17)下列描述中,不属于面向对象思想主要特征的是 A)封装性 B)跨平台性 C)继承性 D)多态性 (18)有如下程序段: Tnti=4;intj=l; intmain(){ inti=8,j=i; cout<
B)strcpy(a[2],“WIN”) C)a[2][3]='W' D)a[0][1]=a[0][1] (21)已知函数 fun 的原型为 intfun(int,int,int); 下列重载函数原型中错误的是 A)charfun(int,int); B)doublefun(int,int,double); C)intfun(int,char*); D)floatfun(int,int,int); (22)建立一个类对象时,系统自动调用 A)析构函数 B)构造函数 C)静态函数 D)友元函数 (23)通过派生类的对象可直接访问其 A)公有继承基类的公有成员 B)公有继承基类的私有成员 C)私有继承基类的公有成员 D)私有继承基类的私有成员 (24)己知表达式++a 中的“++”是作为成员函数重载的运算符,则与十+a 等效的运算符函数调用形式为 A)a.orerator++(1) B)operator++(a) C)operator++(a,l) D)a.operator++() (25)在定义一个类模板时,模板形参表是用一对括号括起来的,所采用的括号是 A)() B)[] C)<> D){} (26)当使用 ifstream 流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为 A)ios_base::in B)ios_base::in|ios_base::out C)ios_base::out D)ios_base::in&ios_base::out 5
(27)有如下程序: #include #include usingnamespacestd; classXCD{ char*a; intb; public: XCD(char*aa,intbb){ a=newchar[strlen(aa)+1]; strcpty(a,aa); b=bb; } Char*Geta(){returna;) intGetb(){returnb;} }; intmain(){ char*pl=“abcd”,*p2=“weirong”; intdl=6,d2=8; XCDx(pl,dl),Y(p2,d2); cout< #include usingnamespacestd; classXCF{ inta; public: 6
XCF(intaa=0):a(aa){cout<<“1”;} XCF(XCF&x){a=x.a;cout<<“2”;) ~XCF(){cout<Geta(); deletepd; return0; } 运行时的输出结果是 A)121SS88 B)12188SS C)12185 D)128512 (29)已知类 MyClass 声明如下: classMyClass{ intn; public; MyClass(intk):n(k){} intgetValue()const{returnn;} }; 在下列数组定义中正确的是 A)MyClassx1[2]; B)MyClassx2[2]={newMyClass(1),newMyClass(2)}; C)MyClass*x3[2]; D)MyClass*x4[2]={MyClass(1),MyClass(2)}; (30)有如下程序: #include usingnamespacestd; classAA{ liltk; protected: 7
intn; voidsetK(intk){this->k=k;} public: voidsetN(intn){this->n=n;} }; classBB:public}{/*类体略*/}; intmain(){ BBx_;//1 x.n=1;//2 x.setN(2);//3 x.k=3;//4 x.setK(4); return0; } 在标注号码的四条语句中正确的是 A)1 B)2 C)3 D)4 (31)有如下类定义: classXX{ intxx; public: XX():xx(0){cout<<'A';} XX(intn):xx(n){tout<<'B';} }; ClassYY:publicXX{ Intyy; public: YY():yy(0){cout+yy;} YY(intn):XX(n+1),yy(n){cout<
分享到:
收藏