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

全国计算机等级考试(二级c++)历年真题及答案

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

A)井 B)交 C)投影 D)笛卡儿乘积

(9)在E-R图中,用来表示实体之间是联系的图形是 。 A) 矩形 B)椭圆形 C)菱形 D)平行四边形 (10)下列叙述中错误的是 。

A) 在数据库系统中,数据的物理结构必须与逻辑结构一致.

B)数据库技术的根本目标是要解决数据的共享问题 C)数据库设计是指在已有数据库管理系统的基础上建立数据库

D)数据库系统需要操作系统的支持

(11)为了取代C中带参数的宏,在C++中使用

A)重载函数 B)内联函数 C)递归函数 D)友元函数 (12)下列关于类定义的说法中,正确的是 A)类定义中包括数据成员和函数成员的声明 B)类成员的缺省访问权限是保护的 C) 数据成员必须被声明为私有的 D)成员函数只能在类体外进行定义

(13)下列关于派生类构造函数和析构函数的说法中,错误的是

A)派生类的构造函数会隐含调用基类的构造函数 B)如果基类中没有缺省构造函数,那么派生类必须定义构造函数

C)在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数

D)在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数

(14)通过运算符重载,可以改变运算符原有的

A)操作数类型 B)操作数个数 C)优先级 D)结合性 (15)有如下函数模板:

template T souare(T x) (retumx * x ;) 基中T是

A)函数形参 B)函数实参 C)模板形参 D)模板实参 (16)使用输入输出操作符setw,可以控制

A)输出精度 B)输出宽度 C)对齐方式 D)填充字符 (17)下列字符串中,不可以用作C++标识符的是 A)y_2006 B)____TEST__H C)Retum D)switch (18)字面常量42、4.2、42L的数据类型分别是 A)long、double int B)long、float、int C)int、double、long D)int、float、long

(19)执行下列语句段后,输出字符“*”的个数是 for(int i =50;I>1;— i )cout<<”*” A)48 B)49 C)50 D)51 (20)有如下程序段 inti =0, j=1; int&r=i ; // ① r =j; //②

11

int*p=&i ; //③ *p=&r ; //④

基中会产生编译错误的语句是 A)④ B)③ C)② D) ① (21)有如下函数定义:

void func (int a,int&b) {a++; b++;} 若执行代码段: intx=0 ,y=1 func(x,y);

则变量x和y值分别是

A)0和1 B)1和1 C)0和2 D)1和2 (22)有如下程序: #include using namespace std; class A{ public static int a;

void init(){a=1;}

A(int a=2) {init();a++;} };

int A:;a=0 A obj;

Int main() {

cout<

运行时输出的结果是 A)0 B)1 C)2 D)3

(23)下列有关继承和派生的叙述中,正确的是 A) 派生类不能访问基类的保护成员 B)作为虚基类的类不能被实例化

C)派生类应当向基类的构造函数传递参数 D)虚函数必须在派生类中重新实现 (24)下列运算符中,不能被重载的是 A)&& B)!= C). D)++

(25)下列函数模板的定义中,合法的是

A) template Tabs(T x) {return x <0 – x: x;}

B)template class Tabs(Tx){retumx<0 -x;x;} C)template Tabs(T x){retum x<0 -x;x;} D)template T abs(T x){returm x<0 -x;x;} (26)在语句cin>>data;中,cin是 A)C++的关键字 B)类名 C)对象名 D)函数名 (27)有如下程序:

#include using namespace std; class test { private: int a; public:

test(){cout<<”constructor”<

a=_testa;

cout<<”copy constructor”<

test(){cout<<”destructor”<

int main() }

test A(3) return0;

运行时输出的结果是 A)3

B)constructor destruclor

C)copy constructor D)3

dstructor destruclor

(28)若有如下类声明 class My Class { public:

MyClass() {cout<<1;} };

执行下列语句

MyClass a,b[2],*P[2];

以后,程序的输出结果是

A)11 B)111 C)1111 D11111 (29)有如下程序: #include using namespace std; class point { public:

static int number; public:

point(){number++; ~point(){number-;} };

imt point::number=0;

void main(){ point*ptr; printA,B; {

point*ptr_point=new point{3}; ptr=ptr_point; }

pointC;

cout<

运行时输出的结果是 A)3 B)4 C)6 D)7

(30)如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员,有如下程序,没有使用多态机制。 #include using namespace std; class Base{ int a,b; public:

Bace(int x ,int y) { a=x; b=y;}

Void show(){ cout<

clsaa Derived:public Base { int c ,d; public:

Derived(int x,int y,int z,int m):Base(x,y){c=z; d=m;} Void show(){ cout<

int main() {

Base B1(50,50),*pb; Derived DI(10,20,30,40); Pb=&D1;

Pb->show(); Return 0; }

运行时输出的结果是

A)10,20 B)30,40 C)20,30 D)50,50 (31)有如下程序: #include using namespace std; class A {

public;

12

A(int i ){x= i ;}

Void sispa(){cout<

class B;publicA {

public;

B(int i):A(i +10) {x =i ;}

voud dispb() {dispa();cout<

int main() {

B b(2); b.dispb() retum 0: }

运行时输出的结果是

A)10,2 B)12,10 C)12,2 D)2,2

(32)虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序: #include using namespace std; class Base {

public:

virtual void f(){cout<<”f0+”;} void g() {cout<<”g0+”;} };

class Derived:public Base {

public:

void f() {cout<<”f+”;} void g() {cout<<”g+”;} };

int main() {

Derived d; Base*p=&d;

p->f(); p->g(); return 0: }

13

运行时输出的结果是

A)f+g+ B)f0+g+ C)f+g0+ D)f0+g0+

(33)下面程序中对一维坐标点类Point进行运算符重载

#include using namespace std; class point { public:

point (int vaI) {x=val;}

point& operator++(){x++;retum*this;}

print operator++(int) {point old=*this,++(*this);retum old;}

int GetX() const {retum x;} private: int x; };

int main() {

point a(10);

cout<<(++a).GetX(); cout<

编译和运行情况是 A)运行时输出1011 B)运行时输出1111 C)运行时输出1112 D)编译有错

(34)有如下程序: #include using namespace std; int main() {

char str[100],*p;

cout<<”please input a string:”; cin>>str; p=str;

for(int i =0;*p!=”\\0”;p++, i ++); cout<< i <

运行这个程序时,若输入字符串为 abcdefg abcd 则输出结果是

A)7 B)12 C)13 D)100 (35)有如下程序::

#include using namespace std: class Sample {

friend long fun (Sample s); public:

Sample (long a ){x=a;} Private: long x; };

long fun (Sample s) {

if(s.x<2)retum 1;

retum s.x*fun(Sample(s.x-a)); }

int main() {

int sum=0 for(int i =0; i <6; i ++) { sum+=fun(Sample( i );) } cout<

运行时输出的结果是

A)120 B)16 C)154 D)34

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

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

(1)在深度为7的满二叉树中,度为2的结点个数为 【1】 。

(2)软件测试分为白箱(盒)测试和黑箱(盒)测试,等价类划分法属于 【2】 测试。

(3)在数据库系统中,实现各种数据管理体制功能的核心软件称为 【3】 。

(4)软件生命周期可分为多个阶段,一般分为定义阶段、开发和维护阶段。编码和测试属于 【4】 阶段。 (5)在结构化分析使用的数据流图(DFD)中,利用 【5】 对其中的图形元素进行确切解释。

(6)C++中只有两个逻辑常量:true和 【6】 。

(7)若要访问指针变量p所指向的数据,应使用表达式 【7】 。

(8)已知一个函数的原型是: int fn(double x);

若要以5.27为实参调用该函数,应使用表达式 【8】 。 (9)有如下定义: class MA{ int value;

14

public:

MA(int n=0):valut(n){} };

MA*ta,tb;

其中MA类的对象名标识符是 【9】 。

(10)如下类定义中包含了构造函数和拷贝数的原型声明请在横线处写正确的内容,使拷贝构造函数的声明完整。

Class my Class{ Private: Int data: Public:

MyClass(int value); //构造函数

MyClass(const 【10】 another Object); //拷贝构造函数 }

(11)用来派生新类的称为 【11】 ,而派生出的新类称为它的子类或派生类。 (12)有如下程序: #include using namespace std; clsaa CA{ public:

CAD{cout<

class CB ;private CA{ public;

CB(){cout<

int main(){cout<

int main(){ CA a; CB b; retum0; }

这个程序的输出结果是 【12】 。

(13)若将一个二元运算符重载为类的成员函数,其形参个数应该是 【13】 个。 (14)有如下程序: #include using namespace std; class DA{ int k; public:

DA(int x=1): k (x){}

~DA(){cout<

int main(){

DA d[]={DA(3),DA(3),DA(3)}; DA* p=new DA[2]; delete[]p; return0; }

这个程序的输出结果是 【14】 。 (15)C++语言中的多态性分为编译时的多态性和 【15】

2007年9全国计算机等级考试二级笔试试卷C++语言程序设计

(考试时间90分钟,满分100分)

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

下列个体A、B、C、D四个选项重,只有一个选项是时的多态性。

2007年4月计算机等级考试C++考试答案 选择题:

1-5BDACD 6-10CABCA 11-15BADAC 16-20BCDBA 21-25CCCCA 26-30CDBDA 30-35CBBBC 填空: 1、63 2、黑盒 3、DBMS 4、开发 5、数据字典 6、false 7、 *P 8、fn(5.27) 9、tb

10、myclass& 11、基类 12、AAB 13、1个 14、11333 15、运行

正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (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)下列叙述中正确的是

A 数据的输入结构与存储结构必定是——对应的

B 计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构

C 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 D 以上三种说法都不对

15

全国计算机等级考试(二级c++)历年真题及答案

A)井B)交C)投影D)笛卡儿乘积(9)在E-R图中,用来表示实体之间是联系的图形是。A)矩形B)椭圆形C)菱形D)平行四边形(10)下列叙述中错误的是。A)在数据库系统中,数据的物理结构必须与逻辑结构一致.B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立
推荐度:
点击下载文档文档为doc格式
7vamz05pra9kcek7hm3l8mqar1rud1013cg
领取福利

微信扫码领取福利

微信扫码分享