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训练题(4)

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

11年期末CPP训练题(3)

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

11年期末CPP训练题(5)

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

11年期末CPP训练题(1)

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

高一期末计算题强化训练2

高一期末计算题强化训练 1.跳伞运动员做低空跳伞表演,他离开飞机后先做自由落体运动,当下落 180m 时打开降落伞,伞 2 2 张开后运动员就以 11 m/s 的加速度...

10-11(2)期末考试复习题

10-11(2)期末考试复习题(A) 一 .选择题: (也是是非题的范围) 1 在室温下,下列有机物既能使高锰酸钾溶液褪色又能使溴的四氯化碳溶液褪色的是 () (a)苯...

七年级(上)期末数学水平测试题(2)及答案

七年级(上)期末数学水平测试题(2)及答案_数学_初中教育_教育专区。期末复习 www.czsx.com.cn 2014-2015 学年七年级(上)期末数学水平测试题(二) 考试范围:七...

11-12(2)微观经济学期末练习题

期末综合练习题微观经济... 暂无评价 3页 免费 微观经济学课后习题答案... 4...11 10 8 5 2 │├─────┼─────────────────┤...

《毛中特》11-12(2)期末试题B2

2011—2012 学年 第二 学期 (二○一○级本科生)《毛泽东思想和中国特色社会主义理论体系概论》期末试卷 (B) 一、单项选择题 1 2 3 4 5 6 7 8 9 10 11...

11-12-2《统计学B》期末考试题型(南院)

11-12-2《统计学B》期末考试题型(南院)_理学_高等教育_教育专区。由于平方打不出来,所有有㎡的地方去掉 m,只看平方 一、单选题(每题 2 分,共 20 分) ...