08年4月全国计算机等级考试二级C++笔试试题及答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2008年4月全国计算机等级考试二级C++笔试试题及答案

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

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

(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)下列关于栈的叙述正确的是()。

A)栈按“先进先出”组织数据

B)栈按“先进后出”组织数据

C)只能在栈底插入数据

D)不能删除数据

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

A)需求分析阶段B)概念设计阶段

C)逻辑设计阶段D)物理设计阶段

(9)有三个关系R、S 和T 如下:

R S T

B C D

a 0 k1

b 1 n1

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

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

(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC

(学号,课号,成绩),则表SC 的关键字(键或码)为()。

A)课号,成绩B)学号,成绩

C)学号,课号D)学号,姓名,成绩

(11)下列有关函数重载的叙述中,错误的是

A)函数重载就是用相同的函数名定义多个函数

B)重载函数的参数列表必须不同

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

D)重载函数的参数可以带有默认值

(12)下列有关类成员的叙述中,正确的是

A)友元函数是类的成员函数

B)类成员的默认访问权限是私有的

D)类的静态数据成员不能是常成员

(13)下列有关类继承的叙述中,错误的是

A)继承可以实现软件复用

B)虚基类可以解决由多继承产生的二义性问题

C)派生类构造函数要负责调用基类的构造函数

D)派生类没有继承基类的私有成员

(14)下列有关运算符重载的叙述中,正确的是

A)运算符重载是多态性的一种表现

B)C++中可以通过运算符重载创造新的运算符

C)C++中所有运算符都可以作为非成员函数重载

D)重载运算符时可以改变基结合性

(15)下列有关模板的叙述中,正确的是

A)函数模板不能含有常规形参

B)函数模板的一个实例就是一个函数定义

C)类模板的成员函数不能是模板函数

D)用类模板定义对象时,绝对不能省略模板实参

(16)下列有关C++流的叙述中,错误的是

A)C++操作符setw 设置的输出宽度永久有效

B)C++操作符endl 可以实现输出的回车换行

C)处理文件I/O 时,要包含头文件fstream

B C D

a 0 k1

B C D

f 3 h2

a 0 k1

n 2 x1

D)进行输入操作时,eof()函数用于检测是否到达文件尾

(17)下列符号中能够作为C++标识符的是

A)const B)2a C)_shape D)-count

(18)已知枚举类型声明语句为:

enum COLOR{ WHITE,YELLOW,GREEN=5,RED,BLACK=10 };

则下列说法中错误的是

A)枚举常量YELLOW 的值为1 B)枚举常量RED 的值为6

C)枚举常量BLACK 的值为10 D)枚举常量WHITE 的值为1

(19)执行下列语句段后,输出字符“*”的个数是

for (int i=50; i>1; I-=2)cout<<'*';

A)24 B)25

C)26 D)50

(20)有如下定义:

int a[5]={1,3,5,7,9},*p=a;

下列表达式中不能得到数值5 的是

A)a[2] B)a[3]

C)*(p+2) D)*p+4

(21)已知函数f 的原型是void f(int *a, long & b);,变量v1、v2 的定义是:int v1; loong v2;

下列调用语句中正确的是

A)f(v1, &v2); B)f(v1, v2);

C)f(&v1, &v2); D)f(&v1, v2);

(22)有如下类定义:

class Point{

private;

static int how_many;

};

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

A)ing B)static int

C)int Point:: D)static int Point::

(23)在下列关键字中,不能用来表示继承方式的是

A)private B)static

C)public D)protected

(24)已知V alue 是一个类,V alue 是V alue 的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是

A)V alue operator+(V alue v, int i); B)V alue operator+(V alue v=value, int i);

C)V alue operator+(V alue vint i=0); D)V alue operator+(V alue v=value, int i=0);

(25)下面是一个模板声明的开始部分:

templute double __

由此可知

A)这可能是一个函数模板的声明

B)这可能是一个类模板的声明

C)这既可能是一个函数模板的声明,也可能是一个类模板的声明

D)这肯定是一个错误的模板声明

(26)有如下4 个语句:

①cout<<'A'<

②cout<

③cout<<'A'<

④cout<

其中能显示A******B 的是

A)①和③B)①和④

C)②和③D)②和④

(27)有如下类定义:

class MyClass{

Int value;

public;

MyClass(int n): value (n) {}

int gerV alue()const{ return value;}

};

则类MyClass 的构造函数的个数是

A)1 个B)2 个

C)3 个D)4 个

(28)有如下类和对象的定义:

class Constants{

public;

static double getPI(){return 3.1416;}

};

Constants constants;

3.1416 的是

A)cout<getPI();和cout<

B)cout<

C)cout<getPI();和cout<getPI();

D)cout<

(29)有如下程序:

#include

using namespace std;

class V AC{

public;

int f() const { return 3; }

int f() {return 5;}

};

相关文档
最新文档