C++选择题题库.docx

上传人:b****3 文档编号:13227697 上传时间:2023-06-12 格式:DOCX 页数:50 大小:336.52KB
下载 相关 举报
C++选择题题库.docx_第1页
第1页 / 共50页
C++选择题题库.docx_第2页
第2页 / 共50页
C++选择题题库.docx_第3页
第3页 / 共50页
C++选择题题库.docx_第4页
第4页 / 共50页
C++选择题题库.docx_第5页
第5页 / 共50页
C++选择题题库.docx_第6页
第6页 / 共50页
C++选择题题库.docx_第7页
第7页 / 共50页
C++选择题题库.docx_第8页
第8页 / 共50页
C++选择题题库.docx_第9页
第9页 / 共50页
C++选择题题库.docx_第10页
第10页 / 共50页
C++选择题题库.docx_第11页
第11页 / 共50页
C++选择题题库.docx_第12页
第12页 / 共50页
C++选择题题库.docx_第13页
第13页 / 共50页
C++选择题题库.docx_第14页
第14页 / 共50页
C++选择题题库.docx_第15页
第15页 / 共50页
C++选择题题库.docx_第16页
第16页 / 共50页
C++选择题题库.docx_第17页
第17页 / 共50页
C++选择题题库.docx_第18页
第18页 / 共50页
C++选择题题库.docx_第19页
第19页 / 共50页
C++选择题题库.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++选择题题库.docx

《C++选择题题库.docx》由会员分享,可在线阅读,更多相关《C++选择题题库.docx(50页珍藏版)》请在冰点文库上搜索。

C++选择题题库.docx

C++选择题题库

1.下列C++标点符号中表示行注释开始的是

A)#B);C)//D)}

2.下列字符串中可以用作C++标示符的是A。

A)_256B)classC)deleteD)5char

3.下列关于C++函数的描述中正确的是C。

A)主函数是程序的入口,它是由用户定义的函数调用。

B)函数是C++中面向对象程序设计框架的基本组成元素。

C)函数在调用前必须先被声明。

D)每个用户定义函数只能被其他函数调用一次。

4•下列关于C++关键字的说法中正确的是D。

A)关键字是用户为程序中各种需要命名的“元素”所起的名字。

B)关键字是对程序中的数据进行操作的一类单词。

C)关键字是在程序中起分割内容和界定范围作用的一类单词。

D)关键字是C++中预先定义并实现一定功能的一类单词。

C)对象是一个状态和操作(或方法)的封装体D)对象之间的信息传递是通过消息进行的

 

A)#B)//C)}D);

15.下列关于C++类的描述中错误的是C

A)类与类之间可以通过一些手段进行通信和联络

B)类用于描述事物的属性和对事物的操作

C)类与类之间必须是平等的关系,而不能组成层次关系

D)类与类之间可以通过封装而具有明确的独立性

16.下列C++标点符号中表示一条语句结束的是A

A);B)//C)#D){

C。

A。

C++语言中使用。

17•下列C++标点符号中表示复合语句结束的标记符是

A)#B)//C)}D);

18.下列C++标点符号中表示复合语句开始的标记符是

A){B)//C)}D);

19.下列关键字中,B即在C语言中使用,又在

A)inlineB)breakC)privateD)public

20.下列字符串中不可以用作C++标示符的是C

A)_521B)computer123C)intD)flower

21.下列不正确的选项是D。

A)C++语言是一种面向对象的程序设计语言,它支持面向对象思想中的3个主要特征

B)标点符号是在程序中起分割内容和界定范围作用的一类单词

C)iostream是一个标准的头文件,定义了一些输入输出流对象

D)类与类之间不可以进行通信和联络

22.下列不正确的选项是B。

A)封装是一种信息隐藏技术

B)标识符是由字母、数字、下划线组成的字符串,必须以数字或下划线开头

C)编译是由源程序文件转换到目标文件的过程

D)一个C++程序可以认为是函数串

23.下列与流程控制有关的关键字是A。

A)gotoB)staticC)intD)sizeof

24.下列正确的选项是A。

A)继承是创建一个具有别的类的属性和行为的新类的能力

B)C语言支持面向对象的程序设计

C)空白符是一种可以被编译的符号

D)标示符不宜过长,一般设定为16个字符

25.

下列关于C++语言的发展说法错误的是C

 

D)float&t=&k;

已知:

intk=1000;

A)int&x=k;B)char&y;C)int&z=1000;

28.下列程序的执行结果为A。

#includevoidmian()

{

intn=10;

int*pn=&n;

int*&rn=pn;

(*pn)++;

cout<<"n="<

(*rn)++;

cout<<

}

”n=”<

}

A)n=11

n=12

B)n=11

n=11

C)n=10

n=11

D)n=11

n=10

29.下列引用的定义中,B

是错误的。

A)inti;

int&j=i;

B)inti;

int&j;

j=i;

C)floati;

float&j=i;

C)chard;

char&k=d;

30.B是给对象取了一个别名,他引入了对象的同义词。

A)指针B)引用C)枚举D)结构

31.下列表示引用的方法中,A是正确的。

已知:

intm=10;

A)int&x=m;B)int&y=10;C)int&z;

32.下面程序的运行结果是A。

#includevoidfun(int&a,int&b){intp;

p=a;a=b;b=p;

}

voidexchange(int&a,int&b,int&c)

{

if(a

if(a

if(b

}

voidmain()

{

inta,b,c;

a=12;b=639;

c=78;

exchange(a,b,c);cout<<"a="<

}

A)a=639,b=78,c=12B)a=12,b=639,c=78C)a=639,b=12,c=78

33.下面的程序输出结果为C。

#include

D)float&t=&m;

D)a=78,b=12,c=639

voidmain()

{

int*ir;

inti;

ir=&i;

i=17;

cout<<"inti="<

36.系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是D。

A)参数个数B)参数的类型C)函数名称D)函数的类型

37.若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是D。

A)externB)registerC)autoD)static

38•在C++中,关于下列设置参数默认值的描述中,正确的是C

A)不允许设置设置参数的默认值

B)设置参数默认值只能在定义函数时设置

C)设置参数默认值时,应该事先设置右边的再设置左边的

D)设置参数默认值时,应该全部参数都设置

39•若有下面函数调用语句:

fun(a+b,(x,y),fun(n+k,d,(a+b)));在此函数调用语句中实参的个数是A。

A)

D)6

A是错误的。

3B)4C)5

40.下列对重载函数的描述中,

A)重载函数中不允许使用默认参数

B)重载函数中编译时根据参数表进行选择

C)不要使用重载函数来描述毫无相干的函数

D)构造函数重载将会给初始化带来多种方式

41.在函数声明时,下列D项是不必要的。

D)返回值表达式

A)函数的类型B)函数参数类型C)函数的名字

42.在函数的返回值类型与返回值表达式的类型的描述中,错误的是B

A)函数返回值的类型是在定义函数时确定,在函数调用时是不能改变的

B)函数返回值的类型就是返回值表达式的类型

C)函数返回值表达式类型与返回值类型不同时,函数表达式类型应转换成返回值类型

D)函数返回值类型确定了返回值表达式的类型

43.下面变量和函数说明:

#includecharch='*';

voidsub(intx,inty,charch,double*z){

switch(ch)

{

case'+':

*z=x+y;break;

case'-':

*z=x-y;break;

case'*':

*z=x*y;break;

case'/':

*z=x/y;break;

}

}

下面合法的函数调用语句是B

A)

B)sub(1.2,3.2,'+',&z);

D)sub(a,b,&x,ch);

sub(10,20,ch,y);

C)sub(sub(1,2,'+',&y),sub(3,4,'+',&x),'-',&y);

44.下列程序的输出结果是B

#includevoidsub1(chara,charb)

{charc;

c=a;a=b;b=c;

}

voidsub2(char*a,charb)

{

charc;

c=*a;*a=b;b=c;

}

voidsub3(char*a,char*b)

{

charc;

c=*a;*a=*b;*b=c;

}

voidmain()

{

chara,b;a='A';b='B';

sub1(a,b);putchar(a);putchar(b);a='A';b='B';

sub2(&a,b);putchar(a);putchar(b);a='A';b='B';

sub3(&a,&b);putchar(a);putchar(b);putchar('\n');

A)

ABABABB)ABBBBA

45.下面程序的正确执行结果为

#include

intf(int);

voidmain()

{

inta=2,i;for(i=0;i<3;i++)cout<

}

intf(inta)

{

intb=0;

staticintc=3;

b++;

c++;

return(a+b+c);

}

A)777B)71013C)7911D)789

46.下面程序的正确执行结果为C。

#includevoidfun(char**m)

{

m++;

cout<<*m<

}

voidmain()

{

staticchar*a[]={"MORNING","AFTERNOON","EVENING"};char**n;

n=a;

fun(n);

}

A)

D)EVENING

为空B)MORNINGC)AFTERNOON

47.下面程序的输出结果B。

#include

intfun(char*s)

{

char*p=s;

while(*p!

='\0')

p++;

return(p-s);

voidmain()

{

cout<

}

A)3B)6C)8D)0

48.当一个函数无返回值时,函数的类型应定义为

A)voidB)任意C)intD)无

49.下面叙述中不正确的是D。

A)在函数中,通过return语句传回函数值

B)在函数中,可以有多条return语句

C)主函数名main()后面的一对圆括号中也可以带有形参

D)调用函数必须在一条独立的语句中完成

50.下列D的调用方式是引用调用。

A)形参是指针,实参是地址值B)形参和实参都是变量

C)形参是数组,实参是变量D)形参是引用,实参是变量

51•在C++中,函数原型不能标识D。

A)函数的返回类型B)函数参数的个数C)函数参数类型D)函数的功能

52.下列标识符中,C是文件级作用域的。

A)函数形参B)语句标号C)外部静态类标识符D)自动类标识符

53.在传值调用中,要求C。

A)形参和实参类型任意,个数相等B)实参和形参类型都完全一致,个数相等

C)实参和形参对应的类型一致,个数相等D)实参和形参对应的类型一致个数任意

54.有一个int型变量,在程序中频繁使用,最好定义它为A。

A)registerB)auto

C)externD)static

55.考虑下面的函数原型:

下面函数调用中不合法的

voidtestDefaulParam(inta,intb=7,charz='*');

C。

A)testDefaulParam(5);

C)testDefaulParam(5,'#');

56.采用函数重载的目的在于A)实现共享B)减少空间

B)testDefaulParam(5,8);

D)testDefaulParam(0,0,'*');

D。

C)提高速度D)使用方便,提高可靠性

57.要求通过函数来实现一种不太复杂的功能,并且要加快执行速度,选用A。

A)内联函数B)重载函数C)递归函数

58.下面程序的输出结果是D

#include

D)嵌套函数

voidfun(inti);intmain()

{

intn=2;

fun(n);

return0;

}

voidfun(inti)

 

staticintx=1;inty=1;

if(i>0)

{

++x;

++y;

cout<

fun(i-1);

}

}

A)

D)2232

语法错误,不能输出正确结果B)2222C)2233

59.下面程序的输出结果为B。

#include

voidprt(int*x,int*y,int*z)

{

cout<<++*x<<","<<++*y<<","<<*(z++)<

}

inta=10;

intc=20;

intb=40;

voidmain()

{

prt(&a,&b,&c);prt(&a,&b,&c);

}

C)11,21,4011,21,41D)11,41,21

60.下面程序的正确运行结果为C

#includefun(inta,intb)

{

staticintm=1,i=2;i+=m+1;m=i+a+b;return(m);

}

voidmain()

{

intk=5,m=2,p;p=fun(k,m);cout<

A)11,22B)12,23C)11,23D)10,23

61.下面程序的输出结果是D。

#includevoidfun(int*s,int*y){

staticintt=3;

*y=s[t];

t--;

}

voidmain()

{

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

inti,x=10;for(i=0;i<4;i++)

{

fun(a,&x);cout<

}

cout<

}

A)

C)4,4,4,4D)4,3,2,1

A。

1,2,3,4B)0,0,0,0

62.下面程序的输出结果是#includeintfun(char*s)

{

char*p=s;

while(*p!

='\0')

p++;

return(p-s);

}

voidmain()

{

cout<

A)20B)6C)19D)0

63.下面程序的输出结果是C。

#include

intx=10;

voidfun(intc);

voidmain()

{

fun(x);

cout<<"x="<

voidfun(intx)

{

x=1;

}

A)x=0B)x=1C)x=10D)语法错误,不能输出正确结果

64.下面程序的执行结果是B。

#includevoidmain()

{

voidswap();

externinta,b;

a=3;

b=10;

swap();

cout<<"a="<

}

inta,b;

voidswap()

{

inttemp;

temp=a;

a=b;

b=temp;

}

A)a=3,b=10B)a=10,b=3

65.下列程序的输出结果是

#include

C)a=temp,b=tempD)语法错误,不能输出正确结果A。

voidf()

{

staticinti=15;

i++;

cout<<"i="<

}

voidmain()

{

for(intk=0;k<2;k++)f();

}

A)i=16i=17B)i=16

66.在横线处填上适当的语句

#include

i=15C)i=15i=16D)i=15i=17C,使下面程序执行结果是13,18,23。

intadd(intx,inty=8);

voidmain()

cout<

cout<

cout<

}

intadd(inta,intb)

{

ints=a+b;

returns;

}

A)

1924303745。

inta=3B)intb=3C)inta=5D)intb=5

67•在横线处填上适当的语句A,使下面的程序的执行结果是

#include

intfun(inta)

{

staticintx=10;

inty=1;

x+=a;

a++;

y++;

return(x+y+a);

}

voidmain()

{

inti=3;

while(i<8)

cout<

}

A)

B)cout<

D)cout<

cout<

C)cout<

68.在C++语言中,局部变量的隐含存储类型是D

A)autoB)staticC)externD)无存储类型

69.下面程序的输出结果为D。

#includeintfun(char*s);

intmain()

{

cout<

}

intfun(char*s)

{

char*t=s;

while(*t!

='\O')

t++;

return(t-s);

}

A)语法错,不能输出正确结果B)0C)6D)5

第三章一、选择题

1有关类的说法不正确的是D。

A)类是一种用户自定义的数据类型•

B)只有类中的成员函数才能存取类中的私有成员

C)在类中,如果不做特别说明,所指的数据均为私有类型

D)在类中,如果不做特别说明,所指的成员函数均为公有类型。

2.类A是类B的友元,类B是类C的友元,则D是正确的.

A)类B是类A的友元B)类C是类A的友元

C)类A是类C的友元D)以上都不对

3.有下面类的说明,有错误的语句是A。

classX

{

A)inta=2;

B)X();

public:

C)X(intval):

D)~X();

};

4.有关析构函数的说法不正确的是B。

A)析构函数有且仅有一个

B)析构函数和构造函数一样可以有形参

C)析构函数的功能是用来释放一个对象

D)析构函数无任何函数类型

5.

:

void

已知一个类X,C是定义指向类X成员函数的指针,假设类有3个公有成员

f1(int),voidf2(int)和inta.

A)X*PB)intX:

:

*pc=&X:

:

aC)void(X:

:

*pa)()D)X*p[10]

6.下列的各类函数中,—_C不是类的成员函数

A)构造函数B)析构函数C)友元函数D)拷贝构造函数

7.下列定义中,x是一个类,是定义指向对象数组的指针p.

A)x*p[4]B)x(*p)[4]C)(x*)p[4]D)x*p[]

8.

3,

已知p是一个指向类X数据成员m的指针,s是类X的一个对象。

如果要给m赋值为C是正确的.

A)s.p=3B)s->p=3C)s.*p=3D)*s.p=3

9.已知f1(int)是类X的公有成员函数,p是指向成员f1()的指针,采用它赋值,—_B_是正确的.

A)p=f1B)p=X:

:

f1C)p=x:

:

f1D)p=f1()

10.已知类X中的一个成员函数说明如下:

VoidSet(x&a);

其中,X&a的含义是C

A)指向类X的指针为a

B)将a的地址赋给变量Set

C)a是类X的对象引用,用来做为Set()的形参

D)变量X是a按位相与作为函数Set()的参数

D)所有成员

11•一个类的友元函数能够访问该类的D_.

A)私有成员B)保护成员C)公有成员

12.有关类和对象的说法不正确的是_B一

A)对象是类的一个实例

B)一个类只能有一个对象

C)任何一个对象只能属于一个具体的类

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

13•下列静态数据成员的特性中,D_是错误的.

A)说明静态数据成员时前边要加关键字static来修饰

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

C)引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符

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

14•类模板的使用实际上是类模板实例化成一个具体的A.

A)类B)对象C)函数D)模板类

15•通常拷贝构造函数的参数表是C.

A)某个对象名B)某个对象的成员名

C)某个对象的引用名D)某个对象的指针名

16•关于常数据成员的说法不正确的是匚.

A)常数据成员的定义形式与一般常量的定义形式相同,只不过常数据成员的定义必须出现在类体中•

B)常数据成员必须进行初始化,并且不能被更新

C)常数据成员通过构造函数的成员初始化列表进行初始化

D)常数据成员可以在定义时直接初始化

17•已知X类.则当程序执行到语句

Xarray[3];

时,调用了卫次构造函数•

A)0B)1C)2D)3

18•类模板的模板参数_D_•

A)只可作为数据成员的类型B)只可作为成员函数的返回类型

C)只可作为成员函数的参数类型D)以上三者皆可

19•下列_D_不是构造函数的特征

A)构造函数的函数名与类名相同B)构造函数可以重载

C)构造函数可以设置默认参数D)构造函数必须指定类型说明

20•下列程序中说明的公有成员是_LL•

classLocation{

intX;

public:

voidinit(intinitX,intinitY);

private:

intY;

public

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2