东北农业大学2021年12月《面向对象程序设计》期末考核试题库及答案参考20

上传人:住在山****ck 文档编号:84831771 上传时间:2022-05-04 格式:DOCX 页数:14 大小:14.55KB
返回 下载 相关 举报
东北农业大学2021年12月《面向对象程序设计》期末考核试题库及答案参考20_第1页
第1页 / 共14页
东北农业大学2021年12月《面向对象程序设计》期末考核试题库及答案参考20_第2页
第2页 / 共14页
东北农业大学2021年12月《面向对象程序设计》期末考核试题库及答案参考20_第3页
第3页 / 共14页
点击查看更多>>
资源描述
东北农业大学2021年12月面向对象程序设计期末考核试题库及答案参考1. 静态数据成员初始化在( )进行,而且前面不加static,以免与一般静态变量或对象相混淆。A.类体内B.类体外C.构造函数内D.内联函数内参考答案:B2. Java源文件中最多只能有一个( ),其他类的个数不限。A.publicB.interfaceC.finalD.abstract参考答案:A3. int a=10,*p=&a;printf(“%d”,*p);则打印结果是( )。A.10B.无法确定C.a的地址值D.11参考答案:A4. 以下哪个约束符可用于定义成员常量( )A.staticB.finalC.abstractD.以上都不对参考答案:B5. C+语言类定义中默认的访问权限是public。( )C+语言类定义中默认的访问权限是public。( )A.正确B.错误参考答案:B6. 下列运算符中优先级别最高的是( )。A.?:B.+=C.+D.!=参考答案:C7. 变量必须先定义后赋值。( )A.错误B.正确参考答案:B8. class A public int getNumber(int a)return a+1; class B extends A public int getNuclass A public int getNumber(int a)return a+1; class B extends A public int getNumber(int a, char c)return a+2; public static void main(String args) B b=new B( ); System.out.println(b.getNumber(0); what is the result?A.compilation succeeds and 3 is printedB.compilation succeeds and 2 is printedC.compilation succeeds and 1 is printedD.An error at this program cause compilation to fail参考答案:C9. 含有纯虚函数的类是抽象类。( )A.正确B.错误参考答案:A10. 下列函数中,不属于类的成员函数的是( )。A.析构函数B.构造函数C.拷贝构造函数D.友元函数参考答案:D11. 下列类中( )是输入/输出流类iostream的派生类。A.fstreamB.ofstreamC.ifstreamD.ostream参考答案:A12. Frame的默认布局管理器是( )。A.GridLayoutB.FlowLayoutC.CardLayoutD.BorderLayout参考答案:D13. 类Teacher和Student是类Person的子类; Person p; Teacher t; Student s; /p, t and s are all non-null. if(t instanceof Person) s = (Student)t; 最后一句语句的结果是( )。A.将构造一个Student对象B.表达式是合法的C.表达式是错误的D.编译时正确,但运行时错误参考答案:C14. 程序在调用重载函数时,根据( )区分到底要调用哪个函数?A.函数名B.返回值类型C.参数个数和类型D.以上都可以参考答案:C15. 在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是( )。在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是( )。A.operator+有两个参数,operator*有两个参数B.operator+有两个参数,operator*有一个参数C.operator+有一个参数,operator*有两个参数D.operator+有一个参数,operator*有一个参数参考答案:C16. 在下面循环语句中循环体执行的次数为( )。int i=0,s=0;while(sA.4B.5C.6D.7参考答案:C17. 下面关于析构函数描述正确的是( )。A.系统可以提供默认的析构函数B.析构函数必须由用户定义C.析构函数没有参数D.析构函数可以设置默认参数参考答案:AC18. 为了区分同一个类中重载的各个同名方法,要求( )。A.采用不同的形式参数列表(形式参数的个数、类型、顺序不完全相同)B.返回值的数据类型不同C.调用时用类名或对象名做前缀D.形式参数名不同参考答案:A19. 定义虚函数所用的关键字是virtual。( )A.正确B.错误参考答案:A20. 由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。( )A.正确B.错误参考答案:B21. 关键字super的作用是( )。A.用来调用父类的构造方法B.用来调用父类中被重载的方法C.用来访问父类被隐藏的成员变量D.以上都是参考答案:D22. 在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面。( )A.正确B.错误参考答案:A23. 下列给字符数组赋初值时,正确的是( )。A.chars44=a,x,s,tB.chars323=“abc”,“xyz”C.chars24=“abcd”D.chars1=“abcdef”参考答案:D24. 以下标识符中不全是保留字的是( )。A.gotoreturncharB.defaultthenwhileC.caseforintD.boolclasslong参考答案:B25. 下面说法正确的是( )。A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外用关键字inline定义参考答案:B26. 下列程序段中具有相同值的是( )。class Baseint b; class Base1:virtual public baseint b1; class Base2:virtual public baseint b2; class derived:public base1,base 2int b3; derived dA.d.b与d.base1:bB.d.base1:b与d.base1:b1C.d.b与d.b3D.d.base2:b与d.base2:b2参考答案:A27. 下面是类A的构造函数声明,其中正确的是( )。A.void a(int x).B.void A(int x).C.a(int x).D.A(int x).参考答案:D28. 友元重载运算符obj1obj2被C+编译器解释为( )。A.operator(obj1,obj2)B.(obj1,obj2)C.obj1.operator(obj2)D.obj2.operator(obj1)参考答案:A29. 要使用Vector必须import入下面哪个包?( )A.java.VectorB.java.ioC.java.utilD.java.Applet参考答案:C30. 在一个类中声明了某个静态数据成员,并在类外给出其定义和初始化后,若未定义该类的对象,该静态数据成员则不存在。( )A.正确B.错误参考答案:B31. main方法是Java Application程序执行的入口点,下列main方法原型( )是不正确的。A.public static void main(stringargs)B.public static void main(Stringargs)C.public static void main(Stringa)D.public static void main(String args)参考答案:A32. 设要把一个文件输出流对象myFile与文件“f:myText.txt”相关联,所用的C语句是ifstreammyFile(f:myText.txt,ios:in|ios:out);( )设要把一个文件输出流对象myFile与文件“f:myText.txt”相关联,所用的C语句是ifstreammyFile(f:myText.txt,ios:in|ios:out);( )A.正确B.错误参考答案:B33. 要使语句“p=new int1020;”能够正常执行,p应被事先定义为( )。A.int*p20B.int*pC.int*pD.int(*p)20参考答案:D34. C语言编写的源程序其文件扩展名是( )。A.cB.objC.exeD.bat参考答案:A35. 常量不能作为左值使用。( )A.错误B.正确参考答案:B36. 下列关于for循环和while循环的说法中哪个是正确的( )A.while循环能实现的操作,for循环也都能实现B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换D.两种循环结构中都必须有循环体,循环体不能为空参考答案:D37. 运算符delete删除一个动态对象时( )。A.首先为该动态对象调用构造函数,再释放其占用的内存B.首先释放该动态对象占用的内存,再为其调用构造函数C.首先为该动态对象调用析构函数,再释放其占用的内存D.首先释放动态对象占用的内存,再为其调用析构函数参考答案:C38. 在面向对象程序设计中,每个对象可以单独设置属性值。( )A.正确B.错误参考答案:A39. 在下列关键字中,用以说明类中公有成员的是( )。A.publicB.privateC.protectedD.friend参考答案:A40. int a1=5,a2=10,a3=20;int c=(a1A.10B.5C.20D.1参考答案:A41. 下列表示引用的方法中,( )是正确的。已知:int k=1000A.int &x=kB.char &yC.int &z=1000D.float &t=&k参考答案:A42. 不允许作为类及类成员的访问控制符的是( )。A.publicB.privateC.staticD.protected参考答案:C43. 下列( )是构造函数的特征。下列( )是构造函数的特征。A.构造函数在创建对象时自动调用B.构造函数不可以重载C.构造函数不可以设置默认参数D.构造函数必须指定函数类型参考答案:A44. 一个类的构造函数中可以不包含对其子对象的初始化。( )A.正确B.错误参考答案:B45. 字符串“a+b=12n”的长度为( )。A.9B.8C.7D.6参考答案:C46. 下列正确的表达式( )。A.double a=1,0B.Double a=new Double(1,0)C.byte a=340D.Byte a=120参考答案:AB47. 在类体内允许对数据成员进行初始化。( )A.错误B.正确参考答案:A48. 在以下字符列中,合法的长整型常数是( )。A.OLB.4962710C.0.054838743D.2.1869e10参考答案:A49. 设函数fun的定义形式为:void function(char c,float x).,则以下对函数fun的调用于句中,正确的是( )。A.function(“a”,3.0)B.t=function(c,16.5)C.function(60,2)D.function(32,32)参考答案:D50. 类模板的模板参数( )。A.只可作为数据成员的类型B.只可作为成员函数的返回类型C.只可作为成员函数的参数类型D.以上三者皆可参考答案:D51. 在Java中,用package语句说明一个包时,该包的层次结构必须是( )A.与文件的结构相同B.与文件目录的层次相同C.与文件类型相同D.与文件大小相同参考答案:B52. 下列语句执行后,变量a、c的值分别是( )。 int x=182; int a,c; c=x/100; a=x%10;A.1,2B.2,1C.1.82, 2D.100,82参考答案:B53. 下面对友元的错误描述是( )。A.关键字friend用于声明友元B.一个类的成员函数可以是另一个类的友元C.友元函数访问对象的成员不受访问特性影响D.友元函数通过this指针访问对象成员参考答案:D54. 用new动态申请的内存是在堆中分配的,而不是在栈中分配的。( )A.错误B.正确参考答案:B55. 下列关于构造函数说法不正确的是( )。下列关于构造函数说法不正确的是( )。A.构造函数必须与类同名B.构造函数可以省略不写C.构造函数必须有返回值D.在构造函数中可以对类中的成员进行初始化参考答案:C56. 下列关于运算符重载的描述中,( )是正确的。下列关于运算符重载的描述中,( )是正确的。A.运算符重载可以改变操作数的个数B.运算符重载可以改变优先级C.运算符重载可以改变结合性D.运算符重载不可以改变语法结构参考答案:D57. 建立类模板对象的实例化过程为( )。A.基类派生类B.构造函数对象C.模板类对象D.模板类模板函数参考答案:C58. 在保护继承中,对于派生类的访问同于公有继承,而对于派生类的对象的访问同于私有继承。( )A.正确B.错误参考答案:A59. 下面程序段中是内联函数的是( )。 class location private: int x,y; public: void init(int initx,int inity)x=initx; y=inity; int getx( )return x; int gety( ); inline int location:gety( )return y;A.init (int initx,int inity)B.getx( ),gety( )C.A和B都是D.A和getx( )参考答案:C60. 已知如下代码:boolean m = true; if( m = false) System.out.println(“False”); else System.out.println(“True”);执行结果是( )。A.FalseB.TrueC.NoneD.出错参考答案:B
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 大学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!