c面向对象技术复习题汇总(含答案).doc
《c面向对象技术复习题汇总(含答案).doc》由会员分享,可在线阅读,更多相关《c面向对象技术复习题汇总(含答案).doc(13页珍藏版)》请在三一办公上搜索。
1、 面向对象程序设计C+复习资料与答案第一、二、六、七章习题一、选择题1、系统约定C+源程序文件名的缺省的扩展名为()A、bccB、c+C、cppD、vcc2、面向对象的程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。A、对数据的操作B、信息C、数据隐藏D、数据抽象3、当一个函数无返回值时,函数的类型应定义为()A、voidB、任意C、int D、无4、对于C+的函数,正确的叙述是:A、函数的定义不能嵌套,但函数的调用可以嵌套B、函数的定义不能嵌套,但函数的调用不能嵌套C、函数的定义和调用都不能嵌套D、函数的定义和调用都可以嵌套5、下列语句中错误的是()A、int *p=n
2、ew int(10);B、int *p=new int10C、int *p=new int;D、int *p=new int40(0);6、假设已经有定义:const char *const name=”chen”;,下面的语句中正确的是:( )A、name3=a;、name=”lin”;、name=new char5; 、coutname3;7、假设已经定义:char *const name=”chen”;, 下面的语句中正确的是:()A、name3=q;、name=”lin”;、name=new char5; 、name=new char(q);8、假设已经定义:const char *n
3、ame=”chen”;, 下面的语句中错误的是:()A、name3=q;、name=”lin”;、name=new char5; 、name=new char(q);9、下面的类型声明中正确的是:( )A、int &a4;B、int &*p;C、int &qD、int i,*p=&i;10、假设定义了函数模板( )template T max(T x,T y) return(xy)?x:y; 并定义了int i;char c;错误的调用语句是:( )A、max(i,i)B、max(c,c)C、max(int)c,i);D、max(i,c)11、模板的使用是为了()A、提高代码的可重用性B、提高
4、代码的运行效率C、加强类的封装性D、实现多态性12、设有二个语句:int xa;cinx;则编译器认为()A、说明语句int xa错B、二个语句都错C、语句cinx 错D、二个语句正确,没有语法错13、设有语句:void f(int a10,int &x);int y10,*py=y,n;则对函数f的正确调用语句是()A、f(py10,n);B、f(py,n)C、f(*py,&n)D、f(py,&n)14、在C+中实现封装是借助于()A、枚举B、类C、数组D、函数15、对于下面几个函数:(1) void f(int x,float y) (2) int f(int a,float b) (3)
5、 int f(int i,int j) (4) float k(int x) 是重载函数。A、4个全部 B、1和2 C、2和3 D、3和416、使用myFile.open(“Sales.dat”,ios:app);语句打开文件Sales.dat后,则()A、使输出追加到文件尾部B、打开一个文件进行读操作C、打开一个文件进行读和写操作D、文件以二进制方式打开,默认时为文本文件二、填空题1、面向对象的程序设计有四大特征,它们是抽象、封装、 、 。2、结构体类型中的数据和成员函数默认类型为。3、C+要求为每个函数建立原型,以说明函数的名称、参数的和,以及函数返回值。4、在函数说明前加关键字“inli
6、ne”,则该函数被声明为函数,其引入的目的是为了消除函数调用时的开销,以提高运行速度。5、引用变量与被引用变量占有 内存单元。6、 运算符能够用于访问当前作用域内与局部变量同名的全局变量。7、#include void s(int a,int &b)int t=a;a=b;b=t;void main(void)int x=500,y=1000;coutxtyn;s(x,y);coutxtyn;程序的第一行输出为,第二行输出为。8、#include void main(void)for(int a=1,b=1;a=8) break;if(b%2=1)b+=7;continue;b-=3; cou
7、t”a=”an”b=”bn;程序输出结果是a= ,b= 。9、#include int x=100;void main(void)int x=200;x+=:x; int x=500;:x+=x; coutxn;cout:xn;程序的第一行输出为,第二行输出为。10、#includevoid f(float x=5, int y=16, char z=C);void main( ) float a=1.6; int b=2; char c=D; f();f(a);f(a,b); f(a,b,c); void f(float x, int y, char z) cout“x=”x“ y=”y“
8、z=”zendl; 程序的第二行输出为,第三行输出为。11、以下程序的输出结果是 。#include char a=“ABCDEFGHI”;char &f(int);int main() f(6)=X; coutaendl; return 0;char &f(int i) return ai;12、如果C+程序中使用了:cout、strcpy,则必须在程序首部包含文件和。13、#include #include void main()int i=7890; coutsetw(6)iendl; coutiendl;程序的第一行输出为,第二行输出为。14、#include void main()i
9、nt i=100;cout.setf(ios:hex);couti”t”;couti”t”;cout.setf(ios:dec);couti”n”;以上程序运行的结果是 第三章 类和对象一、选择题1、()不是构造函数的特征。 A、构造函数的函数名与类名相同; B、构造函数可以重载; C、构造函数可以设置缺省参数; D、构造函数必须指定类型说明。2、下列关于构造函数的描述中,()是正确的。 A、构造函数可以设置缺省参数; B、构造函数可以被继承; C、构造函数可以对静态数据成员进行初始化; D、构造函数可以说明为虚函数;3、()是析构函数的特征。 A、析构函数可以有一个或多个参数; B、析构函数
10、名与类名不同; C、析构函数的定义只能在类体内; D、一个类中只能定义一个析构函数;4、定义析构函数时,应该注意()。 A、其函数名与类名完全相同; B、函数返回类型是void类型; C、无形参,也不可重载; D、函数体中必须有delete语句;5、下列静态数据成员的特性中,()是错误的。 A、说明静态数据成员时前边要加修饰符static; B、静态数据成员要在类体外进行初始化; C、静态数据成员不是所有对象所共用的; D、引用静态数据成员时,要在其名称前加和作用域运算符;6、友元的作用是()。 A、提高程序的运用效率; B、加强类的封装性; C、实现数据的隐藏性; D、增加成员函数的种类;7
11、、关于成员函数特征的下列描述中,()是错误的。 A、成员函数一定是内联函数; B、成员函数可以重载; C、成员函数可以设置缺省参数值; D、成员函数可以是静态的;8、已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的; A、void print() const; B、const void print(); C、void const print(); D、void print(const);9、在()情况下适宜采用inline定义内联函数。 A、函数体含有循环语句; B、函数体含有递归语句; C、函数代码小,频繁调用; D、函数代码多,不常调用;10、假定AB为一
12、个类,则执行“AB a(4) , b3 , * p2 ;”语句时,自动调用该类构造函数的次数为( )。A、 3 B、 4 C、 6 D、 911、通常拷贝初始化构造函数的参数是( )。 A、某个对象名 B、某个对象的成员名 C、某个对象的引用名 D、某个对象的指针名 12、有关类的说法不正确的是( )。 A、类是一种用户自定义的数据类型 B、只有类中的成员函数才能存取类中的私有数据 C、在类中,如果不作特别说明,所有的数据均为私有类型 D、在类中,如果不作特别说明,所有的成员函数均为公有类型 13、在声明类时,下面说法正确的的是( )。 A、可以在类的声明中给数据成员赋初值 B、数据成员的类型
13、可以是register C、public, private, protected这三种属性的成员可以按任意顺序出现 D、没有用public, private, protected定义的成员是公有成员14、已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为5, ( )是正确的。 A、A1.p=5 B、A1-p=5 C、A1.*p=5 D、*A1.p=5 15、已知:类A中一个成员函数说明如下: void Set(A&a); 其中,A&a的含义是( )。 A、指向类A的指针为a B、将a的地址值赋给变量Set C、a是类A的对象引用,用来作函数Set()的形参 D、变量
14、A与a按位相与作为函数Set()的参数 16、下列说明中const char *ptr; ptr应该是( )。 A、指向字符型常量的指针 B、指向字符的常量指针 C、指向字符变量的指针 D、指向字符串的常量指针 17、采用函数重载的目的在于: A、实现共享 B、减少空间 C、提高速度 D、使用方便,提高可读性 18、有关类和对象的说法下列不正确的是( )。 A、对象是类的一个实例 B、任何一个对象只能属于一个具体的类 C、一个类只能有一个对象 D、类与对象的关系和数据类型和变量的关系相似 19、有以下类的说明,请指出错误的地方()。 Class CSample int a=2.5; A CSa
15、mple(); B public: CSample(int val); C CSample(); D;20、在类的定义形式中,数据成员、成员函数和( )组成了类定义体。 A、成员的访问控制信息 B、公有消息 C、私有消息 D、保护消息二、填空题1 通常的拷贝初始化构造函数的参数是_ 2 在C+中函数参数的传递方式有三种,分别是:_、_和_。3 任何类中允许有三种访问权限的数据,这三种访问权限分别是_、_和_。 4 类中数据成员和成员函数的默认类型为_ 5 在类内部定义的_和_数据不能被不属于该类的成员函数来存取,定义为_的数据,可以在类外部进行存取。 6 _是一种特殊的成员函数,它主要用来为对
16、象分配内存空间,对类的数据成员进行初始化并执行对象的其他内部管理操作。 7 一个类中有_个析构函数。 8 _成员函数中不能直接引用类中说明的非静态成员。 9 已知类Sample 中的一个成员函数说明如下:void Set(Sample &a);其中,Sample &a的含意是_10静态数据成员属于类,可以使用_的方式访问静态的数据成员。 11编译程序将this指针指向_。 12以下程序的执行结果是_。# include class Sample public: Sample () cout “constructore” endl; ;void fn (int i) static Sample
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象技术复习题汇总含答案 面向 对象 技术 复习题 汇总 答案
链接地址:https://www.31ppt.com/p-2384320.html