计算机二级C++ 笔试
(总分83,考试时间90分钟)
一、选择题
1. 不能重载的运算符是
A) new B) sizeof C) .* D) ++
2. 设a=1;b=2;,则(a++)+b和a+++b这两个表达式的值分别为( )。
A.3,3 B.3,4 C.4,3 D.4,4
字符串拷贝函数strcpy作用3. 设有以下说明和定义:
#include<iostream. h>
Void main()
typedef union
long i; int k[5]; char c;
DATE;
struct date
int cat; DATE cow; double dog; too;
DATE max;
cout<<(sizeof(struct date)+sizeof(max))<<end1;
A. 26 B. 52
C. 18 D. 8
4. 下列关于多态性的描述,错误的是( )。
A) C++语言的多态性分为编译时的多态性和运行时的多态性
B) 编译时的多态性可通过函数重载实现
C) 运行时的多态性可通过模板和虚函数实现
D) 实现运行时多态性的机制称为动态绑定
5. t为int类型,进入下面的循环之前,t的值为0。
while(t=1)...
则以下叙述中,正确的是( )。
A) 循环控制表达式的值为0 B) 循环控制表达式的值为1
C) 循环控制表达式不合法 D) 以上说法都不对
6. 下列描述中,( )是抽象类的特性。
A.可以说明虚函数 B.可以进行构造函数重载
C.可以定义友元函数 D.不能说明其对象
7. 有如下程序:
#include<lostreanl>
using namespace std;
elass MyClass
public:
MyClass( )++count;
~MyClass( )--count;
static int getCount( )return count;
private:
static int count;
;
int MyClass::count=0;
int main( )
MyClass obj;
cout<<obj.getCount( );
MyClass*ptr=new MyClass;
cout<<MyClass::getCount( );
delete ptr;
cout<<MyCiass::getCount( );
return 0;
程序的输出结果是
A) 121 B) 232 C) 221 D) 122
8. 在下面的运算符重载函数的原型中,错误的是( )。
A) Volume operator-(double,double);
B) double Volume::operator-(double);
C) Volume Volume::operator-(Volume);
D) Volume operator-(Volume);
9. 下列有关继承和派生的叙述中,正确的是
A) 派生类不能访问基类的保护成员
B) 作为虚基类的类不能被实例化
C) 派生类应当向基类的构造函数传递参数
D) 虚函数必须在派生类中重新实现
10. 下列关于getline()函数的描述,不正确的是______。
A) getline()函数是用来从输入流中读取字符串的
B) getline()函数读取字符串的长度是受到限制的
C) getline()函数读取字符串时,遇到终止符时就停止
D) getline()函数中所使用的终止符只能是换行符
11. 有如下程序:
#include <iostream>
using namespace std;
class Music
public:
void setTitle(char* str) strcpy(title,str);
protected:
char type[10];
private:
char title[20];
;
class Jazz:public Music
public:
void set(char* str)
strcpy(type,"Jazz"); //①
strcpy(title,str); //②
;
下列叙述中正确的是( )。
A.程序编译正确 B.程序编译时语句①出错
C.程序编译时语句②出错 D.程序编译时语句①和②都出错
12. 软件工程的出现是由于
A) 程序设计方法学的影响 B) 软件产业化的需要
C) 软件危机的出现 D) 计算机的发展,
13. 假定a为一个整型数组名,则元素a[4]的字节地址为
A) a+4 B) a+8 C) a+16 D) a+32
14. 如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为
A) x.operator++(0).operator*(y); B) operator*(x.operator++(0),y);
C) y.operator*(operator++(x,0)) D) operator*(operator++(x,0),y)
15. 复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。
A) 详细设计 B) 系统设计
C) 正式 D) 非正式
16. 继承机制的作用是
A) 信息隐藏 B) 数据封装 C) 定义新类 D) 数据抽象
17. 下面的哪个选项不能作为函数的返回类型?
A)void B)int C)new D)long
18. 在下面的引用定义中,正确的是 ______。
A) int x,&y;
y=x;
B) int x,&y=x;
C) int &y=x,x;
D) float z;
int x,y=&z;
19. 下列关于new运算符的描述中错误的是
A) 使用运算符new创建对象数组时必须定义初始值
B) 使用运算符new创建对象时,会调用类的构造函数
C) 运算符new可以用来动态创建对象和对象数组
D) 使用new运算符创建的对象可以使用运算符delete删除
20. 已知一个类Sample,( )是定义指向类Sample成员函数的指针,假设类有三个公有成员:voidf1(int),void f2(int)和int a。
A.Sample*p
B.Int Samale::*pc=&Sample::a
C.Void(Sample::*Pa)()
D.Sample*P[10]
21. 下列不属于软件工程3个要素的是( )。
A) 工具 B) 过程
C) 方法 D) 环境
22. 有以下程序段:
int k=0;
while(k=1)k++;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论