1、一、单选题 1、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2、设x和y均为bool量,则x&&y为真的条件是 。 A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假 3、下面的哪个保留字不能作为函数的返回类型? 。 A. void B. int C. ne
2、w D. long 4、假定a为一个整型数组名,则元素a[4]的字节地址为 。 A. a+4 B. a+8 C. a+16 D. a+32 5、假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为 。 A. 3 B. 4 C. 6 D. 9 6、假定要对类AB定义加号操作符
3、重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为: 。 A. AB operator+(AB & a , AB & b) B. AB operator+(AB & a) C. operator+(AB a) D. AB & operator+( ) 7.由C++目标文件连接而成的可执行文件的缺省扩展名为 。 A. cpp B. exe
4、C. obj D. lik 8.在下面的一维数组定义中,哪一个有语法错误。 A. int a[ ]={1,2,3} B. int a[10]={0} C. int a[ ] D. int a[5] 9.在下面的函数声明中,存在着语法错误的是 。 A. void BC(int a , int) B
5、 void BD(int , int) C. void BE(int , int=5) D. int BF(int x ; int y) 10. 设x和y均为bool量,则x||y为真的条件是 。 A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假 11.对于结构中定义的成员,其隐含访问权限为 。 A. public B. protected C.
6、private D. static
12.假定AB为一个类,则该类的拷贝构造函数的声明语句为 。
A. AB &(AB x) B. AB(AB x)
C. AB(AB &) D. AB(AB * x)
二、填空题(每题 2 分,共 24分)
1、程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用 或 符号作为分隔符。
2、执行“cout < 7、'+4)< 8、
7、变量分为全局和局部两种, 变量没有赋初值时,其值是不确定的。
8、假定a是一个二维数组,则a[i][j]的指针访问方式为 。
9、假定一个结构类型定义为“struct D { int a ; union { int b ; double c ; } ; D * d[2] ; } ;” ,则该类型的大小为 字节。
10、对一个类中的数据成员的初始化可以通过构造函数中的 实现,也可以通过构造函数中的 实现 9、
11、假定AB为一个类,则执行“AB a[10];”语句时,系统自动调用该类的构造函数的次数为 。
12、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为 。
13.假定x=10,y=6,则表达式2+x+ +和+ +y*3的值分别为 和 。
14.已知’A’~’Z’的ASCII码为65~90,当执行“char ch=14*5+2; cout < 10、 。
15.使用const 语句定义一个标识符常量时,则必须对它同时进行 。
16.假定x=5,则执行“a=(x? 10:4*2);”语句后a的值为 。
17.若x=5,y=10,则x>y和x<=y的逻辑值分别为 和 。
18.执行“typedef int ABC[10];”语句把ABC定义为具有10个整型元素的 。
19.假定p所指对象的值为25,p+1所指对象的值为46,则执行“(*p)++;”语句后,p所指对象的值为 。
20.假 11、定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为 。
21.假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为 。
22.设px是指向一个类动态对象的指针变量,则执行“delete px;”语句时,将自动调用该类的 。
23.若需要把一个函数“void F( );”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句: 12、 。
24.假定一个类AB中有一个静态整型成员bb,在类外为它进行定义并初始化为0时,所使用写法为 。
三、给出下列程序运行后的输出结果(每题 6分,共36分)
1、# include 13、case 'C': case 'c':
cout <<"pass!"; break;
default:
cout <<"nad!"; break;
}
}
void main() {
char a1='b',a2='C',a3='f';
SB(a1);SB(a2);SB(a3);SB('A');
cout < 14、"student","worker","cadre","soldier","peasant"};
char *p1,*p2;
p1=p2=a[0];
for (int i=0; i<5; i++) {
if (strcmp(a[i],p1)>0) p1=a[i];
if (strcmp(a[i],p2)<0) p2=a[i];
}
cout < 15、 int a=10,b=20;
cout <
int LB(int *a,int n) {
int s=1;
for (int 16、 i=0; i 17、y; // 工资
};
void main() {
Worker x;
char *t="liouting";
int d=38; float f=493;
strcpy(x.name,t);
x.age=d; x.pay=f;
cout < 18、 cout <<"Destructor A!"<
void main()
{
int s=0;
for 19、 (int i=1; ; i++) {
if (s>50) break;
if (i%2==0) s+=i;
}
cout <<"i,s="<
void main()
{
char a[]="abcdabcabfgacd";
int i1=0,i2=0,i=0;
while (a[i]) {
if (a[i]==' 20、a') i1++;
if (a[i]=='b') i2++;
i++;
}
cout < 21、3==0) cout < 22、 int a,b;
public :
A() { a=b=0; }
A(int aa,int bb) {
a=aa; b=bb;
cout <
template 23、 FF(TT b1,TT b2,TT b3) {
a1=b1; a2=b2; a3=b3;
}
TT Sum() { return a1+a2+a3; }
};
void main()
{
FF 24、 if (a>b) return 1;
else if (a==b) return 0;
else return -1;
}
2、float FI(int n) {
// n为大于等于1的整数
float x,y=0;
do {
cin >>x;
n--; y+=x*x;
} while (n>0);
return y;
}
3、template 25、for (int i=0; i 26、 p=p->next=new StrNode;
cin >>p->name;
}
p->next=NULL;
}
5、double SF(double x,int n) {
// n为大于等于0的整数
double p=1,s=1;
for (int i=1; i<=n; i++) {
p*=x;
s+=p/(i+1);
}
return s;
}
6、 float FH() {
float x,y=0,n=0;
c 27、in >>x;
while (x!=-1) {
n++; y+=x;
cin >>x;
}
if (n==0) return y; else return y/n;
}
7、 # include






