好文档 - 专业文书写作范文服务资料分享网站

历年计算机二级c++真题及答案

天下 分享 时间: 加入收藏 我要投稿 点赞

B FunNumber operator-() C FunNumber operator-(int) D int operator – (FunNumber)

(8)一棵二叉树中共有70个叶子结点于80个度为1(15)C++中的模板包括

的结点,则该二叉树重的总结点数为

A 219 B 221 C 229 A 对象模板和函数模板 B 对D 221 象模板和类模板 (9)下列叙述重正确的是 C 函数模板和类模板 D A 数据库系统是一个独立的系统,它需要操作变量模板和对象模板 系统的支持 (16)如果调用C++流进行输入输出,下面的叙述中正确 B 数据库技术的根本目标是要解决数据的共享的是 问题 A 只能借助于流对象进行输入输出 C 数据库管理系统是数据库系统 B 只能进行格式化输入输出 D 以上说法都不正确 C 只能借助于cin和cout进行输入输出 (10)下列叙述中正确的是 D 只能使用运算符 》和《 进行输入输出 A 为了建立一个关系,首先是要构造数据的逻(17)下列富豪中不属于C++关键字的是

A friend B namespace C 辑关系

continue D byte B 表示关系的二维表中各各组的每一个分量还

可以分成若干数据项 (18)下列各组的量申明中,含义相同的一组是 C 一个关系的属性名称为关系模式 A unsigned long int 和 long B signed D 一个关系可以包括多个二维表 short int 和 short (11)在函数中,可以用auto,extem,register,和static这 B unsigned short 和 short D short 四个关键字中的一个来说明变量的存储类型,如果不说int 和int 明存储类型,则默认的存储类型是 (19) 必须用一对打括号括起来的程序段是 A auto B extem C register A switch 语句中的case标号语句 D static B if 语句的分支 (12)对于一个类定义,下列叙述中错误的是 C 循环语句的循环体 A 如果没有定义拷贝构造函数,编译器将生成 D 函数的函数体 一个拷贝构造函数 (20)语句的int*p=&k定义于指针P,于这个语句等效 B 如果没有定义缺省的构造函数,编译器将一的语句序列是

A int*p;p=&k B int*p;p=k 定生成一个缺省的构造函数

C int*p;*p=&k D int*p;*p=k C 如果没有定义构造函数,编译器将生成一个

缺省的构造函数和一个拷贝构造函数 (21)关于函数重载,下列叙述中错误的是 D 如果已经定义了构造函数和拷贝构造函数, A 重载函数的函数名必须相同 编译器不会生成任何构造函数 B 重载函数必须在函数个数或类型上有所不同 (13)如果派生类以public方式继承基类,则原基类的 C 重载函数的返回值类型必须相同 protected成员和public成员在派生类中的访问类型分别 D 重载函数的函数体可以有所不同 是 (22)有如下头文件

Int f1(); A public和 public B

Static int f2(); public和protected

Class MA{ C protected 和 public D

Public protected 和 protected

Int f3(); (14)下列运算符函数中肯定不属于类FunNumber的成

Static int f4(); 员函数的是

A int operator-(FunNumber) };

16

在所描述的函数中,具有隐含的this指针的是

A f1 B f2 C f3 D f4

(23)派生类的成员函数不能访问基类的

A 共有成员和保护成员 B 共有成员 C 私有成员 D 保护成员 (24)下列关于运算符重载的描述中,正确的是 A 运算符重载为成员函数时,若参数表中五参数,重载的是一元运算符

B 一元运算符只能作为成员函数重载

C 二元运算符重载为非成员函数时,参数表中有一个参数 程序的输出结果是

D C++中可以重载所有的运算符

A val=10 const:val=20 (25)下列关于类模板的模板参数的叙述中,错误的是

B const:val=10 const:val=20 A 模板参数可以作为数据成员的类型

C const:val=10 val=20 B 模板参数可以作为成员函数的返回类型

D val=10 val=20 C 模板参数可以作为成员函数的参数类型 (29)有如下程序

D 模板函数不能作为成员函数的局部变量的类型

#include (26)已知一程序运行后执行的第一个输出操作是

Using namespace std; Cout<

则此操作的输出结构是

Public; A 1234 B ******1234 Part(int x=(\\):val(x){cout,,val;} C **********1234 D 1234****** -part(){cout<

(27)有如下程序

Private; #include Int val; Using namespace std; }; Class myclass{ Class whole{ Public: Public; MyClass(){++count;} Whole(int x,int ~MyClass(){--count;} z=0):p2(x),p1(y),val(z){cout< } Using namespace std;

程序的输出结果是

Class base{ A 121 B 232 C 221 D 122 Public:

17

y,int

Base(int x=0){cout<

Class derived : public base{ Public:

Derivedrin(x=y){cout<

Base val; };

Int main(){

Derived d(!); Return(); }

程序的输出结果是

A 0 B 1 C 01 D 001 (31)若有如下类定义: Classs B {

Void fun(){} Protected;

Double varl; Public:

Void fun2(){} };

Class D:public B{ Protected;

Void fun3(){} };

已知obj是类D的对象,下列语句中不违反成员访问控制的权限的是

A obj.fun1(); B obj.var1; C obj.fun2(); D obj.fun3(); (32)有如下程序:

#include Using namespace sid; Class base{ Public;

Void output(){cout<<1;}

Virtual void print() {cout<

Class derived:public base{ Public:

Void output(){cout<<2;} Void print(){cout<<’D’;} };

Int main()

Base * passnew derived; Ptr->output();

18

Ptr->print(); Delete ptr; Return(); }

程序的输出结果是

A 1B B 1D C 2B D 2D

下列是重载乘法运算的函数原型声明,其中错误的是 A myclass operator*(double,double); B myclass operator*(double,myclass); C myclass operator*(myclass,double); D myclass operator*( myclass , myclass); (35) 有如下程序:

#include Using namespace std: Class B{ Public:

Virtual void show(){cout<<‖b‖;} };

Class D:public B { Public:

Void show(){cout<

Void fun1(B*ptr){ptr->show();} Void fun2(B &ref){ref.show();} Void fun3(B b){b.show();} Int main(){

B b,*p=new D; D d; Fun1(p); Fun2(b); Fun3(d); Return(); }

程序的输出结果是

A DBD B BBD C DBB D DBD

二、填空题(每空2分,共三十分)

(1).请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。

(2).软件需求规格说明书应具有完整性、无歧视性、正确性、可验证性、可修改性等特征,最重要的是_______. (3).在两种基本测试方法中_______测试的原则之一是保证所测模板中每一个独立路径至少要执行一次。 (4).线性表的存储结构主要分为顺序存储结构和链式储存结构。队列中是一种特殊的线性表。循环队列是队列的_____存储结构。

(5).对下列二叉树进行中序遍历的结果为______. (6).在E-R图中,矩形属于______ 在有定义语句:int a=3,b=2,c=1;则表达式a

(7).执行下列语句后,变量sum的值是____. Int sum =0;

For (int j=I;j<=I;j++) For (int j=I;j<=I;j++) Sum++;

(8).已知有函数f的定义如下: Int f(){

Static int -6; s-2; return s }

则在某程序中第二次执行函数用语句f();时,函数f的返回值是_____.

(9)已知如下程序得输出结果时23,请将划线处缺失得部分补充完整。

#include Using namespace std; Class myclass{ Public:

Void print() cout{cout<<23;} }

Int main(){

Myclass*p=new myclass(); ______print(); Return();

Class sample{ Public:

Sample(){} _________ }

(14)请将如下程序补充完整,使得输出结果为bbaa #include Using namespace std; Class A { Public:

_____{cout<<‖aa‖;} };

Class B :public A{ Public:

~B(){cout<<‖bb‖;} };

Int main (){

B*p=new B; Delete p; Return(); }

(15)请将下列栈类stack补充完整 Class stack{ Private;

Int plist[100]; //int 数组,用于存放栈的元素 Int top; //栈顶元素(数组下标) Public:

Stack():top(0){}

Void push(sons int &item); //新元素item压入栈

Int pop(void); //将栈顶元素弹出栈 };

Void stack::pbsh(const int &item){

If (top ==99) //如果栈满,程序结束

Exit(1);

Top++; //栈顶指针增1

___【15】____; }

19

Int stack::pop(){

If (top<0) //如果栈空,程序结束

Exit(1);

Return plish[top--]; }

参考答案

1-10:DBCAACCABB 11-20:ABDDCADBDA 21-30:CCCADBACDC 31-35:CDAAD 1.无歧性 2.逻辑覆盖 3.链式

4.ACBDFHGPE 5.实体 6.2 7.6 8.4 9.(*p) 10.ABBA

11.void Base::fun() 12.virtual display()==0; 14.-A()

15.pList[top]=item

2008年9月计算机等级考试 二级C++笔试试题

一、选择题(每小题2分,共70分)

(1)一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是(B)。 A)123456ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA (2)下列叙述中正确的是(D)。

A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

D)循环队列中元素的个数是由队头指针和队尾指针共同决定

20

(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 如下:

R S T A B B C A B C m 1 1 3 m 1 3 n 2 3 5

由关系 R 和 S 通过运算得到关系 T,则所使用的运算为(D)。 A)笛卡尔积 B)交 C)并 D)自然连接

(11)在下列原型所示的 C++函数中,按―传值‖方式传递参数的是(A)。 A)void f1(int x); B)void f2(int*x); C)void f3(const int*x); D)void f4(int&x); (12)在 C++中,编译系统自动为一个类生成缺省构造

00lcj11x4w7g2499hhv6
领取福利

微信扫码领取福利

微信扫码分享