C++语言考试题试卷练习题模拟题选择题含答案考卷3_第1页
C++语言考试题试卷练习题模拟题选择题含答案考卷3_第2页
C++语言考试题试卷练习题模拟题选择题含答案考卷3_第3页
C++语言考试题试卷练习题模拟题选择题含答案考卷3_第4页
C++语言考试题试卷练习题模拟题选择题含答案考卷3_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.下列字符列中,可作为CH语言程序自定义标识符是()0

A.switchB.fileC.breakD.do

2.运算符+、0、=、%中,优先级最低的运算符是()。

A.+B.<=C.=D.%

3.设变量m,n,a,b,c,d均为0,执行(m=a=b)||(n=c=d)后,m,n的值是()。[Commented|w11:短路

A.0,0B.0,1C.1,0D.1,1

4.字符串"vm\x43\\\而\102qu”的长度是(

A.8B.9C.16D.17

5.设有代码“inta=6;",则执行了语句"a+=a-="后,变量a的值是()。Commented|w2|:

A.0B.-24C.-40D.-60

6.voidmain()

{intx=-l;

do

{x=x*x;}

而ile(!x);}

下列说法正确的是()o

A,是死循环B.循环执行两次

C.循环执行一次D.有语法错误

7.下面有关for循环的正确描述是()o

A.for循环只能用于循环次数已经确定的情况

B.for循环是先执行循环体语句,后判断表达式

C.在for循环中,不能用break语句跳出循环体

D.for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来

8.下面程序段()o(Commented|w3|:从右到左x<=2为真I时

x=3;

do

{y=x-;

if(!y){cout«wx”;continue;}

cout«w#";}

while(l<=x<=2);(K=x)=1,0bool型

A.将输出##B.将输出

C.是死循环D.含有不合法的控制表达式

9.以下正确的说法是()o

A.用户若需要调用标准函数,调用前必须重新定义

B.用户可以直接调用所有标准库函数

C.用户可以定义和标准库函数重名的函数,但是在使用时调用的是系统库函数

D.用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用系统库函数

10.在参数传递过程中,对形参和实参的要求是O。[Commented|w4]:

A.函数定义时,形参一直占用存储空间

B.实参可以是常量、变量或表达式

C.形参可以是常量、变量或表达式

D.形参和实参类型和个数都可以不同

11.对数组名作函数的参数,下面描述正确的是()。[Commented|丫5幺

A.数组名作函数的参数,调用时将实参数组复制给形参数组

B.数组名作函数的参数,主调函数和被调函数共用一段存储单元

C,数组名作参数时,形参定义的数组长度不能省略

D.数组名作参数,不能改变主调函数中的数据

12.若有语句inta[10]={0,l,2,3,4,5,6,7,8,9},*p=a;贝!|()不是对a数组元素的正

确引用(其中0Wi<10)。

A.p[i]B.*(♦(a+i))C.a[p-a]D.*(&a[i])

13.以下程序的输出结果是()。

ftinclude<iostream.h>

voidmain()

{chars[]=*12134211*,*p;

intvl=0,v2=0,v3=0,v4=0;vlv2v3v4

for(p=s;*p;p++)2434

switch(*p)

(

case'I*:vl++;

case'3':v3++;

case'2*:v2++;

default:v4++;

)

cout«vl«*,*«v2«*,*«v3«*,*«v4«endl;

A.4,2,1,1B.4,7,5,8C.7,3,2,1D.8,8,8,8

14.下列声明结构体变量错误的是()。

A.structstudentB.structstudent

{intno;{intno;

charname[16];charname[16];

}stl,st2;};

structstudentstl,st2

C.structstudentD.structstudent

{intno;{intno;

charname[16];charname[16];

);};

structstl,st2;studentstl,st2;

15.对类的构造函数和析构函数描述正确的是()<.

A.构造函数可以重载,析构函数不能重载

B.构造函数不能重载,析构函数可以重载

C.构造函数可以重载,析构函数也可以重载

D.构造函数不能重载,析构函数也不能重载

16.下面对于友元函数描述正确的是()o

A.友元函数的实现必须在类的内部定义B.友元函数是类的成员

C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员

17.派生类的对象对它的基类成员中()是可以访问的。

A.公有继承的公有成员B.公有继承的私有成员

C.公有继承的保护成员D.私有继承的公有成员

18.C++类体系中,不能被派生类继承的有()<>

A.构造函数B.虚函数C.静态成员函数D.赋值操作函数

19.以下()成员函数表示虚函数。

A.virtualintvf(int);B.voidvf(int)=0;

C.virtualvoidvf()=0;D.virtualvoidvf(int){};(commented|L6]:纯虚函数,不用定义

20.下面对静态数据成员的描述中,正确的是(),,

A.静态数据成员可以在类体内进行初始化

B.静态数据成员不可以在类体内进行初始化

C.静态数据成员不能受private控制符的作用

D.静态数据成员可以直接用类名调用??

21.继承具有(),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间

接基类的成员。

A.规律性B.传递性C.重复性D.多样性

22.若有以下定义,则释放指针所指内存空间的操作是(),>

floatr=newsfloat[10];

A.deleter;B.delete*r;

C.delete[]r;D.deleter[];

23.若有以下定义,则对字符串的操作错误的是()。Commented|w7|:strcat(s1,s2):

chars[10]="Program〃,adds2tosi'stail.

A.strcpy(s,t);B.cout«strlen(s);[Commented|L8|:Copy」los

C.strcat(''this”,t);D.cin»t;

24.在if语句中的表达式是()。

A.只能是表达式B.只能是关系表达式和逻辑表达式

C.只能是逻辑表达式D.可以是任意表达式

25.在用关键字class定义的类中,以下叙述正确的是(),>

A.在类中,不作特别说明的数据成员均为私有类型

B.在类中,不作特别说明的数据成员均为公有类型

C.类成员的定义必须是成员变量定义在前,成员函数定义在后

D.类的成员定义必须放在类定义体内部

一、选择题

(1)下列关于栈的叙述正确的是

A)栈是非线性结构B)栈是一种树状结构

C)栈具有先进先出的特征D)栈具有后进先出的特征

□□(2)结构化程序设计所规定的三种基本控制结构是

A)输入、处理、输出B)树形、网形、环形

C)顺序、选择、循环D)主程序、子程序、函数

(3)结构化程序设计的一种基本方法是(Commented|w9|;

A)筛选法B)递归法C)归纳法D)逐步求精法

(4)如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属

性个数少于原来关系中属性个数,这说明所实施的运算关系是:

A)选择B)投影C)连接D)并

一:选择题:

□(1)D(2)C(3)D(4)B

C++语言程序设计

口一、选择题

(1)C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题

方法上进行的最大改进是()

A)面向过程B)面向对象C)安全性D)复用性

(2)C++语言的跳转语句中,对于break和continue说法正确的是O

A)break语句只应用与循环体中

B)continue语句只应用与循环体中

Qbreak是无条件跳转语句,continue不是

D)break和continue的跳转范围不够明确,容易产生问题

(3)for(intx=0,y=o;!x&&yv=5;y++)语句执行循环的次数是()

A)0B)5C)6D)无次数__________________________

(4)考虑函数原型voidtest(intajntb=7,char="*"),下面的函数调用中,属于不合法调(commented|L10]:默认参数格会

用的是。

□A)test(5);B)test(5,8);C)test(6,H#n)D)test(O,O."*");

□□(5)下面有关重载函数的说法中正确的是()

A)重教函数必须具有不同的返回值类型;B)重教函数形参个数必须不同;

C)重载函数必须有不同的形参列表D)重载函数名可以不同;

(6)下列关于构造函数的描述中,错误的是()

A)构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行

C)构造函数可以是内联函数;D)构造函数不可以重载

□:(7)下面描述中,表达错误的是()

A)公有继承时基类中的public成员在派生类中仍是public的

B)公有继承是基类中的private成员在派生类中仍是private的

C)公有继承时基类中的protected成员在派生类中仍是protected的

D)私有继承时基类中的public成员在派生类中是private的

(8)应在下列程序划线处填入的正确语句是。

□^include

□classBase

□D{public:

voidfun(){cout«nBase::funH<};

classDerived:publicBase

□{voidfun()

{file://显示调用基类的函数fun()

cout«**Derived::fun**<D□}

□:};

A)fun();B)Base.funO;C)Base::fun();D)Base->fun();

□□(9)有如下程序:

□C#include

□classBASE{

charc;

□public:

BASE(charn):c(n){}

virtual-BASE(){cout<!Jc);

classDERIVED:publicBASE{

□□charc;

□public:

DERIVED(charn):BASE(n+l),c(n){}

-DERIVED(){cout<c};

□intmain()

□□{DERIVED"”);

return0;

执行上面的程序将输出j()〔Commented[2]:]

A)XYB)YXC)XD)Y

□□

(10)在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;

其中只能用于检测输入流状态的操作函数名称是。

□LA)failB)eofC)badD)good

-:选择题

□1-5:BBCCC

□6-10:DBCAB

1、下列有关类的说法不正确的是()。

A.对象是类的一个实例

B.任何一个对象只能属于一个具体的类

C.一个类只能有一个对象

D.类与对象的关系和数据类型与变量的关系相似

答案:C

分柝对象是类的一个实例,类与对象的关系和数据与变量的关系相似,所以一个类可

以有多个对象。

2、下面()项是对构造函数和析构函数的正确定义。

A.voidX::X(),voidX::~X()

B.X::X(参数),X::-X()

C.X::X(参数),X::~X(参数)

D.voidX::X(参数),voidX::~X(参数)

答案:B

分析构造函数无返回类型、可带参数、可重载;析构函数无返回类型、不可带参数、不可

重载。

3、()的功能是对象进行初始化。

A.析构函数B.数据成员C构造函数D.静态成员函数

答案:C

分析;当一个对象定义时,C++编译系统自动调用构造函数建立该对象并进行初始化;当一

个对象的生命周期结束时,C++编译系统自动调用析构函数注销该对象并进行善后工作;

4、下列表达方式正确的是()。Comnienled|«12|:

A.classP{B.classP{

public:public:

intx=15;intx:

voidshowO{cout«x;}voidshowO{cout«x;}

);)

C.classP{D.classP{

intf;public:

);inta;

f=25;voidSeta(intx){a=x;}:

答案:D

分析:在类体内不可对数据成员进行初始化;类定义结束时需用分号;只有类中的成员函

数才能存取类中的私有数据。

5、拷贝构造函数具有的下列特点中,()是错误的。

A.如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的

B.拷贝构造函数只有一个参数,并且是该类对象的引用

C.拷贝构造函数是一种成员函数

D.拷贝构造函数的名字不能用类名

答案:D

分析;如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的;拷贝构造

函数只有一个参数,并且是该类对象的引用;拷贝构造函数的名字与类同名,并且不被

指定返回类型;拷贝构造函数是一种成员函数。

6、关于静态成员的描述中,()是错误的。

A.静态成员可分为静态数据成员和静态成员函数

B.静态数据成员定义后必须在类体内进行初始化

C.静态数据成员初始化不使用其构造函数

D.静态数据成员函数中不能直接引用非静态成员

答案:B

分析:静态成员可分为静态数据成员和静态成员函数;静态数据成员被定义后,必须对它

进行初始化,初始化在类体外进行,一般放在该类的实现部分最合适,也可以放在其

他位置,例如,放在主函数前面等静态数据成员初始化与该类的构造函数和析构函数

无关;在静态成员函数的实现中,可以直接引用静态成员,但不能直接引用非静态成员。

7:关于友元的描述中,()是错误的。

A.友元函数是成员函数,它被说明在类体内

B.友元函数可直接访问类中的私有成员

C.友元函数破坏封装性,使用时尽量少用

D.友元类中的所有成员函数都是友元函数

答案:A

8、;对类的构造函数和析构函数描述正确的是

A.构造函数可以重载,析构函数不能重载

B.构造函数不能重载,析构函数可以重载

C.构造函数可以重载,析构函数也可以重载

D.构造函数不能重载,析构函数也不能重载

答案:A

9、类的析构函数的作用是()。

A.一般成员函数B.类的初始化C.对象初始化D.删除对象

答案:D

10、假设OneClass为一个类,则该类的拷贝初始化构造函数的声明语句为(

A.OneClass(OneClassp);B.OneClass&(OneClassp);

C.OneClass(OneClass&p);D.OneClass(OneClass*p);

答案:C

11、为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问

权限定义为()。

A.publicB.protectedC.privateD.static

答案:A

12、下面对静态数据成员的描述中,正确的是()o

A.静态数据成员可以在类体内进行初始化

B.静态数据成员不可以在类体内进行初始化

C.静态数据成员不能受private控制符的作用

D.静态数据成员可以直接用类名调用

答案:B

13、下面对静态数据成员的描述中,正确的是()o

A.静态数据成员是类的所有对象共享的数据

B.类的每一个对象都有自己的静态数据成员

C.类的不同对象有不同的静态数据成员值

D.静态数据成员不能通过类的对象调用

答案:A

C++试题1

(1)已知下列语句中的x和丫都是hit型变量,其中不正确的语句是

A)y+=4-+x;B)++x+=y;C)y=x++;D)x++=y;

(2)若x是一个bool型变量,y是一个值为100的int型变量,则表达式!x&&y>0的值

I]。

A)为trueB)为falseC)与x的值相同D)与x的值相反

(3)执行语句序列

intn;

cin»n;

switch(n){

case1:

case2:cout«*X*;

case3:

case4:coutw'Y';break;

defaultzcout^Z,;}

时,不可能出现的情况是[|。

A)显示:XB)显示:YC)显示:ZD)显示:XY

(4)执行语句序列

intx;

cin»x;

if(x>250)coutw'X';

if(x<250)cout«'Y*;

elsecout«*X*;

时,不可能出现的情况是[|o

A)显示:XB)显示:YC)显示:XYD)显示:XX

(5)要定义一个具有5个元素的一维数组,并使其各元素的初值依次是30,50,・88,0和

0,则下列定义语句中不正确的是[|o

A)infvect|]={30,50,-88};B)intvect|]={30,50,-88,0,0);

C)intvect|51={30,50,-88};D)intvect[5]={30,50,-88,0,0};

(6)已知某应用系统中已经定义了函数fun,其原形是intfun(char=,A,);则下列函数中,

可以在同一系统中加以重载的是[]。

A)intfunO;B)intfun(char);

C)intfun(charUnt);D)intfun(char,double=0.0);

(7)若指针p定义为constchar*p="Luchy!”;贝|[1«

A)p所指向的数据不可改变,p在定义时可以不初始化。

B)p所指向的数据不可改变,p在定义时必须初始化。

C)p本身不可改变,p在定义时可以不初始化。

D)p本身不可改变,p在定义时必须初始化。

(8)己知数组A和指针p定义为:intA[20|[10],*p;,要使p指向A的首元素,正确的赋值

表达式是I]。

A)p=&A或p=A|0||01B)p=A或p=&A[0]|0]

C)p=&A|01或p=A|0||0|D)p=A[0|或p=&A[0)|0)

(9)己知函数func的原形是

doublefunc(doouble*pd,int&ri);

变量x和y的定义是

doublex;inty;

把x和y分别作为第一参数和第二参数来调用函数func,正确的调用语句是|]。

A)func(x,&y);B)func(&x,y);C)func(&x,&y);D)func(x,y);

(10)要使字符串变量str具有初值“Lucky”,正确的定义语句是|:Commented[wl3]:debug.A)没有休止符

A)charstr[]={'L','u','c','k','y'};B)charstr[5]={'L','u','c','k','y'};

C)charstr||=nLuckyH;D)charstr|51=MLuckyH;

(11)已知某函数的一个形式参数被说明为MAT网在下列说明中,与此等效的形参

说明是[]o

A)intMATIH10]B)intMAT|3]||

C)intMAT|10|[3]D)intMAT[川

(12)若指针p定义为char*="Luchy!”;则[]。

A)p所指向的数据不可改变,p在定义时可以不初始化。

B)p所指向的数据不可改变,p在定义时必须初始化。

C)p本身不可改变,p在定义时可以不初始化。

D)p本身不可改变,p在定义时必须初始化。

(13)在下列表达式中,与下标引用不等效的是|]。

A)*(A+i+j)B)*(A|i]+j)C)*(*(A+i)+j)D)(*(A+i))|j|

(14)要使语句p=newdouble[20];能够正常执行,变量p应定义为[]。

A)doublep|20|;B)doublep;

C)double(*p)|20J;D)double*p;

(15)执行下列语句序列[Commented|w14]:

structAA{intival;chareval;};

structBB{intival;AAra;};

structCC{intival;AAra;BBrb;};

CCrc={66,{rc.ival+l,rc.ra.ival+l},{69,{70,71}}};

cout«rc.ival«,/«rc.ra.ival«,/«rc.rb.ra.ival;

后,显示在屏幕上的是[|o

A)66,67,68B)67,68,69C)66,67,70D)67,69,70

(16)类的默认的无参构造函数|)o

A)在任何情况下都存在

B)仅当未定义无参构造函数时存在

C)仅当未定义有参构造函数时存在

D)仅当未定义任何构造函数时存在

(17)语句ofstreamf(nSALARY.DATn,ios::noreplace|ios::binary);的功能是建立流对象

f,并试图打开文件SALARY.DAT并与之连接,而且[

A

若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件。

BC)若文件存在,将其载为空文件;若文件不存在,打开失败。

D若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件。

若文件存在,打开失败;若文件不存在,建立一个新文件。

(18)执行下列语句序列

structAA{intival;chareval;};

structintival;AAra;};

structCC{intival;AA*ra;BBrb;};

CCrc={66,newAA,{69,{70,71}}};

rc.ra->ival=rc.ival+l;

rc.ra->cval=rc.ra->ival+1;

cout«rc.ival«,,,«rc.ra->ival«,/«rc.rb.ra.ival;

后,显示在屏幕上的是[]o

A)67,69,70B)66,67,70C)67,68,69D)66,67,68

(19)类的默认的拷贝构造函数|Jo

A)在任何情况下都存在

B)仅当未定义拷贝构造函数时存在

C)仅当未定义有参构造函数时存在

D)仅当未定义任何构造函数时存在

(20)语句ofstreamf(**SALARY.DAT*\ios::nocreate|ios::trunc);的功能是建立流对象f,

并试图打开文件SALARY.DAT并与之连接,而且|

A)若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件。

B)若文件存在,将其截为空文件;若文件不存在,打开失败。

C)若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件。

D)若文件存在,打开失败;若文件不存在,建立一个新文件。

答案:]〜5:DDACA6〜CADBC

11〜IS:ADADC16〜20:DDBBB

C++试题2

1.下列变量名中,()是合法的。

A.56AB._abcC.d-PtrD.while

2.下列各种运算符中,()优先级最高。jCommented|wl5|:)

A.+B.&&C.==D.*=

3.设变量m,n,a,b,c,d均为0,执行(m=a==b)&&(n;c=d)后,m,n的值是()•

A.0,0B.0,1C,1,0D.1,1

4.字符串”\t\v\\\0which\n”的长度是(

A.4B.10C.9D.字符串有非法字符,输出值不确定

5.设a=2,b=3,c=2;计算a+=b*=(++b-c++)中a、b>c的值()。

A.8、6、2B.2、4、2C.10、8、3D,5、3、3

6.已知:inti=5,下列do-while循环语句的循环次数为()。

do{cout«i一«endl;

i一;

}while(i!=0);

A.0B.1C.5D.无限

7.下面关于循环语句的描述中,()是错误的。

A.循环体内可以包含有循环语句

B.循环体内必须同时出现break语句和continue语句

C.循环体内可以出现选择语句

D.循环体内可以是空语句

8.下面程序段()。Commented|w16):

x=3;

do

if(!y){cout«wx";continue;}

cout«w#";}

while(x>=l&&x<=2);

A.将输出##B.将输出鞘#

C.是死循环D.含有不合法的控制表达式

9.在函数的定义格式中,下面各组成部分中,()是可以省略的。(Commentedlwl"]

A.函数名B.函数体C.函数数据类型说明D.函数参数

10.在函数的引用调用时,实参和形参应该是使用()。

A.变量值和变量B.地址值和指针C.变量值和引用D.地址值和引用

11.以下关于文件操作的叙述中,不正确的是()o

A.打开文件的目的是使文件对象与磁盘文件建立联系

B.文件读写过程中,程序将直接与磁盘文件进行数据交换

C.关闭文件的目的之一是保证将输出的数据写入硬盘文件

D.关闭文件的目的之一是释放内存中的文件对象

12.若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则()不是对a数组元素的正____________________________________________

确引用(其中0Wi〈lO)。^Commented|w18]:一二]

A.p[i]B.*(*(a+i))C.a[p-a]D.*(&a[i])

13.以下程序的输出结果是()。

#include<iostream.h>

voidmainO

{chars[]=*abcdefbcde*,*p=s;

intvl=0,v2=0,v3=0,v4=0;

for(p;*p;p++)

switch(*p)

(

case'a':vl++;break;

case'b':v3++;break;

case'e:v2++;break;

default:v4++;

)

cout«vl«*,*«v2«*,*«v3«*,*«v4«endl;

}

A.1,2,2,5B.4,7,5,8C.1,5,3,10D.8,8,8,8

14.下列结构体定义,正确的是|oCommented|w!9|:

A.record{B.structrecord{

intno;intno;

charnum[16];charnum[16];

floatscore;floatscore;

};)

C.structrecord{D.structrecord{

intno;intno

charnum[16];charnum[16]

floatscore;floatscore

))

15.下列是构造函数的特点,()是错误的。Commented|w20]:

A.构造函数是一种成员函数,它具有一般成员函数的特点

B.构造函数的名称与其类名相同

C.构造函数必须指明其类型

D.一个类中可定义一个或多个构造函数

16.关于友元函数的描述中,()是错的。Commented|w21|:

A.友元函数是成员函数,它被说明在类体内

B.友元函数可直接访问类中的私有成员

C.友元函数破坏封装性,使用时尽量少用

D.友元类中的所有成员函数都是友元函数

17.下列对派生类的描述中,()是错误的。

A.一个派生类可以作为另一个派生类的基类

B.派生类至少应有一个基类

C.基类中成员访问权限继承到派生类中都保持不变

D.派生类的成员除了自己定义的成员外,还包含了它的基类成员

18.C++类体系中,能被派生类继承的有()。

A.构造函数B.虚函数C.友元函数D.析构函数

19.关于下列虚函数的描述中,()是正确的。

A.虚函数是一个static存储类的成员函数

B.虚函数是一个非成员函数

C.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数

D.派生类的虚函数与基类的虚函数应具有不同的类型或个数

(Commented

20.以下有关静态数据成员函数的叙述不正确的是(

A.静态成员函数属于整个类

B.对静态成员函数的引用不允许使用对象名

C.在静态成员函数中不能直接引用类的非静态成员

D.使用类名可以直接调用其静态成员函数

21.下列有关运算符重载的描述中,()是正确的。Commented|w23|:)

A.运算符重载可改变其优先级B.运算符重载不改变其语法结构

C.运算符重载可改变其结合性D.运算符重载可改变其操作数的个数

22.对new运算符的下列描述中,()是错误的。

A.它可以动态创建对象和对象数组

B.用它创建对象数组时必须指定初始值

C.用它创建对象时要调用构造函数

D.用它创建的对象可以使用运算符delete来释放

23.下列是为字符数组赋字符串的语句组,其中错误是().

A.chars[10];s="programw;B.chars□:“programw;「Commented|L24]:数组名字是指针常量,不可改变)

C.chars[10]=wHello!";D.chars[10];strcpy(s,nhello!");

24.当调用函数时,实参是一个一维数组名a,则向函数传送的是()o

A.数组的长度B.数组所有元素的值

C.数组元素a[0]的值D.数组元素a[0]的地址

25.下列有关类的说法不正确的是()。

A.对象是类的一个实例

B.任何一个对象只能属于一个具体的类

C.一个类只能有一个对象

D.类与对象的关系和数据类型与变量的关系相似

答案:1〜5:BADBC6M0:DBBDC

11〜15:BBACC16〜20:ACBCB

_______21〜25:BBADC

1:指出下列对定义重载函数的要求中,哪些是错误的提法。

A.要求参数的个数相同。B.要求参数中至少有一个类型不同。

C.求函数的返回值不同。D.要求参数的个数相同时,参数类型不同。

答案:C

2:下列运算符中,()运算符在C++中不能重载。

A.?:B.|]C.newD.&&

答案:A

3:下面关于友元的描述中,错误的是()o

A.友元函数可以访问该类的私有数据成员

B.一个类的友元类中的成员函数都是这个类的友元函数

C.友元可以提高程序的运行效率

D.类与类之间的友元关系可以继承

答案:D

4:下述静态成员的特性中,()是错误的。

A.铮态成员函数不能利用this指针

B.静态数据成员要在类体外进行初始化

C.引用静态数据成员时,要在静态数据成员名前加〈类名〉和作用域运算符

D.静态数据成员不是所有对象所共有的

答案:D

5:关于虚函数的描述中,()是正确的。

A.虚函数是一个静态成员函数

B.虚函数是一个非成员函数

C.虚函数既可以在函数说明时定义,也可以在函数实现时定义

D.派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型

答案:D

6:下列关于动态联编的描述中,错误的是()。

A.动态联编是以虚函数为基础

B.动态联编是运行时确定所调用的函数代码的

C.动态联编调用函数操作是指向对象的指针或对象引用

D.动态联编是在编译时确定操作函数的

答案:D

8:下面4个选项中,()是用来声明虚函数的。

A.virtualB.publicC.usingD.false

答案:A

9:编译时的多态性可以通过使用()获得。

A.虚函数和指针B.重载函数和析构函数C.虚函数和对象D.虚函数和引

答案:A

10:美于纯虚函数和抽象类的描述中,错误的是()。

A.纯虚函数是一种特殊的虚函数,它没有具体的实现

B.抽象类是指具体纯虚函数的类

C.一个基类中说明有纯虚函数,该基类派生类一定不再是抽象类

D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出

答案:B

11:下列描述中,()是抽象类的特征。

A.可以说明虚函数B.可以进行构造函数重载C.可以定义友元函数D.不能说

明其对象

答案:D

12:以下()成员函数表示虚函数。

A.virtualintvf(int);B.voidvf(int)=0;

C.virtualvoidvf()=0;D.virtualvoidvf(int){};

答案:D

13:如果一个类至少有一个纯虚函数,那么就称该类为(A

A.抽象类B.虚函数C.派生类D.以上都不对

答案:A

14:要实现动态联编,必须通过()调用虚函数。

A.对象指针B.成员名限定C.对象名D.派生类

答案:A

15:下面描述中,正确的是()<>

A.virtual可以用来声明虚函数

B.含有纯虚函数的类是不可以用来创建对象的,因为它是虚基类Commented|L25):抽象类不能创建对象,只能使用该类

C.即使基类的构造函数没有参数,派生类也必须建立构造函数作为其他类的基类

D.静态数据成员可以通过成员初始化列表来初始化

答案:A

(

16:已知inta,*pa=&a;输出指针pa十进制的地址值的方法是()。Commented|w26|:

A.cout«pa;B.cout«*pa;

C.cout«&pa;D.cout«long(&pa);

答案:D

17:关于read。函数的下列描述中,()是对的。

A.函数只能从键盘输入中获取字符串

B.函数所获取的字符多少是不受限制的

C.该函数只能用于文本文件的操作中

D.该函数只能按规定读取所指定的字符数

答案:D

18:下列一维数组定义正确的是(Commented|w27|:数组维数只能包含整形字面值常量、

A.x=6;intnum[x];B.constintx=6;floata[x];枚举常量或者常量表达式

B.constfloatx=6;intb[x];D.constintx=6;intc[x];

答案:B,

19:下面选项中等价的是()o

A.inta[2][3]={1,0,2,2,4,5}与inta[2][]={1,0,2,2,4,5};

B.inta[][3]={1,0,2,2,4,5}与inta[2][3]={1,0,2,2,4,5);

C.inta[2][3]={3,4,5}与inta[][3]={3,4,5};

D.inta[2][3]={0,1}与inta[2][3]={{0},{1});

答案:B,

20:下面程序的输出结果是()o

#include<iostream.h>

voidmain()

{inta[3][3]={{1,2},{3,4},{5}};

intsum=0;

for(intI=1;I<3;I++)

for(intj=O;j<=I;j++)

sum+=a[I][j];

cout«sum«endl;

}

A.12B.14C.15D.13

答案:A

21:下列数组的定义中,()是错误的。

A.charcal口={'c','m','n'};B.charca2=,,name,z;

C.charca3[4]=z,yourzz;D.intarray[]={1,2,3,4};

答案:C

22:下面程序的输出结果是(),,

#include<iostream.h>

#include〃string.h〃

voidmain()

,,//=,,z,

{chara[]=welcome>b[]well;

strcpy(a,b);

cout«a«endl;

)

A.wellomeB.wellomC.wellD.wellwe

答案:C

23:下面关于数组的说法正确的是()o

A.它与普通变量没什么区别B.它的元素的数据类型可以相同,也可以不同

C.它用数组名标识其元素D.数组的元素的数据类型是相同的

D

24:下列说法正确的是()<,

A.字符型数组与整型数组可通用

B.字符型数组与字符串其实没什么区别

C.当字符串放在字符数组中,这时要求字符数组长度比字符串长1个单元,因为要放

字符串终结符,\0,

D.字符串的输出可以用它所存储的数组来输出,也可以字符串的形式整体输出,结果

没区别

C

25:给出下面定义:

chara[]=,/abcdz,;

charb[]={'a,Jb,,,c','d,};

则下列说法正确的是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论