二级c++笔试历年真题 联系客服

发布时间 : 星期四 文章二级c++笔试历年真题更新完毕开始阅读d08c878cb9d528ea81c779ca

char name[10]; public:

Pet(char *name){ strcpy(this->name,name);} const char *getName()const{return name;} virtual void call()const=0; };

class Dog: public Pet{ public:

Dog(char *name):Pet(name){} void call()const{ cout<<\汪汪叫\};

class Cat:public Pet{ public:

Cat(char *name):Pet(name){} void call()const{ cout<<\喵喵叫\};

int main(){

Pet *pet1=new Dog(\哈克\吉米\ cout<getName();pet1->call();cout<getName();pet2->call();cout<

程序的输出结果是______。

2008年4月考试真题(第27次)

1. 程序流程图中带有箭头的线段表示的是______。

A、图元关系 B、数据流 C、控制流 D、调用关系

2. 结构化程序设计的基本原则不包括______。

A、多态性 B、自顶向下 C、模块化 D、逐步求精

3. 下列关于栈的叙述正确的是______。

A、栈按\先进先出\组织数据 B、栈按\先进后出\组织数据 C、只能在栈底插入数据 D、不能删除数据

4. 算法的有穷性是指______。

A、算法程序的运行时间是有限的 B、算法程序所处理的数据量是有限的 C、算法程序的长度是有限的 D、算法只能被有限的用户使用

5. 软件设计中模块划分应遵循的准则是______。

A、低内聚低耦合 B、高内聚低耦合 C、低内聚高耦合 D、高内聚高耦合

6. 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是______。

A、快速排序 B、冒泡排序 C、直接插入排序 D、堆排序

7. 有三个关系R、S和T如下:

由关系R和S通过运算得到关系T,则所使用的运算为______。

A、并 B、自然连接 C、笛卡尔积 D、交

8. 在软件开发中,需求分析阶段产生的主要文档是______。

A、可行性分析报告 B、软件需求规格说明书 C、概要设计说明书 D、集成测试计划

9. 设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为______。

A、课号,成绩 B、学号,成绩 C、学号,课号 D、学号,姓名,成绩

10. 在数据库设计中,将E-R图转换成关系数据模型的过程属于______。

A、需求分析阶段 B、概念设计阶段 C、逻辑设计阶段 D、物理设计阶段

11. 已知Value是一个类,value是Value的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是______。

A、Value operator+(Value v,int i); B、Value operator+(Value v=value,int i); C、Value operator+(Value v,int i=0); D、Value operator+(Value v=value,int i=0);

12. 有如下程序: #include using namespace std; class Base{ int x; public:

Base(int n=0):x(n){cout<

class Derived:public Base{ int y; public:

Derived(int m,int n):y(m),Base(n){cout<

int main() {

Derived d1(3),d2(5,7); return 0; }

运行时的输出结果是______。

A、375 B、357 C、0375 D、0357

13. 下列有关运算符重载的叙述中,正确的是______。

A、运算符重载是多态性的一种表现 B、C++中可以通过运算符重载创造新的运算符

C、C++中所有运算符都可以作为非成员函数重载 D、重载运算符时可以改变其结合性

14. 有如下4个语句:

① cout<<'A'<

A、①和③ B、①和④ C、②和③ D、②和④

15. 下列有关类成员的叙述中,正确的是______。

A、友元函数是类的成员函数 B、类成员的默认访问权限是私有的 C、类成员函数必须声明为公有的 D、类的静态数据成员不能是常成员

16. 执行下列语句段后,输出字符\的个数是______。 for(int i=50;i>1;i-=2) cout<<'*';

A、24 B、25 C、26 D、50

17. 有如下类定义: class Point{ private:

static int how_many; };

______how_many=0;

要初始化Point类的静态成员how_many,下划线处应填入的内容是______。

A、int B、static int C、int Point:: D、static int point::

18. 下面是一个模板声明的开始部分: templatedouble… 由此可知______。

A、这可能是一个函数模板的声明 B、这可能是一个类模板的声明 C、这既可能是一个函数模板的声明,也可能是一个类模板的声明 D、这肯定是一个错误的模板声明

19. 有如下类声明: class Base{ protected: int amount; public:

Base(int n=0):amount(n){}

int getAmount()const{return amount;} };

class Derived:public Base{ protected: int value; public:

Derived(int m,int n):value(m),Base(n){} int getData()const{return value+amount;} };

已知x是一个Derived对象,则下列表达式中正确的是______。

A、x.value+x.getAmount() B、x.getData()-x.getAmount() C、x.getData()-x.amount D、x.value+x.amount

20. 有如下程序: #include using namespace std; class GA{ public:

virtual int f(){return 1;} };

class GB:public GA{ public:

virtual int f(){return 2;} };

void show(GA g){cout<

GA a;show(a);display(a); GB b;show(b);display(b); return 0; }

运行时的输出结果是______。

A、1111 B、1211 C、1112 D、1212

21. 下列有关C++流的叙述中,错误的是______。

A、C++操作符setw设置的输出宽度永久有效 B、C++操作符endl可以实现输出的回车换行 C、处理文件I/O时,要包含头文件fstream D、进行输入操作时,eof()函数用于检测是否到达文件尾

22. 下列关键字中,不能用来表示继承方式的是______。

A、private B、static C、public D、protected

23. 下列语句分别是不同程序中的第一个输入输出语句。若去掉其中的\,输出效果将发生变化的是______。

A、cout<

24. 有如下程序: #include using namespace std; class VAC{ public:

int f()const{return 3;} int f(){return 5;} };

int main(){ VAC v1; const VAC v2;

cout<