nbhkdz.com冰点文库

11年期末CPP训练题(2)

时间:2013-03-20


11 年 C++期末训练题
第二部分:填代码题
一、变量、语句及函数 1.以下程序用来对从键盘上输入的两个字符串进行比较, 然后输出两个字符 串中第一个不相同字符的 ASCII 码之差。例如,输入的两个字符串分别为 “12345”和“12344” ,则输出为 1,请填空。 #include<iostream.h> void main() { cha

r s1[100],s2[100]; cin>>s1>>s2; ;i++) for(int i=0; ① && // 判断 s1 中第 i 个字符不为空,且两字符串中第 i 个字符相同 i++; ; int diff= ② // 计算两字符串中第 i 个不同字符的 ASCII 码之差 cout<<diff<<endl; } 2.下列程序通过把类 Distance 定义为类 Point 的友元来实现计算两点之 间距离的功能。请完成该程序。 #include<iostream.h> #include<math.h> class Point { public: ③ ; // 将 class Distance 说明为友元类 ) // 写出构造函数的参数

Point( ④

第 1 页 共 7 页

{ mX = x; mY = y; } void Print() { cout<<"X="<<mX<<endl; cout<<"Y="<<mY<<endl; } 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 << "Distance=" << d.Value(p,q) << endl; } 3.以下程序的功能是计算 s = ;

∑ k!,请填空。
k =0

n

#include<iostream.h> long factorial(int n) { ⑥ ;

第 2 页 共 7 页

// 声明静态变量 product 并赋初值 product *= n; return product; } void main() { cout << "Input n: "; int n; cin >> n; long sum = 1; for(int k=1;k<=n;k++) ⑦ ; // 调用函数 factorial()求 sum 的值

cout << "Sum of Progression = " << sum; } 4.以下程序中 select 函数的功能是: 在 N 行 M 列的二维数组中, 选出一个 最大值作为函数值返回,并通过形参传回最大值所在的行下标。 #include<iostream.h> const int N=2; const int M=4; , ) int select(⑧ // 根据下面的调用填上参数二维数组 a 和行序号变量 n { int row=0,col=0; for(int i=0;i<N;i++) for(int j=0;j<M;j++) if(a[i][j]>a[row][col]) { row=i; col=j; } *n = row;

第 3 页 共 7 页

return a[row][col]; } void main() { int a[N][M]={{9,11,1,23},{6,15,9,17}},n; int max=select(a,&n); cout<< "Max Value :" << max <<", Row :"<<n<<endl; } 二、类、继承及多态性 5. 以下是基类、派生类的声明,在划线处填写适当的语句完善程序。 #include<iostream.h> class Obj { public: // 初始化 data 为 10 Obj(int a) ① { X = a+data; } int GetX() const { return X; } private: const int data; int X; }; class Base { public: Base(double a) ② { A = a; } double GetA() { return A; } private: Obj ob; double A; }; class Derived : public Base { public: // 初始化 ob,参数为 20

第 4 页 共 7 页

Derived(double a,double b) ③ // 调用基类的构造函数 { B = b; } void show() { cout<<GetA()<<endl; cout<<B<<endl; } private: double B; }; 6.阅读下面关于堆对象的程序,请按要求补写适当代码。 class String { public: String(const char* = ""); ~String (); private: char* sPtr; // 指向字符串的指针 int length; // 字符串的长度 }; String::String (const char* s) { length = strlen(s); ④ ; // 为 sPtr 申请空间,注意字符串长度 strcpy (sPtr, s);

} String::~String() { ⑤ } 7.下面是关于对象数组和对象指针数组的实现程序,请填合适的代码。 #include <iostream.h> ; // 删除当前数组

第 5 页 共 7 页

class A { public: int fm() { return m; } int fn() { return n; } A(int i,int j) { m = i; n = j; } private: int m, n; }; void main() { , }; A obj[] = {⑥ // 建立两个对象组成的对象数组,并符合下面输出要求 for(int i=0;i < 2;i++) cout<< ” (” << obj[i].fm() << ”, ” << obj[i].fn() << ”) ”; // 此处应输出:(1, 2) (3, 4) , }; A* arr[] = {⑦ //建立两个堆对象组成的对象指针数组,并符合下面输出要求 for( i=0;i<2;i++) cout<< ” (” << arr[i]->fm() <<”, ” << arr[i]->fn() << ”) ”; // 此处应输出:(5, 6) (7, 8) for( i=0;i < 2;i++) delete arr[i]; } 8. 通过指针访问类的静态数据成员,请补充合适的代码 #include <iostream.h> class Point { public: Point(int xx=0, int yy=0) { X=xx; Y=yy; countP++; } Point(Point &p); int GetX() { return X; } int GetY() { return Y; }

第 6 页 共 7 页

static int countP; private: int X,Y; }; Point::Point(Point &p) { X=p.X; Y=p.Y; countP++; } ⑧ // 将静态变量 countP 初始化为 0 void main() { Point A(4,5); cout<<"Point A,"<<A.GetX()<<","<<A.GetY(); cout<<" Object id="<< ⑨ // 显示静态数据成员 countP } 9. 下面是由圆的面积计算派生的圆柱的体积计算方法, 请按要求填相应代码。 class Circle { protected: float radius; public: void setRadius(float r){ radius = r; } float Area() { return pi*radius*radius; } }; class Cylinder : public Circle { float height; public: void setHeight(float h) { height = h; float Volume() { return ⑩ // 调用基类的面积函数计算体积 } }; ; <<endl;

}

第 7 页 共 7 页


2013-2014第二学期珠宝鉴赏期末考试综合作业及答案--上...

2013-2014 第学期珠宝鉴赏期末综合作业及答案--上海高校共享课程 1-5 DBBDD 6-10BDBAD 11-15 BBAAB 16-20 ABBBC 21-25DBAAD 26-30CBDBC 31-35ABCCB...

2011年C语言模拟题及参考答案8247

C语言期末考试模拟卷 爱上“未成名” 2011 年 C ...{6,7,8,9,10};的正确理解( ) A 将 5 个...【程序填空】的第二题与第三套 8246 号的第个...

2011年10月全国高等教育自学考试护理教育学导论试题及...

2011年10月全国高等教育自学考试护理教育学导论试题及...日常教学中的期末考试 C.临床结业考核 B.标准化...(2 分)里被强化(1 分) 43、共情是指能够理解...

华中科技大学 09-11年C语言程序设计试卷

C语言程序设计期末考试试... 6页 免费 华中科技大学C语言试卷 28页 免费 华中...11 B、3 C、2 2; 2; 4; 8; D、10 、 多项选择题(下面每小题的 ...

2011年-2013年财务报表分析(一)试题及答案

2011年-2013年财务报表分析(一)试题及答案_财会/金融...计量和报告 2.下列有关财务分析的表述中,错误的是...期初余额、期末余额和当期发生额 C.投资活动现金...

2011年3月26日全国计算机等级考试二级Access 样题及答...

年​3​月​2​6​日​全​国​计​算​机​等​级​考​试​​级​A​c​c​e​s​s​ ​样​题​及...

Abbdcd11年财务管理复习题(1)

财务管理期末考试题2 6页 免费 财务管理试卷及答案5套 35页 免费 财务管理综合...投资回收期法 11.财务管理的对象指的是( )A.财务活动 B.资金活动 E.生产...