11-12面向对象程序设计(二)试卷(B)(带答案)
面向对象程序设计作业(带答案)
人工智能学院面向对象程序设计作业Java语言基础年级专业 2019级软件工程专业学号姓名成绩一、选择题1.下列标识符中,正确的是(C)。
A.class B. 123_rr C. _lei D. test&122.下列( D )的选项可以正确表示八进制8。
A.0x8 B. 0x10 C.08 D. 0103. 以下哪个是十进制数17对应的十六进制正确表示?( D )A. 017B. x11C. 0x17D. 0X114.在Java中,不属于整数类型的是( A )。
A.double B. long C. int D. byte5.在Java中,关于标识符的说明,不正确的是(D )。
A.严格区分大小写;B.长度不限;C.不能用关键字和保留字作为标识符;D.可以包含空格6.给出下面代码的输出结果。
( D )public class ByteAdd {public static void main(String args[ ]){byte a=10;byte b=100;byte c;c=a+b;System.out.println(a+"+"+b+"="+c);} }A.输出零B.输出 10+100=110C. 编译时正确,运行时将产生错误;D.编译时将产生错误;二、程序阅读题1. 对于以下程序,运行“java Abs”,将得到什么打印结果?public class Abs{static int a=0x11;static int b=0011;static int c='\u0011';static int d=011;public static void main(String args[]){ System.out.println(a);System.out.println(b);System.out.println(c);System.out.println(d);}}179179类和对象年级专业 2019级软件工程专业学号姓名成绩一、选择题1. 为了在当前程序中使用ch4中的类,可以使用的语句是( A )。
江苏大学大一计算机专业Java语言与面向对象程序设计考试试卷及参考答案2
江苏大学Java语言与面向对象程序设计考试试卷及参考答案2一、单项选择题(5’)1.下列语句序列执行后,b的值是()。
int a=2,b=4; if(a<--b)a*=a;A、5B、3C、15D、10答案:B2.下列程序段执行后b3的结果是()。
boolean b1=true,b2=true,b3; b3=!b2?b2:!b2;A、0B、1C、trueD、false答案:D3.为了使包sos中的所有类在当前程序中可见,可以使用的语句是()。
A、import sos.*;B、package sos.*;C、sos import;D、sos package;答案:A4.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句。
A. import java.awt.*B. import java.io.*C. import java.applet.AppletD. import java.awt.Graphics答案:B5.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。
这种面向对象程序特性称为()。
A. 隐藏B. 覆盖C. 重载D. Java不支持此特性答案:C6.下列关于修饰符混用的说法,错误的是()。
A、abstract不能与final并列修饰同一个类B、abstract类中不可以有private的成员C、abstract方法必须在abstract类中D、staic方法中能处理非static的属性答案:D7.执行下面程序段后,b,x,y的值分别是()。
int x=6,y=8;boolean b;b=x>y&&++x==--y;A、true,6,8B、false,7,7C、true,7,7D、false,6,8答案:D8.在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是()包。
南开大学理科《面向对象程序设计2-2》期末试卷附答案
南开大学理科《面向对象程序设计2-2》 2007级期末考试试卷(B 卷) 2008年6月任课教师 学院_______系别(班级)_______姓名_______ 学号________一、判断题(每空1分,共10分)(注意把答案写在题头相应横线上!答案T 表示正确,F 表示错误)注意:请将判断题结果(正确为T ,错误为F )写在下面相应位置上:⑴________⑵________⑶________⑷________⑸________⑹________⑺________⑻________⑼________⑽________ 1、一个类的静态数据成员被该类的所有对象共享。
( T ) 2、基类类型的指针可以指向其派生类对象。
( T )3、任何类都要有不必提供参数的构造函数(默认缺省构造函数)。
( F )4、在C++中,允许从一个类派生出任意多个类,但不允许某个类同时从多个类派生。
( F)5、抽象类虽然也是一种数据类型,但它不能建立对象,只能作为基类被其他类继承。
( T )6、一个类模板可以先建立对象,再实例化为相应的模板类,然后使用这个模板类。
( F )7、类中所提供的成员函数可以直接访问该类的私有成员。
( T ) 8、抽象类不能定义对象,但可以声明抽象类的指针或引用。
( T ) 9、私有继承中,对于基类中的所有成员,派生类的成员函数都不可直接访问。
( F )10、在C++中,可以声明虚构造函数和虚析构函数。
( F )二、单项选择(每空1分,共20分)( 注意把答案写在题头相应横线上!)注意:请将选择题结果写在下面相应位置上:⑴_______⑵_______⑶_______⑷_______⑸_______⑹_______⑺_______⑻_______⑼_______⑽_______⑾_______⑿_______⒀_______⒁_______⒂_______⒃_______⒄_______⒅_______⒆_______⒇_______1、下面对静态数据成员的描述中,正确的是()。
面向对象的程序设计语言――C++(第二版)-习题参考答案
面向对象的程序设计语言――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;语句。
面向对象程序设计(选择题)
B.成员构造函数先执行
C.两者并行执行
D.不能确定
标准答案是:B。
19、如果没有为一个类定义任何构造函数的情况下,下列描述正确的是(分数:2分)
A.编译器总是自动创建一个不带参数的构造函数
B.这个类没有构造函数
C.这个类不需要构造函数
D.该类不能通过编译
标准答案是:A。
20、一个类可包含析构函数的个数是(分数:2分)
A. (a+b)*h/2
B. (1/2)*(a+b)*h
C. (a+b)*h*1/2
D. h/2*(a+b)
标准答案是:B。
9、C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是(分数:2分)
A.增加了一些新的运算符
B.允许函数重载,并允许设置缺省参数
C.规定函数说明符必须用原型
D.引进了类和对象的概念
14、通常拷贝构造函数的参数是(分数:2分)
A.对象
B.对象的成员
C.对象的指针
D.对象的引用
标准答案是:D。
15、应在下列程序划线处填入的正确语句是【】#includeclass Base{public:void fun(){cout<><>(分数:2分)
A. fun()
B. Base.fun();
A. LANGUAGE
B. language
C. lang
D. langUAGE
标准答案是:C。
17、设a、b和c都是int型变量,且a=7,b=8,c=9,则表达式(a*b)/c+6-14%c的值为(分数:2分)
A. 6
B. 7
C++面向对象程序设计(试题与答案)
模拟试题(1)一、判断对错题(10%)(对√,错×)()1.自动变量用堆方式创建,它与块共存亡。
()2.运算符+=是右结合的。
()3.表达式cout<<99的类型为int。
()4.++i是左值,但i++不是左值。
()5.Y[I][J]与*(*Y+I)+J不等价。
()6.从外部看类的private 成员和protected成员有区别。
()7.运算符&不可以重载。
()8.基类的protected成员经过protected派生,在派生类中它变成了private成员。
()9.2.0/-3.0是一个正确的表达式。
()10.字符'\12'的ASCII为12。
二、填空题(20%)#include <iostream.h>typedef struct node{long data;node * next;};class stack{private:node * head;①__________stack();~stack();void push (②__________);③__________ pop();④__________ print();};stack::stack(){ head = new ⑤__________head->next = ⑥__________ }stack::~stack(){node * p;p = head;while (p){head = head->next;⑦__________p = head;}}void stack::push(long x){node * p = new node;p->data = x;p->next = head->next;⑧__________ = p;cout<<"Push" <<x<<" ok !"<<endl;}long stack::pop(){node *p = head->next;if(p!=NULL){long x = p->data;head->next = p->next;⑨__________cout<<"pop "<<x<<" ok !"<<endl;return x;}elsecout<<"Stack is empty !"<<endl;return 0;}void stack::print(){node * p = head->next;cout<<"Stack_Top"<<endl;while (p){cout<<p->data<<endl;⑩__________;}cout<<"Stack_bottom"<<endl;}三、简答题(20%)(按条列出论点)1.注解。
面向对象程序设计课后答案(完整版)
第二章2-4#include <iostream>using namespace std;Add(int a,int b);int main(){int x,y,sum;cout<<"please input x and y:";cin>>x>>y;sum = add(x,y);cout <<x<<"+"<<y<<"="<<sum<<endl;}Add(int a,int b){return a+b;}2-5(1)this is a C++ program.(2)x=50.6 y=10 z=Ax=216.34 y=10 z=Ax=216.34 y=2 z=Ax=216.34 y=2 z=E(3)x y z500 1000 0500 1500 1500500 200 15002-6#include <iostream>using namespace std;int main(){int *p,*init;int countp=0;int countn=0;p = new int[20];init = p;for(int i=0;i<20;i++){cin>>*p;p++;}p = p-20;for( i=0;i<20;i++){if(*p>0) countp++;if(*p<0) countn++;cout<<*p<<" ";p++;}cout<<"正数有:"<<countp<<endl; cout<<"负数有:"<<countn<<endl;p = init;delete[] p;return 0;}2-7不做要求#include <iostream>//#include <string>using namespace std;void checkagescore(string name,int age) {if (name == "exit") throw name;if(age<0||age>50)throw age;int main(){string name;int age;for(int i=0 ;i<5 ;i++ ){cin.ignore ();getline(cin,name );cin>>age ;try{checkagescore(name,age);}catch( string){cout<<"exception :name is exit"<<endl;continue;}catch(int){cout<<"exception :age is not proper"<<endl;continue;}cout<<"name:"<<name<<" age :"<<age<<endl;}return 0;}第三章3-1(1)A (2)C (3)B (4)C (5)C(6)B (7)B (8)C (9)C3-7(1)main()函数中p1.age = 30;语句是错误的。
(完整版)面向对象程序设计试卷及答案
考试试卷A(答案)面向对象程序设计注意事项:1。
请考生按要求在试卷装订线内填写姓名、学号和年级专业。
2. 请仔细阅读各种题目的回答要求,在规定的位置填写答案。
3。
不要在试卷上乱写乱画,不要在装订线内填写无关的内容.4。
满分100分,考试时间为120分钟。
一。
单项选择(本大题共10小题,每小题3分,共30分)1. C#中每个int类型的变量占用( B )个字节的内存。
(A)8 (B)4 (C)2 (D)12。
面向对象的特点是( A )(A)封装、继承、多态(B)抽象、封装、多态(C)抽象、继承、封装(D)抽象、多态、重载3。
C#控制台程序的主入口点是( C )(A) Page_Load函数(B)Run函数(C)Main函数(D)Form_Load函数4。
引用类型存储在( B )中。
(A)堆栈(B)堆内存(C)队列(D)列表5. 在C#中,表示一个字符串的变量应使用以下哪条语句定义( B )(A)CString str (B)string str(C)Dim str as string (D)char *str6。
在中,用来与数据源建立连接的对象是( A )。
(A)Connection对象(B)Command对象(C)DataAdapter对象(D)DataSet对象7. 在类的定义中,类的( B )描述了该类的对象的行为特征.(A)类名(B)方法(C)所属的名字空间(D)私有域8. 如果未显式赋值,则将整型值( B )赋给枚举中的第一个元素。
(A)1 (B)0 (C)2 (D)39. float类型的值可以隐式转换成( C )类型的值而保持值不被改变。
(A)char (B)long (C)double (D)int10。
在C#中,假设Class1是一个类,而IExample是一个接口,下面的( A )类声明是正确的。
(A)class Employee: Class1, IExample(B )class Employee : IExample , Class1(C )class Employee- Class1, IExample(D )class Employee: Class1/IExample二.判断题(本大题共5小题,每小题3分,共15分)1. C#中子类可以继承多个基类,也可以继承一个接口。
郑州大学《面向对象程序设计》1-12章在线测试题库
《面向对象程序设计》第02章在线测剩余时间:59:56试答题须知:1、本卷满分20分.2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。
第一题、单项选择题(每题1分,5道题共5分)1、在关键字public后面定义的成员为类的()成员。
A、私有B、公用C、保护D、任何2、当一个类对象结束它的生存期的时侯,系统自动调用该类的( )。
A、无参构造函数B、带参构造函数C、拷贝构造函数D、析构函数3、类的构造函数被自动调用执行的情况是在定义该类的 ( )A、成员函数时B、数据成员时C、对象时D、友元函数时4、假定AB为一个类,则执行“AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。
A、0B、1C、2D、35、假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指针,则执行“delete []px;"语句时共调用该类析构函数的次数为( )。
A、0B、1C、nD、n+1第二题、多项选择题(每题2分,5道题共10分)1、下面有关类说法正确的是(A,B,D )A、一个类可以有多个构造函数B、一个类只有一个析构函数C、析构函数需要指定参数D、在一个类中可以说明具有类类型的数据成员2、关于封装,下列说法中正确的是()。
A、通过封装,对象的全部属性和操作结合在一起,形成一个整体B、通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C、通过封装,每个对象都成为相对独立的实体D、通过封装,对象的属性都是不可见的3、定义析构函数时,错误的说法是()。
A、其名与类名完全相同B、返回类型是 void 类型C、无形参,也不可重载D、函数体中必须有 delete 语句4、假定AA为一个类,a为该类私有的数据成员,GetValue()为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的语句错误的是()。
面向对象程序设计期末试卷B
1绍兴文理学院 2011 学年 01学期信计 专业 09 级《面向对象程序设计》试卷(答题卷) (B)(考试形式:闭卷 )一、选择题: (共15分,每小题1分)1.在C++中,函数原型不能标识( )A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能 p108有叙述 2.在C++程序中,对象之间的相互通信通过( ) ? A.继承实现 B.调用成员函数实现 C.封装实现 D.函数重载实现 3.对于任意一个类,析构函数的个数最多为( )A.0B.1C.2D.3 4.下面函数模板定义中不正确的是( )A.template<class Q>B.template<class Q> QF(Q x){ QF(Q x){ return Q+x; return x+x; } }C.template<class T>D.template<class T> TF(T x){ TF(T x){ return x*x; return x>1; } } 5.友元关系不能( ) A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系 p316D.提高程序的运行效率6.语句ofstream f(〃SALARY.DAT 〃,ios::app |ios::binary);的功能是建立流对象f ,试图打开文件SALARY.DAT 并与之连接,并且( )A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件 7.下面说法正确的是( )A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline 定义8.可以用p.a 的形式访问派生类对象p 的基类成员a ,其中a 是( ) A.私有继承的公有成员 B.公有继承的私有成员 C.公有继承的保护成员 D.公有继承的公有成员9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( ) A.派生类的对象可以赋给基类的对象 B.派生类的对象可以初始化基类的引用 C.派生类的对象可以直接访问基类中的成员 D.派生类的对象的地址可以赋给指向基类的指针 10.对于类定义 class A{ public:virtual void func1( ){ } void func2( ){ } };class B:public A{ public:void func1( ){cout<<〃class B func 1〃<<end1;} virtual void func2( ){cout<<〃class B func 2〃<<end1;} };下面正确的叙述是( )A. A::func2( )和B::func1( )都是虚函数B. A::func2( )和B::func1( )都不是虚函数C. B::func1( )是虚函数,而A::func2( )不是虚函数D. B::func1( )不是虚函数,而A::func2( )是虚函数11. 关键字 ____________ 说明对象或变量初始化后不会被修改。
(完整版)面向对象分析与设计练习题含答案
面向对象分析与设计试题B卷一、单项选择题( 在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题2 分,共20 分)/* 上个世纪80年代开始至今还盛行的以Smalltalk,C++等为代表的面向对象软件开发方法(00)*/1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。
A. Simula67语言(20世纪70年代的Simula-67是第一个面向对象的语言)B. Smalltalk语言(80年代初的Smalltalk语言)C. Java语言(对流行的语言进行面向对象的扩充得到的语言或C++)D. 统一建模语言(UML)的标准2. 面向对象的运动产生了多种面向对象的语言, 其中(C)是一种混合性面向对象语言, 既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。
A. SmalltalkB. EiffelC. C++D. Java3.下列不属于面向对象技术的基本特征的是(B)。
A. 封装性B. 模块性C. 多态性D. 继承性4. 面向对象程序设计将描述事物的数据与( C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。
A. 信息B. 数据隐藏C. 对数据的操作D. 数据抽象5. 关于面向对象方法的优点,下列不正确的叙述是(C)。
A. 与人类习惯的思维方法比较一致B. 可重用性好C. 以数据操作为中心D.可维护性好6.(D)是从用户使用系统的角度描述系统功能的图形表达方法。
A. 类图B. 对象图C. 序列图D. 用例图7. (C ) 是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。
A.对象图 B. 组件图 C. 类图 D. 配置图**8.(D)描述了一组交互对象间的动态协作关系,它表示完成某项行为的对象和这些对象之间传递消息的时间顺序。
《面向对象程序设计C--》期末试卷及标准答案集总解析
《面向对象程序设计C++》期末考试试卷(B)班级:姓名:学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。
(答题纸在本套试卷的第8页上)】一、单项选择题(每小题2分,共40分)1、关于C++与C语言关系的描述中,( D )是错误的。
A.C语言是C++语言的一个子集B.C语言与C++语言是兼容的C.C++语言对C语言进行了一些改进D.C++语言和C语言都是面向对象的2、已知:int m=10; 下列表示引用的方法中,(A )是正确的。
A.int &x=m; B.int &y=10; C.int &z; D.float &t=&m;3、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是( C )。
>A.testDefaulParam(5); B.testDefaulParam(5,8); C.testDefaulParam(5,'#'); D.testDefaulParam(0,0,'*');4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是( A )。
A.函数的返回值类型B.参数的类型C.函数名称D.参数个数5、下列有关C++类的说法中,不正确的是( D )。
A.类是一种用户自定义的数据类型B.只有类中的成员函数或类的友元函数才能存取类中的私有成员C.在类中,如果不做特别说明,所有成员的访问权限均为私有的^D.在类中,如果不做特别说明,所有成员的访问权限均为公用的6、已知X类,则当程序执行到语句X array[3];时,调用了(D )次构造函数。
A.0 B.1 C.2 D.37、有关析构函数的说法,不正确的是( B )。
A.析构函数有且仅有一个B.析构函数和构造函数一样可以有形参C.析构函数的功能是在系统释放对象之前作一些内存清理工作D.析构函数无任何函数类型。
面向对象程序设计模拟练习题(含答案)
面向对象程序设计模拟练习题(含答案)一、单选题(共50题,每题1分,共50分)1、下列关于JDK和JRE的说法中,错误的是()A、JDK是java开发核心组件,是用来编译解释java程序的核心组件B、JDK包括Java编译器、Java文档生成工具、Java打包工具等C、JRE是个单独的软件,所以安装JDK后,还需要单独安装JRED、JRE是java运行环境,用来支持java程序的运行正确答案:C2、下列File类的构造方法格式,错误的是()A、File(File parent)B、File(String pathname)C、File(String parent,String child)D、File(URI url)正确答案:A答案解析:A选项,正确的应该是File(File parent, String child)3、下列关于静态变量的描述中,错误的是()A、静态变量指的是被static修饰的变量B、静态变量是随着类的加载而加载C、静态变量可以被所有的实例对象共享D、静态变量同成员变量一样,都需要通过实例对象来调用正确答案:D答案解析:静态变量是通过“类名.变量名”“方式调用的。
4、下列对于Runtime的描述中,正确的是()A、每一个Java应用程序运行时都产生一个Runtime类实例B、Runtime实例可以将应用程序和运行环境相结合C、Runtime类有构造函数D、Runtime实例需要被创建后才可以通过getRuntime()方法获取正确答案:A答案解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。
每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。
5、下列关于LinkedList类的方法,不是从List接口中继承而来的是()A、toArray()B、pop()C、remove()D、isEmpty()正确答案:B答案解析:pop()方法表示移除并返回此列表的第一个元素,是LinkedList特有的方法。
java试卷B答案
物理与电信工程学院2011—2012学年第(一)学期期末考试《Java程序设计》试卷(B)一、选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干前的括号内。
每小题1分,共20分)(D )1、数组中可以包含什么类型的元素?_____________。
A、int型B、 string型C、数组D、以上都可以(A )2、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )(B )3、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。
A..javaB..classC. .htmlD. .exe(D)4、如果类中的成员变量可以被同一包访问,则使用如下哪个约束符?A、 privateB、publicC、protectedD、no modifier(C )5、以下哪个方法用于定义线程的执行体?A、 start()B、init()C、run()D、main()(D )6.MAX_LENGTH是int型public成员变量, 变量值保持为常量100,用简短语句定义这个变量。
A、 public int MAX_LENGTH=100;B、 final int MAX_LENGTH=100;C、 final public int MAX_LENGTH=100;D、 public final int MAX_LENGTH=100.(B )7.下面哪些选项是正确的main方法说明?A、public main(String args[])B、 public static void main(String args[])C、private static void main(String args[])D、void main()(A )8. ,JA V A对象主要属性有________。
面向对象程序设计考试模拟题(附参考答案)
面向对象程序设计考试模拟题(附参考答案)一、单选题(共10题,每题1分,共10分)1、下面关于javac命令作用的描述中,正确的是()。
A、可以执行java程序B、可以将编写好的Java文件编译成.class文件C、可以把文件压缩D、可以把数据打包正确答案:B答案解析:javac命令将java文件编译成java字节码文件。
2、下列关于构造方法的描述,错误的是()A、在构造方法中不能使用return语句返回一个值,但是可以单独使用return作为方法的结束B、一个类中只能定义一个空参数的构造方法C、构造方法的方法名前面没有返回值类型的声明D、一个类中可以定义多个构造方法正确答案:B3、以下关于成员属性与成员方法的描述中,错误的是()A、成员属性我们也叫成员变量,它就是描述对象的特征。
它可以定义在类中,也可以定义在方法中B、成员方法用于描述对象的行为C、在类中定义的变量,我们称为成员变量D、在类中定义的方法,我们称变成员方法正确答案:A答案解析:类中可以定义成员变量和成员方法,其中成员变量用于描述对象的特征,也被称作属性,成员方法用于描述对象的行为,可简称为方法。
定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。
4、FileWriter类的write(int c)方法的作用是()A、写出单个字符B、写入多个C、写入一个整形数据D、写入单个字符正确答案:D答案解析:write(int c)方法用于写入单个字符。
5、下列关于集合的描述中,哪一个是错误的()A、集合按照存储结构可以分为单列集合Collection和双列集合Map。
B、List集合的特点是元素有序、元素可重复。
C、Set集合的特点是元素无序并且不可重复。
D、集合存储的对象必须是基本数据类型。
正确答案:D答案解析:集合可以存储多种数据类型的数据,包括引用数据类型。
6、下列关键字中,哪个不能修饰接口中的成员变量?()A、publicB、staticC、finalD、private正确答案:D答案解析:接口中的成员变量其实是一个常量,用public static final 修饰,所以,用private修饰是错误的。
面向对象程序设计》期末试卷及标准答案
《面向对象程序设计C++》期末考试试卷(A)班级:姓名:学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。
(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是(C )。
A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括( D )。
A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=( B )。
A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*'); 下面函数调用中,不合法的是( C )。
A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是( C )。
A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,( A )是正确的。
《Java面向对象程序设计》科目考试卷及答案
安徽财贸职业学院2011—2012学年第二学期 《Java 面向对象程序设计》期末试卷(B 卷)适用班级:软件1101一、单选题(每小题1分,共30分)1.在MyEclipse 中,( )视图可以将项目中包含的文件及层次结构展示出来。
A) Package B)Declaration C)Navigator D) Console 2.下列标识符中,正确的是( )。
A)class B) 123_rr C) _lei D) test&12 3.下列的( )选项可以正确用以表示八进制值8。
A )0x8 B )0x10 C )08 D )010 4.以下哪个不是Java 的原始数据类型( ) A) int B) boolean C) float D) Char 5.下列有关Java 布尔类型的描述中,正确的是( ) A)一种基本的数据类型,它的类型名称为boolean B)用int 表示类型C)其值可以赋给int 类型的变量 D)有两个值,1代表真,0代表假6.在Java 中,不属于整数类型变量的是( ) A) double B) long C) int D) byte 7.以下do-while 语句构成的循环执行次数是( )。
int k=0;do { ++k ;}while(k<1);A) 一次也不执行 B) 执行1次 C) 无限次 D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为( )。
A) true B) false C) 0 D) 运行时抛出异常 9.以下( )表达式不可以作为循环条件 A) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是( ) A) 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数组元素错误的引用是()A) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。
软件设计师面向对象方法学(二)
[模拟] 软件设计师面向对象方法学(二)选择题第1题:在面向对象系统中,用______关系表示一个较大的“整体”类包含一个或多个较小的“部分”类。
A.泛化B.聚合C.概化D.合成参考答案:B面向对象分析与设计中的(2) 是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的;而(3) 是指子类应当可以替换父类并出现在父类能够出现的任何地方。
第2题:A.开-闭原则B.替换原则C.依赖原则D.单一职责原则参考答案:A第3题:A.开-闭原则B.替换原则C.依赖原则D.单一职责原则参考答案:B第4题:在选择某种面向对象语言进行软件开发时,不需要着重考虑的因素是,该语言______。
A.将来是否能够占据市场主导地位B.类库是否丰富C.开发环境是否成熟D.是否支持全局变量和全局函数的定义参考答案:D(5) 限制了创建类的实例数量,而(6) 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
第5题:A.命令模式(Command)B.适配器模式(Adapter)C.策略模式(Strategy)D.单例模式(Singleton)参考答案:D第6题:A.命令模式(command)B.适配器模式(Adapter)C.策略模式(Strategy)D.单例模式(Singleton)参考答案:B在UML的各种视图中,(7) 显示外部参与者观察到的系统功能;(8) 从系统的静态结构和动态行为角度显示系统内部如何实现系统的功能;(9) 显示的是源代码以及实际执行代码的组织结构。
第7题:A.用例视图B.进程视图C.实现视图D.逻辑视图参考答案:A第8题:A.用例视图B.进程视图C.实现视图D.逻辑视图参考答案:D第9题:A.用例视图B.进程视图C.实现视图D.逻辑视图参考答案:C第10题:下面关于面向对象分析与面向对象设计的说法中,不正确的是______。
A.面向对象分析侧重于理解问题B.面向对象设计侧重于理解解决方案C.面向对象分析描述软件要做什么D.面向对象设计一般不关注技术和实现层面的细节参考答案:D在面向对象分析与设计中,(11) 是应用领域中的核心类,一般用于保存系统中的信息,以及提供针对这些信息的相关处理行为;(12) 是系统内对象和系统外参与者的联系媒介;(13) 主要是协调上述两种类对象之间的交互。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华侨大学面向对象程序设计(二)试卷(B)系别考试日期2012年06月27日姓名学号成绩一、填空题(15分,每空1分)1.类的成员包括____________和_____________。
(数据成员/函数成员)2.建立一个类对象时,系统自动调用____________。
(构造函数)3.如果希望类的成员为该类所有对象所共享,可以使用关键字________来修饰。
(static)4.如果希望完成所谓的深拷贝,需要重载_______构造函数。
(拷贝)5.类成员的访问控制包括_________、_________和__________。
(public/protected/private)6.不属于类成员但却可以访问类的私有数据变量的函数是该类的_________。
(友元函数)7.运算符>>和<<重载只能通过__________函数实现。
(友元)8.类定义中,默认的访问控制是_______。
(private)9.C++函数中参数值的传递方式有________、__________、_________。
(值传递/指针传递/引用传递)10.继承关系可以是public、protected和________。
(private)二、选择题(20分,每小题2分)1.类名称不能以开头。
A) 小写字母B) 大写字母C) 数字D) 下划线下列选项中,不是C++关键字的是______。
A)class B) virtual C) public D) object2.对于类Base,如果没有为其定义构造函数,系统将自动为我们创建一个形为_____的默认构造函数。
A)Base(const Base&); B) Base(int x=0);C)void Base(void); D) Base();3.对于类Base,下列选项______是合法的析造函数。
A)void ~Base(){} B) ~Base(){} C) int ~Base(){} (D) Base ~Base(){}4.下列语句中,_______不能为我们定义一个常量。
A)#define PI 3.1415926B)#define PI=3.1414926C)const double PI=3.1415926;D)const static double PI=3.1415926;5.为了提高函数调用的实际运行速度,可以将较简单的函数定义为______。
A)递归函数B) 友元函数C) 内联函数D) 成员函数6.下列运算符中,______运算符不能被重载。
A)?: B)+ C)[ ] D) >>7.下列关于构造函数的描述中,错误的是______。
A)构造函数可以没有参数B)构造函数不可以设置默认参数C)构造函数可以是内联函数D)构造函数可以重载8.下面描述中,表达错误的是_______。
A)公有继承时基类中的public成员在派生类中仍是public的B)公有继承时基类中的private成员在派生类中仍是private的C)公有继承时基类中的protected成员在派生类中仍是protected的D)私有继承时基类中的public成员在派生类中是private的9.运算符重载是对已有的运算符赋予多重含义,因此_______A)可以对基本类型(如double类型)的数据,重新定义“+”运算符的含义B)可以改变一个已有运算符的优先级和操作数个数C)C++中已经有的所有运算符都可以重载D)只能重载C++中已有的运算符,不能定义新运算符10.已知类MyInt的定义如下:class MyInt{int data;public:MyInt(int d) { data = d; }};下列对MyInt类对象数组的定义和初始化语句中,正确的是A)MyInt myInts[3];B)MyInt myInts[3] = {MyInt(2)};C)MyInt myInts[3] = {MyInt(3), MyInt(4), MyInt(5)};D)MyInt* myInts = new MyInt[3];三、阅读以下程序并填空(填上正确的语法成分),使其成为完整的程序(20分,每空2分)(1).已知向量MyVector的定义如下,data存放数据,capacity是当前分配的空间大小,length是data里实际存放的元素数目。
(1)实现构造函数,分配大小为n的空间,并都初始化为0;(2)实现析构函数,释放分配的空间;(3)重载流插入运算符<<,将当前data的所有元素都依次打印出来,格式如3 2 4 5。
class MyVector{int *data; //指向存放数组数据的空间int capacity; //当前分配的空间大小int length; //当前实际的元素数目public:MyVector(int n);~MyVector(){ delete ____(1)______; }int& operator[](int i);___(2)___ostream& operator<<(ostream& out, const MyVector& mv);};MyVector::MyVector(int n){ //实现构造函数assert(n>0);data = ______(3)______;capacity = n;length = 0;for(int i = 0; i<n; i++) *(data+i) = 0;}ostream& operator<<(ostream& out, const MyVector& mv){//重载运算符<<for( int i =0; __(4)__; i++)out << ___(5)______ << ““;out << endl;return out;}(1) [] data (2) friend (3) new int[n] (4) i < mv.length (5) *(mv.data+i)(2).类Derived公共继承于Base。
Base的构造函数有一个参数i用于初始化其数据成员v。
Derived的构造函数有三个参数val1,val2和val3,分别用于初始化Base的数据成员v 以及Derived的数据成员v1、v2。
class Base{int v;public:Base(int i):____ (6)______{}};class Derived:____(7)______ {int v1,v2;public:Derived(int val1, int val2, int val3):____(8)_____, ____(9)_____,__ (10)______ {}};(6) v(i) (7) public Base (8)Base(val1) (9)v1(val2) (10) v2(val3)四、读程序,写出运行结果(25分,每题5分)1.void f(int i){static int calledTimes = 0;cout << "No. " << ++calledTimes << " in f(" << i << ")" << endl;}int main(){int i = 0;for( int i = 0; i < 5; i++) f(i+1);cout << "i = " << i << endl;}答案:2.class Base{public:void print(){cout<<"In Base::print() "<< endl;};}class Derived:public Base{public:void print(){Base::print();cout<<"In Derived::print()"<< endl;}};int main(){Derived d;d.print();return 0;}答案:In Base::print()In Derived::print()3.class A {public:A(int i=0,int j=0) {a=i;b=j;}v oid print( ) { cout<<”a=”<<a<<”,b=”<<b<<endl;}private :int a,b;};void main( ){A m,n(4,8);m.print( );n.print( );}答案:a=0,b=0a=4,b=84.class MyClass{public:MyClass(){ cout << "MyClass()" << endl;}MyClass(const MyClass& another){ cout << "MyClass(const MyClass& another)" << endl;}MyClass& operator=(const MyClass& rhs){ cout << "operator=()" << endl; return *this;}};int main(){MyClass mc1;MyClass mc2 = mc1;MyClass mc3(mc2);mc1 = mc3;return 0;}答案:5.class Animal{public:Animal(){ cout << "Animal::Animal()" << endl; }~Animal(){ cout << "Animal::~Animal()" << endl; }};class Tigger:public Animal{public:Tigger(){ cout << "Tigger::Tigger()" << endl; }~Tigger(){ cout << "Tigger::~Tigger()" << endl; }};class Cat:public Tigger{public:Cat(){ cout << "Cat::Cat()" << endl;}~Cat(){ cout << "Cat::~Cat()" << endl;}};int main(){Cat animal;}答案:五、编程题(共20分)1.请实现以下三个分别可以支持两个、三个和n个整数相加的重载函数。