二级C++-223
(总分70,考试时间90分钟)
选择题
1. 若一个函数的原型为“int * Xfun1(int x.int& y, char z);”,则该函数的返回值类型为______。
A. int*        B. int
C. int&        D. char
2. 决定C++语言中函数的返回值类型的是
A. return语句中的表达式类型        B. 调用该函数时系统随机产生的类型
C. 调用该函数时的主调用函数类型        D. 在定义该函数时所指定的数据类型
3. 有如下函数模板定义:
template<class T>
T func(T x,T y){return x*x+y*y;}
在下列对func的调用中,错误的是______。
A. func(3,5);        B. func(3.0,5.5);
C. func(3,5.5);        D. func<int>(3,5.5);
4. 下列关于this指针的叙述中.正确的是______。
A. 任何与类相关的函数都有this指针
B. 类的成员函数都有this指针
C. 类的友元函数都有this指针
D. 类的非静态成员函数才有this指针
5. 结构化分析方法是面向____的自顶向下、逐步求精进行需求分析的方法。
A. 对象        B. 数据结构
C. 数据流        D. 目标
6. 在C++中既可以用于文件输入又可以用于文件输出的流类是______。
A. fstream        B. ifstream
C. ofstream        D. iostream
7. 计算斐波那契数列第n项的函数定义如下:
int fib(int n){
enum函数 if(n==0) return 1;
else if(n==1) return 2;
else return fib(n-1)+fib(n-2);
}
若执行函数调用表达式fib(2),函数fib被调用的次数是______。
A. 1        B. 2
C. 3        D. 4
8. 下列有关继承和派生的叙述中,正确的是______。
A. 如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员
B. 派生类的成员函数可以访问基类的所有成员
C. 基类对象可以赋值给派生类对象
D. 如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类
9. 在C++语言中,main函数默认返回一个____类型的值。
A. int        B. float
C. char        D. void
10. 下列描述中,错误的是______。
A. 公有继承时基类中的公有成员在派生类中仍是公有成员
B. 公有继承时基类中的保护成员在派生类中仍是保护成员
C. 保护继承时基类中的公有成员在派生类中仍是公有成员
D. 保护继承时基类中的保护成员在派生类中仍是保护成员
11. 在E-R图中,用来表示实体联系的图形是______。
A. 椭圆形        B. 矩形
C. 菱形        D. 三角形
12. 定义无符号整数类为UInt,下面可以作为类UInt实例化值的是______。
A. -369        B. 369
C. 0.369        D. 整数集合{1, 2, 3, 4, 5}
13. 下列关于类和对象的叙述中,错误的是____。
A. 一个类只能有一个对象        B. 对象是类的具体实例
C. 类是对某一类对象的抽象        D. 类和对象的关系是一种数据类型与变量的关系
14. 有如下程序:
#include<iostream>
using namespace std;
class MyClass{
public:
MyClass(int i=0){cout<<1;)
MyClass(const MyClass&x){cout<<2;)
MyClass&operator=(const MyClass&x){cout<<3;return*this;}
~MyClass(){cout<<4;)
};
int main(){
MyClass obj1(1),obj2(2),obj3(obj1);
return 0;
}
运行时的输出结果是______。
A. 112444        B. 11114444
C. 121444        D. 11314444
15. 在计算机中,算法是指
A. 加工方法        B. 解题方案的准确而完整的描述
C. 排序方法        D. 查询方法
16. 对软件的特点,下面描述正确的是______。
A. 软件是一种物理实体
B. 软件在运行使用期间不存在老化问题
C. 软件开发、运行对计算机没有依赖性,不受计算机系统的限制
D. 软件的生产有一个明显的制作过程
17. 下面的语句中错误的是____。
A. int a=5;int x[a];
B. constint a=5;int x[a];
C. int n=5;int *p=new int[n];
D. const int n=5;int *p=new int[a];
18. 下列关于C++流的描述中,错误的是______。
A. cout>>"A"表达式可输出字符A
B. eof()函数可以检测是否到达文件尾
C. 对磁盘文件进行流操作时,必须包含头文件fstream
D. 以ios_base::out模式打开的文件不存在时,将自动建立一个新文件
19. 下列关于C++流的描述中,错误的是____,
A. cout>>"A"表达式中输出字符A
B. eof函数可以检测是否到达文件尾
C. 对磁盘文件进行流操作时,必须包含头文件fstream
D. 以ios_base::out模式打开的文件不存在时,将自动建立一个新文件
20. 当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为____。
A. ios::in        B. ios:: out
C. ios::in lios::out        D. 以上都不对
21. 下面对对象概念描述错误的是______。
A. 任何对象都必须有继承性        B. 对象是属性和方法的封装体
C. 对象间的通讯靠消息传递        D. 操作是对象的动态性属性
22. 定义如下变量:char one_char;,则语句cout<<one_char;显示结果相当于C语言中的____语句。
A. printf(one_char);
B. prinff("%c",one_char);
C. scanf(one_char);
D. scanf("%c",&one_char);
23. 下列语句中错误的是______。
A. const int a;
B. const int a=10;
C. const int*point=0;
D. const int*point=new int(10);
24. 下面关于运算符重载的描述错误的是______。
A. 运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构
B. 不是所有的运算符都可以进行重载
C. 运算符函数的调用必须使用关键字operator
D. 在C++语言中不可通过运算符重载创造出新的运算符
25. 堆栈s进行下列操作:push(1);push(2);pop();pop();后,此时的栈顶元素为____。
A. 1        B. 2
C. 0        D. 不确定
26. 一个满二叉树其深度为4,则其叶子节点的个数为____。
A. 8        B. 16
C. 32        D. 4
27. 下面是一个模板声明的开始部分:
templute<typename T>double___
由此可知______。
A. 这可能是一个函数模板的声明
B. 这可能是一个类模板的声明
C. 这既可能是一个函数模板的声明,也可能是一个类模板的声明
D. 这肯定是一个错误的模板声明
28. 有如下程序:
#include<iostream>
using namespace std;
class A
{
public:
A(){cout<<"A";}
};
class B{public:B(){cout<<"B";}};
class C:public A
{
B b;
public:
C(){cout<<"C";}
};
int main(){C obj;return 0;}
执行后的输出结果是______。
A. ABC        B. BAC
C. ACB        D. CBA
29. 下列语句中,错误的是
A. const int buffei=256;
B. const double*point;
C. int const buffer=256;
D. double*const point:;
30. 若在表达式y/x中,"/"是作为成员函数重载的运算符,则该表达式还可以表示为______。
A. operator/(y)        B. operator/(x,y)
C. operator/(x)        D. operator/(y,x)
31. 有两个关系R和S如下:
则由关系R得到关系S的操作是______。
A. 选择        B. 投影
C. 自然连接        D. .并
32. 对下列二叉树
进行中序遍历的结果是______。
A. ACBDFEG        B. ACBDFGE
C. ABDCGEF        D. FCADBEG
33. 在C++语言中函数返回值的类型是由______决定的。
A. 调用该函数时系统临时        B. return语句中的表达式类型
C. 定义该函数时所指定的函数类型        D. 调用该函数时的主调函数类型
34. 已知枚举类型定义语句为
enum Token{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};
则下列叙述中错误的是______。
A. 枚举常量NAME的值为1        B. 枚举常量NUMBER的值为1
C. 枚举常量MINUS的值为6        D. 枚举常量PRINT的值为10
35. 下列控制格式输入/输出的操作符中,能够设置浮点数精度的是______。
A. setprecision        B. setw
C. setfill        D. showpoint
36. 已知一函数的形参说明为int arr[5][6],则与此等效的形参说明为

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