历年全国计算机等级考试二级C++真题及答案(最新)
2012年9月全国计算机等级考试二级C++笔试试卷
C++语言程序设计
(考试时间90分钟,满分100分)
一、选择题(每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
1)下列链表种,其逻辑结构属于非线性结构的是
A)循环链表    B)双向链表  C)带链的栈    D)二叉链表
2)设循环队列的存储空间为Q(1:35),初始状态为front=rear=35,现经过一系列入队与退队运算后,front=15rear=15,则循环队列中的元素个数为
A16      B20  C035    D15
3)下列关于栈的叙述中,正确的是
A)栈顶元素一定是最先入栈的元素    B)栈操作遵循先进后出的原则
C)栈底元素一定是最后入栈的元素    Dconst的作用)以上三种说法都不对
4)在关系数据库中,用来表示实体间联系的是
A)二维表    B)树状结构  C)属性    D)网状结构
5)公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,则实体部门和职员间的联系是
Am:1联系    B1:m联系  C1:1联系    Dm:n联系
6 有两个关系RS 如下:
R
 
S
A
B
C
 
A
B
C
a
1
2
 
c
3
1
b
2
1
 
 
 
 
c
3
1
 
 
 
 
则由关系R得到关系S的操作是
A)自然连接    B)选择  C)并    D)投影
7)数据字典(DD)所定义的对象都包含于
A)程序流程图    B)数据流图(DFD图)  C)方框图    D)软件结构图
8)软件需求规格说明书的作用不包括
A)软件可行性研究的依据    B)用户与开发人员对软件要做什么的共同理解
C)软件验收的依据          D)软件设计的依据
9)下面属于黑盒测试方法的是
A)逻辑覆盖    B)语句覆盖  C)路径覆盖    D)边界值分析
10)下面不属于软件设计阶段任务的是
A)数据库设计      B)算法设计
C)软件总体设计    D)制定软件确认测试计划
11)下列关于函数重载的叙述中,错误的是
A)重载函数的参数个数可以不同
B)重载函数的参数类型可以不同
C)重载函数的返回值类型必须不同
D)重载函数的参数个数或参数类型必须有所不同
12)下列关于类成员对象构造函数调用顺序的叙述中,正确的是
A)与它们在初始化列表中顺序相同
B)与它们在类中声明的顺序相同
C)与析构函数的调用顺序相同
D)顺序不确定
13)下列关于派生类的叙述中,错误的是
A)派生类至少要有一个基类
B)派生类中包括了从基类继承的成员
C)一个派生类可以作为另一个派生类的基类
D)基类成员被派生类继承以后访问权限保持不变
14)下列关于运算符重载的叙述中,正确的是
A)通过运算符重载机制可以为C++语言扩充新的运算符
B)运算符重载的作用是使已有的运算符作用于类的对象
C)重载运算符的操作数类型可以全部为基本类型
D)所有运算符都可以重载
15)下列关于模板的叙述中,错误的是
A)调用模板函数时,有时可以省略模板实参
B)函数模板的每个实例就是一个函数定义
C)类模板的每个实例就是一个类定义
D)类模板的实例是一个类对象
16)下列关于输入输出流的叙述中,正确的是
A)一个文件流可以与一个数据文件相联系
Bcin是专门从键盘输入数据的输入流类
C)流运算符<<用来从输入流中读取数据
D)宽度设置的效果永久有效
17)下列选项中可以做C++标识符的是
A_256      Bfat/pig        Cdelete      D5char
18)关键字unsigned不能修饰的类型是
Achar      Bint    Cfloat      Dlong int
19)有如下程序:
#include<iostream>
using namespace std;
int main(){
    char a;
    cin>>a;
    if(a='*')    cout<<"***"<<endl;
    else        cout<<"###"<<endl;
  return 0;
}
A***      B###        C***###      D)无输出
20)下列对一维数组a的定义中,语法正确的是
Aint a(10)        Bint n=7,a[n];      Cint n;cin>>n;int a[n];  Dconst int size=10;int a[size];
21)假设函数fun已经定义,其原型为”void fun(int a,int b=7,char *p=”**”);”,下列函数调用中错误的是
Afun(5)      Bfun(5,8)      Cfun(6,”##”)      Dfun(0,0.”==”)
22)已经函数print()没有返回值,如果在类中将之声明为常成员函数,正确的是
Avoid print()const;          Bconst void print();      Cvoid const print();    Dvoid print(const);
23)已知基类Employees只有一个构造函数,其定义如下:
Employee::Employee(int n):id(n){}
ManagerEmployees的派生类,则下列对Manager的构造函数的定义中,正确的是
AManager::Manager(int n):id(n){}
BManager::Manager(int n){id=n;}
CManager::Manager(int n):Employee(n){}
DManager::Manager(int n){Employee(n);}