面向对象程序设计期末试卷B

合集下载

《面向对象高级设计》期末考试试卷(B卷)及答案

《面向对象高级设计》期末考试试卷(B卷)及答案

《面向对象高级设计》期末考试试卷(B 卷) 适用专业:1. 按要求编写Java 应用程序。

(20分) (1)建立一个名叫Cat 的类: 属性:姓名、毛色、年龄 行为:显示姓名、喊叫 (2)编写主类: 创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。

ChongZai ,该类中有3个重载的方法void print();其次, 再编写一个主类来测试ChongZai 类的功能。

(20分)3. 编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类E。

(30分)(1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak() 方法,在speak方法中输出“咿咿呀呀......”的信息。

(2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法中输出“小样的,不错嘛!会说话了!”的信息。

(3)在People类中新增方法void think(),在think方法中输出“别说话!认真思考!”的信息。

(4)在主类E的main方法中创建Monkey与People类的对象类测试这2个类的功能。

Vehicle,包含的属性有车轮个数wheels和车重weight。

小车类Car是Vehicle的子类,其中包含的属性有载人数loader。

卡车类Truck是Car类的子类,其中包含的属性有载重量payload。

每个类都有构造方法和输出相关数据的方法。

最后,写一个测试类来测试这些类的功能。

(30分)《面向对象高级设计》期末试卷答案(B)1///////////////catpublic class Cat {String name;String color;String age;public Cat(String name,String color,String age){ = name;this.color = color;this.age = age;}void SayName(){System.out.println(name);}void Call(){System.out.println(" 咪咪");}}//////////////TestCarpublic class TestCar {public static void main(String[] args) {Cat cat = new Cat("妮妮","灰色","2");System.out.println();System.out.println(cat.color);cat.SayName();cat.Call();}}2//////////////// ChongZaipublic class ChongZai {void print(){System.out.println("重载1");}void print(String a){System.out.println("重载方法2");}void print(String a,String b){System.out.println("重载方法3");}}////////////// TestChongZaipublic class TestChongZai {public static void main(String[] args) { ChongZai cz = new ChongZai();cz.print();cz.print("a");cz.print("a", "b");}}3////////// Monkeypublic class Monkey {public Monkey(String s){}public void speak(){System.out.println("咿咿呀呀......");}}//////////////Peoplepublic class People extends Monkey {public People(String s) {super(s);}public void speak() {System.out.println("小样的,不错嘛!会说话了!");}void think(){System.out.println("别说话!认真思考!");}}/////////////////Epublic class E {public static void main(String[] args) {Monkey monkey = new Monkey("a");monkey.speak();People people = new People("a");people.speak();people.think();}}4///////////Vehiclepublic class Vehicle {String wheels;String weight;public Vehicle(String wheels,String weight){this.weight = weight;this.wheels = wheels;}@Overridepublic String toString() {return wheels+weight;}}/////////Carpublic class Car extends Vehicle{String loader;public Car(String wheels, String weight,String loader) { super(wheels, weight);this.loader = loader;}public String toString() {return super.toString()+loader;}}//////////////Truckpublic class Truck extends Car{String payload;public Truck(String wheels, String weight, String loader,String payload) {super(wheels, weight, loader);this.payload = payload;}public String toString() {return super.toString()+payload;}。

《面向对象程序设计》期末考核试题样例及解答

《面向对象程序设计》期末考核试题样例及解答

《面向对象程序设计》期末考核试题样例及解答一、单项选择(每小题1分,12小题,共12分)1. 源程序文件的缺省扩展名为( )。

A. B. C. D.2. x>0 5的相反表达式为()。

A. x<=0 5B. x<=0 5C. x>0 5D. x>0 53. 在下面的字符数组定义中,有语法错误的是( )。

A. a[20]=“”;B. a[]=“55.”;C. a[15];D. a[10]=’5’;4. 以下正确的函数原型语句是( )。

A. ( y)B. ( y)C. ();D. ( );5. 在下面存储类中,()的对象不是局部变量。

A. 外部静态类B. 自动类C. 函数形参D. 寄存器类6. 假定有“ { [40]; ;}; * ;”,则正确的语句是()。

A. (>,””);B. (,””);C. (*,””);D. ((*)->,””);7. 软件产品所具有的全部或部分地再用于新的应用的能力称为该软件的()。

A. 可维护性B. 可复用性C. 兼容性D. 正确性8. 在多文件结构的程序中,通常把含有()函数的文件称为()。

A. 主文件B. 实现文件C. 程序文件D. 头文件9. 在一个用链表实现的队列类中,假定每个结点包含的值域用表示,包含的指针域用表示,链队的队首指针用表示,队尾指针用表示,若链队为空,则进行插入时必须把新结点的地址赋给( )。

A. B.C. 和D. 或10. 假定为一个类,则执行“ a, b(2), c[3], *;”语句时共调用该类无参构造函数的次数为( )。

A. 5B. 6C. 3D. 411. 引入友元的主要目的是为了()。

A. 增强数据安全性B. 提高程序的可靠性C. 提高程序的效率和灵活性D. 保证类的封装性12. 如果是类B在类A的基础上构造,那么,就称()。

A. 类A为基类或父类,类B为超类或子类B. 类A为基类、父类或超类,类B为派生类或子类C. 类A为派生类,类B为基类D. 类A为派生类或子类,类B为基类、父类或超类二、填空(每空1分,15小题,共18分)1. 语言是在语言的基础上发展起来的。

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案

最新国家开放大学电大本科《面向对象程序设计》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。

该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。

做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。

本文库还有其他网核及教学考一体化答案,敬请查看。

《面向对象程序设计》题库及答案一一、单项选择题(每小题2分,共20分)1.设x和y均为bool量,则x||y为假的条件是( )。

A.它们均为真 B.其中一个为真C.它们均为假 D.其中一个为假2.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}}”,则元素a[1][2]的值为( )。

A.2 B.4 C.6 D.83.假定P是具有int* *类型的指针变量,则给P赋值的正确语句为( )。

A.p=new int B.p=new int*C.p=new int** D.p=new int[10]4.软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( )。

A.可维护性 B.可复用性C.兼容性 D.正确性5.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字( )放在函数原型或函数头的前面。

‘A.in B.inlineC.inLine D.InLiner .6.在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾的后一个位置为( )。

A.1ength+1 B first+lengthC.(first+1ength—1)%MS D.(first+length)%MS7.假定一个类的构造函数为“A(int aa,int bb){a=aa;b=aa*bb;)”,则执行“A x(4,5);”语句后,X.a和x.b的值分别为( )。

面向对象程序设计B

面向对象程序设计B

专业年级:_________________ 学号_______________ 姓名_____________(注意:所有答案必须都写到答题纸上)一、选择题(每题1分,共25分)1.关于类和对象的说法正确的是______。

A、面向对象程序设计方法通过数据抽象和行为抽象,封装形成了“类”B、类具有的行为由变量表示。

C、类的属性一般由函数表示,且定义为public的D、类是具体的,对象是抽象的2.下面赋值语句错误的是。

A、char name[3]="abc";B、char name[3]={'a','b','c'};C、string name=”abc”;D、string name(“abc”);3.关于字符常量的写法,错误的是______。

A、'/'B、"a"C、'\t'D、'\0'4.下面C++标识符命名正确的是:______。

A、classB、@mailC、1varD、_inline5.下面基本数据类型初始化表达式错误的是______。

A、int i(5);B、float f=3.56f;C、char c='ab'D、double f=3.56;6.关于友元,下列说法错误的是______。

A、友元关系可以传递B、友元关系是单向的C、友元关系是不能被继承的D、友元的声明使用关键字friend7.下列函数原型声明中错误的是______。

A、void Fun(int x=0,int y);B、void Fun(int x,int y);C、void Fun(int x,int y=0);D、void Fun(int x=0,int y=0);8.有以下类定义class Point{int _x,_y;public:Point(int x=0,int y=0){_x=x;_y=y;}void Print() const{cout<<'('<<_x<<','<<_y<<')'<<endl;}void Move(int xOff,int yOff){_x+=xOff;_y+=yOff;}};下列语句中会发生编译错误的是______。

《面向对象程序设计C 》期末试卷及标准答案

《面向对象程序设计C 》期末试卷及标准答案

《面向对象程序设计C++》期末考试试卷(B)一、单项选择题(每小题2分,共40分)1、关于C++与C语言关系的描述中,( )就是错误的。

A.C语言就是C++语言的一个子集B.C语言与C++语言就是兼容的C.C++语言对C语言进行了一些改进D.C++语言与C语言都就是面向对象的2、已知:int m=10; 下列表示引用的方法中,( )就是正确的。

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='*');下面函数调用中,不合法的就是( )。

A.testDefaulParam(5);B.testDefaulParam(5,8);C.testDefaulParam(5,'#');D.testDefaulParam(0,0,'*');4、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的就是( )。

A.函数的返回值类型B.参数的类型C.函数名称D.参数个数5、下列有关C++类的说法中,不正确的就是( )。

A.类就是一种用户自定义的数据类型B.只有类中的成员函数或类的友元函数才能存取类中的私有成员C.在类中,如果不做特别说明,所有成员的访问权限均为私有的D.在类中,如果不做特别说明,所有成员的访问权限均为公用的6、已知X类,则当程序执行到语句X array[3];时,调用了( )次构造函数。

A.0B.1C.2D.37、有关析构函数的说法,不正确的就是( )。

A.析构函数有且仅有一个B.析构函数与构造函数一样可以有形参C.析构函数的功能就是在系统释放对象之前作一些内存清理工作D.析构函数无任何函数类型8、类定义的内容允许被其对象无限制地存取的就是( )。

(完整word版)《面向对象程序设计C 》期末试卷及标准答案(B)

(完整word版)《面向对象程序设计C  》期末试卷及标准答案(B)

《面向对象程序设计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.析构函数无任何函数类型8、类定义的内容允许被其对象无限制地存取的是( C )。

《面向对象程序设计C++》期末试卷(B)标准答案

《面向对象程序设计C++》期末试卷(B)标准答案

《面向对象程序设计C++》期末考试试卷(B)标准答案班级:姓名:学号:分数:一、单项选择题(每小题2分,共40分)1-5.D A C A D6-10.D B C D C11-15.D C B D B16-20.A D C C C二、填空题(前16个空,每空1分,后2个空,每空2分,共20分)1.抽象、实例2.public 、private _ ___、protected 、private _ ___ 3.virtual ___ 4.friend void fun(A &a) _ 5.静态数据成员、静态成员函数6.结合性、优先级_ ___ 7.Template 、 class(或typename) 8.类、结构体___ 9.在创建对象时初始化对象的数据成员___ 10. A operator++(int)___三、阅读程序(共13分)1、a=89,b=56,c=122、12/31/200912/31/20091/1/20101/1/20103、constructing Aconstructing Bconstructing Cdestructing Cdestructing Bdestructing A四、编程题(共27分)1、(10分)Complex::Complex(){real=0;imag=0;}Complex::Complex(double r){real=r;}Complex::Complex(double r,double i){real=r;imag=i;} Complex operator+(Complex &c1,Complex &c2){ Complex c;c.real=c1.real+c2.real; c.imag=c1.imag+c2.imag;return c;}ostream& operator << (ostream& output,Complex& c){ output<<"("<<c.real<<"+"<<c.imag<<"i)"<<endl;return output;}istream& operator >> (istream& input,Complex& c){ cout<<"input real and imaginary part of complex number:";input>>c.real>>c.imag;return input;}2、(17分)class Circle:public Shape{public:Circle(double r){radius=r;}void set(){ cout<<"Please input the value of the circle:"<<endl;cin>>radius;}void show(){ cout<<"the radius of the circle="<<radius<<endl; }double area() {return 3.14159*radius*radius;} private:double radius;};class Square:public Shape{public:Square(double a){this->a=a;}void set(){ cout<<"Please input the value of a:"<<endl;cin>>a;}void show(){ cout<<"a="<<a<<endl; }double area(){return a*a;}private:double a;};int main(){Circle C(5.5);C.show();Square S(9.9);S.show();Shape *s[]={&C,&S};cout<<"total="<<total(s,2)<<endl;return 0;}。

《面向对象程序设计C--》期末试卷及标准答案集总解析

《面向对象程序设计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.析构函数无任何函数类型。

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案

《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案

一、单选题1.在下列概念中,Java语言只保留了DA.运算符重载B.结构和联合C.指针D.方法重载2.下列类定义中,不正确的是BA.class x { .... } B.static class x implements y1,y2 { .... }C.public class x extends Applet { .... } D.class x extends y { .... }3.下列语句序列执行后,k 的值是Bint m=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.0 B.1 C.2 D.34.设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是AA.a[0] = 7; B.i = i + 2 C.i++ - --j; D.a(0) = 66;5.Java语言的类间的继承关系是BA.多重的B.单重的C.线程的D.不能继承6.下列语句序列执行后,k 的值是Cint i=10, j=18, k=30;switch( j - i ) {case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A.31 B.3 C.2 D.337.设有定义float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是CA.x > y || x > z B.z > ( y + x ) C.x != y D.x < y & ! ( x < z )8.下列修饰符中,定义类头时能使用的修饰符是CA.private B.static C.abstract D.protected9.设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是BA.x( int m){ ... } B.void x( int m){ ... }C.x( int m, int n){ ... } D.x( int h,int m,int n){ ... }10.下列对封装性的描述中,错误的是 DA.封装体包含了属性和行为B.封装使得抽象的数据类型提高了可重用性C.被封装的某些信息在封装体外是不可见的D.封装体中的属性和行为的访问权限是相同的11.下列关于包的描述中,错误的是BA.包是若干个类的集合B.包是一种特殊的类型C.包是使用package语句创建的D.包有有名包和无名包两种12.下列关于Applet程序的描述中,错误的是 CA.Applet程序的主类必须是Applet类得子类B.Applet不是完整的独立程序C.Applet程序的主类中应有一个main()方法D.Applet的字节码文件必须嵌套在一个HTML文件中13.下列界面元素中,不是容器的是CA.Dialog B.Frame C.List D.Panel14.下列关于异常处理的描述中,错误的是DA.程序运行时异常由Java虚拟机自动进行处理B.使用try-catch-finally语句捕获异常C.使用throw语句抛出异常D.捕获到的异常只能在当前方法中处理,不能在其他方法中处理15.以下方法不属于迭代器(Iterator)接口所定义的方法的是DA.hasNext()B.next()C.remove()D.nextElement()16.主线程属于(C )A.守护线程B.Thread线程C.用户线程D.Runnable线程二、填空题1.三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型的。

《面向对象程序设计C++》期末试卷及标准答案

《面向对象程序设计C++》期末试卷及标准答案

《面向对象程序设计C++》期末考试试卷(A)班级::学号:分数:试卷说明:本套试题共四个大题,全部题目都答在答题纸上,写在其他地方均无效。

(答题纸在本套试卷的第10页上)一、选择题(每小题2分,共40分)1、C++是()。

A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括()。

A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=()。

A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是()。

A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是()。

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、下列表示引用的方法中,()是正确的。

已知:int a=1000;A. int &x=a;B. char &y;C. int &z=1000;D. float &t=&a;7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。

《面向对象程序设计C++》期末试卷及标准答案(B)

《面向对象程序设计C++》期末试卷及标准答案(B)

《面向对象程序设计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.析构函数无任何函数类型8、类定义的内容允许被其对象无限制地存取的是( C )。

《面向对象的程序设计》期末试卷(B)答案

《面向对象的程序设计》期末试卷(B)答案

电子系计控专业《面向对象的程序设计》期末试卷(B)答案一、选择题(每题2分,共40分)1、下列关于窗体的描述中,错误的是A。

A. 执行Unload Form1语句后,窗体Form1消失,但仍在内存中B. 窗体的Load事件在加载窗体时发生C. 当窗体的Enabled属性为False时,通过鼠标和键盘对窗体的操作都被禁止D. 窗体的Height、Width属性用于设置窗体的高和宽2、窗体文件的扩展名是_D_。

A.frxB. basC. vbpD. frm3、双击窗体上的控件后,将显示的窗口是 C 。

A. 项目(工程)窗口B. 工具箱C. 代码窗口D.1属性窗口4、表示滚动条控件取值范围最大值的属性是__A__A. MaxB. LargeChangeC. ValueD. Max-Min5、若要设置文本框中文本所显示的颜色,使用的属性是_C__。

A. BackColorB. FillColorC. ForeColorD. BackStyle6、下列属性中, B 属性是列表框不具有的。

A. NameB. CaptionC. ColumnsD. Text7、设计动画时,通常用定时器控件的A属性来控制动画速度。

A. IntervalB. ValueC. MoveD. Enabled8、改变控件在窗体中的左右位置,应设置该控件的__B__。

A. TopB. LeftC.WidthD.Height9、可以同时删除字符串前导和尾部空格的函数是 C 。

A. LtrimB. RtrimC. TrimD. Mid10、列表框的_B_属性返回或设置列表框中各列表项的文本。

A. SelectedB. ListC. TextD. Caption11、以下选项中,不是VB标准控件的是_C_。

A. 单选框B. 复选框C. 对话框D. 定时器12、为了把焦点移到某个指定的控件,所使用的方法是 D 。

A. SetFocusB. VisibleC. RefreshD. GetFocus13、Byte类型的变量可存的最大整数是_A_。

《面向对象程序设计》期末考试试卷参考

《面向对象程序设计》期末考试试卷参考

《面向对象程序设计C++》期末考试试卷一、选择题(每小题3分,共48分。

)01、下列关于C++函数的叙述中,正确的是( C )。

A)每个函数至少要具有一个参数 B)每个函数都必须返回一个值C)函数在被调用之前必须先声明 D)函数不能自己调用自己02、下列关于类和对象的叙述中,错误的是( A )。

A)一个类只能有一个对象 B)对象是类的具体实例C)类是对某一类对象的抽象 D)类和对象的关系是一种数据类型与变量的关系03、在C++中,用于实现运行时多态性的是( D )。

A)内联函数 B)重载函数 C)模板函数 D)虚函数!04、下列关于运算符重载的叙述中,正确的是( B )。

A)通过运算符重载,可以定义新的运算符 B)有的运算符只能作为成员函数重载C)若重载运算符+,则相应的运算符函数名是+ D)重载二元运算符时,必须声明两个形参05、对于语句 cout<<x<<endl;错误的是描述是( D )。

A)“cout”是一个输出流对象B)“endl”的作用是输出回车换行C)“x”是一个变量D)“<<”称作提取运算符(插入运算符)06、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是( 保护数据成员个数1,保护陈谷原函个数2 )。

( B )class MyBASE{ private: int k;public: void set(int n){ k=n;}int get( )const{ return k;} };class MyDERIVED: protected MyBASE{ protected: int j;public: void set(int m, int n){ MyBASE::set(m); j=n;}int get( ) const { return MyBASE::get( )+j; } };A)4 B)3 C)2 D)107、已知在一个类体中包含如下函数原型: Volume operator-(Volume)const;,下列关于这个函数的叙述中,错误的是( B )。

《Java面向对象程序设计》科目考试卷及答案

《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.以下代码的输出结果是()。

面向对象程序设计C++期末试卷2套(含答案)

面向对象程序设计C++期末试卷2套(含答案)

面向对象程序设计C++ 第一套试卷一、选择题(共32分,每小题2分)1.按照C++标识符的规则,下面( B )是c++的标识符。

A.8_afrB.a_ideC.t-axyD._3?d2.C++中声明常量的关键字是( A )A.constB.externC.publicD.enum3.建立( C )的作用是为变量另起一个名字。

A.指针B.枚举C.引用D.结构4.在( D )情况下适宜采用内联函数。

A.函数体含有循环语句B.函数代码多,频繁调用C.函数体含有递归语句D. 函数代码少,频繁调用5.关于new运算符的下列描述中,错误的是( D )A.它可以用来动态创建对象和对象数组B.使用它创建的对象或对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值6.类成员的访问权限中,( C )只能被本类的成员函数和其友元函数访问。

A.shareB.publicC.privateD.protected7.在下面有关构造函数的描述中,正确的是( B )A.构造函数可以带有返回值B.构造函数名字与类名完全相同C.构造函数必须带参数D.构造函数必须定义,不能默认8.有如下类声明:class A{ private: int x;public: A(int n){ x=n;} };class B: public A{ private: int y;public: B(int a,int b); };在构造函数B的下列定义中,正确的是( C )。

A. B::B(int a,int b): x(a),y(b){ }B. B::B(int a,int b): x(a),B(b){ }C. B::B(int a,int b): A(a),y(b){ }D. B::B(int a,int b): A(a),B(b){ }9.设置虚基类的目的是( B )A.简化程序B.消除二义性C.提高运行效率D.减少目标代码10.当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的( C )A.public成员B. protected成员C.private成员D.友元11. 应在下列程序划线处填入的正确语句是( D )#include<iostream>using namespace std;class Base{ public: void fun(){cout<<"Base::fun"<<endl;}};class Derived:public Base{ public: void fun() {cout<<"Derived::fun"<<endl;}};void main(){ Derived obj;_____________ //调用基类的fun函数}A.obj.fun(); B. Base.fun(); C. Base->fun(); D. obj.Base::fun();12. 假定一个类的构造函数为B(int x,int y){a=x;b=a*y;},则执行B obj(3,5); 语句后,obj.a和obj.b的值分别为( C )A.3和5 B.5和3 C.3和15 D.20和513.模板的使用是为了( A )A.提高代码的可重用性B.提高代码的运行效率C.加强类的封装性D.实现多态性14.在下列选项中( A )不是ostream类的对象。

面向对象程序设计基础期末考试试卷b卷

面向对象程序设计基础期末考试试卷b卷

I 选择题(共10小题,每小题2分,共20分)(1)以下哪个符号(或组合)是作用域限定符()A)-> B). C):: D)[](2)以下程序对一维坐标点类Point进行运算符重载,输出结果是()#include <iostream>using namespace std;class Point {public:Point (int val) { x = val; }Point operator ++() { x++; return *this; }Point operator ++(int) { Point old = *this; ++(*this); return old; }Point operator +(Point a) { x += a.x; return *this; }int GetX() const { return x; }private:int x;};int main(){Point a(10);cout << (++a).GetX();cout << a++.GetX();}A)1111 B)1011 C)1112 D)1010(3)下面程序的输出结果是()#include <iostream>using namespace std;int countp=0;class Point{int X,Y;public:Point(int x=0,int y=0) { X=x; Y=y;}Point(Point &p){X=p.X;Y=p.Y;countp++;}friend Point myfun(Point p1 ,Point p2 ,const Point &p3);};Point myfun(Point p1,Point p2,const Point &p3){Point tmp(p1.X+p2.X+p3.X,p1.Y+p2.Y+p3.Y);return tmp;}void main(){Point pp0,pp1(1,2),pp2(1);myfun(pp0,pp1,pp2);std::cout<<countp<<endl;}A)0 B)4 C)3 D)6(4)在下列关于C++函数的叙述中,正确的是()A)每个函数至少要有一个参数B)每个函数都必须返回一个值C)函数在被调用之前必须先声明D)函数不能自己调用自己(5)对于类的常成员函数的描述正确的是()A)常成员函数不修改类的数据成员B)常成员函数可以对类的数据成员进行修改C)常成员函数只能由常对象调用D)常成员函数不能访问类的数据成员(6)下面程序的输出结果是()#include <iostream>using namespace std;int i = 0;int fun(int n){static int a = 2;a++;return a+n;}void main(){int k = 5;{int i = 2;k += fun(i);}k += fun(i);cout << k;}A)13 B)14 C)15 D)16(7)下面程序的输出结果是()#include <iostream>using namespace std;class A{public:A (int i) { x = i; }void dispa () { cout << x << “,”; }private :int x ;};class B : public A{public:B(int i) : A(i+10) { x = i; }void dispb() { dispa(); cout << x << endl; }private :int x ;};void main(){B b(2);b.dispb();}A)10,2 B)12,10 C)12,2 D)2,2(8)下列有关继承和派生的叙述中,正确的是( )A)派生类不能访问通过私有继承的基类的保护成员B)多继承的虚基类不能够实例化C)如果基类没有默认构造函数,派生类就应当声明带形参的构造函数D)基类的析构函数和虚函数都不能够被继承,需要在派生类中重新实现(9)下列字符串中,正确的C++标识符是()A)enum B)2b C)foo-9 D)_32(10)以下哪个关键字对应的属性破坏了程序的封装性()A)const B)friend C)public D)protectedII 基本语法结构(共30分)1 执行完下列语句后,a、b、c 3个变量的值各为多少?(3分)a = 30;c = ++a;b = a++;2 执行完下列语句后,n的值为多少?(3分)int n;for(n = 1; n < 100; n++);3 写出下列表达式的值:(3分)① 41/4.0② 23/4③ 102%44 写出下列表达式的值:(3分)① 12 < 3 && 7 < 9② !(5 < 6)③ !(13 > 14) || ( 16 < 9)5 若a = 2,b = 3,c = 4,下列各式的结果是什么?(4分)① a | (b – c)② a ^ b & -c③ a & b | c④ a | b & c6 若a = 1,下列各式的结果是什么?(4分)① !a|a② ~a|a③ a^a④ a>>27 写出下面程序运行的结果:(10分)#include <iostream>using namespace std;void myFunction();int x=2,y=3;int main(int argc, char* argv[]){cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;myFunction();cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;return 0;}void myFunction(){int y=10;cout<<"x="<<x++<<endl;cout<<"y="<<y++<<endl;}打印的结果:x=y=x=y=x=y=III上机编码试题,共5小题,每小题10分,共50分,请按要求答在给定的项目文件中提交。

《面向对象程序设计C++》期末试卷及标准答案(B)

《面向对象程序设计C++》期末试卷及标准答案(B)

《面向对象程序设计C++》期末试卷及标准答案(B) 《面向对象程序设计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、系统在调用重载函数时往往根据一些条件确定哪个重载函数被调用,在下列选项中,不能作为依据的是( D )。

A(函数的返回值类型 B(参数的类型 C(函数名称 D(参数个数 5、下列有关C++类的说法中,不正确的是( A )。

A(类是一种用户自定义的数据类型B(只有类中的成员函数或类的友元函数才能存取类中的私有成员C(在类中,如果不做特别说明,所有成员的访问权限均为私有的D(在类中,如果不做特别说明,所有成员的访问权限均为公用的 6、已知X 类,则当程序执行到语句X array[3];时,调用了( D )次构造函数。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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. 关键字 ____________ 说明对象或变量初始化后不会被修改。

A. static B public C. const D inline12. 如果调用带有默认参数的函数时缺少一个参数,则______________参数就作为这一参数。

A. 第一个B. 最后一个 C 中间一个 D 以上都不是 13. 成员函数可声明为静态的,条件是它不访问 __________类成员。

A 静态 B. 常数 C 非静态 D. 公共 14. 内联函数执行起来比标准函数_______________。

2A. 更慢B. 更快C. 次数更多D. 以上都不是 15. 默认参数的值由___________________提供。

A 该函数 B. 调用程序 C. 上述二者 D 以上都不是二、填空题 (共20分,每小题2分)1. 定义类的动态对象数组时,系统只能够自动调用该类的_________构造函数对其进行初始化。

2. C++中语句const char * const p=〃hello 〃;所定义的指针p 和它所指的内容都不能被__________。

3. 假定AB 为一个类,则语句AB(AB&x);为该类_________函数的原型说明4.说明常成员函数时,字const 写在成员函数的___________表和___________之间5.在C++中,访问一个对象的成员所用的运算符是________,访问一个指针所指向的对象的成员所用的运算符是_____________。

6.派生类从一个或多个以前定义的该类的__________继承数据和函数7. C++支持的两种多态性分别是___________多态性和___________多态性。

三、程序阅读题(共30分)1. (5分) #include <iostream.h> template<class T> Tf(T*a,T*b,int n){ Ts=(T)0;for(int i=0;i<n;i++) s+=a 〔i 〕*b 〔i 〕; return s; }void main(){double c 〔5〕={1.1,2.2,3.3,4.4,5.5},d 〔5〕={10.0,100.0,1000.0}; cout<<f(c,d,5)<<endl; }2. (5分) .#include <iostream.h> class My Class { public: int number; void set(int i); };void MyClass::set (int i) {number=i; }void main() {MyClass my1; int number=10; my1.set(5);cout<<my1.number<<end1; my1.set(number);cout<<my1.number<<endl; } 3. (6分)#include <iostream> using namespace std; class A{friend double count(A&); public:A(double t, double r):total(t),rate(r){} private: double total; double rate; };double count(A& a) {a.total+=a.rate*a.total; return a.total; }int main(void) { A x(80,0.5),y(100,0.2); cout<<count(x)<<','<<count(y)<<'\n'; cout<<count(x)<<'\n'; return 0; }执行结果:4.(6分) #include <iostream > using namespace std; class BASE {char c; public:BASE(char n):c(n){}virtual ~BASE(){cout<<c;} };class DERIVED:public BASE{3char c; public: DERIVED(char n):BASE(n-1),c(n){} ~DERIVED(){cout<<c;} };int main(void){ DERIVED('D'); return 0; }5. (8分) #include <iostream.h> class A{ public:A( ){ }virtual void func( ){cout<<〃Destructor A 〃<<endl;} ~A( ) {func();} };class B:public A{ public: B( ){ }void func(){cout<<〃Destructor B 〃<<endl;} ~B( ) {func();} };void main( ) {B b; A&a=b; }四、程序填空题(共21分,每空3分)1. 下面是一个函数模板,用于计算两个向量的和。

在下面横线处填上适当字句,完成函数模板定义。

#include <iostream.h> template<class T> T* f(T* a,T* b,int n){T* c=_______(1)____________; for(int i=0;i<n;i++)c 〔i 〕=__________(2)___________; return c; }void main() {int a 〔5〕={1,2,3,4,5},b 〔5〕={10,20,30,40},*p; p=f(a,b,5); for(int i=0;i<5;i++)cout<<p 〔i 〕<<endl; }2. 下面是类fraction(分数)的定义,其中重载的运算符<<以分数形式输出结果,例如将三分之二输出为2/3。

在横线处填上适当字句。

class fraction{ int den; //分子 int num; //分母friend ostream& operator<<(ostream&,fraction); … };ostream& operator <<(ostream& os,fraction fr){ __________(3)___________; return ______(4)______;}3. #include<iostream.h> template<class T>__________(5)___________ {int i;T minv=a[0]; for(i=1;i<n;i++) if(minv >a[i]) minv=a[i];__________(6)_______________ }void main() {int a[ ]={1,3,0,2,7,6,4,5,2}; double b[ ]={1.2,-3.4,6.8,9,8};cout<<"a 数组的最小值为:"<<min(a,9)<<endl;cout<<"b 数组的最小值为:"<___________(7)__________ <<endl; } }4五、程序设计题(共14分) 1.编写程序:定义抽象基类Shape ,由它派生出五个派生类:Circle (圆形)、Square (正方形)、 Rectangle ( 长方形)、Trapezoid (梯形)和Triangle (三角形),用虚函数分别计算各种图形的面积,并求出它们的和。

相关文档
最新文档