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 页


初二数学上册期末考试试题及答案

初二数学上册期末考试试题及答案_初二数学_数学_初中教育_教育专区。浙教版初二...初二升初三数英测试题 二、填空题(每小题4分,共32分) 11、不等式 2x-1>...

2011年9月全国计算机二级C语言考试真题及答案

2011年9月全国计算机二级C语言考试真题及答案_IT认证_资格考试/认证_教育专区。...2 B)3,4 、填空题(每空 2 分,共 30 分) 请将每空的正确答案写在...

2011年秋季工程制图(本)网上作业2 及答案

作业名称:2011 年秋季工程制图(本)网上作业 2 出卷人:SA 作业总分:100 通过分数:60 起止时间: 2011-10-23 3:18:00 至 2011-10-30 20:10:51 标准题...

《应用文写作》期末复习题(2011年6月) (1)

每题 2 分,共 20 分。 ) 作业一 基础知识 作业一:1、2、4、5、8、9、11、12、 14、15、16、17、 19 1.对应用文概念的理解,不可或缺的因素有(ABD...

厦门理工学院2011年C语言期末考试试卷与答案

厦门理工学院期末考试卷 20-20 学年 第 1 学期 课程名称 C 语言程序设计专业...一、单项选择题题号 答案 题号 答案 1 B 11 C 2 D 12 A 3 C 13 D ...

2011年上半年党课试题及答案 2

2011年上半年党课试题及答案 2_其它_高等教育_教育专区。2011 年上半年“党的基本知识学习班” (第 190 - 198 期)结业考试试题(A 卷)学院(中心) 专业年级 ...

2011年牛津高考模拟试题(二)

2011 年牛津高考模拟试题(二) 年牛津高考模拟试题(小题; 一、单项填空(共15小题;每小题 分,满分 分) 单项填空 共 小题 每小题1分 满分15分 从A、B、C...

2011年4月基础会计学自考试题及答案

全国2011 年 4 月自学考试基础会计学试题课程代码:00041 一、单项选择题(本大...(2)该公司“应收账款”所属明细账户期末余额均在借方;“预收账款”所属明细...

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

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

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

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