c++试题Word格式文档下载.docx

上传人:b****4 文档编号:7507158 上传时间:2023-05-08 格式:DOCX 页数:47 大小:125.53KB
下载 相关 举报
c++试题Word格式文档下载.docx_第1页
第1页 / 共47页
c++试题Word格式文档下载.docx_第2页
第2页 / 共47页
c++试题Word格式文档下载.docx_第3页
第3页 / 共47页
c++试题Word格式文档下载.docx_第4页
第4页 / 共47页
c++试题Word格式文档下载.docx_第5页
第5页 / 共47页
c++试题Word格式文档下载.docx_第6页
第6页 / 共47页
c++试题Word格式文档下载.docx_第7页
第7页 / 共47页
c++试题Word格式文档下载.docx_第8页
第8页 / 共47页
c++试题Word格式文档下载.docx_第9页
第9页 / 共47页
c++试题Word格式文档下载.docx_第10页
第10页 / 共47页
c++试题Word格式文档下载.docx_第11页
第11页 / 共47页
c++试题Word格式文档下载.docx_第12页
第12页 / 共47页
c++试题Word格式文档下载.docx_第13页
第13页 / 共47页
c++试题Word格式文档下载.docx_第14页
第14页 / 共47页
c++试题Word格式文档下载.docx_第15页
第15页 / 共47页
c++试题Word格式文档下载.docx_第16页
第16页 / 共47页
c++试题Word格式文档下载.docx_第17页
第17页 / 共47页
c++试题Word格式文档下载.docx_第18页
第18页 / 共47页
c++试题Word格式文档下载.docx_第19页
第19页 / 共47页
c++试题Word格式文档下载.docx_第20页
第20页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c++试题Word格式文档下载.docx

《c++试题Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c++试题Word格式文档下载.docx(47页珍藏版)》请在冰点文库上搜索。

c++试题Word格式文档下载.docx

B.无意义

C.变量p的地址值

D.变量a的值

二、判断题

1、在说明语句chara(‘A’),&

b=a,*pa=&

中,b的值的*pa的是相等的。

(  )

2、在不同类型操作数组成的表达式中,其表达式的类型一定是最高类型double型。

3、break语句也可以用于if体内,它可退出if语句。

4、在一个被调用函数中,一个return语句不可返回多个值给调用函数。

5、在传值调用中,要求实参和形参的类型完全一致并且个数相等。

6、for循环中,循环变量的作用域是该循环的循环体内。

7、constchar*p说明了p是指向字符串的常量指针。

三、读程序并写出程序的运行结果

1、#include<

iostream.h>

voidmain()

{

shorts=0;

doubled=10.0;

cout<

<

sizeof(char)<

endl;

sizeof(short)<

sizeof(long)<

sizeof(double)<

sizeof(s+d)<

}

2、#include<

inta=10,s=0;

if(a=4)

while(a!

=5)s+=a++;

else

a++;

s++;

cout<

"

s="

<

s<

cout<

a="

a<

}

3、#include<

ints=0;

for(inta=8;

a>

5;

a–=2);

//注意此处的分号

s+=a;

s*=2;

if(a==4)

{cout<

"

cout<

else

{cout<

4、#include<

{intx=3,y=3;

switch(x%2)

{

case1:

switch(y)

{case0:

first\t"

;

case1:

second\t"

break;

default:

hellow\t"

}

case2:

third\n"

5、#include<

voidswap(int*x,int&

y);

inta(13),b;

b=a%5;

a<

"

b="

b<

endl;

swap(&

a,b);

y)

{inttemp=*x;

*x=y;

y=temp;

四、综合编程题

1、编写程序求10!

+9!

+.....+3!

+2!

+1!

的和,其中计算阶乘要用函数实现;

2、编写程序,要求:

1)从键盘上输入6个整数放入数组a[6]中(用while循环实现);

2)求出数组元素的最大值及数组的平均值,并将各元素、最大值及平均值输出到一文本文件中保存;

3)然后打开该文件,读取其中内容并显示在屏幕上。

 

作业1参考答案

题目

1

2

3

4

5

6

7

8

9

10

答案

C

D

A

×

三、读程序并写出运行结果

1

1

2、

s=5

a=5

3、

s=8

a=4

4、

hellowthird

5、

a=13,b=3

a=3,b=13

1、#include<

longintfac(inta);

voidmain()

{longsum=0;

for(inti=1;

i<

=10;

i++)

sum+=fac(i);

Thesumis"

sum<

longintfac(inta)

{inttemp=1;

for(intj=1;

j<

=a;

j++)

temp*=j;

returntemp;

2、#include<

fstream.h>

#include<

stdlib.h>

doubleave(intp[]);

//声明求和函数

intmax(intp[]);

//声明求极大值函数

{inta[6],maxv;

doubleavev;

inti=0;

while(i<

6)//通过循环从键盘给数组元素赋值

{cout<

a["

]="

cin>

>

a[i];

i++;

maxv=max(a);

//调用求和函数

avev=ave(a);

//求极大值函数

ofstreammy_ostrm;

//定义输出流

my_ostrm.open("

c:

\\myfile.txt"

);

//打开指定文件

if(!

my_ostrm)//文件打开不成功,报错并终止运行

{cout<

openfileerror,abort!

abort();

for(i=0;

6;

i++)//往文件写入各数组元素的值

my_ostrm<

a[i]<

my_ostrm<

avev<

//写入平均值

maxv<

//写入最大值

my_ostrm.close();

//文件关闭

ifstreammy_istrm;

//定义输入流

my_istrm.open("

if(!

my_istrm)//文件打开不成功,报错并终止运行

{cout<

i++)//往文件读取各数组元素的值

{my_istrm>

my_istrm>

avev>

maxv;

//读取平均值与最大值

\n"

//输出

my_istrm.close();

doubleave(intp[])/*求和函数的实现,形参用数组*/

{ints=0;

for(inti=0;

i++)s+=p[i];

returns/6.0;

intmax(intp[])/*求极大值函数的实现,形参用数组*/

{intmaxv=p[0];

i++)if(p[i]>

maxv)maxv=p[i];

returnmaxv;

一、名词解释

1.继承性2.多态性3.抽象性4.重载5.封装性

二、选择题

1.关于对象概念的描述中,()是错误的。

A)对象就是C语言中的结构体B)对象是状态和操作的封装体

C)对象之间的信息传递是通过消息进行的D)对象是某个类的一个实例

2.假设MyClass是一个类,则该类的拷贝构造函数的声明语句为()

A)MyClass(MyClassp);

B)MyClass&

(MyClassp);

C)MyClass(MyClass&

p);

D)MyClass(MyClass*p);

3.下列说法中正确的是()

A)类定义中只能说明函数成员的函数头,不能定义函数体

B)类中的成员函数可以在类体中定义,也可以在类体外定义

C)类中的函数成员在类体外定义时必须要与类声明在同一文件中

D)在类体之外定义的函数成员不能操作该类的私有数据成员

4.下列的各类函数中,()不是类的成员函数。

A.构造函数B.析构函数C.友元函数D.拷贝构造函数

5.下面叙述错误的是()

A)基类的protected成员在派生类中仍然是protected

B)基类的protected成员在public派生类中仍然是protected的

C)基类的protected成员在private派生类中是private的

D)基类的protected成员不能被派生类的对象访问

6.友元的作用是。

()

A.提高程序的运行效率B.加强类的封装性

C.实现数据的隐蔽D.增加成员函数的种类

7.有关类的说法不正确的是_________。

A.类是一种用户自定义的数据类型

B.只有类中的成员函数才能存取类中的私有数据

C.在类中,如果不作特别说明,所有的数据均为私有类型

D.在类中,如果不作特别说明,所有的成员函数均为公有类型

8.有关析构函数的说法不正确的是__________。

A.析构函数有且只有一个B.析构函数无任何函数类型

C.析构函数和构造函数一样可以有形参

D.析构函数的作用是在对象被撤销时收回先前分配的内存空间

9.下列关于对象数组的描述中,是错的。

A.对象数组的下标是从0开始的B.对象数组的数组名是一个常量指针

C.对象数组的每个元素是同一个类的对象

D.对象数组的只能赋初值,而不能被赋值

10.设置虚基类的目的是()

A)简化程序B)消除二义性C)提高程序运行效率D)减少目标代码

三、不定项选择题

1、定义析构函数时,应该注意()

A、其名与类名完全相同B、返回类型是void类型

C、无形参,也不可重载D、函数体中必须有delete语句

2、每个类()构造函数。

A、只能有一个B、只可有公有的

C、可以有多个D、只可有缺省的

3、在一个类中可以对一个操作符进行()重载。

A、1种B、2种以下C、3种以下D、多种

4、在()情况下适宜采用inline定义内联函数。

A、函数体含有循环语句B、函数体含有递归语句

C、函数代码少、频繁调用D、函数代码多、不常调用

E、需要加快程序执行速度

5、在类中说明的成员可以使用关键字()进行修饰。

A、privateB、externC、autoD、publicE、register

6、如果类A被说明成类B的友元,则()。

A、类A的成员即类B的成员B、类B的成员即类A的成员

C、类A的成员函数不能访问类B的成员

D、类A的成员函数可以访问类B的成员

E、类B不一定是类A的友元

7、在派生类中重新定义虚函数时必须在()方面与基类保持一致。

A、参数个数B、参数类型C、参数名字D、操作内容E、返回类型

8、下列()的调用方式是引用调用。

A.形参是指针,实参是地址值

B.形参和实参都是变量

C.形参是数组名,实参是数组名

D.形参是引用,实参是变量

四、程序题

1.写出以下程序运行的结果。

#include<

classCSample{

public:

CSample();

voidDisplay();

private:

inti;

staticintk;

};

CSample:

:

CSample(){

i=0;

k++;

voidCSample:

Display(){

i="

i<

k="

k<

intCSample:

k=0;

intmain(){

CSamplea,b;

a.Display();

b.Display();

return0;

2.写出以下程序运行的结果。

CSample(intval);

~CSample();

Constructor1"

CSample(intval){

Constructor2"

i=val;

~CSample(){

Destructor"

CSamplea,b(10);

3.写出以下有关动态创建多维数组的程序运行的结果。

float(*cp)[3][4];

cp=newfloat[2][3][4];

inti,j,k;

for(i=0;

i<

2;

i++)

for(j=0;

j<

3;

j++)

for(k=0;

k<

4;

k++)

*(*(*(cp+i)+j)+k)=i*100+j*10+k;

{

cout<

cp[i][j][k]<

}

cout<

4.写出以下有关求线段距离的程序运行的结果。

math.h>

classPoint

{public:

Point(intxx=0,intyy=0){X=xx;

Y=yy;

point构造函数被调用"

Point(Point&

p);

intGetX(){returnX;

intGetY(){returnY;

intX,Y;

Point:

Point(Point&

p)

X=p.X;

Y=p.Y;

X="

X<

Y="

Y<

Point拷贝构造函数被调用"

classDistance

Distance(Pointxp1,Pointxp2);

doubleGetDis(){returndist;

Pointp1,p2;

doubledist;

//类的聚集的构造函数

Distance:

Distance(Pointxp1,Pointxp2)

p1(xp1),p2(xp2)

Distance构造函数被调用"

doublex=double(p1.GetX()-p2.GetX());

doubley=double(p1.GetY()-p2.GetY());

dist=sqrt(x*x+y*y);

//主函数

Pointmyp1(1,1),myp2(4,5);

Distancemyd(myp1,myp2);

Thedistanceis:

myd.GetDis()<

5.写出以下有关虚基类及其构造函数的程序运行的结果。

classB0//声明基类B0

public:

B0(intn){nV=n;

B0constructor"

intnV;

voidfun(){cout<

MemberofB0"

}

classB1:

virtualpublicB0//B0为虚基类,派生B1类

B1(inta):

B0(a){cout<

B1constructor"

intnV1;

classB2:

virtualpublicB0//B0为虚基类派生B2类

B2(inta):

B2constructor"

intnV2;

classD1:

publicB1,publicB2//派生类D1声明

D1(inta=0):

B1(a),B0(a),B2(a){cout<

D1constructor"

intnVd;

voidfund(){cout<

MemberofD1"

voidmain()

D1d1;

d1.nV=2;

d1.fun();

6.请找出下列程序中的错误,并说明错误原因,以及如何改。

(程序的每一行前加上了行号,你可以通过行号来指出错误位置。

) 

1.classMyClass

2.{

3.public:

4.MyClass(intini){member=ini;

}

5.voidSetMember(intm)const{member=m;

6.staticintGetMember(){returnmember;

7.private:

8.intmember;

9.};

10.voidmain()

11.{

12.MyClassobj1;

13.MyClassobj2(3);

14.obj1.member=5;

15.MyClass:

GetMember();

16.} 

作业2参考答案

一、简答题

1.继承是一种联结类与类的层次模型。

继承性是指特殊类的对象拥有其一般类的属性和行为的特性。

2.多态性是指类中同一函数名对应多个具有相似功能的不同函数,可以使用相同的调用方式来调用这些具有不同功能的同名函数的特性。

3.抽象就是忽略事物中与当前目标无关的非本质特征,更充分地注意与当前目标有关的本质特征。

4.函数重载是指具有相似功能的不同函数使用同一函数名,但这些同名函数的参数类型、参数个数、返回值、函数功能可以不同。

编译系统将根据函数参数的类型和个数来判断使用哪一个函数。

5.封装就是把对象的属性和行为结合成一个独立的单位,并尽可能隐蔽对象的内部细节。

其有两个含义:

一是封装性,另一个是“信息隐蔽”。

二、单选题:

ACBCAADCDB

三、多项选择

ACDCEADDEABED

四、程序阅读题:

1、

i=0,k=2

i=0,k=2

Constructor1

Constructor2

i=0

i=10

Destructor

Destructor

3、

0123

10111213

20212223

100101102103

110111112113

120121122123

4、

point构造函数被调用

X=4Y=5Point拷贝构造函数被调用

X=1Y=1Point拷贝构造函数被调用

X=4Y

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2