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 )。 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
第 41 页 共6页
Test(){}
~Test(){cout<<'#';} };
int main(){
Test temp[2], *pTemp[2]; return 0; }
执行这个程序输出星号(#)的个数为(B )。 A)1 B)2 C)3 D)4 27. 有如下程序:
#include
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; return 0;
}运行时的输出结果是( A)。
A)1123444 B)11114444 C)121444 D)11314444 28. 有如下程序:
#include
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; }
第 42 页 共6页
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) 二、程序填空 1.用递归法求从1到n的立方和: f(1)=1 (n=1) f(n)=f(n-1)+n3 (n>1) #include 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 public: virtual ~Base () { cout << “Destructor Base”<< endl; } }; class Derived : public Base { public: ~Derived(){ cout << “Destructor Derived” << endl; } }; void main () { 第 43 页 共6页 Base *pBase = new Derived; delete pBase ; } 三、阅读程序,写出运行结果 1. #include 歌唱祖国 30 义勇军进行曲 95 2.#include int g(int& a){ return ++a; } void main(){ 第 44 页 共6页 int m=0,n=0; m+=f(g(m)); n+=f(f(n)); cout<<\ cout<<\ } 3. #include public: Demo(){cout<<\ Demo(const Demo &x){cout<<\}; Demo userCode(Demo b){Demo c(b);return c;} void main() { Demo a,d; cout<<\ d = userCode(a); } 执行上面的程序的过程中,构造函数Demo()和Demo(const Demo &x)被调用的次数分别是多少次? 五、编写程序 1、编写函数计算y=1!+2!+3!...n! ,n作为参数传递,在主函数调用该函数并输出结果。 #include Int sum=0,jc=1; For(int i=1;i<=n;i++) { Jc=jc*i; Sum=sum+jc } Return sum; } Void main() { Int i, result; Cin>>i; Result=sumjc(i); Cout< 第 45 页 共6页 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库南京信息工程大学C++期中试卷(10)在线全文阅读。
相关推荐: