11年C++期末训练题
第二部分:填代码题
参考答案
一、变量、语句及函数
1.以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如,输入的两个字符串分别为“12345”和“12344”,则输出为1,请填空。
① s1[i]!='\\0' && s1[i]==s2[i]
// 判断s1中第i个字符不为空,且两字符串中第i个字符相同
int diff= ② s1[i]-s2[i] ;
// 计算两字符串中第i个不同字符的ASCII码之差
2.下列程序通过把类Distance定义为类Point的友元来实现计算两点之间距离的功能。请完成该程序。
Point( ④ double x, double y )
// 写出构造函数的参数
result= ⑤sqrt(SQR(p.mX-q.mX)+ SQR (p.mY-q.mY)) ;
// 计算两点之间距离
3.以下程序的功能是计算s=
③ friend class Distance ;
// 将class Distance说明为友元类
∑k!,请填空。
k=0
n
⑥ static long product=1 ; // 声明静态变量 product并赋初值
⑦ sum += factorial(k) ;
// 调用函数factorial()求sum的值
第 1 页 共 3 页
4.以下程序中select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回最大值所在的行下标。
int select( ⑧ int (*a)[M] , int *n )
//根据下面的调用填上参数二维数组a和行序号变量n
二、类、继承及多态性
5. 以下是基类、派生类的声明,在划线处填写适当的语句完善程序。 Obj(int a) ① : data(10) // 初始化data为10
Base(double a) ② : ob(20) // 初始化ob,参数为20
Derived(double a,double b) ③ : Base(a)
// 调用基类的构造函数
6.阅读下面关于堆对象的程序,请按要求补写适当代码。
④ sPtr = new char[length+1] ;
// 为sPtr申请空间,注意字符串长度
⑤ delete[] sPtr ; // 删除当前数组 7.下面是关于对象数组和对象指针数组的实现程序,请填合适的代码。
A obj[] = {⑥ A(1,2) , A(3,4) };
// 建立两个对象组成的对象数组,并符合下面输出要求
A* arr[] = {⑦ new A(5,6) , new A(7,8) };
//建立两个堆对象组成的对象指针数组,并符合下面输出要求 8. 通过指针访问类的静态数据成员,请补充合适的代码
⑧ int Point::countP = 0 ;
// 将静态变量countP初始化为0
第 2 页 共 3 页
cout<<\ ⑨ Point::countP < // 显示静态数据成员countP 4.下面是由圆的面积计算派生的圆柱的体积计算方法,请按要求填相应代码。 return ⑩ height* Circle::Area() ; // 调用基类的面积函数计算体积 第 3 页 共 3 页 11年C++期末训练题 第二部分:填代码题 一、变量、语句及函数 1.以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如,输入的两个字符串分别为“12345”和“12344”,则输出为1,请填空。 #include char s1[100],s2[100]; cin>>s1>>s2; for(int i=0; ① && ;i++) // 判断s1中第i个字符不为空,且两字符串中第i个字符相同 i++; int diff= ② ; // 计算两字符串中第i个不同字符的ASCII码之差 cout< 2.下列程序通过把类Distance定义为类Point的友元来实现计算两点之间距离的功能。请完成该程序。 #include public: Point( ④ ) // 写出构造函数的参数 ③ ; // 将class Distance说明为友元类 第 1 页 共 7 页 { mX = x; mY = y; } void Print() { cout<<\ cout<<\ } private: double mX, mY; }; #define SQR(x) ((x)*(x)) class Distance { public: double Value(Point &p, Point &q) { double result= ⑤ ; // 计算两点之间距离 return result; } }; void main() { Point p(3.1,5.7), q(2.6,4.8); Distance d; cout << \} 3.以下程序的功能是计算s= ∑k!,请填空。 k=0 n #include ⑥ ; 第 2 页 共 7 页
相关推荐: