二级C++-211
(总分79.5,考试时间90分钟)
一、选择题
1. 对于模板定义关键字class和typename说法不正确的是____。
A. 程序中的class并不能都替换为typename
B. class和typename都可互相替换
C. 程序中的typename都能替换为class
D. 程序中的部分class可以替换为typename
2. 下列有关构造函数的描述错误的是____。
A. 构造函数在说明类变量时自动执行        B. 构造函数可以重载
C. 构造函数可以设置默认参数        D. 构造函数可以对静态数据成员进行初始化
3. 下列关于C++预定义流对象的叙述中,正确的是______。
A. cin是C++预定义的标准输入流对象
B. cin是C++预定义的标准输入流类
C. cout是C++预定义的标准输入流对象
D. cout是C++预定义的标准输入流类
4. 实现运行时的多态性要使用____。
A. 虚函数        B. 重载函数
C. 析构函数        D. 构造函数
5. 下面程序的运行结果是
#include<iostream.h>
class base{
protected:
int a;
public:
base(){cout <<"0";}
};
class basel:virtual base{
public:
basel () {cout <<"1";}
};
class base2:virtual base{
public:
base2(){cout <<"2";}
};
class derived:public basel,public base2{
public:
derived(){cout <<"3";}
};
void main()
{
derived obj;
cout <<end1;
}
A. 0123        B. 3120
C. 0312        D. 3012
6. 在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是______。
A. ios_base::cur        B. ios_base::beg
C. ios_base::out        D. ios_base::end
7. 最简单的交换排序方法是______。
A. 快速排序        B. 选择排序
C. 堆排序        D. 冒泡排序
8. 将前缀运算符“- -”重载为非成员函数,下列原型中能正确用于类中说明的是______。
A. Decr& operator --(int);
B. Decr operator --(Decr&, int);
C. friend Decr& operator --(Decr&);
D. friend Decr operator --(Decr&, int);
9. 如果表达式--x/y中的“--”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为______。
A. operator/(x.operator--(),y);
B. operator/(operator--(x),y);
C. opcraior--().operator/(y);
D. opcrator/(operator--(x));
10. 有如下函数定义:
void func(int a,int&b)
{a++;b++;}
若执行代码段:
int x=0,y=1;
func(x,y);
则变量x和y的值分别是______。
A. 0和1        B. 1和1
C. 0和2        D. 1和2
11. 执行下列语句段后,输出字符“*”的个数是______。
for(int i=50; i>1; --i)
cout <<"*";
A. 48        B. 49
C. 50        D. 51
12. C++语言类体系中,不能被派生类继承的有
A. 转换函数        B. 构造函数
C. 虚函数        D. 静态成员函数
13. ______ 给出了数据库物理存储结构与物理存取方法
A. 概念模式        B. 外模式
C. 子模式        D. 物理模式
14. 下列关于队列的叙述中正确的是______。
A. 在队列中只能插人数据        B. 在队列中只能删除数据
C. 队列是先进先出的线性表        D. 队列是先进后出的线性表
15. 数据库管理系统 DBMS 中用来定义模式、内模式和外模式的语言为
A. .C        B. Basic
C. DDL        D. DML
16. 算法的空间复杂度是指
A. 算法程序的长度        B. 算法程序中的指令条数
C. 算法程序所占的存储空间        D. 执行过程中所需要的存储空间
17. 下列符号中不属于C++关键字的是______。
A. friend        B. namespace
C. continue        D. byte
18. 若有函数原型声明为“void fun(int*x,int &y,int z=3);”,下列叙述中,错误的是______。
A. 调用函数fun时必须给出3个实参        B. 函数fun中有1个指针形参
C. 函数fun中有1个形参有默认值        D. 函数fun中有1个引用形参
19. 算法的有穷性是指______。
A. 算法程序的运行时间是有限的        B. 算法程序所处理的数据量是有限的
C. 算法程序的长度是有限的        D. 算法只能被有限的用户使用
20. 索引属于______。
A. 模式        B. 内模式
C. 外模式        D. 概念模式
21. 有如下程序:
#include<iostream>
using namespace std;
void function2(int n);
void function1(int n){
if(n<=0)return;
function2(n-2);
}
void function2(int n){
if(n<=0)return;
function1(n-1);
}
int main(){
function1(5);
return 0;
}
下列关于程序运行情况的描述中,正确的是______。
A. function1运行1次,function2运行2次
B. function1运行2次,function2运行1次
C. function1运行2次,function2运行3次
D. function1运行2次,function2运行2次
22. 以下关键字不能用来声明类的访问权限的是______。
A. public        B. static
C. protected        D. private
23. 下列叙述中正确的是______。
A. 软件测试应该由程序开发者来完成        B. 程序经调试后一般不需要再测试
C. 软件维护只包括对程序代码的维护        D. 以上三种说法都不对
24. 下列叙述中正确的是
A. 数据库系统是一个独立的系统,不需要操作系统的支持
B. 数据库技术的根本目的是解决数据的共享问题
C. 数据库管理系统就是数据库系统
D. 以上3种说法都不对
25. 有关析构函数的说法中错误的是
A. 析构函数有且只有一个        B. 析构函数无任何函数类型
C. 析构函数和构造函数一样可以有形参        D. 析构函数的作用是在对象被撤销时做清理工作
26. 函数定义为Fun(int &i),变量定义n=100,则下面调用正确的是______。
A. Fun(20);        B. Fun(20+n);
C. Fun(n);        D. Fun(&n);
27. 下列关于运算符重载不正确的是
A. 运算符重载不能改变运算符的操作数个数
B. 运算符重载不能改变运算符的优先级
C. 运算符重载不能改变运算符的结合性
D. 运算符重载能改变对预定义类型数据的操作方式
28. 设有int x=11;,则表达式(x++*2/3)的值是____。
A. 7        B. 8
C. 11        D. 12
29. 将前缀运算符“--”重载为非成员函数,下列原型中能正确用于类中说明的是______。
A. Decr&operator--(int);
B. Decr operator--(Decr&,int);
C. friend Decr&operator--(Decr&);
D. friend Decr operator--(Decr&,int);
30. 下列关于C++函数的说明中,正确的是______。
A. 内联函数就是定义在另一个函数体内部的函数
B. 函数体的最后一条语句必须是return语句
C. 标准C++要求在调用一个函数之前,必须先声明其原型
D. 编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式
31. 下面关于虚函数的描述,错误的是
A. 在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B. 基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C. 虚函数可以是另一个类的友元函数,但不能是静态成员函数
D. 基类中说明的纯虚函数在其任何派生类中都必须实现
32. 数据库关系模型中可以有三类完整性约束,下列选项中不属于三类完整性约束的是____。
A. 实体完整性规则        B. 参照完整性规则
C. 对象完整性规则        D. 用户自定义完整性规则
33. 下列关于模板形参的描述中,错误的是______。
A. 模板形参表必须在关键字template之后
B. 模板形参表必须用括弧()括起来
C. 可以用class修饰模板形参
D. 可以用typename修饰模板形参
34. 下列关于类和对象的叙述中,错误的是____。
A. 一个类只能有一个对象        B. 对象是类的具体实例
C. 类是对某一类对象的抽象        D. 类和对象的关系是一种数据类型与变量的关系
35. 下面的函数调用为:
fun(x+y,3,min(n-1,y))则fun的实参个数是______。
A. 3        B. 4
C. 5        D. 6
二、填空题
1. 下面程序的输出结果是______。
#include <iostream.h>
using namespace std;
int n[ ] [3]={10,20,30,40,50,60};
int main ()
构造函数可以被重载 {
int (*p) [3];

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。