(a)t(b)一个地址值(c)java(d)javac++
33.若用数组名作为调用函数的实参,则传递给形参的是()。
(a)数组存贮首地址(b)数组的第一个元素值
(c)数组中全部元素的值(d)数组元素的个数
34.设有变量定义inta[]={3,5,7,9,11},*p=a+2,y;执行语句y=*p;后,变量y的值是:
()
(a)6(b)7(c)8(d)9
35.设有变量定义inta[3][4];能够表示元素a[2][1]的值有:
()
(a)*a[2]+1(b)&a[2][1](c)*a[2][1](d)*(a[2]+1)
36.设有说明语句char*s=”ABCD”;下列选项中,输出字符”CD”的代码是:
()
(a)cout<<*s+2;(b)cout<
(c)cout<
37.一个5个元素的一维数组,其元素类型是整型指针。
正确定义是:
()
(a)intp*[5](b)*intp[5]
(c)*pint[5](d)int*p[5]
38.有变量说明
structptype{intx;inty;};
ptypepoint,*p=&point;
以下正确的引用是:
()
(a)*p.y(b)p->x(c)point->x(d)(*point).y
39.已知inta[][3]={{0,1},{2,3,4},{5,6},{7}};则a[2][2]的值是()。
(a)1(b)3(c)6(d)0
40.有intary[5]={1,2,3,4,5};以下表达式值等于3的是()。
(a)ary[ary[1]](b)ary[3](c)*(ary+3)(d)*ary+3
41.有关类和对象的说法不正确的是()
(a)对象是类的一个实例
(b)一个类只能有一个对象
(c)任何一个对象只能属于一个具体的类
(d)类与对象的关系和数据类型与变量的关系相似
42.若有以下说明,在类外使用对象objX成员的正确语句是()。
classX
{inta;
voidfun1();
public:
voidfun2();
};
XobjX;
(a)objX.a=0;(b)objX.fun1();(c)objX.fun2();(d)X:
:
fun1();
43.在类定义的外部,可以被访问的成员有()。
(a)所有类成员(b)private或protected的类成员
(c)public的类成员(d)public或private的类成员
44.说明一个类的对象时,系统自动调用();撤消对象时,系统自动调用()。
(a)成员函数(b)构造函数(c)析构函数(d)友员函数
45.下面对构造函数的不正确描述是()。
(a)系统提供默认的构造函数(b)构造函数可以有参数,所以也可以有返回值
(c)构造函数可以重载(d)构造函数可以设置默认参数
46.下面对析构函数的正确描述是()。
(a)系统不提供默认的析构函数(b)析构函数必须由用户定义
(c)析构函数没有参数,也没有返回值(d)析构函数可以设置默认参数
47.关于类的静态成员的不正确描述是()。
(a)静态成员不属于对象,是类的共享成员
(b)静态数据成员要在类外定义和初始化
(c)静态成员函数不拥有this指针,需要通过类参数访问对象成员
(d)只有静态成员函数可以操作静态数据成员
48.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的()。
(a)public成员(b)private成员(c)protected成员(d)友员
49.当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的()。
(a)public成员(b)private成员(c)protected成员(d)友员
50.当一个派生类保护继承一个基类时,基类中的所有公有成员和保护成员成为派生类的()。
(a)public成员(b)private成员(c)protected成员(d)友员
51.不论派生类以何种方式继承基类,都不能直接使用基类的()。
(a)public成员(b)private成员
(c)protected成员(d)public成员和protected成员
52.在c++中,可以被派生类继承的函数是()。
(a)成员函数(b)构造函数(c)析构函数(d)友员函数
53.在C++中,要实现动态联编,必须使用()调用虚函数。
(a)类名(b)派生类指针(c)对象名(d)基类指针
54.下列函数中,不能说明为虚函数的是()。
(a)私有成员函数(b)公有成员函数(c)构造函数d)析构函数
55.在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值()。
(a)相同(b)不同(c)相容(d)部分相同
56.下面函数原型中,()声明了fun为纯虚函数。
(a)voidfun()=0;(b)virtualvoidfun()=0;
(c)virtualvoidfun();(d)virtualvoidfun(){};
57.若一个类中含有纯虚函数,则该类称为()。
(a)基类(b) 纯基类(c)抽象类(d)派生类
58.下列流类中可以用于处理文件的是()。
(a)ios(b)iostream(c)strstream(d)fstream
59.在下列选项中()是istream类的对象。
(a)cerr(b)cin(c)clog(d)cout
60.要求打开文件D:
\file.dat,并能够写入数据,正确的语句是()。
(a)ifstreaminfile(“D:
\\file.dat”,ios:
:
in);
(b)ifstreaminfile(“D:
\\file.dat”,ios:
:
out);
(c)ofstreamoutfile(“D:
\\file.dat”,ios:
:
in);
(d)fstreaminfile(“D:
\\file.dat”,ios:
:
in|ios:
:
out);
二.写出下列程序的执行结果
1.#include
usingnamespacestd;
intmain()
{inti=1;
switch(i)
{case1:
i++;
case2:
i++;
case3:
i++;break;
default:
i++;}
cout<<"i="<
}
2.#include
usingnamespacestd;
intmain()
{inti=1;
while(i<=10)
if(++i%3!
=1)
continue;
elsecout<
}
3.#include
usingnamespacestd;
intmain()
{inti=1;
while(i<=10)
{if(i%2)
cout<
i++;}
cout<}
4.#include
usingnamespacestd;
intmain()
{inta=0;
for(inti=1;i<=3;i++)
{switch(i)
{case1:
a=i;break;
case2:
a+=i;break;
case3:
a*=i;
}
cout<<"a="<}
}
5.#include
usingnamespacestd;
intmain()
{inti,j,k;
for(i=1;i<=5;i++)
{for(k=1;k<=5-i;k++)cout<<"";
for(j=1;j<=2*i-1;j++)cout<<"*";
cout<}
6.#include
usingnamespacestd;
#include
intf(int);
intmain()
{inti;
for(i=0;i<3;i++)
cout<}
intf(inta)
{intb=0,c=1;
b++;c++;
returnint(a+pow(double(b),2)+c);
}
7.#include
usingnamespacestd;
intf(int);
intmain()
{inta=1,i;
for(i=0;i<3;i++)
cout<intf(intx)
{inty=1;staticintz=3;
y=y+10;z=z+20;
return(x*y+z);}
8.#include
usingnamespacestd;
intmain()
voidf(intm)
{cout<if(m>1)
f(m-1);}
intmain()
{f(4);cout<9.#include
usingnamespacestd;
intmain()
{inti,count=0,sum=0;
doubleaverage;
inta[]={1,2,3,4,5,6,7,8,9,10};
for(i=0;i<10;i++)
{if(a[i]%2==0)continue;
sum+=a[i];
count++;
}
average=sum/count;
cout<<"count="<}
10.#include
usingnamespacestd;
intmain()
{inta[]={4,3,1,-7,10,12,-2,6,9,25};
inti,m;
m=a[0];
for(i=1;i<10;i++)
if(a[i]cout<<"datais"<}
11.#include
usingnamespacestd;
intf(intb[],intm,intn)
{inti,s=0;
for(i=m;ireturns;}
intmain()
{intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3,6);
cout<x=f(a,6,9);
cout<}
12.#include
usingnamespacestd;
classA
{public:
intf1();intf2();
voidsetx(intm){x=m;cout<voidsety(intn){y=n;cout<intgetx(){returnx;}
intgety(){returny;}
private:
intx,y;
};
intA:
:
f1(){returnx+y;}
intA:
:
f2(){returnx-y;}
intmain()
{Aa;a.setx(10);a.sety(5);
cout<cout<}
13.#include
usingnamespacestd;
classB1
{public:
B1(inti){cout<<"调用基类B1的构造函数:
"<
classB2
{public:
B2(intj){cout<<"调用基类B2的构造函数:
"<classD:
publicB1,publicB2
{public:
D(inta,intb,intc):
B2(b),B1(c),b1(a)
{cout<<"调用派生类D的构造函数:
"<private:
B1b1;};
intmain()
{Dobj(3,2,1);}
三.程序填空题
1.给定函数
下列程序从键盘上输入x的值,求y的值,在横线上填上适当的内容。
#include
usingnamespacestd;
intmain(