nbhkdz.com冰点文库

11年期末CPP训练题(2)


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 页


11年期末CPP训练题(5)

慈禧太后的保养秘方 晚清风云人物: 11年期末CPP训练题(1) 11年期末CPP训练题(2) 11年期末CPP训练题(3) 11年期末CPP训练题(4)1/2 相关文档推荐 ...

苏成cpp课后题答案

苏成cpp课后题答案_高等教育_教育专区。矿大c++学生的必杀技, c++期末试题答案今日...11年期末CPP训练题(4) 暂无评价 6页 免费 11年期末CPP训练题(2) 暂无评价...

2008级Cpp上机题5_指针的应用3及答案

2页 1下载券 实验五 指针应用三 6页 1下载券 11年期末CPP训练题(3) 暂无...利用 Word 写出各题要求的答案(包括题目和程序代码); 2. 上述 Word 文件命...

高二英语期末复习训练题 (2)

高二英语期末复习训练题 (2)。高二英语期末复习训练题 Unit1 1、After a ...(present) Answers: 1-10 CDBDB BADDB 11-13 ABC 14 came into power 15...

八年级数学期末专题训练学案 (2)

八年级数学期末专题训练学案 (2)。八年级数学期末专题训练学案 16、计算: (1) 50 ? 8 ? 1 (2) 40 ? 5 1 ? 10 10 17 解方程组 ? ?4 x ? 3 y...

七年级数学上学期期末复习训练题_2

七年级数学上学期期末复习训练题一、选择题(每小题3分,共30分) : 1.下列变形正确的是( ) A.若 x2=y2,则 x=y B.若 ,则 x=y C.若 x(x-2)=5...

仁爱英语七年级期末总复习专题训练 (2)

仁爱英语七年级期末总复习专题训练 (2)。仁爱英语七年级期末总复习专题训练 I....in D. on ( D ) 11. ---Hi, Li Hua! ___ ? ---It's thirteen...

高一政治下册期末冲刺训练题2

高一政治下册期末冲刺训练题2_从业资格考试_资格考试/认证_教育专区。江苏重点...2011年3月14日, 十一届全国人人四次会议审议通过国务院根据该 《建议》制定的...

零陵区2015年上期期末自主训练题二年级语文2

零陵区2015年上期期末自主训练题二年级语文2_小学教育_教育专区 暂无评价|0人阅读|0次下载|举报文档零陵区2015年上期期末自主训练题二年级语文2_小学教育_教育专区...

2012年秋季九年级期末跟踪测试数学试题 (2)

2012 年秋季九年级期末跟踪测试数学试题 参考答案及评分标准一、选择题(每小题 ...?3 6.D 7.B 11.15 12. 2 3 13. 30 ? 15. 2 , ( 2 , 2 ) ...