大学计算机基础试卷(A).doc_第1页
大学计算机基础试卷(A).doc_第2页
大学计算机基础试卷(A).doc_第3页
大学计算机基础试卷(A).doc_第4页
大学计算机基础试卷(A).doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010-2011 学年 第 二 学期末考试试题(A卷) 课程名称 大学计算机基础 使用班级:10010241,10010242,10010441,10010141, 10010142 ,10010442,10010342,10010341, 10020742, 10010742,10010741,10010743,10010642,10010641,10020241,10020141, 10020143, 10020142,10020442, 10020441,10020741,10020341,10020342,10020343,10030141,10030142, 10030441, 10030342,10030341, 10030442, 10050542,10050541,10050941,10050642,10050641,10050942, 10050742,10050741,10090341, 10040241,10040243,10040242,10070341,10070442,10070441,10070542 ,10070541,10060141,10070642, 10070641,10090341,10020641,10030242,10030241,10机电实验总分得分 一、 选择题(每题2分,共30分)【注:将答案填在下面的表中,否则不计成绩】题号123456789101112131415答案1. 下面有关结构化程序设计和面向对象程序设计的概念描述中,错误的是_。A结构化程序设计是以函数为基本单位的模块化程序设计方法B面向对象程序设计是以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术C面向对象程序设计是以功能为中心描述系统的,重点强调的是解决问题整个过程的描述D结构化程序设计采用“自顶向下,逐步求精”的程序设计方法和“单入口、单出口”的控制结构2. 下面不是面向对象技术的三大基本特性之一的是_。A封装性 B抽象性C继承性D多态性3. 下面有关构造函数的描述中错误的是_。A. 构造函数是函数名与类名相同的类的成员函数 B. 一个类中可以有多个构造函数 C. 构造函数可以设置缺省形参值 D. 构造函数和其它函数一样必须指明函数类型 4. 关于成员函数,以下叙述中不正确的是_ 。A. 成员函数一定是内联函数 B. 成员函数可以重载C. 成员函数的参数可以设置默认值 D. 成员函数可以是另一个类的友元函数 5. 下列关于析构函数说法正确的是_。A. 析构函数和构造函数的功能是相反的 B. 析构函数和构造函数都是可以重载的C. 析构函数和其它成员函数一样会被该类的派生类继承。D. 对象被析构的顺序与其创建的顺序是相同的6. 下面对静态成员的描述中,错误的是_。A. 静态成员的提出是为了解决数据共享问题 B. 静态数据成员的初始化在类体外进行C. 类的不同对象有不同的静态数据成员值D. 静态成员函数可以直接访问类中的静态数据成员7. 有关多态的概念下面说法错误的是_。A函数的重载是C+中多态性的一种体现,其中操作对象的确定是通过动态关联来实现的B运算符重载实质上还是函数的重载,也是多态的体现C通过虚函数来实现多态时,操作对象的确定是通过动态关联来完成的。D多态性指的是:同样的消息被不同类型的对象接受会导致完全不同的行为。8. 设置虚基类的目的是_。A简化程序 B消除二义性 C提高运行效率 D实现多态9. 关于继承、派生类的访问方式下列说法正确的是_ 。 A以公有方式继承,派生类对象对基类成员均可访问。 B以保护方式继承,派生类的成员函数可访问基类中的公有成员和保护成员。 C以私有方式继承,派生类对象除基类公有成员其他成员都不能访问。 D以上说法都不对。10. 下列对常量的定义中,错误的是_ 。Aint const size=10;Bchar * const p=Good Luck;Cvoid const print();Dconst MyClass obj(10,10);11. 若有如下函数声明:void Fun(int x);,则下列_能与该函数进行重载。A. void Fun(int y);B. void Fun(int x,int y=1);C. int Fun(int x);D. void Fun(int) const;12. 下列运算符中,不能重载的运算符是_ 。A : B C& D 13. 关于抽象类的描述中,错误的是_ 。A可以说明指向抽象类的指针 B不可以建立抽象类对象C可以说明抽象类的引用 D指向抽象类的指针不能指向其派生类对象14. 下列关于运算符重载的描述中,正确的是_ 。A. 运算符重载可以改变优先级 B. 运算符重载可以改变操作数的个数C. 运算符重载可以改变结合性 D. 运算符重载不可以改变其原有的语法结构15. 有关常数据的描述中,不正确的是_ 。A常数据指的是用关键字const修饰的数据,使用常数据是为了对共享数据进行保护B常成员函数可以使用该类中的所有数据成员,但不能修改数据成员的值C. 指向常对象的指针不能指向非常对象D. 常数据成员的值是不可修改的,它的初始化只能利用构造函数的初始化表来实现得分二、程序填空(每空2分,共20分)1、下面是一个函数重载的应用,请将程序补充完整。#include int cmp(_)if(x=y) if( xy) return 1;elsereturn 0;else return -1;int cmp(_) int i=0, flag=0; while(str1i!=0&str1i=str2i) i+; if(str1i-str2i=0) if(str1i-str2i0) return 1; else return 0; else return -1;void main()int a,b; char s130,s230;cinab; cins1s2;if(cmp(a,b)= =0) cout两个整数相等!endl;else cout两个整数不相等!endl;if(cmp(s1,s2)= =0) cout两个字符串相等!endl;else cout两个字符串不相等!endl;2、下面程序中类Column是类Triangle的公有派生类。请将下面程序补充完整。#include #includeclass Triangle private: float a,b,c, area; public:_a=x; b=y; c=z;void Area( ) float t; t=(a+b+c)/2; area=sqrt(t*(t-a)*(t-b)*(t-c); float Get_area( ) return area; void Show( ) cout三角形的面积为:areaendl; ; class Column:_ private: float H, volume;public:Column(float x,float y,float z,float h):_ H=h;void Volume( ) Triangle: Area( ); volume= Triangle: Get_area()*H; void Show( ) cout三棱柱的体积为:volumeendl;void main( ) Triangle T1(3,4,5); T1.Area( ); T1.Show( ); Column C1(3,4,5,10); C1.Volume( ); C1.Show( );3、重载“+”、“-”运算符使之能实现两个复数的加减运算,请将程序补充完整。#include class complex public: complex(double real=0,double imag=0); complex operator +(const complex& c); void print() const;private: double real,imag;complex:complex(double real, double imag ) _;_;complex complex:operator + (const complex& c) double r=real+c.real; double i=imag+c.imag; return complex(r,i); complex operator -( const complex& c1, const complex& c2) _;_; return complex(r,i); void complex:print() const cout(real,imag)endl; void main() complex c , c1(2.5,3.7), c2(4.2,6.5); c=c1-c2; c.print(); c=c1+c2; c.print();得分三、程序阅读(每题6分,共30分)【将程序运行的结果写在题目旁边的空白处】1、 #include class M public: M(int a) A=a; B+=a; static void f1(M m);private: int A; static int B;void M:f1(M m) coutA=m.Aendl;coutB=Bendl; int M:B=0;void main() M P(2), Q(4); M:f1(P); M:f1(Q); 2、 #include class Point public: Point(int i=0,int j=0) x0=i;y0=j; virtual void Draw()=0;protected: int x0, y0;class Line: public Point public:Line(int i=0,int j=0,int m=0,int n=0):Point(i,j) x1=m;y1=n; void Draw( ) coutLine:Draw() called. endl;protected: int x1,y1;class Ellipse: public Pointpublic: Ellipse(int i=0,int j=0,int p=0,int q=0):Point(i,j) x2=p;y2=q; void Draw() coutEllipse:Draw() called. Draw(); void main( ) Line *lineobj=new Line; Ellipse *ellipseobj=new Ellipse; coutendldraw the objectendl;DrawObj(lineobj); DrawObj(ellipseobj); 3、 #include class A public: A(int h,int w):he(h),we(w) A() couthe,weendl; private: int he, we;class B: public A public: B(int h,int w,int h1,int w1,int l):A(h,w),obj1(h1,w1)len=l; B()coutlenendl; private: A obj1; int len; ;void main() B obj(1,3,5,7,9); 4、#include class Point public:Point ( ) xVal=0;yVal=0;cout类Point的构造函数1xVal =xVal; this-yVal =yVal; cout构造函数2endl; Point(Point &p) xVal=p.xVal; yVal=p.yVal; cout类Point的复制构造函数endl; int GetX( ) return xVal; int GetY( ) return yVal; void MovePt (int d_x, int d_y) xVal+=d_x; yVal+=d_y; private: int xVal, yVal;void main() Point p1; Point p2(p1); p2.MovePt (20,30) ; coutp1点的坐标为:p1.GetX( ),p1.GetY( )endl; coutp2点的坐标为:p2.GetX( ),p2.GetY( )endl; Point p3(10,20); coutp3点的坐标为:p3.GetX( ),p3.GetY()endl;5、 #include class Timepublic: Time(int new_hour, int new_minute) hours=new_hours; minutes=new_minutes; friend void Time12(Time time); friend void Time24(Time time); private: int hours,minutes; ;void Time12(Time time) if(time.hours12) time.hours-=12;couttime.hours:time.minutesPMendl; else couttime.hours:time.minutes AMendl; void Time24(Time time) couttime.hours:time.minutesendl; void main( ) Time time1(20,30),time2(10,45); Time12(t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论