长沙理工大学C++题库附答案 下载本文

c(int px=10) {x=px;}

void setx (int a) {x=a;} (6) }; (7) { cp(11); c*q;q=&p; int p::c*cptr; int(c::*fptr)(); p.setx(8); cptr=&c::x; fptr=c::getx;

cout<*cptr<*fptr)();}

5、下面程序是输出100内能被3整除且个位数是6的所有整数,请将程序补充完整 #include void main() { int i,j;

for (i=0; ___(1)__;i++) { j=i*10+6; if (___(2)__) continue; ___(3)__; cout<

6、 程序输出结果为counstructing object:x=1 请将程序补充完整 #include class Sample { int x; public:

Sample(int a) {

六、填空:

___(4)__

cout<<\} };

void func(int n) {

___(5)__ }

void main() {

func(1); func(10); }

7、程序输出结果为: A=2,B=7 A=5,B=7

请把程序补充完整

#include class Sample {

int A;

static int B; public:

Sample(int a){A=a,B+=a;} static void func(Sample s); };

void Sample::func(Sample s) {

___(6)__

}

int Sample::B=0; void main() {

Sample s1(2),s2(5); ___(7)__

Sample::func(s2); }

1. C++语言的头文件与源程序文件扩展名分别是( )和( )。 2. 在C++程序中使用基本输入与输出流时需要包含的头文件名是( )。

21

3. 在C++语言中,惟一的一个三目运算运算符是( )。 4. C++中当一个函数无返回值时,则函数的类型是( )。

5. 一个类中可以有( )个构造函数,只能有( )个析构函数。 6.一般情况下,按照面向对象的要求,把类中的数据成员(属性)定义为( )权限, 而把成员函数(方法)定义为( )权限.

7.在定义类的对象时,C++程序将自动调用该对象的( )函数初始化对象自身.在撤销类的对象时,C++程序将自动调用该对象的( )函数.

8.类继承中,缺省的继承方式是( ).

9.在C++语言中,用转义字符序列( )或操纵符( )表示输出一个换行符。 10.表达式a=a+l表示成增量表达式为( )。

11.当不需要函数返回任何值时,则应把该函数类型定义为( )。

12.用于输出表达式值的标准输出流对象是( )。,用于从键盘上为变量输人值的标准输人流对象是( )。

13、变量分为全局和局部两种,( )。变量没有赋初值时,其值是不确定的。

14、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为( )。

15、类的成员分为____和____。

16、一个____和____的关系,正如基本数据类型与该类型的变量一样,如int x;。

17、对一个类中的数据成员的初始化可以通过构造函数中的____实现,也可以通过构造函数中的____实现。

18、类有两种用法:一种是____,即生成类的对象;另一种是通过____,派生出新的类。 19、C++语言提供的____机制允许一个派生类继承多个基类,即使这些基类是相互无关的。 20、声明虚函数的方法是在基类中的成员函数原型前加上关键字____。 21、如果一个类中有一个或多个纯虚函数,则这个类称为____。 22、静态数据成员在定义或说明时,前面要加上关键字____。

23、如果成员函数不需要访问类的____成员,则可以把它声明为静态成员函数。 24、友元可以是____,也可以是____。

25、若需要把一个函数“void fun();”定义为一个类A的友元函数,则应在类A的定义中加入一条语句:____。

26、运算符函数中的关键字是____,它和____一起组成该运算符函数的函数名。 27、类中运算符重载一般采用两种形式:____和____。

28、面向对象程序设计的3大机制为:____、____和___。2、类的访问权限有____、____和____三种。

22

29、构造函数是____被创建时自动执行,对象消失时自动执行的成员函数称为____。 30、如果类A继承了类B,则类A称为____,类B称为____。

31、如果一个特定的类型S当且仅当它提供了类型T的行为时,则称类型S是类型T的____。 32、在类定义中,将____置于虚函数的函数原型的末尾可以声明该函数为纯虚函数。 33、类的静态成员分为____和____。

34、友元函数的声明可以放在类的____部分,也可以放在类的____部分,它们是没有区别的。 35、如果说类B是类A的友元类,则类B的所有成员函数都是类A的____。

36、设a和b是两个整型变量,我们用a+b的形式求这两个变量的和;设c和d为浮点型变量,我们用c+d的形式求这两个变量的和。显然运算符“+”具有不同的用途,这是____的例子。

37、对于双目运算符,若重载为类的成员函数,有_个参数;若重载为友元函数,则有_个参数。 38、 当建立__________,程序自动调用该类的构造函数。 39、 在C++中有二种参数传递方式:_________ 和_________ 。

40、 模板对处理数据的类型的要求不同可以分为两种类型:_________ 和 _________。 41、 异常是通过_________ 、_________和_________ 来实现的。

42、 虚函数实现了C++的_________ 机制,类实现了C++的_________ 机制。 43、 面向对象程序设计的_________机制提供了重复利用程序资源的一种途径。 44、C++语言程序设计的三种基本结构是:______ 、 ______ 、 ______ 。

45、为了避免嵌套的条件语句if-else的二义性,C++语言规定else与______配对使用。 46、定义函数时,在函数的类型前加上修饰词 ______,指明将该函数定义为内联函数。 47、有说明语句:*p;则*p++运算首先访问 ______,然后使______ 的值加1。 48、执行int *p=new int 操作,可以得到一个动态分配整型对象的______。

49、有说明语句:int *p;则(*p)++运算首先访问 ______,然后使 ______的值加1。 50. C++目标程序经___________后生成扩展名为exe的可执行程序文件。 51. 16位计算机中整型占__________个字节存储空间。

52. 要在屏幕上显示\,world!\应执行语句cout<<____________________________________。 53. 表达式8&3的结果是__________。

54. 作为语句的函数调用是通过__________________________来体现的。

55. 执行if (x>=0||x<=0) cout<<\;else cout<<\;屏幕上显示的是_______________。 56. 设一维整型数组data已进行了初始化,则其元素个数可由操作符sizeof通过表达式__________________________计算出来。

57. 若一全局变量只允许本程序文件中的函数使用,则定义它时应加上修饰符_______________。

23

58. 设有int w[3][4];,pw是与数组名w等价的数组指针,则pw应初始化为__________________________。

59.要使引用pr代表变量char * p;,则pr应初始化为___________________________。 60.在C++中封装性、继承性和____________ 是面向对象思想的主要特征。 61.假设int a=1,b=2;则表达式a+++--b的值为 __________。 62.下面的程序实现输出x,y,z三个数中的最大值,请填入正确的内容。 #include void main()

{ int x=5,y=8,z=9, u, v; if_________ u=x; else u=y; if_________ v=u; else v=z;

cout<<”v=”<

63.C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取 _________ 方式。

64.在C++语言中,访问一个对象的成员所用的运算符是 _________,访问一个指针所指向的对象的成员所用的运算符是 _________。

65.C++语言支持的两种多态性分别是编译时的多态性和 _________的多态性。 66.设有如下程序结构: class Box { ? }; void main() {Box A,B,C; }

该程序运行时调用_________次构造函数;调用 _________次析构函数。

67.目前,有两种重要的程序设计方法,分别是:____________和____________。

68. C++语言提供的基本控制结构可以分为3种类型:顺序结构、__________ 和循环结构。 69.函数的调用主要分为传值调用和___________调用。前者的特点是___________。 70.函数重载时要求同名函数的___________或___________不同,否则无法确定是哪个函数。

71.静态数据成员是类的所有对象中的___________成员,而非静态数据成员是属于___________对象的。

1. 设A为test类的对象且赋有初值,则语句test B(A); 表示___________。

24