- 72
- 0
- 约1.41万字
- 约 22页
- 2016-12-10 发布于重庆
- 举报
C语言程序设计复习试题.
2006年C++程序设计试题(A卷)
考试形式:闭卷考试 考试时间:120分钟
研究生学号 姓名 得分
题号 一 二 三 四 五 总分 得分
一、简答题(本大题共10小题,每小题3分,共30分)
简述C++语言具有哪些格式特点。
什么叫计算机软件?
在C++语言中,指针运算的实质是什么?请列举指针有哪些赋值运算。
在C++语言中,请给出指针函数的定义形式和函数指针的说明形式。
请描述参数在函数间传递,地址传递方式与引用方式两者之间的异同点。
C++语言引入class类类型具有什么用途?
请描述析构函数的作用。
为什么要引入虚拟函数?请给出说明形式。
请给出用new和delete建立堆空间数组和释放数组的例子。
请给出函数模板定义的一般形式。
二、数据与运算(本大题共10小题,每小题2分,共20分)
若int x=2,y=2; 则表达式 (y = x2)? (x+2)/++y : x+y 的运算结果是什么?
2
若int x=5, y(3), *p=x ; 则经过 y+=++x, *p=++x+(- -y) 的运算之后,
coutx “ ” yendl; 的输出结果是什么?
15 8
若unsigned char x=0373, y =0xfa; 则 ~x^y; 的值是什么?
0xFE或-2
若int x(10), y=9 ; 则经过y+=x+1, x - =y, y2; 的运算, 则 x, y的结果值各是什么?
-10 20
若char x=’b’ ; int y; y = x - = 0x20;
则 cout x ASCII is y endl; 的输出结果是什么?
B ASCII is66
若int data[8]={1,2 ,3,4,5,6,7,8},*p=data; 则表达式 *(p+=5)+*(p-4) 计算结果是什么?
8
若说明int a[8]={10,9,8,7,6,5,4,3}, *p=a[0]; 则经过表达式
*(a[7] -1) += (*++p +=1, *(p+=3 )=0 ); 运算之后,则数组a各元素的值是什么?
10,10,8,7,0,5,4,3
若说明 int a= -1; double b(0) ; 则表达式 (a2) + sizeof(b)/2 的值是什么?
0
若struct MyData {int a; char b[3];}; MyData x ={ 250, “ab”}, *y=x;
则经过 x . b[0] = x . b[1]+4, (y-a) = 2 ; 运算,x的各分量结果是什么?
62 “fb”
若定义union TUnion{char x[2]; int y;}; (设int占4个字节),
说明 TUnion aKey, *pKey=aKey; pKey-y=515, pKey-x[1]= 0 ;
则表达式 pKey - y 的结果是什么?
3
三、给出下列程序的运行输出结果(本大题共3小题,每小题5分,共15分)
1、 #include “iostream.h”
void afox(int x,int y,int *v,int *w)
{
*v = (x +=2)+( y=y);
*w= x - y
}
void main(void)
{ int a=1,b=2,c=3,d=4;
afox ( a,b, c, d );
cout a “,” b “,”c “,”dendl;
}
答案: 3 2 11 -5 ;
2、 #include “stdio.h”
int d=5;
int fun( int p)
{ static int g=2 ; g += ++d - p; printf(%d ,g);
return( g );
}
void main( void )
{
printf(%
原创力文档

文档评论(0)