nbhkdz.com冰点文库

11年期末CPP训练题(2)

时间:2013-03-20


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


赞助商链接

苏成cpp课后题答案

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

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)_从业资格考试...str_1 Cpp pow while B.a[i] C.a2_i D.int...5/2=2 11.如果 int a=3,b=4;则条件表达式"a...

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)_理学_高等...str_1 Cpp pow while B.a[i] C.a2_i D.int...5/2=2 11.如果 int a=3,b=4;则条件表达式"a...

初二下学期数学期末测试题及答案

( A. 2cm B. 4cm C. 6 cm D. 8cm ) B E 第 11 题图 C 12.一...2015-2016 学年山东省泰安市新泰市八年级(下)期末数学试卷 参考答案与试题解析...

C语言练习题(带详解答案) 2

C语言练习题(带详解答案) 2_工学_高等教育_教育专区...A、print C、str_1 _3d Cpp db8 aBc B、I\...( D A) 11/3 C) (float)11/3 14~16 题为...

四川大学2011年C语言期末试题A

四川大学2011年C语言期末试题A_院校资料_高等教育_教育专区。四川大学2011年C语言...设 int i=2,j=3,k=4,a=4,b=5,c=3;,则执行表达式 (a=i<j) &&(...

2016高中地理必修二期末综合训练题

2016高中地理必修二期末综合训练题_高二政史地_政史地_高中教育_教育专区。1....图4 11.下列叙述正确的是 A.甲地为高、高、低的人口增长模式 C.丙地进入...

《C程序设计》期末复习练习题及参考答案(3)

《C 程序设计》期末复习练习题及参考答案(3) 一、单项选择题 1.若有定义 ...29. 设有定义 int a[ ]={1,5,7,9,11,13}, *p=a+3; 则*(p-2) ...

大学C语言期末考试练习题(带详解答案)

大学C语言期末考试练习题(带详解答案)_从业资格考试...str_1 Cpp pow while B.a[i] C.a2_i D.int...5/2=2 11.如果 int a=3,b=4;则条件表达式"a...

C语言期末考试题目2

C语言期末考试题目2_IT认证_资格考试/认证_教育专区。指针一、单项选择题 1. ...已知: int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*...