|
全国2002年10月自考面向对象程序设计试题 (打印word版)(二)
2013-04-10 19:51:31
来源:91考试网
作者:www.91exam.org 【 大 中 小】
四、完成程序题(每小题4分,共20分)根据题目要求填空,完成程序。 26.在下面程序段横线处填上适当的内容。 class A{ ________ int n; public: A(int nn=0):n(nn){ if(n==0)a=0; else a=new int[n]; } ________//定义析构函数,释放动态数组空间 }; 27.在下面程序横线处填上适当内容,使程序执行结果为: 200_ _ 100 程序如下: #include template ________ Tf(Tx,Ty){ if(sizeof(T)==__________) return x+y; else return x*y; } void main(){ cout < } 28.下面程序三次调用同一函数sum,在横线处填上适当内容,使输出结果为: S=2 S=5 S=9 程序如下: #include void sum(int i) { static int s; ____________; cout<<″S=″< } void main (void) { int i; for (i=0;________) sum(i); } 29.请在下面横线处填上适当的内容,使程序的输出为: 7.00000 7 程序如下: #include viod main(){ double x=7; cout<<______________< cout< } 30.在下面程序横线处填上适当的内容,使该程序输出结果为: Creating B end of B end of A 程序如下: #include class A { public: A(){} ______________{cout<<″end of A″< }; calss B:public A { public: B(){________} ~B(){cout<<″end of B″< }; void main() { A*pa=new B; delete pa } 五、程序分析题(每小题5分,共30分) 给出下面各程序的输出结果。 31.当从键盘上输入1.5 10时,写出下面程序的执行结果。 #include void mian() { int a,b,c; char ch; cin>>a>>ch>>b>>c;//从键盘上输入1.5 10 cout< } 输出为: 32.写出下面程序输出结果。 #include template void f(T a[3][3],Tb[3][3],Tc[3][3]) { for(int i=0;i<3;i++) for(int j=0;j<3;j++){ c[i][j]=(T)0 for(int k=0;k<3;k++)  来源:91exam .org; c[i][j]+=a[i][k]*b[j][k]; } } void main() { int a[3][3]={{1,2,3},{4,5,6},{7}},b[3][3], c[3][3]={{2},{0,2},{0,0,2}}; f(a,c,b); for(int i=0;i<3;i++){ for(int j=0,j<3;j++) cout< cout< } } 输出为: 33.写出下面程序的输出结果。 #include class FUN{ friend ostream& operator <<(ostream&,FUN); }fun; ostream& operator<<(ostream& os,FUN f){ os.setf(ios::left); return os; } void main() { cout< cout< } 输出为: 34.写出下面程序的输出结果。 #include class Test{ private: static int val; int a; public: static int func(); static void sfunc(Test &r); }; int Test::val=20; int Test::func() { val--; return val; } void Test::sfunc(Test &r) { r.a=25; cout<<″ Result3″=< } void main() { cout<<″Resultl=″< Test a; cout<<″Result2=″< Test::sfunc(a); } 输出为: 35.写出下面程序输出结果。 # include class A { public: virtual void func(){cout<<″func in class A″<< endl;} }; class B { public: virtual void func(){cout<<″func in class B″<< endl;} }; class C:public A, public B { public: void func(){cout<<″func in class C″< }; void main() { C c; A& pa=c; B& pb=c; C& pc=c; pa.func(); pb.func(); pv.func(); } 输出为: 36.写出下面程序的输出结果。 # include class Location{ public: int X,Y; void init(int initX,int initY); int GetX(); int GetY(); }; void Location::init (int initX,int initY) X=initX; Y=initY; } int Location::GetX() { return X; } int Location:GetY() { return Y; } void display(Location& rL) { cout< } void main() { Location A[5]={{0,0},{1,1},{2,2},{3,3},{4,4}}; Location *rA=A; A[3].init(5,3); rA->init(7,8); for (int i=0;i<5;i++) display(*(rA++)); } 输出为:
|
|