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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2005年研究生C++程序设计试题

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

1、什么叫变量? 什么叫常量?

2、请枚举指针运算中赋值运算的几种基本形式。

int *px, *py, n;

px=&n;

py=px;

px=py+n;

px=py-n;

px=0;

3、在C++语言中,控制语句主要有哪些?

if , if~else, switch, for,while, do while, break,return,goto,continue,

4、在C++语言中,请给出结构体和联合体的异同点。

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

6、什么叫类?什么叫对象?

7、纯虚拟函数定义的一般形式是什么?

virtual <数据类型〉<函数名称>(<形式参数列表>)= 0;

8、什么叫友元?友元的意义是什么?

9、请说明class类类型和struct结构体类类型两种数据类型的异同点。

10、重载有哪些?为什么要重载?

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

1.若int x=0, y=1;则表达式(y = x<<2)? x/(++y +5): ++y的运算结果是什么?

1

2.若int x=8, y(10), *p=&x ; 则经过y += x+2, *p=++x+y- - ;的运算之后,

cout<

29 19

3.若unsigned char x=024, y =0xfa, z=48; 则表达式(x & ~y) ^ z 的值是什么?

00000101 ~y

00110000 z

00010100 x

00000101 ~y

00000100 x &~y

00110000 z

00110100 52

4.若int x(1), y=2, z(3), *pw=&z ;则经过语句y+=*pw+1, x+=++y, *pw += x -y; 的运算, 则

x, y, z 的结果值各是什么? 8 7 4

5.若char x =’a’, y= 0x20; int z; y = z = x – y ;

则cout<< z << " 的ASCII码为" << y <

0x61

0x20

0x41 ‘A’

65的ASCII码为A

6.若int a[4]={1,2 ,3,4};则a[2]=a[0]+*(a+3)+a[1]++ 运算之后,a的各元素存放的是什么?

1 3 7 4

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

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

10 9 5 4 3 3 1 1

8.若说明int a=4; long x(0) ; 则表达式(a>>1) * sizeof(x)的值是什么?

8

9.若struct MyData { int a; float b ; char c[3]}; MyData x ={ 1, 2.0f, “123”}, y, *z=&y ; 经过*z=x ; z->b = +( ++[0] ) ;运算,则y的各分量结果是什么?

1 51.0f “223”

10.若定义union MyUnion{char x[2]; int y;}; (设int占4个字节),

说明MyUnion MyKey, *pKey=&MyKey; pKey->y=259; pKey->x[0]= ’0’ ;

则表达式(*p Key) . y 的结果是什么?

304

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

1、#include “”

int t(int x,int &y,int v,int *w)

{ v= - -x + y++;

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

}

void main(void)

{ int a=1,b=2,c=3,d=4;

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

cout<< a<< “,”<< b<< “,”<

}

答案: 1 3 3 -3 ;

2、#include “”

int d=0;

int fun(int p)

{ static int g=20 ;g += ++d - p;printf("%d ",g);

return(g);

}

void main( void )

{

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

}

答案:11 2 2 ;

3、#include “”

void main(void)

{ char s [64]= { ‘G’, ‘e’, ‘o’, ‘s’, ‘c’, ‘i’, ‘e’, ‘n’, ‘e’, ‘s’, ‘U’, ‘n’, ‘i’, ‘v’, ‘e’, ‘r’, ‘s’, ‘t’, ‘y’, ‘\0’, ‘O’, ‘K’, ‘!’,};

char s1[128] , *ps=s; int k(0);

for( ; *ps != ‘U’ ;) ps++ ;

while( *ps++ != ‘\0’) k++;

cout<< “k=” << k << endl;

}

答案:k=9 ;

4、# include <>

class AB

{

public :

int a, b;

AB() { a=b=0; }

AB(int x, int y)

{ a=x; b=y;

cout <

~AB() { cout<<"Exit Function"<

void OutSqResult(void);

相关文档
最新文档