C++.docx

上传人:b****5 文档编号:5979250 上传时间:2023-01-02 格式:DOCX 页数:55 大小:36.43KB
下载 相关 举报
C++.docx_第1页
第1页 / 共55页
C++.docx_第2页
第2页 / 共55页
C++.docx_第3页
第3页 / 共55页
C++.docx_第4页
第4页 / 共55页
C++.docx_第5页
第5页 / 共55页
点击查看更多>>
下载资源
资源描述

C++.docx

《C++.docx》由会员分享,可在线阅读,更多相关《C++.docx(55页珍藏版)》请在冰豆网上搜索。

C++.docx

C++

C++考前热身一定要看的

一.单选(共40题,共80分)

1.假定AB为一个类,则执行“ABx;”语句时将自动调用该类的()。

(2分)

A.带参构造函数

B.无参构造函数

C.拷贝构造函数

D.赋值重载函数

★标准答案:

B

2.若类X是类Y的友元类,则下列哪种访问关系是正确的(2分)

A.类X的成员不能访问类Y的私有成员

B.类X的成员可以访问类Y的私有成员

C.类Y的成员可以访问类X的私有成员

D.只有类Y的公共成员才能访问类X的私有成员

★标准答案:

B

3.假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数的类型为()。

(2分)

A.int

B.char

C.AA

D.AA*

★标准答案:

D

4.如果类A被说明成类B的友元,则()(2分)

A.类A的成员即类B的成员

B.类B的成员即类A的成员

C.类A的成员函数不得访问类B的成员

D.类B不一定是类A的友元

★标准答案:

C

5.下列关于类和对象的叙述中,错误的是()(2分)

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

B.对象是类的具体实例

C.类是对某一类对象的抽象

D.类和对象的关系是一种数据类型与变量的关系

★标准答案:

A

6.对于任一个类,用户所能定义的构造函数的个数至多为()。

(2分)

A.0

B.1

C.2

D.任意个

★标准答案:

D

☆考生答案:

★考生得分:

0分评语:

7.类的构造函数可以带有()个参数。

(2分)

A.0

B.1

C.2

D.任意

★标准答案:

D

8.假定AB为一个类,则执行“ABx(a,5);”语句时将自动调用该类的()。

(2分)

A.带参构造函数

B.无参构造函数

C.拷贝构造函数

D.赋值重载函数

★标准答案:

A

9.设px是指向一个类对象的指针变量,则执行“deletepx;”语句时,将自动调用该类的()。

(2分)

A.无参构造函数

B.带参构造函数

C.析构函数

D.拷贝构造函数

★标准答案:

C

10.在一个类的定义中,包含有()成员的定义。

(2分)

A.数据

B.函数

C.数据和函数

D.变量

★标准答案:

C

11.在C++中,当一个对象被创建后,它的每一个成员函数都含有一个系统自动生成的隐含的指针,称之为()指针。

(2分)

A.对象

B.派生

C.基类

D.this

★标准答案:

D

12.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()。

(2分)

A.x.a

B.x.a()

C.x->a

D.x->a()

★标准答案:

B

13.下面有关重载函数的说法中正确的是()。

(2分)

A.重载函数必须具有不同的返回值类型;

B.重载函数形参个数必须不同;

C.重载函数必须有不同的形参列表;

D.重载函数名可以不同;

★标准答案:

C

14.当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为()。

(2分)

A.n

B.n+1

C.n-1

D.n-2

★标准答案:

C

15.一个类的析构函数通常被定义为该类的()成员。

(2分)

A.私有

B.保护

C.公用

D.友元

★标准答案:

C

16.类的析构函数是一个对象被()时自动调用的。

(2分)

A.建立

B.撤消

C.赋值

D.引用

★标准答案:

B

17.假定AA为一个类,inta()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为()。

(2分)

A.intAA:

:

a()

B.intAA:

a()

C.AA:

:

a()

D.AA:

:

inta()

★标准答案:

A

18.在一个类的定义中,包含有()成员的定义。

(2分)

A.数据

B.函数

C.数据和函数

D.数据或函数

★标准答案:

C

19.对于公有继承,基类中的私有成员在派生类中将()。

(2分)

A.能够直接使用成员名访问

B.能够通过成员运算符访问

C.仍然是基类的私有成员

D.变为派生类的私有成员

★标准答案:

C

20.下面描述中,表达错误的是()。

(2分)

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

B.私有继承时基类中的private成员在派生类中仍是private的

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

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

★标准答案:

C

21.在C++中,对于基类的protected成员,当以protected方式派生一个新类时。

该成员将成为派生类的()成员。

(2分)

A.private

B.protected

C.public

D.非法

★标准答案:

B

22.在c++中,一个虚函数是通过关键字()放在其基类说明的前面来加以说明的.(2分)

A.virtual

B.protected

C.operator

D.this

★标准答案:

A

23.设置虚基类的目的是()。

(2分)

A.简化程序;

B.消除二义性;

C.提高运行效率;

D.减少目标代码;

★标准答案:

B

24.凡是能用以派生新类,却不能创建自己的对象的类称为()。

(2分)

A.虚基类

B.抽象类

C.容器类

D.派生类

★标准答案:

B

25.抽象类是():

(2分)

A.不可以定义对象

B.可以定义对象

C.不可以派生新类

D.不可以输出

★标准答案:

A

26.假定有定义“intb[10];int*pb;”,则不正确的赋值语句为()。

(2分)

A.pb=b;

B.pb=&b[0];

C.*pb=newint;

D.pb=b[5];

★标准答案:

D

27.假定一条定义语句为“inta[10],x,*pa=a;”,若要把数组a中下标为3的元素值赋给x,则不正确的语句为()。

(2分)

A.x=pa[3];

B.x=*(a+3);

C.x=a[3];

D.x=*pa+3;

★标准答案:

D

28.下列给字符数组赋初值时,正确的是()。

(2分)

A.chars1[]=”abcdef”;

B.chars2[4]=”abcd”;

C.chars3[2][3]={“abc”,”xyz”};

D.chars4[4][]={‘a’,’x’,’s’,’t’};

★标准答案:

A

29.执行语句“chara[10]={"abcd"},*p;p=a;”后,*(p+4)的值是()(2分)

A.“abcd”

B.'d'

C.'\0'

D.不能确定

★标准答案:

C

30.设有如下函数定义

intf(char*s){

char*p=s;

while(*p!

=’\0’)p++;

return(p-s);

在主函数中用cout<<f(“good”)调用上述函数,则输出结果为()。

(2分)

A.3

B.4

C.5

D.6

★标准答案:

B

31.下面语句()是非法的。

(2分)

A.charx='C';

B.charx='#';

C.charx='';

D.charx='$';

★标准答案:

C

32.一个C++程序至少应包含()个函数。

(2分)

A.0

B.1

C.2

D.3

★标准答案:

B

33.设a=12,n=5,则表达

式a%=(n%=2)运算后,a的值为()。

(2分)

A.0

B.1

C.6

D.12

★标准答案:

D

34.下列关于单目运算符++、--的叙述中正确的是(2分)

A.它们的运算对象可以是任何变量和常量

B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量

C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量

D.它们的运算对象可以是char型变量、int型变量和float型变量

★标准答案:

D

35.假定变量x定义为“intx=5;”,要使rx成为x的引用(别名),rx应定义为()。

(2分)

A.intrx=x;

B.intrx=&x;

C.int*rx=&x;

D.int&rx=x;

★标准答案:

D

36.以下描述中正确的是()。

(2分)

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

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

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

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

★标准答案:

D

37.循环语句“for(inti=0;i<n;i++)cout<<i*i<<’’;”中循环体执行的次数为()。

(2分)

A.1

B.n-1

C.n

D.n+1

★标准答案:

C

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

(2分)

A.break语句只用于循环体中

B.continue语句只用于循环体中

C.break是无条件跳转语句,continue不是

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

★标准答案:

B

39.在下面循环语句中循环体执行的次数为()。

inti=0,s=0;while(s<20){i++;s+=i;}(2分)

A.4

B.5

C.6

D.7

★标准答案:

C

40.do语句能够改写为()语句。

(2分)

A.复合

B.if

C.switch

D.while

★标准答案:

D

34444

1.采用重载函数的目的是()。

(2分)

A.实现共享

B.减少空间

C.提高速度

D.使用方便,提高可读性

★标准答案:

D

2.假定AB为一个类,则执行“ABx(a,5);”语句时将自动调用该类的()。

(2分)

A.带参构造函数

B.无参构造函数

C.拷贝构造函数

D.赋值重载函数

★标准答案:

A

3.假定AB为一个类,则执行“AB*s=newAB(a,5);”语句时得到的一个动态对象为()。

(2分)

A.s

B.s->a

C.s.a

D.*s

★标准答案:

D

4.当将一个类A或函数f()说明为另一个类B的友元后,类A或函数f()能够直接访问类B的()。

(2分)

A.只能是公有成员

B.只能是保护成员

C.只能是除私有成员之外的任何成员

D.任何权限的成员

★标准答案:

D

5.在关键字private后面定义的成员为类的()成员。

(2分)

A.私有

B.公用

C.保护

D.任何

★标准答案:

A

6.一个C++程序文件的扩展名为()。

(2分)

A..h

B..c

C..cpp

D..cp

★标准答案:

C

7.对于任一个类,用户所能定义的构造函数的个数至多为()。

(2分)

A.0

B.1

C.2

D.任意个

★标准答案:

D

8.在C++程序中使用的cout标识符是系统类库中定义的()类中的一个对象。

(2分)

A.istream

B.ostream

C.iostream

D.fstream

★标准答案:

B

9.类的析构函数可以带有()个参数。

(2分)

A.0

B.1

C.2

D.任意

★标准答案:

A

10.如果类A被说明成类B的友元,则()(2分)

A.类A的成员即类B的成员

B.类B的成员即类A的成员

C.类A的成员函数不得访问类B的成员

D.类B不一定是类A的友元

★标准答案:

C

11.类的析构函数是一个对象被()时自动调用的。

(2分)

A.建立

B.撤消

C.赋值

D.引用

★标准答案:

B

12.引入友元的主要目的是为了()。

(2分)

A.增强数据安全性

B.提高程序的可靠性

C.提高程序的效率和灵活性

D.保证类的封装性

★标准答案:

C

13.关于封装,下列说法中不正确的是()。

(2分)

A.通过封装,对象的全部属性和操作结合在一起,形成一个整体

B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)

C.通过封装,每个对象都成为相对独立的实体

D.通过封装,对象的属性都是不可见的

★标准答案:

D

14.被非静态成员函数访问的类的数据成员()。

(2分)

A.可以是非静态数据成员或静态数据成员

B.不可能是类的静态数据成员

C.只能是类的非静态数据成员

D.只能是类的静态数据成员

★标准答案:

A

15.在C++程序中使用的cin标识符是系统类库中定义的()类中的一个对象。

(2分)

A.istream

B.ostream

C.iostream

D.fstream

★标准答案:

A

16.对于任意一个类,析构函数的个数最多为()(2分)

A.0

B.1

;C.2

D.3

★标准答案:

B

17.假定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()。

(2分)

A.x.a

B.x.a()

C.x->a

D.x->a()

★标准答案:

B

18.在C++中,当一个对象被创建后,它的每一个成员函数都含有一个系统自动生成的隐含的指针,称之为()指针。

(2分)

A.对象

B.派生

C.基类

D.this

★标准答案:

D

19.如果类B在类A的基础上构造,那么,就称()。

(2分)

A.类A为基类或父类,类B为超类或子类

B.类A为基类、父类或超类,类B为派生类或子类

C.类A为派生类,类B为基类

D.类A为派生类或子类,类B为基类、父类或超类

★标准答案:

B

20.C++的基类指针可以访问派生类对象,但不能访问派生类对象的()成员。

(2分)

A.private

B.protected

C.public

D.新增

★标准答案:

A

21.派生类的成员函数可以直接访问基类的()成员。

(2分)

A.所有

B.公有和保护

C.保护和私有

D.私有

★标准答案:

B

22.派生类的对象对其基类中()可直接访问。

(2分)

A.公有继承的公有成员

B.公有继承的私有成员

C.公有继承的保护成员

D.私有继承的公有成员

★标准答案:

A

23.当派生类中有和基类一样名字的成员时,一般来说,()。

(2分)

A.将产生二义性

B.派生类的同名成员将覆盖基类的成员

C.是不能允许的

D.基类的同名成员将覆盖派生类的成员

★标准答案:

B

24.c++语言的运算符可以重载为成员函数和():

(2分)

A.算术函数

B.输出函数

C.友元函数

D.逻辑函数

★标准答案:

C

25.不能重载的运算符是:

()(2分)

A./

B.*

C.:

:

D.+=

★标准答案:

C

26.要想在程序中使用strcpy()函数,须把()包含到程序中。

(2分)

A.iostream.h

B.stdio.h

C.string.h

D.iomanip.h

★标准答案:

C

27.以下函数的返回结果是()。

intfunction(char*x){

char*p=x;

while(*p++);

return(p-x-1);

}(2分)

A.求字符串的长度

B.将字符串x连接到字符串p后面

C.将字符串x复制到字符串p中

D.将字符串x反向存放

★标准答案:

A

28.假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加()。

(2分)

A.1

B.4

C.sizeof(double)

D.sizeof(p)

★标准答案:

C

29.假定指针变量p定义为“int*p=newint[30];”,要释放p所指向的动态内存,应使用语句()。

(2分)

A.deletep;

B.delete*p;

C.delete&p;

D.delete[]p;

★标准答案:

D

30.执行语句“chara[10]={"abcd"},*p;p=a;”后,*(p+4)的值是()(2分)

A.“abcd”

B.'d'

C.'\0'

D.不能确定

★标准答案:

C

31.一个C++程序至少应包含()个函数。

(2分)

A.0

B.1

C.2

D.3

★标准答案:

B

32.以下错误的描述是()。

(2分)

A.被调用函数中可以不用return语句

B.被调用函数中可以用多个return语句

C.被调用函数中,如果有返回值,就一定要有return语句

D.被调用函数中,一个return语句可返回多个值给调用函数

★标准答案:

D

33.设a=12,n=5,则表达式a%=(n%=2)运算后,a的值为()。

(2分)

A.0

B.1

C.6

D.12

★标准答案:

D

34.下列标识符中()是正确。

(2分)

A._suml23__

B._suml23$

C.*pt_123

D.Sum-Count

★标准答案:

A

35.函数调用不可以()。

(2分)

A.出现在一个表达式中

B.出现在执行语句中

C.作为一个函数的实参

D.作为一个函数的形参

★标准答案:

D

36.在下面循环语句中循环体执行的次数为()。

for(inti=0;i<n;i++)

if(i>n/2)break;(2分)

A.n/2

B.n/2+1

C.n/2-1

D.n-1

★标准答案:

B

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

(2分)

A.break语句只用于循环体中

B.continue语句只用于循环体中

C.break是无条件跳转语句,continue不是

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

★标准答案:

B

38.C++中用于结构化程序设计的三种基本结构是(2分)

A.顺序结构、选择结构、循环结构

B.if、switch、break

C.for、while、do-while

D.if、for、continue

★标准答案:

A

39.有以下程序

voidmain()

inti;

for(i=0;i<3;i++)

switch(i)

case1:

cout<<i;

case2:

cout<<i;

default:

cout<<i;

}执行后输出的结果是(2分)

A.011122

B.012

C.012020

D.120

★标准答案:

A

40.switch语句能够改写为()语句。

(2分)

A.for

B.if

C.do

D.while

★标准答案:

B

34555

一.单选(共40题,共80分)

1.类中定义的成员默认为()访问属性。

(2分)

A.public

B.private

C.protected

D.friend

★标准答案:

B

2.在类作用域中能够通过直接使用该类的()成员名进行访问。

(2分)

A.私有

B.公用

C.保护

D.任何

★标准答案:

D

3.类的构造函数是在定义该类的一个()时被自动调用执行的。

(2分)

A.成员函数

B.数据成员

C.对象

D.友元函数

★标准答案:

C

4.对于任意一个类,析构函数的个数最多为()(2分)

A.0

B.1

C.2

D.3

★标准答案:

B

5.在一个类的定义中,包含有()成员的定义。

(2分)

A.数据

B.函数

C.数据和函数

D.数据或函数

★标准答案:

C

6.对于一个类的析构函数,其函数名与类名()。

(2分)

A.完全相同

B.完全不同

C.只相差一个字符

D.无关系

★标准答案:

C

7.下面有关重载函数的说法中正确的是()。

(2分)

A.重载函数必须具有不同的返回值类型;

B.重载函数形参个数必须不同;

C.重载函数必须有不同的形参列表;

D.重载函数名可以不同;

★标准答案:

C

8.在关键字private后面定义的成员为类的()成员。

(2分)

A.私有

B.公用

C.保护

D.任何

★标准答案:

A

9.类的构造函数可以带有()个参数。

(2分)

A.0

B.1

C.2

D.任意

★标准答案:

D

10.假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为()。

(2分)

A.a

B.AA:

:

a

C.a()

D.AA:

:

a()

★标准答案:

A

11.假定AB为一个类,则执行ABx;语句时将自动调用该类的()。

(2分)

A.有参构造函数

B.无参构造函数

C.拷贝构造函数

D.赋值构造函数

★标准答案:

B

12.一个类的友元不是该类的成员,与该类的关系密切,所以它()。

(2分)

A.有this指针,有默认操作的对象

B.没有this指针,可以有默认操作的对象

C.有this指针,不能执行默认操作

D.没有this指针,也就没有默认操作的对象

★标准答案:

D

13.如果类A被说明成类B的友元,则()(2分)

A.类A的成员即类B的成员

B.类B的成员即类A的成员

C.类A的成员函数不得访问类B的成员

D.类B不一定是类A的友元

★标准答案:

C

14.引入友元的主要目的是为了()。

(2分)

A.增强数据安全性

B.提高程序的可靠性

C.提高程序的效率和灵活性

D.保证类的封装性

★标准答案:

C

15.被非静态成员函数访问的类的数据成员()。

(2分)

A.可以是非静态数据成员

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1