2007-2013全国计算机二级C++等级考试真题及答案(7)

2019-03-28 08:05

ADABA DADDA BACDA ACCDB DBBBA BBADA DBCCD ADCAC

n 29 数据操作语言 关系 面向对象方法 a=1,b=2 2 3 k<=n 074 rgb 572 *a[i] cab test 2012年9月全国计算机等级考试二级笔试试卷

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

(1)下列链表种,其逻辑结构属于非线性结构的是 D

A)循环链表 B)双向链表 C)带链的栈 D)二叉链表

(2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为 C

A)16 B)20 C)0或35 D)15 (3)下列关于栈的叙述中,正确的是 B

A)栈顶元素一定是最先入栈的元素 B)栈操作遵循先进后出的原则 C)栈底元素一定是最后入栈的元素 D)以上三种说法都不对 (4)在关系数据库中,用来表示实体间联系的是 A

A)二维表 B)树状结构 C)属性 D)网状结构

(5)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则实体部门和职员间的联系是 B

A)m:1联系 B)1:m联系 C)1:1联系 D)m:n联系 (6) 有两个关系R和S 如下: R A a b c B 1 2 3 C 2 1 1 A c S B 3 C 1 则由关系R得到关系S的操作是 B A)自然连接 B)选择 C)并 D)投影 (7)数据字典(DD)所定义的对象都包含于 B

A)程序流程图 B)数据流图(DFD图) C)方框图 D)软件结构图

(8)软件需求规格说明书的作用不包括 A

A)软件可行性研究的依据 B)用户与开发人员对软件要做什么的共同理解s C)软件验收的依据 D)软件设计的依据 (9)下面属于黑盒测试方法的是 D

A)逻辑覆盖 B)语句覆盖 C)路径覆盖 D)边界值分析 (10)下面不属于软件设计阶段任务的是 D

A)数据库设计 B)算法设计 C)软件总体设计 D)制定软件确认测试计划 (11)下列关于函数重载的叙述中,错误的是 C

A)重载函数的参数个数可以不同 B)重载函数的参数类型可以不同

31

C)重载函数的返回值类型必须不同

D)重载函数的参数个数或参数类型必须有所不同

(12)下列关于类成员对象构造函数调用顺序的叙述中,正确的是 B

A)与它们在初始化列表中顺序相同 B)与它们在类中声明的顺序相同 C)与析构函数的调用顺序相同 D)顺序不确定

(13)下列关于派生类的叙述中,错误的是 D

A)派生类至少要有一个基类

B)派生类中包括了从基类继承的成员

C)一个派生类可以作为另一个派生类的基类

D)基类成员被派生类继承以后访问权限保持不变 (14)下列关于运算符重载的叙述中,正确的是 B

A)通过运算符重载机制可以为C++语言扩充新的运算符 B)运算符重载的作用是使已有的运算符作用于类的对象 C)重载运算符的操作数类型可以全部为基本类型 D)所有运算符都可以重载

(15)下列关于模板的叙述中,错误的是 C

A)调用模板函数时,有时可以省略模板实参 B)函数模板的每个实例就是一个函数定义 C)类模板的每个实例就是一个类定义 D)类模板的实例是一个类对象

(16)下列关于输入输出流的叙述中,正确的是 A

A)一个文件流可以与一个数据文件相联系 B)cin是专门从键盘输入数据的输入流类 C)流运算符<<用来从输入流中读取数据 D)宽度设置的效果永久有效

(17)下列选项中可以做C++标识符的是 A

A)_256 B)fat/pig C)delete D)5char (18)关键字unsigned不能修饰的类型是 A

A)char B)int C)float D)long int (19)有如下程序:

#include using namespace std; int main(){ char a; cin>>a;

if(a='*') cout<<\ else cout<<\ return 0; } B

A)*** B)### C)***### D)无输出 (20)下列对一维数组a的定义中,语法正确的是 D

32

A)int a(10) B)int n=7,a[n]; C)int n;cin>>n;int a[n]; D)const int size=10;int a[size]; (21)假设函数fun已经定义,其原型为”void fun(int a,int b=7,char *p=”**”);”,下列函数调用中错误的是 C

A)fun(5) B)fun(5,8) C)fun(6,”##”) D)fun(0,0.”==”) (22)已经函数print()没有返回值,如果在类中将之声明为常成员函数,正确的是 A

A)void print()const; B)const void print(); C)void const print(); D)void print(const); (23)已知基类Employees只有一个构造函数,其定义如下:

Employee::Employee(int n):id(n){}

Manager是Employees的派生类,则下列对Manager的构造函数的定义中,正确的是 C

A)Manager::Manager(int n):id(n){} B)Manager::Manager(int n){id=n;}

C)Manager::Manager(int n):Employee(n){} D)Manager::Manager(int n){Employee(n);}

(24)已知将运算符“+”和“*”作为类Complete的成员函数重载,设c1和c2是类Complex的对象,则表达式c1+c2*c1等价于 B

A)c1.operator*(c2.operator+(c1)) B)c1.operator+(c2.operator*(c1))

C)c1.operator*(c1.operator+(c2)) D)c2.operator+(c1.operator*(c1))

(25)下列类模板的定义中语法格式错误的是 D

A)templateclass Buffer{/*…*/};

B)templateclass Buffer{/*…*/};

C)templateclass Buffer{/*…*/}; D)templateclass Buffer{/*…*/};

(26)在C++中既可以用于文件输入又可以用于文件输出的流类是 A

A)fstream B)ifstream C)ofstream D)iostream (27)有如下类定义: B

class MyClass{

int b;char a;double c; public:

MyClass():c(0.0),b(0),a(','){} };

创建这个类的对象时,数据成员的初始化顺序是

A)a,b,c B)c,b,a C)b,a,c D)c,a,b (28)有如下类定义 A

class MyClass{ int x; public:

MyClass():x(0),y(0){} int GetX(){return x;}

33

void SetX(int xx){x==xx;} int y; };

已知obj是类MyClass的对象,下列语句中违反类成员访问控制权限的是 A)obj.x; B)obj.y; C)obj.GetX(); D)obj.SetX(0);

(29)有如下类定义

class Test{

char a; const char b;

public:Test(char c){a=c;b=c;} //第1行 void f(char a)const{this->a=a;} //第2行 void g(char b){this->b=b;} //第3行 char h()const{return a;} //第4行 };

编译时没有错误的行是 C

A)第1行 B)第2行 C)第3行 D)第4行 (30)有如下程序:

#include using namespace std; class A{ public:

A(){cout<,'A';} ~A(){cout<<'C';} };

class B:public A{ public:

B(){cout<<'G';} ~B(){cout<<'T';} };

int main(){ B obj; return 0; }

运行这个程序的输出结果是 B

A)GATC B)AGTC C)GACT D)AGCT (31)有如下程序:

#include using namespace std; class Base{ public; void fun(){cout<<'B';} };

class Derived:public Base{ public;

34

void fun(){ cout<<'D';} };

int main(){ Derived d; d.fun(); return 0; }

若程序的输出结果是BD,则划线处缺失的部分是 C

A)fun() B)Base.fun() C)Base::fun() D)Base->fun() (32)有如下程序:

#include using namespace std; class B{ public;

virtual void f() {cout<<\ void g(){cout<<\ }

class D;public B { public;

void f(){cout<<\ void g(){coun<<\ }

void h(B*p){p->f();p->g();} int main(){ D obj; h(&obj); return 0; }

运行这个程序的输出结果是: D

A)DD B)BB C)BD D)DB (33)有如下程序:

#include #include using namespace std; class MyString{ public;

char str[80];

MyString(const char*s) {strcpy(str,s);} MyString&operator+=(MyString a){ strcat(str,a.str); return*this; } };

ostream&operator<<(ostream&s,const MyString&z){return s << z.str}

35


2007-2013全国计算机二级C++等级考试真题及答案(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:非常规油气资源

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: