c++复习习题.docx

上传人:b****5 文档编号:5383382 上传时间:2022-12-15 格式:DOCX 页数:22 大小:25.34KB
下载 相关 举报
c++复习习题.docx_第1页
第1页 / 共22页
c++复习习题.docx_第2页
第2页 / 共22页
c++复习习题.docx_第3页
第3页 / 共22页
c++复习习题.docx_第4页
第4页 / 共22页
c++复习习题.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

c++复习习题.docx

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

c++复习习题.docx

c++复习习题

09秋《c++程序设计》期末复习综合练习题

  一、单项选择题

  

1.C++源程序文件的缺省扩展名为(A)。

A.cppB.exe

C.objD.lik

2.由C++目标文件连接而成的可执行文件的缺省扩展名为()。

A.cppB.exe

C.objD.lik

3.程序中主函数的名字为(A)。

A.mainB.MAIN

C.MainD.任意标识符

4.存储以下数据,占用存储字节最多的是(C)。

A.0B.‘0’

C.“0”D.0.0

5.设”inta=12;”,则执行完语句”a+=a*a;”后,a的值是(C)。

A.12B.144

C.156D.288

6.设”inta=15,b=26;”,则”cout<<(a,b);”的输出结果是(D)。

A.15B.26,15

C.15,26D.26

7.设x是一个bool型的逻辑量,y的值为10,则表达式x&&y的值为()。

A.1B.0

C.与x值相同D.与x值相反

8.x>0&&x<=10的相反表达式为()。

  A.x<=0||x>10B.x<=0&&x>10

  C.x<=0||x<=10D.x>0&&x>10

9.x>0||y==5的相反表达式为()。

  A.x<=0||y!

=5B.x<=0&&y!

=5

  C.x>0||y!

=5D.x>0&&y==5

10.设x和y均为bool量,则x&&y为真的条件是()。

A.它们均为真B.其中一个为真

C.它们均为假D.其中一个为假

11.循环语句“for(inti=0;i

A.1B.n-1

C.nD.n+1

12.在下面循环语句中内层循环体S语句的执行总次数为()。

for(inti=0;i

for(intj=i;j

A.n2B.(n+1)/2

C.n(n-1)/2D.n(n+1)/2

13.循环体至少被执行一次的语句为()。

A.for循环B.while循环

C.dowhile循环D.任一种循环

14.以下说法中正确的是()。

A.C++程序总是从第一个定义的函数开始执行

B.C++程序总是从main函数开始执行

C.C++函数必须有返回值,否则不能使用函数

D.C++程序中有调用关系的所有函数必须放在同一个程序文件中

15.以下叙述中不正确的是()。

A.在一个函数中,可以有多条return语句

B.函数的定义不能嵌套,但函数的调用可以嵌套

C.函数必须有返回值

D.不同的函数中可以使用相同名字的变量

16.函数重载是指()。

A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同

B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同

C.两个以上的函数名字不同,但形参的个数或类型相同

D.两个以上的函数取相同的函数名,并且函数的返回类型相同

17.下列()的调用方式是引用调用。

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

C.形参是引用,实参是变量D.形参是变量,实参是地址值

18.为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。

A.内联函数B.重载函数

C.递归函数D.函数模板

19.函数原型语句正确的是()。

A.intFunction(voida);B.voidFunction(intb);

C.intFunction(a);D.voidint(doublea);

20.C++中函数返回值的类型是由()决定的。

A.return语句中表达式的类型B.该函数定义时的类型

C.调用函数时的调用语句D.系统根据结果

21.以下正确的函数原型语句是()。

A.doublefun(intx,inty)B.doublefun(intx;inty)

C.doublefun(int,int);D.doublefun(intx,y);

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

A.函数的定义可以嵌套,函数的调用不可以嵌套

B.函数的定义不可以嵌套,函数的调用可以嵌套

C.函数的定义和函数的调用均可以嵌套

D.函数的定义和函数的调用均不可以嵌套

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

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

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

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

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

24.下面的标识符中,()是文件级作用域。

A.函数形参B.语句标号

C.外部静态类标识符D.自动类标识符

25.在下面存储类中,()对象的可见性与生存期不一致。

A.外部类B.自动类

C.内部静态类D.寄存器类

26.面向对象方法的多态性是指()。

A.一个类可以派生出多个特殊类

B.一个对象在不同的运行环境中可以有不同的变体

C.针对一消息,不同的对象可以以适合自身的方式加以响应

D.一个对象可以是由多个其他对象组合而成的

27.面向对象软件开发中使用的OOA表示()。

A.面向对象分析B.面向对象设计

C.面向对象语言D.面向对象方法

28.面向对象软件开发中使用的OOD表示()。

A.面向对象分析B.面向对象设计

C.面向对象语言D.面向对象方法

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

A.数据B.函数C.数据和函数D.数据或函数

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

A.私有B.公用C.保护D.任何

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

A.私有B.公用C.保护D.任何

32.假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为()。

A.x.aB.x.a()C.GetValue()D.x.GetValue()

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

A.intAA:

:

a()B.intAA:

a()

C.AA:

:

a()D.AA:

:

inta()

34.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字()放在函数原型或函数头的前面。

A.inB.inlineC.inLineD.InLiner

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

A.publicB.privateC.protectedD.friend

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

A.完全相同B.基本相同C.不相同D.无关系

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

A.完全相同B.完全不同C.只相差一个字符D.无关系

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

A.成员函数B.数据成员C.对象D.友元函数

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

A.建立B.撤消C.赋值D.引用

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

A.公用B.保护C.私有D.友元

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

A.私有B.保护C.公用D.友元

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

A.带参构造函数B.无参构造函数

C.拷贝构造函数D.赋值重载函数

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

A.带参构造函数B.无参构造函数

C.拷贝构造函数D.赋值重载函数

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

A.无参构造函数B.带参构造函数

C.赋值重载函数D.拷贝构造函数

45.假定一个类的构造函数为“A(intaa,intbb){a=aa;b=aa*bb;}”,则执行“Ax(4,5);”语句后,x.a和x.b的值分别为()。

A.4和5B.5和4C.4和20D.20和5

46.假定一个类的构造函数为“A(intaa=1,intbb=0){a=aa;b=bb;}”,则执行“Ax(4);”语句后,x.a和x.b的值分别为()。

A.1和0B.1和4C.4和1D.4和0

47.假定AB为一个类,则()为该类的拷贝构造函数的原型说明。

A.AB(ABx);B.AB(AB&x);

C.voidAB(AB&x);D.AB(intx);

48.假定一个类的构造函数为“B(intax,intbx):

a(ax),b(bx){}”,执行“Bx(1,2),y(3,4);x=y;”语句序列后x.a的值为()。

A.1B.2C.3D.4

49.假定一个类AB只含有一个整型数据成员a,当用户不定义任何构造函数时,系统为该类定义的无参构造函数为()。

A.AB(){a=0;}B.AB(intaa=0):

a(aa){}

C.AB(intaa):

a(aa){}D.AB(){}

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

A.0B.1C.2D.任意个

51.当一个类对象离开它的作用域时,系统自动调用该类的()。

A.无参构造函数B.带参构造函数

C.拷贝构造函数D.析构函数

52.假定AB为一个类,则执行“ABa,b【3】,c;”语句时共调用该类构造函数的次数为()。

A.2B.3C.4D.5

53.对类对象成员的初始化是通过构造函数中给出的()实现的。

A.函数体B.初始化表

C.参数表D.初始化表或函数体

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

A.0B.1C.2D.任意

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

A.0B.1C.2D.任意

56.一个类的静态数据成员所表示属性()。

A.是类的或对象的属性B.只是对象的属性

C.只是类的属性D.类和友元的属性

  二、填空题

1.C++语言是在_________语言的基础上发展起来的。

2.行尾使用注释的开始标记符为__________。

3.一个完整程序中必须有一个名为________的函数。

4.C++中标识符的作用域有函数原型、______、______和______作用域

5.在C++程序中包含一个头文件或程序文件的预编译命令为__________。

6.一条表达式语句必须以______作为结束符。

7.一个函数定义由________和________两部分组成。

8.C++头文件和源程序文件的扩展名分别为______和______。

9.当使用_______保留字作为函数类型时,该函数不返回任何值。

10.当函数参数表用______保留字表示时,则表示该参数表为空。

11.从一条函数原型语句“intfun1(void);”可知,该函数的返回类型为______,该函数带有______个参数。

12.当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到________的开始位置。

14.复合语句是有两条或两条以上的语句组成,并由一对______括起来的语句。

15.若函数有返回值,则函数运行结束时必须使用______语句。

16.结构体成员的引用形式是______。

17.在下列枚举类型中,BLUE的值是______。

enumCOLOR{WHITE,BLACK=100,RED,BLUE,GREEN=300};

18.函数直接或间接地调用自身,则称______。

  19.假定x=5,y=6,则表达式x++*++y的值为__________。

  20.假定x=5,y=6,则表达式x--*--y的值为__________。

  21.int和float类型的数据分别占用_________和__________个字节。

  22.float和double类型的数据分别占用_________和________个字节。

  23.bool和char类型的数据分别占用_________和________个字节。

  24.假定x和y为整型,其值分别为16和5,则x%y和x/y的值分别为__________和__________。

  25.假定x和y为整型,其值分别为16和5,则x/y和double(x)/y的值分别为__________和__________。

  26.假定x是0,则x&&true的值为__________。

  27.假定x是0,则x||true的值为__________。

  28.假定x是1,则x&&false的值为__________。

  29.假定x是1,则x||false的值为__________。

  30.设enumPrintstatus{ready,busy,error};则cout<

 31.设enumPrintstatus{ready=2,busy,error};则cout<

  32.枚举类型中的每个枚举值都是一个__________,它的值为一个__________。

  33.常数100和3.62的数据类型分别为__________和__________。

  34.若x=5,y=10,则计算y*=++x表达式后,x和y的值分别为______和______。

  35.假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为______和______。

  36.假定x=10,则表达式x<=10?

20:

30的值为______。

  37.在switch语句中,每个语句标号所含关键字case后面的表达式必须是_______。

  38.在if语句中,每个else关键字与它前面同层次并且最接近的________关键字相配套。

  39.作为语句标号使用的C++保留字case和defaule只能用于________语句的定义体中。

  40.执行switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当碰到下一个标号位置时(停止/不停止)________执行。

  41.当在程序中执行到________语句时,将结束本层循环类语句或switch语句的执行。

  42.当在程序中执行到________语句时,将结束所在循环语句中循环体的一次执行。

  43.在程序中执行到________语句时,将结束所在函数的执行过程,返回到调用该函数的位置。

  44.在程序执行完________函数调用后,将结束整个程序的执行过程,返回到C++集成开发窗口。

  45.存储字符’a’和字符串”a”分别需要占用________和________个字节。

  46.空串的长度为________,存储它需要占用________个字节。

  47.在C++语言中,一个函数由函数头和__________组成。

  48.重载一个函数的条件是:

该函数必须在参数的个数或参数的__________上与其它同名函数有所不同。

  49.如果一个函数直接或间接地调用自身,这样的调用称为____________调用。

  50.对于无返回值函数,定义函数时要用__________修饰函数类型。

  51.如果一个函数中有多个默认参数,则默认参数必须全部处在形参表的________部分。

 52.调用系统函数时,要先使用#include命令包含该系统函数的原型语句所在的__________。

  53.函数形参的作用域是该函数的____________。

  54.若要把整型变量y定义为x的引用,则所使用的定义语句为________。

  55.每个对象都是所属类的一个__________。

  56.对象将其大部分实现细节隐藏起来,这种机制称为__________。

  57.复杂对象可以由简单对象构成,这种现象称为__________。

  58.类定义中,既包含数据成员,也包含________成员。

  59.类中的数据成员的访问属性通常被指明为________。

  60.类中的供外部调用定义的函数成员,其访问属性通常被定义为________。

  61.对于类中定义的任何成员,其隐含访问权限为________。

  62.为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为________。

  63.若在类的定义体中给出了一个成员函数的完整定义,则该函数属于________函数。

  64.若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上________和两个冒号分隔符。

  65.若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上类名和两个________分隔符。

  66.若要把类外定义的成员函数规定为内联函数,则必须把________关键字放到函数原型或函数头的前面。

  67.把一个类的定义体和所有成员函数的定义体所构成的程序范围叫做该类的____________。

 68.一个类的__________函数实现对该类对象的初始化功能。

  69.一个类的__________函数通常用于实现释放该类对象中指针成员所指向的动态存储空间的任务。

  70.当用户为一个类定义有____________时,则系统不会为该类再自动生成一个默认构造函数。

  71.假定用户没有给一个名为AB的类定义构造函数,则系统为其定义的构造函数为__________。

  72.假定用户没有给一个名为AB的类定义析构函数,则系统为其定义的析构函数为__________。

  73.对类中对象成员的初始化是通过在构造函数中给出的______________来实现的。

  74.对类中一般数据成员的初始化既可以通过在构造函数中给出的初始化表来实现,也可以通过构造函数中的____________来实现。

  75.假定用户为类AB定义了一个构造函数“AB(intaa){a=aa;}”,则系统(会/不会)_________为该类自动定义一个无参构造函数"AB(){}"。

  76.假定用户为类AB定义了一个构造函数“AB(intaa){a=aa;}”,该构造函数实现对数据成员_________的初始化。

  77.假定用户为类AB定义了一个构造函数“AB(intaa=0):

a(aa){}”,则定义该类的对象时,可以有________种不同的定义格式。

  78.假定用户为类AB定义了一个构造函数“AB(intaa):

a(aa){}”,则定义该类的对象时,有________种定义格式。

  79.假定用户只为类AB定义了一个构造函数“AB(intaa,intbb=0){a=aa;b=bb;}”,则定义该类的对象时,其实参表中至多带有_________个实参。

  80.假定用户只为类AB定义了一个构造函数“AB(intaa,intbb=0){a=aa;b=bb;}”,则定义该类的对象时,其实参表中至少带有_________个实参。

  81.假定用户为类AB定义了一个构造函数“AB(intaa=0,intbb=0){a=aa;b=bb;}”,则定义该类的对象时,可以有________种不同的定义格式。

  82.假定用户只为类AB定义了一个构造函数“AB():

a(0),b(0){}”,则定义该类对象x的定义语句“ABx();”是_________(正确/错误)的。

  83.假定用户只为类AB定义了一个构造函数“AB():

a(0),b(0){}”,则定义该类对象x的定义语句“ABx;”是_________(正确/错误)的。

  84.假定用户只为类AB定义了一个构造函数“AB():

a(0),b(0){}”,则定义该类对象x的定义语句“ABx(5);”是_________(正确/错误)的。

  85.假定AB为一个类,则类定义体中的“AB(AB&x);”语句为该类______________的原型语句。

86.假定AB为一个类,则该类的拷贝构造函数的函数头为_____________。

87.有如下程序:

#include

usingnamespacestd;

floatConvert(float);

voidmain()

{

floatTempFer;

floatTempCel;

cout<<"PleaseenterthetemperatureinFahrenheit:

";

cin>>TempFer;

TempCel=Convert(TempFer);

cout<<"\nHere'sthetemperatureinCelsius:

";

cout<

}

floatConvert(floatTempF)

{

floatTempC;

TempC=((TempF-32)*5)/9.0;

returnTempC;

}

程序中用户定义函数的函数名是_________,函数原型声明语句是_________________,形参是______,函数调用是____________,实参是_____,函数的返回值是_____,函数返回值类型是_______。

 

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

当前位置:首页 > 高等教育 > 其它

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

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