第一范文网 - 专业文章范例文档资料分享平台

中国传媒大学-2011年期末CPP训练题2(带答案)

来源:用户分享 时间:2025/12/17 13:28:32 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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 void main() {

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 #include class Point {

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 long factorial(int n) {

⑥ ;

第 2 页 共 7 页

中国传媒大学-2011年期末CPP训练题2(带答案).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4dqpc65c5i670et7c26i4qfr0177x6016mz_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top