大一C++考试题Word格式.docx

上传人:b****6 文档编号:18958057 上传时间:2023-01-02 格式:DOCX 页数:20 大小:53.91KB
下载 相关 举报
大一C++考试题Word格式.docx_第1页
第1页 / 共20页
大一C++考试题Word格式.docx_第2页
第2页 / 共20页
大一C++考试题Word格式.docx_第3页
第3页 / 共20页
大一C++考试题Word格式.docx_第4页
第4页 / 共20页
大一C++考试题Word格式.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

大一C++考试题Word格式.docx

《大一C++考试题Word格式.docx》由会员分享,可在线阅读,更多相关《大一C++考试题Word格式.docx(20页珍藏版)》请在冰豆网上搜索。

大一C++考试题Word格式.docx

for语句能够被改写成()语句。

(A)

while

(B)

if

(C)

try

(D)

switch

[2]

语句:

for(intx=0,y=0;

!

x&

&

y<

=5;

y++,x=1-x);

执行循环的次数是()。

无数

[3]

下面数组定义合法的是()。

ints[]="

string"

;

ints[5]={0,1,2,3,4,5};

chars="

chars[]={0,1,2,3,4,5};

[4]

执行下面语句:

inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则数值为8的表达式是()。

*p+=7

*(p+8)

*p+8

p+7

[5]

假定E为一个类,则执行“Ee1(3),e2[6],*pe[8];

”语句时,自动调用该类构造函数的次数为()。

17

[6]

typedefstruct

{

intscore;

intyear;

}data;

datad,*p=&

d;

上面语句执行后,与d.score值相等为()。

p->

d.score

(*p).score

(*p).d

data

[7]

假定有以下变量定义:

intk=8,x=21;

则能使x的值为5的表达式是()。

x%=(k%=5)

x%=(k-k%5)

(x%=k)-(k%=5)

x%=k-k%5

[8]

结构体:

structstudent

{charname[10];

intage;

boolsex;

};

占内存字节数为()。

20

18

sizeof(student)

[9]

已知:

inta,*pa=&

a;

输出指针pa值的十进制表示的方法是()。

cout<

<

pa

*pa;

(longint)pa;

[10]

类的析构函数是在什么时间被自动调用的?

()。

类创建时

创建对象时

销毁对象时

不自动调用

[11]

下面描述中,表达错误的是()。

公有继承时基类中的public成员在派生类中仍是public的

公有继承是基类中的private成员在派生类中仍是private的

公有继承时基类中的protected成员在派生类中仍是protected的

私有继承时基类中的public成员在派生类中是private的

[12]

#include<

iostream>

usingnamespacestd;

classBase

{

charc;

public:

Base(charn):

c(n){}

~Base(){cout<

c;

}

classDerived:

publicBase

Derived(charn):

Base(n-1),c(n){}

~Derived(){cout<

intmain(intargc,char*argv[])

Derived('

D'

);

return0;

}

上面程序运行结果为()。

CD

DC

D

C

[13]

任何类都至少拥有()构造函数。

默认

拷贝

2个

赋值

[14]

关于多态,下面那些说法是正确的()。

多态分静态的(运行时)和动态的(编译时)。

运行时的多态与类的层次结构无关。

在基类定义了虚函数后,在派生类中重新定义时必须加关键字virtual。

仅使用虚函数并不能实现运行时的多态性,还必须采用指针或引用来调用才能真正实现运行时的多态性。

[15]

下列哪一个描述是关于引用调用的()。

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

形参是引用,实参是变量

形参和实参都是变量

形参和实参都是数组名

[16]

已知类Myst有一个只需要一个double型参数的构造函数,且将运算符“-”重载为友元函数。

要使语句序列:

Mystx(3.2),y(5.5),z(0.0);

z=(x-6.3)-(8.9-y);

能够正常运行,运算符函数operator-应该在类中声明为()。

friendMystoperator-(Myst&

Myst&

friendMystoperator-(Myst,Myst);

friendMystoperator-(Myst,Myst&

Myst);

二.

判断题(每小题1分,共10分)

请判断下列语句是否正确,如果正确请在下列的表格题号对应的空白内用笔打上√;

如果错误请在下列的表格题号对应的空白内用笔打上×

错打或未打均无分。

()

定义数组chars1[]="

abc"

和chars2[]={'

a'

'

b'

c'

},s1的数组长度小于s2的数组长度。

C++语言的跳转语句中,continue只能够用在循环语句中,而break可以不用在循环语句中。

使用内联函数可节省函数调用与返回时的开销,因此能够提高程序的运行速度。

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

语句inta(10),&

b=a,*p=&

中,b的值和*p的值是相等的。

运算符重载只能够实现成友元函数。

任何函数都必须有返回值。

定义一个对象时,系统只为该对象的数据成员开辟内存空间,而成员函数是同类对象共享的。

类的对象可以是自身类的成员变量。

模板类的成员函数若在类外实现,则必须是模板函数。

三.

写出程序执行结果(每小题6分,共30分)

阅读以下程序,并写出程序运行结果。

程序输出结果

voidExchange2(chara,charb)

c=a;

a=b;

b=c;

voidexchange(char*a,charb)

c=*a;

*a=b;

voidexchange(char*a,char*b)

*a=*b;

*b=c;

voidexchange(char&

a,char&

b)

intmain(intargc,char*argv[])

chara,b;

a='

A'

b='

B'

Exchange2(a,b);

cout<

a<

b;

exchange(&

a,&

b);

a,b);

exchange(a,b);

usingnamespacestd;

#defineN5

voidtransp(inta[][N],intn)

inti,j,k;

for(i=0;

i<

n;

i++)

for(j=0;

j<

i;

j++)

{

k=a[i][j];

a[i][j]=a[j][i];

a[j][i]=k;

}

intn,i,j,x[N][N],k=0;

n=3;

x[i][j]=k++;

transp(x,n);

{

cout<

x[i][j];

cout<

"

\n"

}

return0;

classB

protected:

inta;

virtualvoidCal()

{

a+=a;

};

virtualintGetA()

returna;

}

classD1:

publicB

intw;

inth;

D1(inttw,intth):

w(tw),h(th){}

voidCal()

a=w+h;

classD2:

D2(inttw,intth):

a=w-h;

classD3:

D3(inttw,intth):

a=w*h;

intmain(intargc,char*argv[])

B*b[]={newD1(3,2),newD2(3,2),newD3(3,2)};

intsum=0;

for(inti=0;

i<

3;

i++)

b[i]->

Cal();

sum+=b[i]->

GetA();

计算结果为:

sum<

endl;

iostream.h>

classcomplex

complex(double,double);

complex(complex&

complex();

complexoperator*(complex&

complex&

operator=(complex&

voiddisplay();

doublereal;

doubleimage;

complex:

:

complex(doublex,doubley)

{real=x,image=y;

complex(complex&

x)

Runingcopyconstructor\n"

real=x.real;

image=x.image;

complex()

{real=image=0.0;

complexcomplex:

operator*(complex&

returncomplex(real*x.real,image*x.image);

complex&

complex:

x)

Runingassignoperator\n"

real+=x.real;

image+=x.image;

return*this;

voidcomplex:

display()

real<

+"

image<

i"

complexc1(3,9);

complexc2(c1);

complexc3;

c3=c1*c2;

c3.display();

template<

classT>

classStack

inttop;

T*elements;

intmaxSize;

Stack(int=30);

~Stack(){delete[]elements;

voidPush(constT&

data);

TPop();

Stack<

T>

Stack(intmaxs)

maxSize=maxs;

top=-1;

elements=newT[maxSize];

voidStack<

Push(constT&

data)

elements[++top]=data;

TStack<

Pop()

returnelements[top--];

inti;

chara[5]={'

k'

'

t'

s'

Stack<

char>

cstack;

5;

i++)cstack.Push(a[i]);

i++)

cstack.Pop();

四.

综合题(每小题14分,共28分)

1、编写程序求这样四个整数

),使得以下等式成立:

程序输出结果如下。

//start:

程序开始

//end:

程序结束

2、已知函数

定积分公式:

(条件:

区间必须为偶数n个相等区间,

用虚函数来实现函数

的定积分,即:

将下面程序填写完整以完成题目要求。

string.h>

math.h>

#defineN2000

//----------------------------------

classSimpson{

doubleIntevalue,a,b;

//Intevalue积分值,a积分下限,b积分上限

virtualdoublefun(doublex)=0;

//被积函数声明为纯虚函数

Simpson(doublera=0,doublerb=0):

a(ra),b(rb),Intevalue(0)

{}

voidIntegrate()

doubledx;

inti;

dx=(b-a)/N;

Intevalue=;

//-----

(1)

for(i=1;

N;

i+=2)Intevalue+=4*fun();

//---

(2)

for(i=2;

i+=2)Intevalue+=2*fun();

//---(3)

Intevalue*=dx/3;

voidPrint(){cout<

积分值="

Intevalue<

classA:

publicSimpson{

A(doublera,doublerb):

Simpson(ra,rb){};

doublefun(doublex){;

}//以

作为被积函数--(4)

classB:

B(doublera,doublerb):

}//以

作为被积函数--(5)

intmain(intargc,char*argv[])

Aa();

//-----(6)

Simpson*s=&

s->

Integrate();

//动态计算函数

的定积分

Print();

Bb();

//-----(7)

s=&

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

当前位置:首页 > 党团工作 > 思想汇报心得体会

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

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