A.数组名作函数的参数,调用时将实参数组复制给形参数组。
B.数组名作函数的参数,主调函数和被调函数共用一段存储单元。 C.数组名作参数时,形参定义的数组长度不能省略。 D.数组名作参数,不能改变主调函数中的数据。 114.关于静态成员的描述中,( )是错误的。 A. 静态成员可分为静态数据成员和静态成员函数。 B. 静态数据成员定义后必须在类体内进行初始化。 C. 静态数据成员初始化不使用其构造函数。 D. 静态数据成员函数中不能直接引用非静态成员。 115.下列关于构造函数的描述中,错误的是( )。
A.构造函数可以设置默认的参数 B.构造函数在定义类对象的自动执行 C.构造函数可以是内联函数 D.构造函数不可以重载
116.假设OneClass为一个类,则该类的拷贝初始化构造函数的声明语句为( )。 A. OneClass(OneClass p); B. OneClass& (OneClass p); C. OneClass(OneClass & p); D. OneClass (OneClass *p); 117.如果类A被说明成类B的友元,则( )。
A.类A的成员即类B的成员。 B.类B的成员即类A的成员。
C.类A的成员函数不得访问类B的成员 。
D.类B不一定是类A的友元。
118、关于对象和类的关系,说法正确的是( )。
A) 同属于一类的对象,具有相同的数据成员和成员函数。
B) 对象是具体,是类的对象,同其他变量一样,先定义后使用。 C) 同一类的不同对象,其具有的操作可不同,具体的操作也不同。 D) 不同类的对象,可有相同的操作。 119、双精度浮点型的字节数是( )。
A)4 B)1 C)0 D)8 120、下列关于C++函数的说明中正确的是( )。 A) 内联函数就是定义在另一函数体内部的函数。
B) 函数体的最后一条语句必须是RETURN语句。
C) 标准C++要求在调用一个函数之前,必须先声明其原型。
D) 编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式。 121、下列关于虚函数的说明中,正确的是( )。 A) 从虚基类继承的函数都是虚函数。 B) 虚函数不得是静态成员函数。 C) 只能通过指针和引用调用虚函数。 D) 抽象类中的成员函数都是虚函数。 122、下列符号中可以用作C++标识符的是( )。
A) _radius B) foo~bar C) else D) 3room 123、结构化程序设计所规定的三种基本控制结构是 ( )。 A)输入、处理、输出 B)树形、网形、环形 C)顺序、选择、循环 D)主程序、子程序、函数 124、下列语句中错误的是( )。
A) const int buffer=256; B) const int int temp;
C) const double *point; D) const double *rt=new double(5.5) 125、下列关于实参和形参说法错误的是( )。
第 9 页 共 40 页
A)实参可以是变量、常量、或表达式。
B)实参与形参的类型必须一致,否则会发生“类型不匹配”的错误。 C)实参对形参的数据传递是单向传递,调用结束后,实参单元被释放。 D)形参必须是变量 。
126、关于内联函数说法错误的是( )。 A)不是任何一个函数都可定义成内联函数。
B)内联函数的函数体内不能含有复杂的结构控制语句。 C)递归函数可以被用来作为内联函数。
D)内联函数一般适合于只有1~5行语句的小函数。 127、关于保护继承的说法正确的是( )。
A)基类的公有成员、私有成员可被子类继承下来,而且性质不变。
B)基类的公有成员、私有成员可被子类继承下来,而且性质改变为保护成员。 C)基类的公有成员、私有成员可被子类继承下来,而且性质均改变为私有成员。 D)基类的公有成员、私有成员可被子类继承下来,性质不变,私有成员不被继承。 128、关于函数的返回值说法正确的是( )。 A)由return语句返回时,只带回一值,其类型在函数定义时确定。
B)其类型由调用表达式决定。 C)函数可以没有返回值,这时在函数定义,函数的类型说明就没必要了。 D)函数调用就要有返回值,否则调用就没意义了。 129、下列合法的标识符是( )。
A) abde+ B)#KSJF C)67KDJ D)DK3- 130、关于结构化程序设计方法说法错误的是( )。
A)在数据处理过程中,采用的是自顶向下、分而治之的方法。
B)将整个程序按功能划分为几个可独立编程的子过程模块。
C)以“对象”或“数据”为中心。
D)数据和处理数据的过程代码是分离的、相互独立的实体。 131、运算符重载是对已有的运算符赋予多重含义,因此( )。
A)可以对基本类型(如int类型)的数据,重新定义“+”运算符的含义。
B)可以改变一个已有运算符的优先级和操作数个数。 C)只能重载C++中已经有的运算符,不能定义新运算符。 D)C++中已经有的所有运算符都可以重载。 132、关于C++程序说法不正确的是( )。
A) C++程序由函数构成,但只有一个main()函数 。
B) C++程序中main()函数可以在程序的任何位置 。 C) C++程序由main()函数开始执行,由main()结束执行。
D) main()都是没有参数的。
133、已知a=4,b=6,c=8,d=9,则“(a++,b>a++&&c>d)?++d:a
134、下面有关重载函数的说法中正确的是( )。 A)重载函数必须具有不同的返回值类型。 B)重载函数形参个数必须不同。 C)重载函数必须有不同的形参列表。
D)重载函数名可以不同。
135、C++语言的跳转语句中,对于break和continue说法正确的是( )。 A)break语句只应用于循环体中。 B)continue语句只应用于循环体中。
第 10 页 共 40 页
C)break是无条件跳转语句,continue不是。 D)break和continue的跳转范围不够明确,容易产生问题。 136、long[int]的字节数是( )。
A)4 B)1 C)0 D)8 137、下列非法的字符常量是( )。
A)‘#’ B)‘\\’ C)a’ D)‘A’
二、填空:
1. C++语言的头文件与源程序文件扩展名分别是( )和( )。 2. 在C++程序中使用基本输入与输出流时需要包含的头文件名是( )。 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、类的访问权限有____、____和____三种。
29、构造函数是____被创建时自动执行,对象消失时自动执行的成员函数称为____。 30、如果类A继承了类B,则类A称为____,类B称为____。
31、如果一个特定的类型S当且仅当它提供了类型T的行为时,则称类型S是类型T的____。
第 11 页 共 40 页
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. 若一全局变量只允许本程序文件中的函数使用,则定义它时应加上修饰符_______________。 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
{ 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++语言中,访问一个对象的成员所用的运算符是 _________,访问一个指针所指向的对象的成员所用的运算符是 _________。 第 12 页 共 40 页
相关推荐: