面向对象程序设计填空题
- 格式:docx
- 大小:16.68 KB
- 文档页数:2
把对象实例化可以生成多个对象,利用_________运算符为对象分派内存空间。
java程序引入接口的概念,是为了弥补只允许类的________的缺憾。
java语言以_______为程序的大体单位,它是具有某些一路特性实体的集合,是一种抽象的概念。
抽象方式只能存在于抽象类中。
抽象方式用关键字________来修饰。
java语言中_______是所有类的根.在java中有一种叫做_______特殊方式,在程序顶用它来对类成员进行初始化.new是______对象的操作符.继承主要强音调类在父类的基础上取”长”补”短”,而______主要强调的是类与类之间的传输咱们在java程序中,把关键字________加到方式名称的前面,来实现子类挪用父类的方式概念一个类包括概念类头和概念______两个部份在java程序里,同一类中重载的多个方式具有相同的方式名和_____的参数列表.重载的方式可以有不同的返回值类型java是面向对象语言,对象是客观事物的_______,对象与之是一一对应的,它是很具体的概念.java语言通过接口支持______继承,使类继承具有更灵活的扩展性一个对象的生命周期包括三个阶段:生成, ______ 和清除java语言中,挪用方式时,参数传递是______挪用,而不是地址挪用接口是一种只含有抽象方式或______的一种特殊抽象类创建一个类就是创建一个新的数据类型,而类在java中属于______数据类型。
abstract方式________(不能或能)与final并列修饰同一个类若是一个类中概念了几个名为method的方式,这些方式的参数都是整数,则这些方式的________必需是不同的,这种现象称为方式的重载。
在面向对象概念中,整个世界是由各类各样的_____________组成的。
______________是一套高度优化的指令集,它由Java运行期解释器执行,帮忙Java实现了可移植性和安全性。
面向对象的程序设计语言――C++(第二版)-习题参考答案课后习题答案以及代码习题参考答案第1章1.填空题C++语言概述(1)函数说明,函数体(2)声明区,主程序区,函数定义区(3)多态性(4)namespace,using(5)std(6)cin,(7)//(8)对数据的操作2.判断题(1)对(2)错(3)错(4)错(5)错3.改错题(1)没有函数体,应改为void main() {};(2)语句没有分号,应改为using namespace myspace;(3)cout和操作符共同完成输出的功能,应改为cout“ Input your name:";(4)应改为#include iostream.h4.简答题5.编程题(略)(略)第2章1.选择题基本数据类型、运算符与表达式(1)B (2)D (3)B (4)D (5)B课后习题答案以及代码2.简答题(1)(a)、(c)(e)、(f)、(g)、(h)、(i)(2)(a)、(g)、(i)、(j)(3)(a)5.5(b)0(c)20(d)0,0(e)1(f)1,2(g)3(h)-40(i)2(j)3(k)s1='0's1='9'(l)N!=03.读程序写结果(1)0,15(2)(1、1、1),(-1、-1、-1)(3)(a)a*a+2*a*b+b*b(b)4.0/3.0*3.__-__R*R*R(c)5.0/9.0*(F-32)(d)b=ab=c(4)364143(5)x=14.编程题(略)第3章1.选择题(1)B (2)A (3)A (4)C2.判断题(1)错(2)对(3)对(4)错3.读程序写结果(1)C++的控制语句5)A 5)错((课后习题答案以及代码12 23 3 34 4 4 45 5 5 5 5(2)11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 1(3)j的值为0;i的值为2;4.编程题(略)第4章1.填空题函数(1)void(2)静态全局变量,static(3)函数重载(4)inline(5)递归函数(6)宏定义命令,文件包含命令,条件编译命令2.判断题(1)错(2)错(3)错(4)错(5)错(6)对(7)错(8)错(9)对(10)对3.读程序写结果(1)x=7,y=4x=9,y=5(2)34.56101(3)162228(4)12 15 18 21 24课后习题答案以及代码(5)2,1,4,1,3,2,1,4.简答题5.编程题(略)(略)第5章1.选择题构造数据类型(1)C (2)D (3)A (4)B (5)C 2.判断题(1)错(2)对(3)对(4)错(5)错3.读程序写结果(1)153(2)422 5 6 8 10(3)__,21(4)419(5)6904(6)43214.编程题(略)第6章1.填空题(1)类,对象,类(2)数据成员,成员函数(3)不能(4)private,protected,public,private (5)成员函数类和对象课后习题答案以及代码(6)friend(7)类名,作用域运算符(8)对象名.成员名,指针变量名-成员名,(*指针变量名).成员名(9)构造,析构,构造,析构(10)常量数据,引用数据(11)全局,数据类型,所属的类(12)常成员,只读(13)成员,友元(14)类数据成员,类成员函数(15)this(16)浅拷贝2.选择题(1)C (2)C (3)B (4)C (5)B(6)C (7)D (8)B (9)C (10)D(11)A (12)C (13)D (14)D (15)B3.改错题(1)man1.salary=1000.00; 不能在类外访问类的私有成员(2)float r=0;和float c=0; 类本身是抽象的,不能在类的定义体中给其数据成员赋值}后缺少分号“;”(3)成员函数void setdata(float x1,float y1,float r);没有实现(4)构造函数名point()应与类名同名,为Point没有头文件包含#include iostream.h4.读程序写结果题(1)x=0,y=0x=100,y=200(2)x=100,y=200x=1000,y=2022年t=3.14(3)Sta::fun2()=10s.fun2()=11r.a=20(4)Constructor1 called!x=0Constructor2 called!x=100Destructor called!Destructor called!(5)课后习题答案以及代码575.简答题6.编程题(略)(略)第7章1.填空题(1)继承(2)基类,派生类(3)private,protected,public,private (4)不可访问,保护,公有(5)私有(6)单(一),多(重)(7)赋值兼容规则(8)静态,动态(9)抽象类2.选择题继承和派生(1)B (2)A (3)B (4)C (5)B (6)A (7)D (8)B (9)B (10)B(11)D (12)B3.改错题(1)本题的错误主要是数据成员的访问权限问题:基类的私有成员在派生类中不可访问,如fb()函数中的a3=30;语句;类的私有和保护成员在类外不能访问,如main函数中的x.a2 =20;.a3=30; ,y.a2=200; ,y.a3=300; ,y.b2=2022年;和y.b3=3000;语句。
面向对象程序设计样卷一、选择题( 本大题共10小题, 每题2分, 共20分)4.在下列定义的引用中, ( B )是错误的。
A. int i;B. int i;int &j = i; float &j=i;C. float i;D. char d;float &j = i; char &e = d;5. 假定BB为一个类,则执行BB y;语句时将自动调用该类的( B )A. 有参构造函数B. 无参构造函数C. 拷贝构造函数D. 赋值重载函数7.下列对派生类的描述中, ( C )是错误的。
A. 一个派生类能够作为另一个派生类的基类B.派生类至少应有一个基类C. 基类中成员访问权限继承到派生类中都保持不变D.派生类成员除了自己定义的成员外, 还包含了它的基类成员10.控制输出格式的控制符中, ( D )是设置输出宽度的。
A.wsB.endsC. setfill()D.setw()二、填空题( 本大题共10小题, 每题2分, 共20分)1.以/*开始, 以*/结束, 在/*和*/之间的部分即为注释。
2.重载函数在参数类型或参数个数上不同, 但函数名和类名_相同。
3. 假如一个类的名称为MyClass, 使用这个类的一个对象初始化该类的另一个对象时, 能够调用__拷贝______构造函数来完成此功能。
4.当删除对象时, 程序自动调用析构函数。
5. 对于每一个类的非静态成员函数, 都有一个隐含的_this_______指针。
8. 抽象类是指类里有一个函数, 是纯嘘函数。
三、改错题( 下面程序或程序段中有一处错误, 请用注释标明错误所在行的出错原因。
本大题共5小题, 每题2分, 共10分) 1. #include<iostream>using namespace std;int main(){ cout<<"This is a program."<<endl;return 0;}2. #include<iostream>using namespace std;int main(){x=3;int y=x*x;cout<<"y="<<y<<"\n";return 0;}3. #include<iostream>using namespace std;class Aa{public:Aa(int i=0){a=i; cout<<"Constructor "<<a<<endl; } ~Aa(){ cout<<"Destructor "<<a<<endl; }void print( ){cout<<a<<endl;}private:int a;};int main(){Aa al(1),a2(2);al.print();cout<<a2.a<<endl;return 0;}4.class A{int a,b;public:A(int aa,int bb=78){a=aa;b=bb;} };int main(){A x(2), y(4,9);return 0;}5. #include<iostream>using namespace std;class Test{public:static int x;};int Test :: x=20;int main(){cout<<Test::x;return 0;}四、程序分析题( 分析程序, 写出运行结果。
一、java面向对象(50个)易:1.对象是由一组属性和对这组属性进行(操作)的一组服务组成的。
2.对象是指(具体)的事物,而类是指一类具有某种共性的事物。
3.由类来确定具体对象的过程称为类的(实例化)。
4.一个类由类声明和(类体)两部分组成。
5.当一个类的类修饰符为( final )时,说明该类不能被继承,即不能有子类。
6.Java程序在extends之后只能有一个父类,即extends只能实现(单)继承。
7.在Java中只能实现单继承,但可通过(接口)实现多重继承。
8.一个类可实现多个接口,各接口名是以(,)分隔。
9.在类体中声明的变量称为(成员)。
10.在方法中声明的变量称为(局部变量)。
11.在Java程序中,使用关键字(this)来引用当前对象。
12.一个方法的定义是由方法声明和(方法体)两部分组成。
13.方法声明包括(方法名)、返回类型和形式参数。
14.构造方法的方法名要求与(类名)相同,而且无返回值。
15.面向对象的三个特性是:封装性、继承性和(多态性)。
16.在Java中,通过对象的(封装),实现了模块化和信息隐藏。
17.两个方法具有相同的名字,相同的参数表和相同的返回类型,只是函数体不同,则称为方法的(重写)。
18.Java中通过关键字(super)来实现对父类成员的访问。
19.Java用( extends)关键字指明继承关系。
20.在Java中,用关键字(abstract)来修饰一个类,则该类为抽象类。
21.若某个类包含了抽象方法,则该类必须被定义为(抽象)类。
22.接口的定义,需使用关键字(interface)来声明。
23.声明父类时,需使用关键字(extends)来实现。
24.java语言中接口是特殊的类,其中包含常量和(抽象)方法。
25.当要引用包中所有的类时,类名可以用通配符(* )号代替。
26.一个类要从另一个类继承变量和方法,必须使用关键字(extends)。
27.(抽象)类不能被实例化,它不具备实际功能,只用于衍生子类。
【精品】C++面向对象程序设计题库(含答案)C++面向对象程序设计试题集一、填空题(每空2分,共20分)1. 设a、b、c都是int型变量,则a=(b=4)+(c=2)后,a值为_ _,b值为。
2. 在派生类的成员中有公有成员、、、四类成员。
3. 类Sample的构造函数将形参data赋值给数据成员data。
请将类定义补充完整。
class Sample{public: Sample(int data=0);Private: int data;};Sample::Sample(int data){4. 面向对象程序设计的机制提供了重复利用程序资源的一种途径。
5. 继承发生在利用现有类派生新类时,其中现有类称为,或父类;派生的新类称为,或。
6. 若表达式(x+(y-z)*(m/n))+3中的变量均为double型,则表达式值的类型为。
7. 已知数组a 中的元素个数为n,下列语句的作用是将下标为i 的元素移动到下标为i,1 的单元,其中1?i,n。
例如,当n=4,a 中原有数据为1,2,3,4 时,则移动后a 中元素为2,3,4,4。
请将语句补充完整:for(int i=0;i<n-1;i++) a[i]= 。
8. 类是对具有共同属性和行为的一类事物的抽象描述,共同属性被描述为类中的,共同行为被描述为类中的。
9. 类Sample的构造函数将形参data赋值给数据成员data。
请将类定义补充完整。
class Sample{public:Sample(int data=0);Private:int data; };Sample::Sample(int data){}10. 实现运行时多态,要使用函数。
11. 设A为test类的对象且赋有初值,则语句test B(A); 表示。
12. 在MyClass 类的定义中,对赋值运算符=进行重载。
请将画线处缺失的部分补充完整。
MyClass::operator=(const MyClass rhs) {if(this=&rhs) return *this;value=rhs. value;return *this; }13. C++语言中的每条基本语句以 ________作为结束符,每条复合语句以________ 作为结束符。
java面向对象程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 在Java中,以下哪个关键字用于声明一个类?A. classB. interfaceC. structD. enum答案:A2. Java中的继承是?A. 单继承B. 多继承C. 无继承D. 混合继承答案:A3. 下列哪个是Java中的访问修饰符?A. privateB. protectedC. publicD. 以上都是答案:D4. Java中哪个关键字用于实现多态?A. abstractB. finalC. staticD. override答案:D5. Java中接口和抽象类的主要区别是?A. 接口可以有构造方法B. 抽象类可以有构造方法C. 接口不能有构造方法D. 抽象类不能有构造方法答案:C6. 在Java中,下列哪个是正确的方法重载?A. 方法名相同,参数列表不同B. 方法名不同,参数列表相同C. 方法名和参数列表都相同D. 方法名相同,返回类型不同答案:A7. 下列哪个不是Java的集合框架中的接口?A. ListB. SetC. MapD. Stream答案:D8. Java中,下列哪个是线程安全的单例模式实现?A. 懒汉式B. 饿汉式C. 双重检查锁定D. 以上都是答案:B9. Java中,下列哪个是正确的异常处理关键字?A. tryB. catchC. finallyD. 以上都是答案:D10. 在Java中,下列哪个是正确的泛型使用方式?A. List<String> list = new ArrayList<>();B. List list = new ArrayList<>();C. List<String> list = new ArrayList<Integer>();D. List list = new ArrayList<String>();答案:A二、填空题(每题2分,共20分)1. Java中,一个类可以继承______个父类。
中国计量学院《面向对象程序设计》课程考试试卷(C)一、填空题(每空1分,共20分)。
1.所有的面向对象程序设计语言,都支持三个共同的本质特征___、___、___。
2.为了解决程序中函数调用的效率问题,引入了___,定义时需在函数前面加上___说明;为了提高程序的运行效率,引入了___,定义时需在函数前面加上___说明。
3.在类的定义当中,缺省的成员是__成员。
4.请填写下列表格(填写派生类中成员的类型)。
5.利用成员函数对二元运算符进行重载时,其左操作数为___,右操作数为___。
6.设置虚基类的目的是___,可通过___标识虚基类。
7.动态联编是在___的支持下实现的,它通过___来调用该函数操作。
二、选择题(每题2分,共20分)1.下列关于类型转换的描述中,()是错误的。
A、在不同类型操作数组成的表达式中,其表达式类型一定是最高类型double型;B、逗号表达式的类型是最后一个表达式的类型;C、赋值表达式的类型是左值的类型;D、由低向高的类型转换是保值映射。
2.()不是构造函数的特征。
A、构造函数的函数名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明3.在C++中,关于下列设置参数默认值的描述中,()是正确的。
A、不允许设置参数的默认值;B、设置参数默认值只能在定义函数时设置;C、设置参数默认值时,应该是先设置右边的,再设置左边的;D、设置参数默认值时,应该全部参数都设置4.关于new运算符的下列描述中,()是错误的。
A、它可以用来动态创建对象和对象数组;B、使用它创建的对象或对象数组可以使用运算符delete删除;C、使用它创建对象时要调用构造函数;D、使用它创建对象数组时必须指定初始值。
5.重载函数在调用时选择的依据中,()是错误的。
A、参数个数;B、参数的类型;C、函数名字;D、函数的类型6.下列描述中,()是抽象类的特性。
A、可以说明虚函数;B、可以进行构造函数重载;C、可以定义友元函数;D、不能说明其对象。
第6章面向对象程序设计一. 选择题1.下面有关类和对象的说法中, 不对的的是【】。
A) 类是系统提供的一种数据类型B) 对象是类的实例C) 类和对象的关系是抽象和具体的关系D) 任何一个对象只能属于一个具体的类2. 面向对象的特点重要概括为【】。
A) 可分解性、可组合型性和可分类性B) 继承性、封装性和多态性C) 封装性、易维护性、可扩展性和可通用性D) 抽象性、继承性和封装性3. 要使一个类能被同一命名空间中的其他类访问, 但不能被这个命名空间以外的类访问, 该类可以【】。
A) 不使用任何修饰符B) 使用private修饰符C) 使用public修饰符D) 使用internal修饰符4. 在C#中, 【】访问修饰符修饰的字段只能由当前程序集访问。
A) private B) public C) protected D) internal5. 类的字段和方法的默认访问修饰符是【】。
A) public B) private C) protected D) internal6. 下列关于构造函数的描述中, 不对的的是【】。
A) 构造函数中, 不可以包含return语句B) 一个类只能有一个构造函数C) 实例构造函数在生成类实例时被自动调用D) 用户可以定义无参构造函数7. 下列关于构造函数的描述中, 【】是对的的。
A) 构造函数名必须与类名相同B) 构造函数不可以重载C) 构造函数不能带参数D) 构造函数可以声明返回类型8. 下列的【】不是构造函数的特性。
A) 构造函数的函数名与类名相同B) 构造函数可以重载C) 构造函数可以带有参数D) 可以指定构造函数的返回值类型9. 类ClassA有一个名为M1的方法, 在程序中有如下一段代码, 假设该段代码是可以执行的, 则声明M1方法时一定使用了【】修饰符。
ClassA Aobj=new ClassA();ClassA.M1();A) public B) public static C) private D) virtual10. 在C#中, 从属性的读写特性上来进行分类, 可以划分为以下3种, 除了【】。
一、填空题(每空1分,共14分)1、观看以下程序:class point{public:void show() {cout<<”point”<<endl;}};void main(){point p1;point *p;p=&p1;_______________//通过对象p1访问show函数______________//通过指针p访问show函数}2、在C++类中可以包含______________、______________和______________三种具有不同访问控制权的成员。
3、定义类时,在类头中将使用关键字_____________来表示类定义的开始。
4、如果一个类中至少有一个纯虚函数,则该类称为________________。
5、C++类的组成包括数据成员和______________,友元_____(是、不是)该类的成员函数。
6、友员函数是用关键字____________修饰的非成员函数。
7、若有:int i;int &j=i;i=10;j=i+1;则i=__________,j=__________。
8、 new的功能是____________________,delete的功能是____________________。
二、选择题(每小题1.5分,共30分)1、下列特性中不是面向对象程序设计语言所特有的是()。
(A)数据封装(B)继承(C)多态性(D)模板2、()是给变量取一个别名,它引入了变量的同意词。
(A)指针(B)引用(C)枚举(D)结构3、类成员的访问权限中,()只能被本类的成员函数和其友元函数访问。
(A)share (B)public (C)private (D)protected4、关于构造函数,下列说法不正确的是()。
(A)构造函数名字和类名相同(B)构造函数在创建对象时自动执行(C)构造函数无任何函数返回类型(D)构造函数有且只有一个5、派生类可以访问其基类的()。
把对象实例化可以生成多个对象,使用_________运算符为对象分配内存空间。
java程序引入接口的概念,是为了弥补只允许类的________的缺憾。
java语言以_______为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。
抽象方法只能存在于抽象类中。
抽象方法用关键字________来修饰。
java语言中_______是所有类的根.
在java中有一种叫做_______特殊方法,在程序中用它来对类成员进行初始化.
new是______对象的操作符.
继承主要强调子类在父类的基础上取”长”补”短”,而______主要强调的是类与类之间的传输
我们在java程序中,把关键字________加到方法名称的前面,来实现子类调用父类的方法
定义一个类包括定义类头和定义______两个部分
在java程序里,同一类中重载的多个方法具有相同的方法名和_____的参数列表.重载的方法可以有不同的返回值类型
java是面向对象语言,对象是客观事物的_______,对象与之是一一对应的,它是很具体的概念. java语言通过接口支持______继承,使类继承具有更灵活的扩展性
一个对象的生命周期包含三个阶段:生成, ______ 和清除
java语言中,调用方法时,参数传递是______调用,而不是地址调用
接口是一种只含有抽象方法或______的一种特殊抽象类
创建一个类就是创建一个新的数据类型,而类在java中属于______数据类型。
abstract方法________(不能或能)与final并列修饰同一个类
如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的________必须是不同的,这种现象称为方法的重载。
在面向对象概念中,整个世界是由各种各样的_____________组成的。
______________是一套高度优化的指令集,它由Java运行期解释器执行,帮助Java实现了可移植性和安全性。
java接口内的方法都是公共的、____________的,实现接口就要实现接口内的所有方法。
_________是把成员变量和成员方法包装在一个类内以限定成员的访问,达到保护数据的一种技术。
用户自定义异常必须是______________类的直接或间接子类。
多态性可通过2种方式来实现,一个是_____________,另一个是_______________。
String类是_____________类,所以不可以被继承。
___________是由一种已有的类创建新类的机制,是面向对象程序设计的基石之一。
Java编译器会为所有程序自动导入包__________,因此不必再用import语句导入它包含的所有类。
___________可视为特殊的方法,它的主要角色是帮助创建的对象赋初值。
FileInputStream类直接继承自______________________;FileOutputStream类继承自___________。
创建一个多线程程序时可以通过继承____________类,也可以通过实现_____________接口。
虽然同一类对象的_______________都是一样的,但是每个对象的状态都是独立于其它对象的。
面向对象的3个最主要的特点是_________、__________、__________。
在Java语言中,用_________修饰符定义的类为抽象类。
在使用URL访问网络资源时,若要读取网络信息,需要使用_________________方法,返回一个输入流对象。
关系运算符的运算结果一定是___________数据类型。
通常情况下,我们定义类中的___________为public,______________为private。
重新抛出异常时使用关键字_______________。
用户自定义异常必须是______________类的直接或间接子类。
在java语言中,boolean型常量只有true和_____两个值。
标识符是以_____、下划线、美元符号作为首字母的字符串序列。
在java程序中,用关键字_____修饰的常量对象创建后就不能再修改了。
数据类型包括简单数据类型和复合数据类型。
复合数据类型又包括类、数组、______。
浮点型数据属于实型数据,分为float和______两种类型。
类变量在类中声明,而不是在类的某个方法中声明,它的作用域是______.
java语言中的各种数据类型之间提供自动转换,如第1操作数是byte类型,第2操作数是float类型,其结果是_____类型。
简答:
什么是Java反射机制。
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
什么是Java注解(Annotation)
注解(Annotation),也叫元数据。
一种代码级别的说明。
它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。
作用分类:
①编写文档② 代码分析③编译检查。