10计算机练习题.docx

上传人:b****6 文档编号:8601429 上传时间:2023-02-01 格式:DOCX 页数:14 大小:21.58KB
下载 相关 举报
10计算机练习题.docx_第1页
第1页 / 共14页
10计算机练习题.docx_第2页
第2页 / 共14页
10计算机练习题.docx_第3页
第3页 / 共14页
10计算机练习题.docx_第4页
第4页 / 共14页
10计算机练习题.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

10计算机练习题.docx

《10计算机练习题.docx》由会员分享,可在线阅读,更多相关《10计算机练习题.docx(14页珍藏版)》请在冰豆网上搜索。

10计算机练习题.docx

10计算机练习题

练习题

一、填空题

1.虚拟函数在①时表现出多态功能;而重载函数则在②时表现出多态性。

2.Windows程序中的消息有窗口消息、命令消息和___①_______消息三种类型。

3.所谓模板是一种使用类型参数来产生一系列①或②的机制,是C++的一个重要特性。

4.两个函数的函数名___①_____,但参数的个数或对应参数的类型___②______时,则称这两个函数为重载函数。

5.若ch为char型变量,n为int型变量,则下列语句

ch=’a’;n=3;ch=ch+n;

cout<<”ch=”<

执行的结果是____①______。

6.在VC++在代码中,使用CWnd:

:

____①________函数可实现控件与其成员变量之间的数据的传输。

7.______①______是指将对象写入永久存储介质或者将对象从永久存储介质中读出的过程。

8.定义抽象类就是在类定义中至少声明一个①函数。

9.运算符“+”允许重载为类成员函数,或者友员函数。

若用operator+(c1,c2)这样的表达式来使用运算符“+”,应将“+”重载为①函数。

10.

#include

classtest

{public:

staticintx;};

voidmain()

{testt1,t2;t1.x=25;cout<

结果输出为:

__①___。

11.所有的文档类都派生于____①___,所有的视图类都派生于_②_____。

12.为解决多继承中因公共基类而产生的二义性问题,C++语言提供了___①____机制。

将公共基类声明为它以后,它在派生类中只产生一个实例。

13.对象中封装了描述该对象的①和②,每个对象就是一个微小的程序。

14.类是抽象的,①占用内存,而对象是具体的,②占用内存。

15.C++运行时的多态性通过____①  来实现,而编译时的多态性通过___②___来实现。

16.常(只读)成员函数用____①____关键字标识,内联成员函数用____②____关键字标识。

17.C++中函数的参数传递一种是按值传递,另一种是地址传递或____①____传递。

18.封装可以使得程序中各部分之间的相互影响变①,并且提高程序的安全性。

19.继承的方式有三种:

①继承、②继承、③继承。

20.如果异常错误类型为C++的类,并且该类有其基类,则应该将①类的错误处理程序放在前面,②类的错误处理程序放在后面。

21.向对象程序设计的方法是抽象和分类,步骤是:

(1)①;

(2)描述类与类之间的关系;

(3)用类来界定程序层次,从而组织程序结构。

【参考答案】

1.①运行②编译

2.①控件通知 3.①模板类②模板函数

4.①相同②不同5.①ch=d

6.①UpdateData

7.①串行化           8.①纯虚函数 

9.①友员函数 

10.①2511.①CDocument②CVew

12.①虚基类        

13.①属性②操作14.①不要②要

15.①虚函数②重载函数16.①const②inline

17.①引用18.小 

19.①公有②保护③私有 

20.① 派生类②基类   21.①找出类

二、选择题

1、如果在基类和派生类中都包含其他类的对象(即有对象成员),则在创建派生类的对象时,首先执行[1]的构造函数,接着执行[2]的构造函数,然后执行__[3]___的构造函数,最后才执行[4]的构造函数。

A、基类的对象成员B、派生类的对象成员

C、基类D、派生类

2、若MyClass是一个类名,且有如下语句序列

  MyClassc1,*c2;

  MyClass*c3=newMyClass;

  MyClass&c4=c1;

  上面的语句序列所定义的类对象的个数是[5]

  A、1   B、2   C、3   D、4

3、要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句

是[6]

 A、MyClassp=MyClass;B、MyClassp=newMyClass;

 C、MyClass&p=newMyClass;D、MyClassa,&p=a;

4、[7]包括键盘和鼠标的输入。

这一类消息首先放在系统消息队列中,然后由Windows将它们送入应用程序消息队列中,由程序来处理消息;[8]用来与Windows的控制对象,如列表框、按钮、复选框等进行双向通信。

当用户在列表框中改动当前选择或改变了复选框的状态时发出此类消息。

A、系统消息B、用户消息C、输入消息D、控制消息

5、下列关于继承方式的描述中,错误的是[9]

  A如果不显式地指定继承方式,缺省的继承方式是私有(private)

  B采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员

  C采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员

  D采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员

6、假定MyClass为一个类,则执行”MyClassa[3],*p[2];”语句时,自动调用该类构造函数的次数为[10]。

A、2B、3C、4D、5

7、在C++中,若对函数未加说明,则函数的隐含类型是  [11]  

A、intB、doubleC、voidD、char

8、类AB的缺省构造函数和析构函数是  [12]  

A、AB()和~AB()B、AB(int)和~AB()

C、AB()和~AB(delete)D、AB()和int~AB()

9、滚动条类CScrollBar的成员函数规定了滚动条的操作。

设置滚动条的范围使用[13]函数,设置滚动块的位置使用[14]函数,获取滚动块的当前位置使用[15]函数。

A、SetPosB、SetRangeC、SetScrollRangeD、GetPos

E、SetScrollPosF、GetScrollPosG、GetScrollRange

10、如果类中的成员只能被本类的成员函数和友元函数访问,则这些成员的访问权限为___[16]_;如果类中的成员能够被类外的函数访问,则这些成员的访问权限为:

___[17]__。

A、protectedB、privateC、publicD、static

11、列表框分为[18]和[19]两种,[20]中任一时刻只能选择一项。

A、组合框B、单选列表框C、多选列表框D、编辑框

12、采用函数重载的目的在于[21]。

A.实现共享B.减少空间C.提高速度D.使用方便,提高可读性

13、下列do-while循环的循环次数为[22]。

已知:

inti=6;

do{cout<

i--;

}while(i!

=0);

A.0B.1C.3D.无限

14、C++语言中规定函数的返回值的类型是由[23]。

A.return语句中的表达式类型所决定B.调用该函数时的主调用函数类型所决定

C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定

15、[24]是子类对父类的函数覆盖而不是重载,而覆盖是一种浮在表面的遮掩,而不是渗透性、摧毁性的重建。

A.重载函数B.友元函数C.虚函数D.模板函数

16、要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用[25]合适。

A.内联函数;B.重载函数;C.递归调用;D.嵌套调用。

17、下列函数中,[26]不能重载.

A.成员函数B.非成员函数C.析构函数D.构造函数

18、.继承具有[27],即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员.

A.规律性B.传递性C.重复性D.多样性

19、已知:

print()函数是一个类的常成员函数,它无返回值,下列表示中[28]是正确的。

A.voidprint()constB.constviodprint()C.voidconstprint()D.voidprint(const)

20、.类模板的使用实际上是将类模板实例化成一个具体的[29]。

A.类B.对象C.函数D.模板类

21、[30]是析构函数的特征.

A.一个类中只能定义一个析构函数B.析构函数名与类名不同

C.析构函数的定义只能在类体内D.析构函数可以有一个或多个参数

【参考答案】

题号

1

2

3

4

5

6

7

8

9

10

答案

A

C

B

D

D

B

题号

11

12

13

14

15

16

17

18

19

20

答案

A

A

C

E

F

B

C

B

C

B

题号

21

22

23

24

25

26

27

28

29

30

答案

D

C

D

C

A

C

B

A

D

A

三、简述题

1、简述面向对象程序设计的基本思想、方法和步骤。

解答要点:

(1)基本思想描述(+3分)

(2)方法:

抽象与分类(+2分)

(3)步骤:

1.找出类(+1分)2.描述类与类之间的关系(+1分)3.用类来界定抽象层次,从而组织程序结构(+2分)。

2、简述对象化编程与过程化编程的优缺点。

解答要点:

(1)对象化编程特点描述

(2)过程化编程特点描述

(3)两者比较

 

四、阅读程序,写出运行结果

1.

//////////////////////////////

//cat.h//

//////////////////////////////

#include

classCat

{public:

intGetAge();

voidSetAge(intage);

voidMeow();//喵喵叫

protected:

intitsAge;

};

intCat:

:

GetAge()

{returnitsAge;}

voidCat:

:

SetAge(intage)

{itsAge=age;}

voidCat:

:

Meow()

{cout<<“Meow.\n”;}

////////////////////////////////////////

//cat.cpp//

////////////////////////////////////////

#include

#include“cat.h”

voidmain()

{Catfrisky;

frisky.SetAge(5);

frisky.Meow();

cout<<“friskyisacatwhois”

<

<<“yearsold.\n”;

frisky.Meow();}

2.===========================================================

#include

classA

{public:

A();A(inti,intj);

~A(){cout<<"Destructor.\n";}

voidprint();

private:

inta,b;

};

A:

:

A()

{a=5;b=10;

cout<<"Defaultconstructor.\n";}

A:

:

A(inti,intj)

{a=i,b=j;cout<<"Constructor.\n";}

voidA:

:

print()

{cout<<"a="<

voidmain()

{Aobj1,obj2(15,18);

obj1.print();

obj2.print();}

3.=========================================================================

#include

classVehicle//汽车类

{protected:

intnumWheels;//车轮数

intrange;//汽车活动范围

public:

Vehicle(intw,intr):

numWheels(w),

range(r)

{cout<<"Vehicleconstructoriscalled"

<

}

voidShowV()

{cout<<"Wheels:

"<

<

cout<<"Range:

"<

}

};

classCar:

publicVehicle//小矫车

{intpassengers;//乘客数

public:

Car(intw,intr,intp):

Vehicle(w,r),

passengers(p)

{cout<<"Carconstructoriscalled"

<

}

voidShow()

{cout<<"\nCar:

\n";

ShowV();

cout<<"Passengers:

"<

<

}

};

voidmain()

{Carc(4,600,6);

c.Show();

}

4.========================================================================

#include

#include

intnextStudentID=0;

classStudentID

{

public:

StudentID()

{value=++nextStudentID;

cout<<”Assigningstudentid”<

cout<<”nextStudentID=”<

}

~StudentID()

{--nextStudentID;

cout<<”Destructingid”<

cout<<”nextStudentID=”<

}

protected:

intvalue;

};

classStudent

{public:

Student(char*pName=”noName”)

{cout<<”Constructingstudent”<

strcpy(name,pName);

}

protected:

charname[20];

StudentIDid;

};

intfn()

{staticinti=6;

++i;

returni++;

}

voidmain()

{Students(“Randy”);

cout<

}

5.============================================================

#include

voidmain()

{intx=7,y=3;

switch(x%2)//求余数

{case1:

switch(y)

{case0:

cout<<"AAAA\t";

case1:

cout<<"BBBB\t";break;

default:

cout<<"CCCC\t";

}

case2:

cout<<"Thanks\n";

}

}

6.============================================================

#include

#include

template

Tmin(T&a,T&b)

{returna>b?

b:

a;}

char*min(char*a,char*b)

{return(strcmp(a,b)>0?

b:

a);}

voidmain()

{cout<

cout<

7.===========================================================

#include

classperson

{friendvoiddisplay(person*);

char*name;

intage;

public:

person()

{name=“Mary”;age=18;

cout<<”1111111111”<

person(char*str,inti)

{name=str;age=i;

cout<<”constuctoriscalled.”<

}

~person()

{cout<<”destructoriscalled”<

}

};

voiddisplay(person*a)

{cout<name<age<

}

voidmain()

{persondemo(“Frank”,30),demo1;

display(&demo);display(&demo1);

}

8.==========================================================

#include

usingnamespacestd;

classMyClass

{public:

MyClass();

MyClass(int);

~MyClass();

voidDisplay();

protected:

intnumber;

};

MyClass:

:

MyClass()

{cout<<“Constructingnormally\n”;}

MyClass:

:

MyClass(intm)

{number=m;

cout<<“Consturctingwithanumber:

<

}

voidMyClass:

:

Display()

{cout<<”Displayanumber:

”<

<

}

MyClass:

:

~MyClass()

{cout<<“Destructing\n”;}

voidmain()

{MyClassobj1;

MyClassobj2(20);

obj1.Display();

obj2.Display();

}

[参考答案]

1、Meow(+2分)

friskyisacatwhois5yearsold(+2)

Meow(+2分)

2、====================================

Defaultconstructor(+1分)

Constructor(+1分)

a=5,b=10(+1分)

a=10,b=18(+1分)

Destructor(+1分)

Destructor(+1分)

3、====================================================================

Vehicleconstructoriscalled..(+1分)

Carconstructoriscalled..(+1分)

Car:

(+1分)

Wheels:

4(+1分)

Range:

600(+1分)

Passengers:

6(+1分)

4、====================================================================

Assigningstudentid1(+1分)

nextStudentID=1(+1分)

ConstructingstudentRandy(+1分)

9,7(+1分)

Destructingid1(+1分)

nextStudentID=0(+1分)

5、==============================================================

CCCC(+3)

Thanks(+3)

6.==============================================================

Good(+3)

3(+3)

7、==========================================================

constuctoriscalled.----(+1分)

1111111111----(+1分)

Frank30----(+1分)

Mary18----(+1分)

destructoriscalled----(+1分)

destructoriscalled----(+1分)

8、==================================================================

Constructingnormally(+1分)

Construcingwithanume:

20(+1分)

Displayanumber:

8973//随机数(+1分)

Displayanumber:

20(+1分)

Destructing(+1分)

Destructing(+1分)

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1