面向对象程序设计题目库

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

题目模板课程名称:面向对象程序设计层次:高起专题目阶段:阶段性作业1(阶段性作业1-4只包含客观题,每套作业的题量为20-30小题)一、单选题1.下列关于栈的叙述正确的是_(1)_(A):栈是非线性结构(B):栈是一种树状结构(C):栈具有先进先出的特征(D):栈具有后进先出的特征答案B2.已知,intm=10,在下列表示引用的方法中正确的是_(2)_(A):int&x=m(B):int&y=10(C):int&z(D):float&t=&m答案A3.结构化程序设计所规定的三种基本控制结构是_(3)_(A):输入、处理、输出(B):树形、网形、环形(C):顺序、选择、循环(D):主程序、子程序、函数答案C4.结构化程序设计的一种基本方法是_(4)_(A):筛选法(B):递归法(C):归纳法(D):逐步求精法答案D5.C++语言的跳转语句中,对于break和continue说法正确的是_(5)_(A):break语句只应用与循环体中(B):continue语句只应用与循环体中(C):break是无条件跳转语句,continue不是(D):break和continue的跳转范围不够明确,容易产生问题答案B6.考虑函数原型voidtest(inta,intb=7,char=*),下面的函数调用中,属于不合法调用的是_(6)_(A):test(5)(B):test(5,8)(C):test(6,#)(D):test(0,0,*)答案C7.C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是_(7)_(A):面向过程(B):面向对象(C):安全性(D):复用性答案B8.关于delete运算符的下列描述中,_(8)_是错误的。(A):它必须用于new返回的指针(B):使用它删除对象时要调用析构函数(C):对一个指针可以使用多次该运算符(D):指针名前只有一对方括号符号,不管所删除数组的维数答案C9.下列静态数据成员的特性中,_(9)_是错误的。(A):说明静态数据成员时前边要加修饰符static(B):静态数据成员要在类体外进行初始化(C):静态数据成员不是所有对象所共用的(D):引用静态数据成员时,要在其名称前加类名和作用域运算符答案C10.下面有关重载函数的说法中正确的是_(10)_(A):重载函数必须具有不同的返回值类型;(B):重载函数形参个数必须不同;(C):重载函数必须有不同的形参列表(D):重载函数名可以不同;答案C11.下面说法正确的是_(11)_(A):内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方(B):内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方(C):类的内联函数必须在类体内定义(D):类的内联函数必须在类体外通过加关键字inline定义答案B12.下列各高级语言中,_(12)_是面向对象的程序语言。(A):BASIC(B):C(C):C++(D):Pascal答案C13.在32位机中,double型字宽为_(13)_字节。(A):2;(B):4;(C):6;(D):8答案D14.在inta[][3]={{1,0},{3,2},{4,5,6},{0}};中a[2][2]的值是_(14)_。(A):0;(B):5;(C):6;(D):2答案C15.对于double(*p)[10];的描述,_(15)_是正确的。(A):p是一个指向数组的指针,所指向的数组是10个double型元素;(B):p是一个指向某个数组中第10个元素的指针,该元素是double型变量;(C):p[5]表示某个数组的第10个元素的值;(D):p是一个具有10个元素的指针数组,每个元素是一个double型指针;答案A16.下列for循环的循环体执行次数为_(16)_。for(inti(10),j(1);i=j=0;i++,j--)(A):0;(B):1;(C):4;(D):无限;答案D17.下述关于开关语句的描述中,_(17)_是正确的。(A):开关语句中default子句可以没有,也可以有一个;(B):开关语句中每个语句序列中必须有break语句;(C):开关语句中default子句只能放在最后;(D):开关语句中case子句后面的表达式可以是整形表达式。答案A18.下列_(18)_是引用调用;(A):形参是指针,实参是地址值;(B):形参和实参都是变量;(C):形参是数组名,实参是数组名;(D):形参是引用,实参是变量。答案D19.以下说法中正确的是_(19)_(A):C++程序总是从第一个定义的函数开始执行(B):在C++程序中,要调用的函数必须在main()函数中定义(C):C++程序总是从main()函数开始执行(D):C++程序中的main()函数必须放在程序的开始部分答案C20.关于new运算符的下列描述中,_(20)_是错的。(A):它可以用来动态创建对象和对象数组;(B):使用它创建的对象或对象数组可以使用运算符delete删除;(C):使用它创建对象时要调用构造函数;(D):使用它创建对象数组时必须指定初始值。答案D二、多选题三、判断题四、填空题(注意:填空题每空答案要唯一,不要出并列答案的填空题,如_1_、_2_、_3_,答案为a、b、c或者b、a、c等等。)题目阶段:阶段性作业2一、单选题1.不是面向对象编程特征的是_(1)_(A):封装(B):继承(C):多态性(D):代码重用答案D2.假设MyClass是一个类,则该类的拷贝构造函数的声明语句为_(2)_(A):MyClass(MyClassp)(B):MyClass&(MyClassp)(C):MyClass(MyClass&p)(D):MyClass(MyClass*p)答案C3.类的析构函数是在_(3)_调用的。(A):类创建时(B):创建对象时(C):删除对象时(D):不自动调用答案C4.如果类A被说明成类B的友元,则_(4)_(A):类A的成员即类B的成员(B):类B的成员即类A的成员(C):类A的成员函数不得访问类B的成员(D):类B不一定是类A的友元答案D5.下列关于多态性的描述,错误的是_(5)_(A):C++语言的多态性分为编译时的多态性和运行时的多态性(B):编译时的多态性可通过函数重载实现(C):运行时的多态性可通过模板和虚函数实现(D):实现运行时多态性的机制称为动态绑定答案C6.构造函数不具备的特征的是_(6)_(A):构造函数的函数名与类名相同(B):构造函数可以重载(C):构造函数可以设置默认参数(D):构造函数必须指定类型说明答案D7.关于对象概念的描述中,_(7)_是错误的。(A):对象就是C语言中的结构体(B):对象是状态和操作的封装体(C):对象之间的信息传递是通过消息进行的(D):对象是某个类的一个实例答案A8.下列说法中正确的是_(8)_(A):类定义中只能说明函数成员的函数头,不能定义函数体(B):类中的成员函数可以在类体中定义,也可以在类体外定义(C):类中的函数成员在类体外定义时必须要与类声明在同一文件中(D):在类体之外定义的函数成员不能操作该类的私有数据成员答案B9.下列的各类函数中,_(9)_不是类的成员函数。(A):构造函数(B):析构函数(C):友元函数(D):拷贝构造函数答案C10.下面叙述错误的是_(10)_(A):基类的protected成员在派生类中仍然是protected(B):基类的protected成员在public派生类中仍然是protected的(C):基类的protected成员在private派生类中是private的(D):基类的protected成员不能被派生类的对象访问答案A11.友元的作用是_(11)_(A):提高程序的运行效率(B):加强类的封装性(C):实现数据的隐蔽(D):增加成员函数的种类答案A12.有关类的说法不正确的是_(12)_(A):类是一种用户自定义的数据类型(B):只有类中的成员函数才能存取类中的私有数据(C):在类中,如果不作特别说明,所有的数据均为私有类型(D):在类中,如果不作特别说明,所有的成员函数均为公有类型答案D13.有关析构函数的说法不正确的是_(13)_(A):析构函数有且只有一个(B):析构函数无任何函数类型(C):析构函数和构造函数一样可以有形参(D):析构函数的作用是在对象被撤销时收回先前分配的内存空间答案C14.下列关于对象数组的描述中,_(14)_是错的。(A):对象数组的下标是从0开始的(B):对象数组的数组名是一个常量指针(C):对象数组的每个元素是同一个类的对象(D):对象数组的只能赋初值,而不能被赋值答案D15.设置虚基类的目的是_(15)_(A):简化程序(B):消除二义性(C):提高程序运行效率(D):减少目标代码答案B二、多选题三、判断题1.在说明语句chara(‘A’),&b=a,*pa=&a;中,b的值的*pa的是相等的?答案是2.在不同类型操作数组成的表达式中,其表达式的类型一定是最高类型double型?答案否3.break语句也可以用于if体内,它可退出if语句?答案否4.在一个被调用函数中,一个return语句不可返回多个值给调用函数?答案是5.在传值调用中,要求实参和形参的类型完全一致并且个数相等?答案否6.for循环中,循环变量的作用域是该循环的循环体内?答案是7.constchar*p说明了p是指向字符串的常量指针?答案否四、填空题题目阶段:阶段性作业3一、单选题1.下列能被派生类的成员函数访问的_(1)_(A):基类的私有变量被私有派生(B):基类的保护变量被公有派生(C):基类的私有变量被公有派生(D):基类的保护变量被私有派生答案B2.下面描述中,表达错误的是_(2)_(A):公有继承时基类中的public成员在派生类中仍是public的(B):公有继承是基类中的private成员在派生类中仍是private的(C):公有继承时基类中的protected成员在派生类中仍是protected的(D):私有继承时基类中的public成员在派生类中是private的答案B3.如果在基类中将show声明为不带返回值的纯虚函数,正确的写法是_(3)_(A):virtualshow()=0(B):virtualvoidshow()(C):virtualvoidshow()=0(D):voidshow()=0virtual答案C4.应在下列程序划线处填入的正确语句是_(4)_public:voidfun(){coutBase::funENDL;}lassDerived:publicBasevoidfun(){_____________//显示调用基类的函数fun()coutDerived::funENDL;}};(A):fun();(B):Base.fun();(C):Base::fun();(D):Base-fun();答案C5.在inta=3,*p=&a;中,*p的值是_(5)_。(A):变量a的地址值(B):无意义(C):变量p的地址值(D):变量a的值答案D6.定义析构函数时,应该注意_(6)_(A):其名与类名完全相同(B):返回类型是void类型(C):无形参,也不可重载(D):函数体中必须有delete语句答案A7.在一个类中可以对一个操作符进行_(7)_重载。(A):1种(B):2种以下(C):3种以下(D):多种答案D8.下列_(8)_的调用方式是引用调用。(A):形参是指针,实参是地址值(B):形参和实参都是变量(C):形参是数组名,实参是数组名(D):形参是引用,实参是变量答案D二、多选题1.每个类_(1)_构造函数。(A):只能有一个(B):可有公有的(C):可以有多个(D):只可有缺省的答案BC2.在_(2)_情况下适宜采用inline定义内联函数。(A):函数体含有循环语句(B):函数体含有递归语句(C):函数代码少、频繁调用(D):函数代码多、不常调用(E):需要加快程序执行速度

1 / 70
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功