面向对象考试题(参考)
面向对象试题(标准答案)

CoreJavaOOP考试题考试时间:90分钟考试总分:100分一、选择题(不定项选择)(22*4=88)1.类A,B的定义如下:class A {private int a = 100;A() {System.out.print("A()");System.out.println(a);}}class B extends A {private int a = 200;B() {System.out.print("B()");System.out.println(a);}}运行下面的代码:new B();输出的结果是:(A )。
A.A() 100B() 200B.A() 200B() 200C.B() 200A() 100D.B() 200A() 2002.下列说法正确的是(D )A.所有类都必须定义构造方法(构造器)B.构造方法必须初始化类的所有数据成员C.子类定义了构造器后,不再调用父类的构造器D.构造方法可以访问类的非静态成员3.在Java中,哪个关键字使类不能派生子类?, (A )A : finalB : publicC : privateD : native4.class Base{static void test(){System.out.println(“Base.test()”);}}public class Child extends Base{static void test(){System.out.println(“Child.test()”);}public static void main(String[] args){Base base = new Child();Child child = new Child();base.test();child.test();}}程序运行的结果是( C )A.Child.test() Child.test()B.Child.test() Base.test()C.Base.test() Child.test()D.Base.test() Base.test()5.下列哪些叙述是正确的(CD )A.在一个类中,方法不能与类名相同B.a bstract 可以修饰属性、方法和类C.实例方法可直接调用本类的static方法和非static方法D.static方法不能调用非static方法6.以下说法正确的是(ABC)A.子类不能继承父类的构造方法B.子类的构造方法可以访问父类的构造方法C.子类不可直接访问父类的私有属性D.子类可以重写父类的所有方法7.分析选项中关于Java中this关键字的说法正确的是( A )A.this关键字是在对象内部指代自身的引用B.this关键字可以在类中的任何位置使用C.this关键字和类关联,而不是和特定的对象关联D.同一个类的不同对象共用一个this8 下列关于继承的说法哪个是正确的?( B )A.子类只继承父类public方法和属性B.子类继承父类的非私有属性和方法C.子类只继承父类的方法,而不继承父类的属性D.子类将继承父类的所有属性和方法9.在Java中,关于final关键字的说法正确的是(AC )A.final修饰的变量,一旦赋值就不能被更改B.final修饰的类只能被一个子类继承C.final修饰的方法,不能在子类中被覆盖D.final修饰的方法,不能被子类继承10. String s=new String(“xyz”)创建了几个对象(C);A. 0B. 1C. 2D. 311.下列语句的序列执行后,k的值是( B )int m=3,n=6,k=0;While((m++)<(--n))++k;A.0B.1C.2D.312.下列哪一项不是面向对象的典型特征(D )A.封装 B.继承C. 多态D.抽象13.(多选)在java中,关于构造方法,下列说法正确的是(ABD )A.构造方法的名称必须与类名相同B.构造方法可以带参数C.构造方法不可以重载D.构造方法绝对不能有返回值14.下面关于变量的说法正确的是(BC )A.实例变量可以通过类名直接调用B.类变量可以通过类名直接调用C. Java中的参数传递都是值传递D. 在不同的作用域不能定义相同的变量15.下列代码有编译错误的是第(C )行1)public class Test{2)public static void main(String[] args){3)int[] arr1 = new int[12];4)char[] arr2 = new char[];5)int[] arr3 = {};6)Object[] obj = new Object[4];7)Object obj1 = new object[9];8)}9)}A.5)B.5) 7)C.4) 7)D.4)16.下列代码的运行结果是(A )public class Test{private int num;private static Test test;public Test(int num){this.num = ++ num;}static{int num = 16;test = new Test(num);++ test.num;}public static void main(String[] args){test = new Test(13);System.out.println(test.num);}}A.14B.15C.16D.1717.仔细分析下列代码,请指出错误的行(D )。
《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案一、单选题1.在下列概念中,Java语言只保留了DA.运算符重载B.结构和联合C.指针D.方法重载2.下列类定义中,不正确的是BA.cla某{....}B.taticcla某implementy1,y2{....}D.cla某e某tendy{....} C.publiccla某e某tendApplet{....}3.下列语句序列执行后,k 的值是Bintm=3,n=6,k=0;while((m++)<(--n))++k;i++先把i的初值赋给表达式(i++),作为表达式(i++)的值,然后i自增1作为i的值。
如i=1,则表达式(i++)的值等于1,而i的值变为2。
++ii先自增1,再把自增后的值赋给表达式(++i)。
如i=1,则表达式(++i)的值等于2,i的值也为2,A.0B.1C.2D.34.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是AA.a[0]=7;B.i=i+2C.i++---j;D.a(0)=66;5.Java语言的类间的继承关系是BA.多重的B.单重的C.线程的D.不能继承6.下列语句序列执行后,k的值是Cinti=10,j=18,k=30;witch(j-i){cae8:k++;cae9:k+=2;cae10:k+=3;default:k/=j;}A.31B.3C.2D.337.设有定义float某=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为true的是CA.某>y||某>zB.z>(y+某)C.某!=yD.某<y&!(某<z)8.下列修饰符中,定义类头时能使用的修饰符是CA.privateB.taticC.abtractD.protected9.设i、j、k为类某中定义的int型变量名,下列类某的构造函数中不正确的是BA.某(intm){...}B.void某(intm){...}D.某(inth,intm,intn){...}C.某(intm,intn){...}10.下列对封装性的描述中,错误的是DA.封装体包含了属性和行为B.封装使得抽象的数据类型提高了可重用性C.被封装的某些信息在封装体外是不可见的D.封装体中的属性和行为的访问权限是相同的11.下列关于包的描述中,错误的是BA.包是若干个类的集合B.包是一种特殊的类型D.包有有名包和无名包两种C.包是使用package语句创建的12.下列关于Applet程序的描述中,错误的是CA.Applet程序的主类必须是Applet类得子类B.Applet不是完整的独立程序C.Applet程序的主类中应有一个main()方法D.Applet的字节码文件必须嵌套在一个HTML文件中13.下列界面元素中,不是容器的是A.DialogB.FrameCC.LitD.Panel14.下列关于异常处理的描述中,错误的是DA.程序运行时异常由Java虚拟机自动进行处理B.使用try-catch-finally语句捕获异常C.使用throw语句抛出异常D.捕获到的异常只能在当前方法中处理,不能在其他方法中处理15.以下方法不属于迭代器(Iterator)接口所定义的方法的是D A.haNe某t()B.ne某t()16.主线程属于A.守护线程C.remove()D.ne某tElement()(C)B.Thread线程C.用户线程D.Runnable线程二、填空题1.2.三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型的。
Vue.js面向对象编程考试

Vue.js面向对象编程考试(答案见尾页)一、选择题1. Vue.js 中,以下哪个选项是错误的?A. Vue.js 使用组件系统进行模块化开发B. Vue.js 使用虚拟 DOM 进行高效的 DOM 操作C. Vue.js 通过双向绑定实现数据与视图之间的自动同步D. Vue.js 的数据观察机制是基于发布-订阅模式2. Vue.js 中,以下哪个选项不是 Vue 实例的属性?A. dataB. methodsC. propsD. watch3. Vue.js 中,以下哪个选项可以用来注册一个全局组件?A. 注册到 Vue 实例B. 注册到 Vue 原型C. 注册到 Vue 构造函数D. 注册到 Vue 实例或原型4. Vue.js 中,以下哪个选项可以用来监听 Vue 实例上的数据变化?A. watchB. computedC. dataD. methods5. Vue.js 中,以下哪个选项可以用来定义 Vue 组件的模板?A. 使用模板字符串B. 使用双花括号 {{}}C. 使用 HTML 标签D. 使用 Vue 指令6. Vue.js 中,以下哪个选项可以用来实现 Vue 组件的生命周期钩子?A. `created()`B. `mounted()`C. `updated()`D. `beforeDestroy()`7. Vue.js 中,以下哪个选项可以用来导出 Vue 组件?A. 使用 `export default`B. 使用 `module.exports`C. 使用 `import`D. 使用 `require()`8. Vue.js 中,以下哪个选项可以用来注册一个局部组件?A. 注册到 Vue 实例B. 注册到 Vue 原型C. 注册到 Vue 构造函数D. 注册到 Vue 实例或原型9. Vue.js 中,以下哪个选项可以用来操作 Vue 组件实例的数据?A. 使用 `this.$data`B. 使用 `this.$props`C. 使用 `this.$computed`D. 使用 `this.$watch`10. Vue.js 中,以下哪个选项可以用来销毁一个 Vue 组件?A. 使用 `this.$destroy()`B. 使用 `this.$close()`C. 使用 `this.$stop()`D. 使用 `this.$forceUpdate()`11. Vue.js 中哪个选项是错误的?A. Vue.js 使用虚拟 DOM 进行批量更新B. Vue.js 提供了响应式数据绑定和组合式APIC. Vue.js 的组件是可复用的 Vue 实例D. Vue.js 的模板可以用双花括号书写12. Vue.js 中,以下哪个不是 Vue 组件的选项?A. 全局组件B. 单文件组件(.vue 文件)C. 函数组件D. 装饰器组件13. Vue.js 中,以下哪个不是 Vue 实例的初始化选项?A. dataB. methodsC. computedD. watch14. Vue.js 中,哪个选项不是响应式的?A. 数组B. 字符串C. 对象D. 布尔值15. Vue.js 中,哪个选项不是 Vue 的内置指令?A. v-ifB. v-forC. v-bindD. v-model16. Vue.js 中,哪个选项是正确的模块化方法?A. 使用 require() 引入模块B. 使用 import 引入模块C. 使用 ES6 的 import() 函数引入模块D. 使用 CommonJS 的 require() 函数引入模块17. Vue.js 中,哪个选项是错误的组件通信方式?A. 使用 props 传递数据B. 使用 events 传递数据C. 使用 $emit 触发事件D. 使用 $refs 获取组件实例18. Vue.js 中,哪个选项不是 Vue 生命周期钩子函数?A. createdB. mountedC. updatedD. destroyed19. Vue.js 中,哪个选项不是 Vue 的响应式数据属性?A. dataB. computedC. watchD. methods20. Vue.js 中,哪个选项不是 Vue 的内置插件?A. Vue RouterB. Vue ResourceC. Vue CLID. Vue Analytics21. Vue.js 中哪一项不是 Vue 的核心特性?A. 声明式渲染B. 组件系统C. 路由和状态管理D. 打包和模块化22. Vue.js 中,以下哪个是组件间的通信方式?A. 事件总线B. props 和自定义事件C. 使用 $refsD. Vuex23. Vue.js 中,哪个是 Vue 实例的初始化事件?A. createdB. mountedC. beforeCreateD. beforeMount24. Vue.js 中,以下哪个是 Vue 组件的生命周期钩子函数?A. `beforeCreate`B. `created`C. `beforeMount`D. `mounted`25. Vue.js 中,`v-for` 指令的属性是什么?A. `items`B. `source`C. `target`D. `array`26. Vue.js 中,以下哪个是计算属性的特性?A. 只读B. 可深度监听C. 响应式更新D. 不适用于表达式27. Vue.js 中,哪一个是 Vue 实例的属性?A. dataB. methodsC. computedD. watch28. Vue.js 中,以下哪个是 Vue Router 的基本功能?A. 路由跳转B. 命名视图C. 命名路由D. 路由参数29. Vue.js 中,`v-model` 指令的作用是什么?A. 表单控件的双向数据绑定B. 控制表单控件的值C. 触发事件D. 验证输入内容30. Vue.js 中,以下哪个是 Vuex 的核心概念?A. 状态B. 观察者模式C. 调用链D. 响应式更新二、问答题1. 什么是Vue.js?2. Vue.js的核心特性有哪些?3. 请简述Vue.js的生命周期钩子函数及其作用。
c面向对象程序设计期末考试题及答案

c面向对象程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是面向对象程序设计的特点?A. 封装B. 继承C. 多态D. 所有选项都是2. 在Java中,以下哪个关键字用于定义类?A. classB. structC. typeD. classdef3. 以下哪个是Java中不允许的类成员访问修饰符?A. publicB. protectedC. privateD. global4. 以下哪个是Java中实现多态的方式?A. 函数重载B. 函数重写C. 接口D. 抽象类5. 在Java中,哪个关键字用于声明一个方法,该方法没有返回值?A. voidB. returnC. noneD. null6. 以下哪个是Java中创建对象的语法?A. new ClassName();B. create ClassName;C. make ClassName;D. ClassName();7. 在Java中,以下哪个是正确的构造方法声明?A. public ClassName();B. public ClassName new();C. public new ClassName();D. public ClassName create();8. 以下哪个是Java中实现继承的方式?A. 使用extends关键字B. 使用implements关键字C. 使用interface关键字D. 使用new关键字9. 在Java中,以下哪个关键字用于实现接口?A. implementsB. extendsC. interfaceD. class10. 以下哪个是Java中实现封装的方式?A. 使用public关键字B. 使用private关键字C. 使用protected关键字D. 使用default关键字答案:1. D2. A3. D4. B5. A6. A7. A8. A9. A10. B二、简答题(每题10分,共20分)1. 简述面向对象程序设计中的“封装”概念及其重要性。
面向对象期末考试题及答案

面向对象期末考试题及答案一、选择题(每题2分,共20分)1. 面向对象编程中的三大特性是?A. 封装、继承、多态B. 抽象、继承、封装C. 继承、封装、多态D. 封装、抽象、多态答案:A2. 在Java中,哪个关键字用于定义类?A. classB. structC. typeD. interface答案:A3. 以下哪个不是面向对象设计原则?A. 单一职责原则B. 开闭原则C. 里氏替换原则D. 模块化原则答案:D4. 在面向对象编程中,构造函数的作用是什么?A. 用于创建对象B. 用于销毁对象C. 用于实现继承D. 用于实现多态答案:A5. 以下哪个是Java中的访问修饰符?A. privateB. publicC. protectedD. 全部都是答案:D...(此处省略剩余选择题)二、简答题(每题10分,共30分)1. 简述面向对象编程的基本思想。
答案:面向对象编程是一种编程范式,它将现实世界中的实体抽象成对象,这些对象具有属性和行为。
面向对象编程的基本思想是将数据和处理数据的方法结合在一起,形成对象。
通过对象之间的交互来实现程序的功能。
2. 解释什么是多态性,并给出一个简单的例子。
答案:多态性是指允许不同类的对象对同一消息做出响应,但具体的行为会根据对象的实际类型而有所不同。
例如,在Java中,可以通过重载和重写来实现多态。
假设有一个动物类Animal,它有一个方法makeSound()。
然后有一个子类Dog,它重写了makeSound()方法。
当我们创建一个Dog对象并调用makeSound()时,会执行Dog类中的makeSound()方法,而不是Animal类中的。
3. 什么是封装?封装的好处是什么?答案:封装是将对象的数据(属性)和行为(方法)组合在一起,并隐藏对象的内部细节,只暴露出一个可以被外界访问的接口。
封装的好处包括:保护数据、减少错误、提高代码的重用性、增强模块化。
三、编程题(每题25分,共50分)1. 编写一个Java程序,实现一个简单的银行账户类Account,包含以下特性:- 私有属性:账户余额balance- 公共方法:存款deposit(double amount)、取款withdraw(double amount)、获取余额getBalance()答案:```javapublic class Account {private double balance;public Account() {this.balance = 0;}public void deposit(double amount) {if (amount > 0) {balance += amount;}}public void withdraw(double amount) {if (amount > 0 && balance >= amount) {balance -= amount;}}public double getBalance() {return balance;}}```2. 假设有一个名为Car的类,它有两个属性:品牌brand和颜色color。
面向对象系统设计基础考试

面向对象系统设计基础考试(答案见尾页)一、选择题1. 在面向对象系统设计中,以下哪个是对象的属性?A. 类的属性B. 对象的属性C. 类的方法D. 对象的方法2. 在面向对象编程中,什么是继承?A. 一个类可以有多个子类B. 一个类可以定义另一个类的属性和方法C. 一个类可以包含其他类的所有属性和方法D. 一个类可以具有自己的数据类型3. 在UML(统一建模语言)中,哪种图用于表示类之间的关系?A. 状态图B. 类图C. 组件图D. 协作图4. 以下哪个是面向对象设计原则之一?A. 开闭原则B. 里氏替换原则C. 接口隔离原则D. 依赖倒置原则5. 在面向对象设计中,什么是封装?A. 将数据隐藏在对象内部B. 将数据放在对象外部C. 将数据与操作数据的代码放在一起D. 将数据与对象分离6. 在面向对象设计中,什么是多态?A. 不同的对象可以对同一消息做出不同的响应B. 一个对象可以同时具有多种类型C. 一个对象可以被一个以上的类所实例化D. 一个类的所有实例都具有相同的数据结构7. 在UML中,哪个图用于表示接口?A. 状态图B. 类图C. 接口图D. 协作图8. 在面向对象设计中,什么是聚合?A. 一个类可以拥有多个子类B. 一个类可以包含其他类的实例C. 一个类与另一个类之间存在继承关系D. 一个类只有一个直接父类9. 在面向对象设计中,什么是关联?A. 两个类之间的关系是通过继承建立的B. 两个类之间的关系是通过聚合建立的C. 两个类之间的关系是通过组合建立的D. 一个类与另一个类之间存在一种特殊的依赖关系10. 在面向对象设计中,什么是抽象?A. 不能被实例化的类B. 不能直接访问的类成员C. 用于描述具有共同特征的一组对象的集合D. 用于描述具有不同行为的对象的集合11. 在面向对象设计中,以下哪个是类的特性?A. 封装B. 多态C. 继承D. 抽象12. 在面向对象设计中,以下哪个是封装的概念?A. 将数据与操作数据的代码放在一起B. 将数据与操作数据的代码分别放置C. 将数据隐藏在对象内部D. 将数据与操作数据的代码委托给其他对象13. 在面向对象设计中,以下哪个是继承的概念?A. 创建一个新的类,这个新类是已存在的类的扩展B. 创建一个新的类,这个新类与已存在的类完全相同C. 创建一个新的类,这个新类的对象可以继承已存在类的属性和方法D. 创建一个新的类,这个新类的对象可以访问已存在类的所有属性和方法14. 在面向对象设计中,以下哪个是多态的概念?A. 一个接口可以被多个方法实现B. 一个类的多个对象可以使用相同的接口C. 一个类的不同对象对同一消息有不同的响应方式D. 一个类的对象可以被赋予不同的属性值15. 在面向对象设计中,以下哪个是抽象类的概念?A. 一个包含抽象方法的类B. 一个不包含抽象方法的类C. 一个可以被实例化的类D. 一个只包含常量的类16. 在面向对象设计中,以下哪个是接口的概念?A. 一种定义对象如何与其他对象交互的方式B. 一种定义类如何行为的方式C. 一种定义数据结构的方式D. 一个类的蓝图17. 在面向对象设计中,以下哪个是组件的概念?A. 一种用户界面元素B. 一种软件架构模式C. 一种可重用的部件D. 一种硬件设备18. 在面向对象设计中,以下哪个是继承的优点?A. 提高代码的可重用性B. 减少代码的复杂性C. 提高代码的可维护性D. 提高代码的执行效率19. 在面向对象设计中,以下哪个是多态的好处?A. 增加代码的复杂性B. 减少代码的重复性C. 提高代码的可扩展性D. 提高代码的执行速度20. 在面向对象的设计中,什么是封装?A. 将数据与操作数据的代码封装在一起B. 将数据与访问数据的代码封装在一起C. 将代码与访问数据的代码封装在一起D. 将状态与行为封装在一起21. 在面向对象的设计中,什么是继承?A. 重复使用已有的类作为新类的基础B. 创建一个新的类,它与所有现有的类完全相同C. 创建一个新的类,它继承所有现有类的特性D. 创建一个新的类,它的成员和方法与所有现有类完全相同22. 在面向对象的设计中,什么是多态?A. 同一个接口可以被不同的对象以不同的方式实现B. 一个对象可以同时具有多个接口C. 一个类的所有对象都具有相同的属性和方法D. 一个类的所有对象都可以被当作另一种类型的对象23. 在面向对象的设计中,什么是抽象?A. 保留对象的内部状态B. 创建对象的模板C. 描述对象的行为但不包括其内部状态D. 提供对象行为的详细描述24. 在面向对象的设计中,什么是特化?A. 创建一个全新的类,它与所有现有的类不完全相同B. 对某个类的所有对象进行特定的修改C. 创建一个新的类,它继承所有现有类的特性,并添加或重写特定功能D. 使一个类的行为与另一个类的行为相同25. 在面向对象的设计中,什么是聚合?A. 将对象组合成更大的结构以模拟现实世界中的组件B. 将对象分组在一起以便于管理C. 将对象的属性绑定在一起D. 将对象的关系表示为关联26. 在面向对象的设计中,什么是关联?A. 描述对象之间的逻辑关系B. 描述对象之间的物理关系C. 描述对象之间的直接联系D. 描述对象之间的间接联系27. 在面向对象的设计中,什么是消息传递?A. 对象之间的一种通信方式B. 对象之间的一种服务交换C. 对象之间的一种控制流D. 对象之间的一种数据传递28. 在面向对象的设计中,什么是继承链?A. 一个类有多个直接父类B. 一个类可以通过另一个类继承特性C. 一个类可以有多个间接父类D. 一个类只能有一个直接父类29. 在面向对象系统设计中,以下哪个是对象的特性?A. 封装B. 继承C. 多态D. 抽象30. 在UML(统一建模语言)中,用于表示类与类之间的关系是?A. 简线B. 虚线C. 接线D. 泛化31. 在面向对象设计中,以下哪个是封装的定义?A. 将数据与操作数据的代码封装在一起B. 将数据与访问数据的代码封装在一起C. 将代码与访问数据的代码封装在一起D. 将数据与修改数据的代码封装在一起32. 在面向对象设计中,以下哪个是继承的特点?A. 功能重用B. 数据隐藏C. 改进的可维护性D. 提高代码复用性33. 在UML中,用于表示类的图是?A. 类图B. 组件图C. 对象图D. 包图34. 在面向对象设计中,以下哪个是多态的定义?A. 不同对象对同一消息作出响应B. 同一对象对不同消息作出不同的响应C. 对象之间的通信D. 对象的状态转换35. 在UML中,用于表示接口的是?A. 简线B. 虚线C. 接线D. 泛化36. 在面向对象设计中,以下哪个是抽象类的特点?A. 可以实例化B. 不能实例化C. 包含抽象方法D. 与接口完全相同37. 在UML中,用于表示组件图的是?A. 简线B. 虚线C. 接线D. 泛化38. 在面向对象设计中,以下哪个是类的属性?A. 方法B. 数据成员C. 构造函数D. 类的成员函数39. 在面向对象系统设计中,什么是封装?A. 将数据隐藏在对象内部B. 提供统一的接口给外部使用C. 避免代码重复D. 以上都是40. 在面向对象设计中,什么是继承?A. 代码重用B. 创建相似对象的关系C. 数据隐藏和封装D. 以上都是41. 在面向对象设计中,什么是抽象类?A. 用来描述一组具有相同特性的对象B. 不能实例化C. 包含具体的方法实现D. 以上都是42. 在面向对象设计中,什么是消息传递?A. 对象之间的通信过程B. 传递数据的一种机制C. 一种事件处理机制D. 以上都是43. 在面向对象设计中,什么是继承链?A. 继承的层次结构B. 一种继承机制C. 通过继承实现代码复用D. 以上都是44. 在面向对象设计中,什么是封装类?A. 一个包含数据和方法的类B. 一个包含抽象方法的类C. 一个包含具体方法和属性的类D. 以上都是45. 在面向对象设计中,什么是对象图?A. 一种图形化表示,展示了对象之间的关系B. 一种描述对象之间关系的数据结构C. 一种用于表示对象之间关系的图表D. 以上都是二、问答题1. 什么是面向对象编程(OOP)的基本概念?2. 描述类和对象的区别。
《Java面向对象程序设计》考试卷及答案带注释

一、单选题(每小题1分,共30分)1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。
CA) Package B)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。
CA)class B) 123_rr C) _lei D) test&123.下列的()选项可以正确用以表示八进制值8。
0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) boolean C) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int表示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double 浮点型B) long C) int D) byte7.以下do-while语句构成的循环执行次数是()。
Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为()。
逻辑运算结果只有true和false两种 BA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不可以作为循环条件 AA) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() DA) int score[5] = {90,12,34,77,56};B) int[5] score = new int[];C) int[] score = new int[5]{90,12,34,77,56};D) int score[] = new int[]{90,12,34,77,56};11.若有定义:byte[] x={11,22,33,-66};其中0≤k≤3,则对x数组元素错误的引用是() CA) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。
面向对象考试题(参考)

一、单项选择1。
程序设计中,首先在问题域中识别出假设干个〔〕A。
函数B。
类C。
文件D。
过程2。
定义类模板用关键字〔〕A。
const B.new C.delete D.template3。
运算结果类型一样的〔〕A.9.0/2.09.0/2B.9/2.09/2C.9.0/29/2D.9/29.0/2.04。
f1f2同一类两个成员函数,但f1不能调用f2,说明〔〕a.f1f2都是静态函数b.f1是静态,f2不是c.f1不是,f2是静态d.f1f2都不是静态函数5。
调用一成员函数时,使用动态联编的情况是〔〕A.通过对象调用一虚函数B。
通过指针或引用调用一虚函数C。
通过对象调用静态函数D。
通过指针或引用调用一静态函数6。
假定一个类构造函数为:“A(int aa=1,int bb=0){a=aa;b=bb;}那么执行"A x(4)"后,x.a和x.b值分别是:〔〕A。
1,0 B。
1,4 C。
4,0 D。
4,17。
在派生类中能直接访问基类的〔〕A。
公有成员,私有成员B。
保护成员,私有成员C。
不可访问成员,私有成员D。
公有成员,保护成员8。
不具访问权限属性的是:A。
非类成员B。
类成员C。
数据成员D。
函数成员9。
类定义中private,protected,public出现次数为〔〕A。
任意屡次B。
至多一次C。
public至少一次D。
至少一次10。
C++鼓励程序员将〔〕A。
数据操作分别封装B。
不同类型数据封装C。
数据操作封装在一起D。
不同作用操作封装在一起。
二、填空1。
C++中,最好用〔〕代替malloc。
2。
函数模板中template之后尖括号的类型参数冠以保存字〔〕。
3。
在IOS类中定义的用于格式控制的枚举变量中十、八、十六进制是dec,oct,()。
4。
如果重载了运算符+,那么相应运算函数名是〔〕。
5。
由static修饰的数据成员为该类的所有对象〔〕。
6。
为了实现多态性,派生类需要重新定义基类中的〔〕。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象考试题(参考)1。
程序设计中,首先在问题域中识别出若干个()A。
函数B。
类C。
文件D。
过程2。
定义类模板用关键字()A。
const B.new C.delete D.template3。
运算结果类型相同的()A. 9.0/2.0 9.0/2B. 9/2.0 9/2C. 9.0/2 9/2D. 9/2 9.0/2.04。
已知f1 f2同一类两个成员函数,但f1不能调用f2,说明()a.f1 f2都是静态函数b.f1是静态,f2不是c.f1不是,f2是静态d.f1 f2都不是静态函数5。
调用一成员函数时,使用动态联编的情况是()A.通过对象调用一虚函数B。
通过指针或引用调用一虚函数C。
通过对象调用静态函数D。
通过指针或引用调用一静态函数6。
假定一个类构造函数为:“A(int aa=1,int bb=0){a=aa;b=bb;}则执行"A x(4)"后,x.a和x.b值分别是:()A。
1,0B。
1,4C。
4,0D。
4,17。
在派生类中能直接访问基类的()A。
公有成员,私有成员B。
保护成员,私有成员C。
不可访问成员,私有成员 D。
公有成员,保护成员8。
不具访问权限属性的是:A。
非类成员B。
类成员C。
数据成员D。
函数成员9。
类定义中private,protected,public 出现次数为()A。
任意多次B。
至多一次C。
public 至少一次D。
至少一次10。
C++鼓励程序员将()A。
数据操作分别封装B。
不同类型数据封装C。
数据操作封装在一起D。
不同作用操作封装在一起。
二、填空1。
C++中,最好用()代替malloc。
2。
函数模板中template之后尖括号的类型参数冠以保留字()。
3。
在IOS类中定义的用于格式控制的枚举变量中十、八、十六进制是dec,oct,()。
4。
如果重载了运算符+,则相应运算函数名是()。
5。
由static修饰的数据成员为该类的所有对象()。
6。
为了实现多态性,派生类需要重新定义基类中的()。
7。
编译时多态性通过()函数实现。
8。
派生类中实现基类成员初始化,需由派生类的构造函数调用()来完成。
9。
C++中访问指令所指对象的成员使用运算符()。
10。
重载函数在参数类型或参数个数上不同但()相同。
1。
类定义有错,正确结果为5+8i#include <iostream.h>#include <math.h>class complex{double real;double imag;public:complex(double r=0.0,double i=0.0):real(r),imag(i){}void show(){ cout<<real<<(imag>=0?'+':'_')<<fabs(imag)<<'i';}friend complex & operator +=(complex c1,complex c2); };complex & operator +=(complex c1,complex c2){c1.real+=c2.real;c1.imag+=c2.imag;return c1;}void main(){complex c(3,5);c+=complex(2,3);c.show();}2。
改一处错#include<iostream.h>class shape{public:int area(){return 0;}};class rectangle:public shape{public:int a,b;void setlength(int x,int y){ a=x; b=y;}int area(){return a*b;}};{rectangle r;r.setlength(3,5);shape *s=r;cout <<r.area()<<endl;cout <<s->area()<<endl;}3。
改一处错class A{int a,b;public:A(int aa=0,int bb){a=aa;b=bb;}};4。
找一处错class Location{int x,y;protected:int SetZero(int zeroX,int zeroY);public:void Locattion (int initX,int initY);int getx();int gety();};四、填空1。
使输出结果为:5 4 3 2 10 5.5 4.4 3.3 2.2 1.1#include<iostream.h>template<class T>void f( ){;for (int i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}{int a[5]={1,2,3,4,5};double d[6]={1.1,2.2,3.3,4.4,5.5};f(a,5);f(d,6);for(int i=0;i<5;i++) cout <<a[i]<<" ";cout <<endl;for (i=0;i<6;i++) cout <<d[i]<<" ";cout <<endl;}2。
使类定义完整class line;class box{private:int color;int upx,upy;int lowx,lowy;public:friend int same_color(line l, _______);void set_color(int c){color =c;}void define_box(int x1,int y1,int x2,int y2){upx=x1;upy=y1;lowx=x2;lowy=y2;} };class line{private:int color;int startx,starty;int endx,endy;public:_______ int same_color(line l, box b);void set_color(int c){color=c;}void define_line(int x1,int y1,int x2,int y2){startx=x1;starty=y1;endx=x2;endy=y2;} }int same_color(line l,box b){if (l.color==b.color) return l;return 0;}3。
A为抽象类,输出为:this is class B printingthis is class C printing#include<iostream.h>class A{public :______________________ ;};class B:public A{public:void printMe(){cout<<"this is class B printing"<<endl;} };class C:public B{void printMe(){cout<<"this is class C printing"<<endl;} };void print(___________ ) {a.printMe();}void main(){B b;C c;print(b);print(c);}4。
使类完整class A{int * a;int n;public:A():a(0),n(0){}A(int nn){_________//用NN初始化N__________//用A指向长度为N的动态数组空间}};5。
使类完整class base{protected:int a;public:base(){a=0;}base(int i){a=i}base(base&b){a=b.a}};class derived:public base{private:int d;public:derived(){d=0;}derived(int i,int j):__________{d=j;}derived(derived&b):__________{d=b.d;} };五、运行结果1、#include<iostream.h>class shownumtype{public:void show(int);void show(float);};void shownumtype::show(int i){cout<<"this is an int"<<endl;}void shownumtype::show(float f){cout<<"this is float "<<endl;}void main(){int a=0;float f=1.0;shownumtype snt;snt.show(a);snt.show(f);}2、#include<iostream.h>class A{public:virtual void pr(){cout<<"1"<<endl;}};class B:public A{void pr(){cout<<"2"<<endl;}};void p1(A &a) {a.pr();}void p2(A a) {a.pr();}void main(){B b;p1(b);p2(b);}3、#include<iostream.h>class A{public:A(int i=0){a=i;}void print(){cout<<a<<',';}private:int a;};class B:public A{public:B(){b1=b2=0;}B(int i){b1=i;b2=0;}B(int i,int j,int k):A(i),b1(j),b2(k){}void print(){A::print();cout<<b1<<','<<b2<<endl;} private:int b1,b2;};void main(){B d1,d2(5),d3(4,5,6);d1.print();d2.print();d3.print(); }4、#include<iostream.h>class goods{private:static int totalweight;int weight;public:goods(int w){weight=w;totalweight+=weight;}goods(goods &gd){weight=gd.weight;totalweight+=weight;}~goods(){totalweight-=weight;}static int gettotal(){ return totalweight;}};int goods::totalweight=0;void main(){goods g1(50);cout<<goods::gettotal()<<endl;goods g2(100);cout<<g2.gettotal()<<endl;}5、#include<iostream.h>template<class T>void f(T *a,int n){int k;T t;for (int i=0;i<n-1;i++){k=i;for (int j=i+1;j<n;j++)if(a[k]>a[j]) k=j;t=a[i];a[i]=a[k];a[k]=t;}}void main(){double d[5]={12.3,4.5,-23.4,-90.4,0};char a[5]={'B','F','A','x','E'};f(a,5);f(d,5);for (int i=0;i<5;i++)cout<<d[i]<<" "<<a[i]<<endl;}6、#include<iomanip.h>void main(){cout<<setprecision(4)<<123456<<endl<<123456.567;} 六、编程。