期末考试VC++练习题(带答案)(2)

2019-07-30 13:05

21. 有如下程序段:

int i=1; while(1) { i++;

if (i==10) break; if(i%2==0) cout<<’*’; }

执行这个程序段输出字符*的个数是(C) A. 10 B. 3 C. 4 D.5 22. 下列关于虚基类的描述中,错误的是(C) A. 使用虚基类可以消除由多继承产生的二义性 B. 构造派生类对象时,虚基类的构造函数只被调用一次 C. 声明 class B:virtual public A 说明类B为虚基类 D. 建立派生类对象时,首先调用虚基类的构造函数 23. 有下类定义

Class A { Char *a; Public: A():a(0){}

A(char *aa) {//把aa所指字符串拷贝到a所指向的存储空间 A=___________________; Strcpy(a,aa); ~A() {delete [] a;} };

正确的选择是(A)

A. new char[strlen(aa)+1] B. char[strlen(aa)+1] C. char[strlen(aa)] D. new char[sizeof(aa)-1]

24. 假定AA为一个类,a为该类私有的数据成员,GetValue( )为该类公有函数成员,

它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为( X )。

6

6

A) x.a B) x.a() C) x->GetValue() D) x.GetValue( ) 25. 假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外

定义,则函数头为( A )。

A) int AA::a( ) B) int AA:a() C) AA::a() D) AA::int a() 26. 有如下程序:

#include using namespace std; class Test{ public: Test(){}

~Test(){cout<<'#';} };

int main(){

Test temp[2], *pTemp[2]; return 0; }

执行这个程序输出星号(#)的个数为(B )。 A)1 B)2 C)3 D)4 27. 有如下程序:

#include 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); obj1=obj2;

7

7

return 0;

}运行时的输出结果是( A)。

A)1123444 B)11114444 C)121444 D)11314444 28. 有如下程序: #include using namespace std; class point { public:

static int number; public:

point() { number++;} ~point() {number--;} };

int point::number=0; void main() { point *ptr; point A,B; { point *ptr_point=new point[3]; ptr=ptr_point;

}

point C; delete[] ptr; cout<

程序结果为(A)

A)3 B)4 C)6 D)7

29. 友元运算符obj++被C++编译器解释为( D )。

A. operator++(obj) B. operator++(obj,0) B. obj.operator++( ) D. obj.operator++(0)

8

8

二、程序填空

1.用递归法求从1到n的立方和: f(1)=1 (n=1) f(n)=f(n-1)+n3 (n>1) #include using namespace std; int f(int); int main(){

int n,s;

cout<<\ cin>>n;

s= f(n) ; cout<<\ return 0; }

int f(int n){ //递归法求立方和函数 if ( n==1 ) return 1;

else return ( f(n-1)+n*n*n ); }

3. 请将下列程序补充完整,使得输出结果为“Destructor Derived Destructor Base”。

#include

using namespace std; class Base {

public:

virtual ~Base () { cout << “Destructor Base”<< endl; } };

class Derived : public Base {

public:

~Derived(){ cout << “Destructor Derived” << endl; } };

void main () {

9

9

Base *pBase = new Derived; delete pBase ; }

三、阅读程序,写出运行结果 1.

#include #include

using namespace std; class CD { char name[20]; int number; public: void Init(char* aa, int bb) {

strcpy(name,aa); number=bb; }

char* Getname () {return name;} int Getnumber () {return number;}

void Output() {cout<< name <<' '<< number <

}; CD dx; void main() { CD dy; dx.Init(\歌唱祖国\ dy.Init(\义勇军进行曲\ dx.Output(); dy.Output();

}

10 10


期末考试VC++练习题(带答案)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:中国汽车试验场

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: