第一范文网 - 专业文章范例文档资料分享平台

大学计算机基础试卷(A)

来源:用户分享 时间:2019-04-30 本文由寂寂无言 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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机电实验

总分

得分

3 4 5 6 7 8 9 10 11 12 13 14 15 一、 选择题(每题2分,共30分)【注:将答案填在下面的表中,否则不计成绩】 题号 答案 1 2 1. 下面有关结构化程序设计和面向对象程序设计的概念描述中,错误的是__________。 A.结构化程序设计是以函数为基本单位的模块化程序设计方法

B.面向对象程序设计是以对象为基础,以事件或消息来驱动对象执行处理的程序设计技术 C.面向对象程序设计是以功能为中心描述系统的,重点强调的是解决问题整个过程的描述

D.结构化程序设计采用“自顶向下,逐步求精”的程序设计方法和“单入口、单出口”的控制结构 2. 下面不是面向对象技术的三大基本特性之一的是_____。 A.封装性

B.抽象性

C.继承性

D.多态性

3. 下面有关构造函数的描述中错误的是______。

A. 构造函数是函数名与类名相同的类的成员函数 B. 一个类中可以有多个构造函数 C. 构造函数可以设置缺省形参值 D. 构造函数和其它函数一样必须指明函数类型 4. 关于成员函数,以下叙述中不正确的是______ 。 A. 成员函数一定是内联函数

B. 成员函数可以重载

D. 成员函数可以是另一个类的友元函数

C. 成员函数的参数可以设置默认值

5. 下列关于析构函数说法正确的是_______。 A. 析构函数和构造函数的功能是相反的

B. 析构函数和构造函数都是可以重载的

C. 析构函数和其它成员函数一样会被该类的派生类继承。 D. 对象被析构的顺序与其创建的顺序是相同的 6. 下面对静态成员的描述中,错误的是_____。

A. 静态成员的提出是为了解决数据共享问题 B. 静态数据成员的初始化在类体外进行

第 1 页 共 7 页

C. 类的不同对象有不同的静态数据成员值

D. 静态成员函数可以直接访问类中的静态数据成员 7. 有关多态的概念下面说法错误的是_______。

A.函数的重载是C++中多态性的一种体现,其中操作对象的确定是通过动态关联来实现的 B.运算符重载实质上还是函数的重载,也是多态的体现

C.通过虚函数来实现多态时,操作对象的确定是通过动态关联来完成的。 D.多态性指的是:同样的消息被不同类型的对象接受会导致完全不同的行为。 8. 设置虚基类的目的是_______。

A.简化程序 B.消除二义性 C.提高运行效率 D.实现多态 9. 关于继承、派生类的访问方式下列说法正确的是_____ 。 A.以公有方式继承,派生类对象对基类成员均可访问。

B.以保护方式继承,派生类的成员函数可访问基类中的公有成员和保护成员。 C.以私有方式继承,派生类对象除基类公有成员其他成员都不能访问。 D.以上说法都不对。

10. 下列对常量的定义中,错误的是_____ 。

A.int const size=10; C.void const print();

B.char * const p=\D.const MyClass obj(10,10);

11. 若有如下函数声明:void Fun(int x);,则下列_____能与该函数进行重载。

A. void Fun(int y); C. int Fun(int x);

B. void Fun(int x,int y='1'); D. void Fun(int) const;

12. 下列运算符中,不能重载的运算符是_____ 。

A. :: B. [ ] 13. 关于抽象类的描述中,错误的是_____ 。

A.可以说明指向抽象类的指针 C.可以说明抽象类的引用

B.不可以建立抽象类对象

D.指向抽象类的指针不能指向其派生类对象 C.&& D. >>

14. 下列关于运算符重载的描述中,正确的是_____ 。

A. 运算符重载可以改变优先级 C. 运算符重载可以改变结合性

B. 运算符重载可以改变操作数的个数 D. 运算符重载不可以改变其原有的语法结构

15. 有关常数据的描述中,不正确的是_____ 。

A.常数据指的是用关键字const修饰的数据,使用常数据是为了对共享数据进行保护 B.常成员函数可以使用该类中的所有数据成员,但不能修改数据成员的值

第 2 页 共 7 页

C. 指向常对象的指针不能指向非常对象

D. 常数据成员的值是不可修改的,它的初始化只能利用构造函数的初始化表来实现 得分

二、程序填空(每空2分,共20分)

1、下面是一个函数重载的应用,请将程序补充完整。

#include

int cmp(______________________) { if(x>=y) if( x>y) return 1; else return 0; else return -1; }

int cmp(________________________) { int i=0, flag=0;

while(str1[i]!='\\0'&&str1[i]==str2[i]) i++; if(str1[i]-str2[i]>=0) if(str1[i]-str2[i]>0) return 1; else return 0; else return -1;

} void main()

{ int a,b; char s1[30],s2[30]; cin>>a>>b; cin>>s1>>s2;

if(cmp(a,b)= =0) cout<< \两个整数相等!\ else cout<< \两个整数不相等!\

if(cmp(s1,s2)= =0) cout<< \两个字符串相等!\ else cout<< \两个字符串不相等!\}

2、下面程序中类Column是类Triangle的公有派生类。请将下面程序补充完整。

#include #include class 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<< \三角形的面积为:\

};

class Column :______________ { private : float H, volume ; public : Column(float x,float y,float z,float h) :_________________ {H=h ;}

第 3 页 共 7 页

void Volume( ) { Triangle :: Area( ); volume= Triangle :: Get_area()*H ; } void Show( ) {cout<< \三棱柱的体积为:\

} ;

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<<'('<

{ 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){ cout<<\cout<<\

int M::B=0;

第 4 页 共 7 页

}

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( ) {cout<<\

protected: int x1,y1; };

class Ellipse: public Point { public: Ellipse(int i=0,int j=0,int p=0,int q=0):Point(i,j) {x2=p;y2=q;} void Draw() { cout<<\protected: int x2,y2; };

void DrawObj(Point* p) { p->Draw(); } void main( )

{ Line *lineobj=new Line; Ellipse *ellipseobj=new Ellipse; cout<

DrawObj(lineobj); DrawObj(ellipseobj); }

3、 #include

class A

{ public: A(int h,int w):he(h),we(w){}

~A() { cout<

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(){cout<

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的构造函数1\ }

Point(int xVal,int yVal){ this->xVal =xVal ; this->yVal =yVal ; cout<<\构造函数2\Point(Point &p){ xVal=p.xVal; yVal=p.yVal; cout<<\类Point的复制构造函数\

第 5 页 共 7 页

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新综合文库大学计算机基础试卷(A)全文阅读和word下载服务。

大学计算机基础试卷(A).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/163171.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top