地质大学北京春硕士研究生c语言程序设计试题a.docx

上传人:b****6 文档编号:8905461 上传时间:2023-02-02 格式:DOCX 页数:8 大小:17.68KB
下载 相关 举报
地质大学北京春硕士研究生c语言程序设计试题a.docx_第1页
第1页 / 共8页
地质大学北京春硕士研究生c语言程序设计试题a.docx_第2页
第2页 / 共8页
地质大学北京春硕士研究生c语言程序设计试题a.docx_第3页
第3页 / 共8页
地质大学北京春硕士研究生c语言程序设计试题a.docx_第4页
第4页 / 共8页
地质大学北京春硕士研究生c语言程序设计试题a.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

地质大学北京春硕士研究生c语言程序设计试题a.docx

《地质大学北京春硕士研究生c语言程序设计试题a.docx》由会员分享,可在线阅读,更多相关《地质大学北京春硕士研究生c语言程序设计试题a.docx(8页珍藏版)》请在冰豆网上搜索。

地质大学北京春硕士研究生c语言程序设计试题a.docx

地质大学北京春硕士研究生c语言程序设计试题a

2006年研究生C++程序设计试题(A卷)

考试形式:

闭卷考试考试时间:

120分钟

研究生学号姓名得分

题号

总分

得分

一、简答题(每小题3分,30分)

1、简述C++语言具有的特点。

2、指针指向int数组和指向char数组应用上有那些区别?

3、在C++语言中,如说明inta[10],*pa=a;a[5]与pa[5]等价吗?

什么时候不等价?

a[5]*(a+5)*(pa+5)pa[5]

4、在C++语言中,请给出指针函数定义的一般形式。

<数据类型>*<函数名>(<参数说明>)

{

语句序列;

}

5、请说出函数参数中,地址与复制传递参数方式两者之间的异同点。

6、什么叫类?

什么叫对象?

7、请构造函数声明的一般形式(包括基类构造调用等)。

<类名称函数名>(<参数说明>):

<基类函数调用>

{

语句序列;

}

8、什么叫友元?

请给出说明形式。

9、请给出用new和delete堆空间建立数组和释放数组的例子。

int*pa;

pa=newint[20];

……

delete[]pa;

10、请给出类中运算符重载的一般形式。

<数据类型><类名称>:

:

operator<运算符>(<参数说明>)

{

语句序列;

}

二、数据与运算(每小题2分,共20分)

1.若intx=1,y=2;则表达式(y==++x)?

++x/--y:

++y的运算结果是什么?

3

2.若intx=5,y(15),*p=&x;则经过y+=++x-5,*p=++x+--y;的运算之后,

cout<

2215

3.若unsignedcharx=77,y=077,z=0x77;则表达式(x&y)^~z的值是什么?

01001101

00111111

00001101

01110111

0x85

4.若intx(0),y=1,z

(2),*pw=&z;则经过语句*pw+=y+1,x+=++z,x+=z-y;的运算,则x,y,z的结果值各是什么?

915

5.若charx=’A’,y=0x20;intz;y=z=x+y;

则cout<"<

6.若inta[10],*pa=&a[1],*pb=&a[9]-2;则pb-pa的结果是多少?

6

7.若说明inta[10]={9,8,7,6,5,4,3,2,1,0},*p=&a[8];则经过表达式

a[9]+=(*++p+=1,*(p-=8)+=3,*(p+3)+=1);运算之后,则数组a各元素的值是什么?

91176643217

8.若说明inta=6;doublex(4);则表达式(a>>1)*(sizeof(x)+1)的值是什么?

27

9.若structMyData{doublea;floatb;charc[4]};MyDatax={8,1.0f,“81”},y,*z=&y;

经过=2.0f,*z=x,z->b=+++([1]++);运算,则x,y的各自分量结果是什么?

10.若定义unionAUnion{charx[4];inty;floatz;};(设int占4个字节),

说明AUnionAKey,*pKey=&AKey;经过pKey->z=0f;pKey->x[0]=’A’;

则表达式cout<<(pKey->y+2)<

 

三、给出下列程序的运行输出结果(每小题6分,共24分)

1、#include“”

intafox(intx,int&y,int*v,int*w)

{*v=--x+y++;

*w=x-y;return(v);

}

voidmain(void)

{inta=3,b=3,c=3,d=3;

afox(a,b,&c,&d);

cout<

}

345-2

答案:

;

2、#include“”

intd=0;

intfun(intp)

{staticintg=10;g+=++d-p;printf("%d",g);

return(g);

}

voidmain(void)

{

intd=10;printf("%d\n",fun(fun(d)-fun

(2)));

}

答案:

;

3、#include""

voidmain(void)

{

chara[8],t;intj,k;

for(j=0;j<7;j++)a[j]='a'+j;a[7]='\0';

for(j=0;j<3;j++)

{

t=a[6];

for(k=6;k>0;k--)a[k]=a[k-1];a[0]=t;

cout<

}

}

答案:

gabcdef;

fgabcde;

efgabcd;

 

4、#include<>

classCTest

{

public:

inta,b,c;

CTest(){a=b=c=0;cout<

CTest(intx,inty)

{a=x;b=y;c=0;cout<

~CTest(){cout<

voidOutAddResult(void){c++;cout<

};

voidmain(void)

{

CTestx(5,6),y;

();();

}

答案:

;

;

;

;

;

四、程序填空题(共12分)

1、阅读下列程序,根据程序的实现情况填空。

(6分)

#include<>

#include<>

classCStudent

{

public:

CStudent(【1】char*ch,intin){name=ch;id=in;}

voidDisplay();

private:

char*name;

intid;

};

【2】voidCstudent:

:

Display()

{

cout<<"Name="<

}

voidmain(void)

{

CStudentzhang(【3】“zhangsan”,2006001);

();

}

2、请给出下面程序的完整实现(6分)

#include""

【1】template

classCPlus

{

public:

CPlus(){};

Pplus();

public:

Tm;Pn;

};

template

PCPlus【2】:

:

plus()

{

Ps;s=m+n;return(s);

}

voidmain(void)

{

CPlus【3】a;

=12;=12.8766f;

cout<<"结果="<<()<

}

答案:

【1】

【2】

【3】

 

五、编程题(共14分)

题目:

编程求出两个自然数的最大公约数。

要求:

1、编写一个函数intFindMaxDommonDivisor(inta,intb)的程序;

2、编写主函数求出a=108,b=76和a=201,b=77的程序。

 

 

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

当前位置:首页 > 高等教育 > 农学

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

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