北大“面向对象程序设计”上机考试题
面向对象程序设计样卷
面向对象程序设计样卷一、选择题( 本大题共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;}四、程序分析题( 分析程序, 写出运行结果。
c 面向对象程序设计上机考试题库
.
z
-
int Bo*::volume() {return(length*width*height); }
int main() { Bo* bo*1(30,20,10); cout<<"The volume of bo*1 is "<<bo*1.volume()<<endl; Bo* bo*2(12,10,20); cout<<"The volume of bo*2 is "<<bo*2.volume()<<endl; returudent(int n,float s):num(n),score(s){} int num; float score;
}; void main() {Student stud[5]={
Student(101,78.5),Student(102,85.5),Student(103,98.5), Student(104,100.0),Student(105,95.5)}; void ma*(Student* ); Student *p=&stud[0]; ma*(p); } void ma*(Student *arr) {float ma*_score=arr[0].score; int k=0; for(int i=1;i<5;i++) if(arr[i].score>ma*_score) {ma*_score=arr[i].score;k=i;} cout<<arr[k].num<<" "<<ma*_score<<endl; } 7.用 new 建立一个动态一维数组,并初始化 int[10]={1,2,3,4,5,6,7,8,9,10},用指针 输出,最后销毁数组所占空间。 *include<iostream> *include<string> using namespace std; void main(){ int *p; p=new int[10];
北交《面向对象程序设计》在线作业一答案
北交《面向对象程序设计》在线作业一-0004试卷总分:100 得分:100一、单选题(共23 道试题,共57 分)1.有如下类声明:class Foo { int bar; }; 则Foo类的成员bar是( )A.私有数据成员B.私有成员函数C.公有数据成员D.公有成员函数答案:A2.下面关于派生类的描述中,()是错的。
A.派生类至少有一个基类B.派生类的成员除了它自己的成员外,还包含了它的基类的成员C.派生类中继承的基类成员的访问权限到派生类保持不变D.一个派生类可以作为另一个派生类的基类答案:C3.要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0 和0,则下列定义语句中错误的是( )A.int vect[5]={30,50,-88,0,0};B.int vect[5]={30,50,-88};C.int vect[ ]={30,50,-88,0,0};D.int vect[ ]={30,50,-88};答案:D4.在以下说明中,标识符ptr()。
int (*ptr)[3];A.说明不合法B.是一个指针数组名,每个元素是一个指向整数变量的指针C.是一个指针数组名,每个元素是一个指向整数变量的指针D.是一个指向整型变量的指针答案:B5.下列关于模板的叙述中,错误的是( )A.类模板不能有数据成员B.模板声明中的第一个符号总是关键字templateC.在模板声明中用<和> 括起来的部分是模板的形参表D.在一定条件下函数模板的实参可以省略答案:A6.下列函数中,()是对文件进行读操作的。
A.write()B.tellg()C.seekp()D.read()答案:D7.假定a为一个整型数组名,则元素a[4]的字节地址为()。
A.a+8B.a+4C.a+32D.a+16答案:D8.下列关于派生类可访问它基类成员的描述中,错误的是()。
A.私有继承方式下,派生类可访问它基类中的公有成员和保护成员B.派生类可访问它基类中的成员与继承方式有关C.派生类不可访问它基类中的私有成员D.公有继承方式下,派生类可访问它基类的私有成员答案:D9.若一个类中含有纯虚函数,则该类称为()。
C面向对象程序设计上机考试题库
C面向对象程序设计上机考试题库Standardization of sany group #QS8QHH-HHGX8Q8-GNHHJ8-HHMHGN#C++面向对象程序设计上机考试题库一、第一类题目(20道,每题7分,在word中保留代码并将输出结果窗口保留)1.定义盒子Box类,要求具有以下成员:长、宽、高分别为x,y,z,可设置盒子形状;可计算盒子体积;可计算盒子的表面积。
#include<iostream>class Box{ private:int x,y,z; int v,s;public:void int(int x1=0,int y1=0,int z1=0) {x=x1;y=y1;z=z1;}void volue() {v=x*y*z;}void area() {s=2*(x*y+x*z+y*z);}void show(){cout<<"x= "<<x<<" y= "<<y<<" z="<<z<<endl;cout<<"s= "<<s<<" v= "<<v<<endl;}};void main(){ Box a;(2,3,4);();();();}2.有两个长方柱,其长、宽、高分别为:(1)30,20,10;(2)12,10,20。
分别求他们的体积。
编一个基于对象的程序,在类中用带参数的构造函数。
#include <iostream>using namespace std;class Box{public:Box(int,int,int);<<endl;cout<<()<<" is the Minimum of two inteder numbers."<<endl<<endl;Compare<float> cmp2,;cout<<()<<" is the Maximum of two float numbers."<<endl;cout<<()<<" is the Minimum of two float numbers."<<endl<<endl;Compare<char> cmp3('a','A');cout<<()<<" is the Maximum of two characters."<<endl;cout<<()<<" is the Minimum of two characters."<<endl;return 0;}3.建立一个对象数组,内放5个学生的数据(学号、成绩),用指针指向数组首元素,输出第1,3,5个学生的数据。
面向对象考试题(参考)
一、单项选择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。
为了实现多态性,派生类需要重新定义基类中的〔〕。
面向对象程序设计上机编程题_单栏版-复习专业.doc
理论题(1) 初始化对象,对象(2) 没有,不要,可以重载,可以带或不带参数。
无,不要,不能,不2(1) 强制类型转换,拷贝构造函数 (2) Aa(10); 3(1) 系统缺省的拷贝构造函数,用户定义的拷贝 构造函数(2) 该类对象的引用 5(1)构造,析构 6(1) 类中数据成员包含其它类的对象(2) 构造函数中(3) 対象成员在类中定义的顺序(4) 对象成员所在类的构造函数・>本类的构造两 数课前练习1 •构造函数没有参数 2. B3. D4. C5. D6.5次分析1.(1) Test(){x=0;y=0;} (2) 不能:(3) Test(int x,int y);(4) 参数名与私冇数据成员同名 (5) 不能去掉四.课后练习1. A2. A3. A4. D实验17二、知识准备1.(1)数据成员、成员函数分号auto 、 register 、extern 、 (static)存储空间实例,数据成员,成员函数 类,成员函数,公冇成员函数2.(1) 私有、公有、保护,公有,私有,保护 (2) . , /,公有成员函数3.内联,非内‘inline 。
4.(1)该类当前対象「this(2)类内部5(1) 可以,可以 (2) 私有,公有课前练习1. B2. A3. D4. C5. A课丿rf 练习:1. 继承,抽彖,多态2. D3. C4. C5. B6. C7. m 转换为M, n 转换为N实验18构造函数和析构函数二、实验准备 知识点5.析构函数7.a[i]实验20课前练习1、 派生类基类2、 bb aa3、C4、虚基类课后练习1 >多继承2、D 3、 260 400,130 2004、 200 CC, 400 AA5、default, h1,h2,h3实验21课前练习1、 friend void f(A &); 2. B5、a.x=20 b.x=20 T::x=20分析1、(1)100,100,100⑵400,400,400不行,A::c=100不是定义性说明,C 是私冇数 据成员,类外不能访问(3) 不需要(4) f3()函数为A 类的友元函数⑸410410 410课后练习1. friend void B::f(A &);2. friend class B;3. B6.5016010 160 7.21 count=3p=j 5 temp=a[i] Elem(s[i],id[i]) 8. 5实验19课前练习1. A 2友元 3..*?: sizeof4. 成员5. <type> operator ・-();6. friend <type> operator -(type &,int);分析1. 友元,前置・・ 4.6 ,5.6课厉练习1 .[strlen(s1 )+strlen(s2)+1] tdelete []str str 2. sstrlen(s)+1 s.strstrlen(s.str)+1 3. x[i]+a.x[i]tx[i]+a. x[i] *this 4. delete []parr.p[i]new float[arr. num] *this 5. 23 23编程题1•定义一个圆类Circle,数据成员包括半径和而积,通过构造函数设置半径和周长的初值,通过2个成员函数计算圆的周长、输出圆的周长,在主函数中定义对象,完成类的功能测试。
面向对象程序设计模拟练习题(含答案)
面向对象程序设计模拟练习题(含答案)一、单选题(共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特有的方法。
《面向对象程序设计》上机考查试题
《面向对象程序设计》上机考查试题上机考查说明:(1)要求用VC6开发环境中完成,以学号姓名作为工作区名称,每题题号作为项目名称,每道上机试题为一个项目(2)每个项目只有一个源程序文件,与所在项目同名(3)考试结束后,关闭VC6,上交以学号姓名命名的文件夹(4)考查应该独立完成,可查阅书籍和网上资料,但不可互相抄袭,一旦批阅时发现雷同,均以0分计1、计算并输出sum=1-1/2+1/3-1/4+...+1/99-1/100 10分2、已知主函数如下:int main(){Calculator cal;Cout<<"加结果:"<<cal.Add(10,30);Cout<<"公约数结果:"<<cal.gys(6,8);Cout<<"求余数结果:"<<cal.mod(10,3);return 0;}设计Calculator类完成相关功能。
20分3、设计一个分数类(a/b),随机产生100个分数,求最大分数,并输出。
30分4、已知主函数如下:完成相关类并进行测试 40分Int main(){Shape *p[]={New Square(3), //正方形New Ladder(1,2,3),//梯形New Rectangle(3,5),//长方形New Ladder(2,3,4)};For(int i=0;i<sizeof(p)/sizeof(Shape*);i++)Cout<<p[i]->area()<<endl;Return 0;}。
面向对象程序设计复习题(附参考答案)
【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】机器语言中的指令编码为()编码。
[A.]二进制[B.1符号[c.1十进制[D.]数字【答案】A【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】JaVa语言的主要特点不包括()。
[A.]面向对象[B.]自动垃圾回收[CJ处理文件[D.]可移植性【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java开发工具包简称为()。
[A.]JKD[B.]JRK[C.]JDK[D.]JRE【答案】C【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】具有相同属性和服务的一组对象的模板称为()。
1B.]类[c.1代码[D.]概念【答案】B【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。
[A.]产品[B.1元素[c1成分[D.]实例【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】Java是一门()语言。
[A.]机器[B.]汇编[C.)面向过程的高级[D.]面向对象的高级【答案】D【知识点】01106.1.1.1【解析】无【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】使用JDK编译JaVa程序时使用的命令是()。
面向对象程序设计考试模拟题(附参考答案)
面向对象程序设计考试模拟题(附参考答案)一、单选题(共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修饰是错误的。
面向对象的程序设计试题库
面向对象的程序设计一、单项选择题1、下面那种结构不是C++的控制结构()A 顺序结构B 选择结构C 循环结构D 判断结构答: D2、下列是C++语言中合法标识符的是()。
A.3three B.ifC._1oneD.while答:C3、下列是合法的C++语言语句的是()。
A.if(x>0) then x=x-1;else x=x+1;B.if(x>0) x=x-1;else x=x+1;C.if x>0 x=x-1;else x=x+1;D.if x>0 x=x-1;答:B4、下面那一种不是计算机内部表示整数的方法()A 二进制码B原码C 补码D反码答:A5、在C++语言中,下列数为合法的实数的是()。
A.5E-3B.5E-3.5C. E5D.-3.5E答:A6、C++语言中数据类型最大的是()A longB floatC intD char7、如果一个函数可以在定义中直接或间接的调用自己,这样的函数称为()。
A.函数声明B.嵌套函数C.定义函数D.递归函数答:D8、表达式0x55^0xB4的结果为()。
A.0xF5B.0x15C.0xE1D.0x1E答:C9、C++中,源代码文件后缀为()A .cppB .objC .exeD .c答: A10、0X5A&0XB7结果是()A 0X13B 0X12C 0X14D 0X15答: B二、填空题1、程序的基本控制结构包括()、()和()。
答:顺序结构,选择结构,循环结构2、用来解决问题的,与有限多个步骤组成的具体过程称为()。
答:算法3、整数类型变量a和b被初始化为3和10,则循环语句while(a<=b) a=a+2;共执行()次,执行完语句后a的值为(),b的的值为()。
答:4,11,10)。
答:警告信息,致命错误5、计算机中的数据可以分为()和()两大类。
答:数值型、字符型6、字符型数据有两种编码方法:()和()答:有美国国家标准局制定的ASCII码、IBM公司提出的EBCDIC码7、通过C++ 语言中的()机制,可以从现存类中构建其子类。
“面向对象程序设计”北大上机考试题汇总
“面向对象程序设计”北大上机考试题汇总-自考串讲笔记(一)1.实现描述超市的的类Suppermacket类,记录系统中现有商品(用指针实现),定义增加商品的函数Append,删除商品的函数Delete,查询商品的函数Query,并显示查询结果;2.定义商品类Goods,具有商品名称Name,商品价格Price,商品数量number等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。
重载输入“>>”操作符。
3.编写main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除和查询商品,以及商品销售和商品上架的操作(二)一、(20%)定义复数的类Complex并测试其功能:1. 复数由实部、虚部两个部分组成,在类的定义中应包含保存这两部分信息的内容。
2. 在类中定义构造函数,使用户能够在构造对象的同时为对象赋初值。
3. 在类中定义复数的加法、减法、乘法三个二元操作符来完成复数间的加、减、乘的功能。
4. 通过重载“<<”,使得Complex类的对象能够显示其自身信息。
5. 通过显示定义一个成员函数完成对象的赋值操作,使用户能够对Complex类的对象进行赋值。
6. 编写一段主程序(main函数),使用户能够通过这段主程序输入复数并进行复数的计算。
二、(30%)二维直角坐标系中图形信息的描述和显示:1. 定义一个类Point来表示坐标系中点的位置信息。
2. 定义一个基类Shape,在其中定义虚函数show()来显示具体图形信息。
3. 分别定义类来表示坐标系中矩形、圆和三角形的位置信息。
在这几个类中通过分层原则利用类Point;利用多态性来实现对各种图形信息的统一输出方式。
4. 编写一段主程序来测试上面定义的类。
三、(50%)栈模板及其实例的使用:1. 利用类模板实现一个通用的栈模板。
要求这个栈模板能够完成一般栈的基本操作(栈元素为基本数据类型,不包括指针、数组以及对象):向栈中压入一个元素(push)、取栈顶元素的值(top)、弹出栈顶元素(pop)、清空栈(empty)、判断栈是否为空(isEmpty)。
面向对象程序设计试题及答案
面向对象程序设计试卷及答案开发环境为,运行结果有截图,若发现错误欢迎指正实验一、程序开发环境及简单程序设计。
题目、简单程序任务:按提示的操作步骤输入下面的代码,编译连接并执行。
源程序代码:""(){ <<"!\";<<"!"<<;<<" "<<;}运行结果:题目、编写程序,从标准输入读入一个数,把它转化为英文单词输出,如输入,这是输出“ ”。
源程序代码:<>J(){;<<"请输入数字用来转化为英文单词:(){ >>('\');(){<<"";;; ;<<"";;<<"";;<<"";<<"";;<<"";;<<"";;<<"";<<"";<<"";;}}}运行结果:题目、循环结构程序设计任务把一张一元纸币换成一分、二分和五分的硬币,假如每一种至少一枚,文友多少种换法,编程将各种换法显小出来。
源程序代码:<>J() {J<<"一角"<<"两角"<<"三角"<<;(<)(<)(<)(**){<<<<" "<<<<" ”<<<<"<<;}<<"换法的总数为:"<<<<;}运行结果:实验二、函数题目、内联函数任务(1)定义内敛函数(),求两个整数中的最大值,然后在()函数中惊醒调用(2)定义内联函数()和一般函数(),使整型参数值加,然后在()函数中惊醒调用;源程序代码: <>J();();();(){<<<<","<<<<"中最大的是:"<<()<<;<<<<"加后为:"<<()<<;<<<<"加后为:"<<()<<;}(){(>);;}(){ ;}(){ ;}运行结果:题目、函数参数的传递机制、重载函数(1)编写重载函数()可分别求个整数、个整数、个双精度和双精度数的最大值。
面向对象程序设计考试模拟题含参考答案
面向对象程序设计考试模拟题含参考答案一、单选题(共50题,每题1分,共50分)1、下列数据结构中,哪一个是ArrayList类的底层实现()A、数组结构B、链表结构C、哈希表结构D、红黑树结构正确答案:A答案解析:ArrayList的底层是数组实现的。
2、Java属于以下哪种语言()A、机器语言B、汇编语言C、高级语言D、以上都不对正确答案:C答案解析:Java是一门高级编程语言。
3、下面关于path和classpath的说法中,错误的是()A、path用来指定java虚拟机(JVM)所在的目录B、classpath用来指定我们自己所写的或要用到的类文件(.jar文件)所在的目录C、在dos命令行中,classpath和path环境变量的查看与配置的方式不相同D、只要设置了classpath这个环境变量系统就不会再在当前目录下查询某个类正确答案:C答案解析:classpath和path环境变量的查看与配置的方式完全相同,都是通过 set关键字实现的。
4、若double val = Math.ceil(-11.9);,则val的值是()A、11.9B、-11.0C、-11.5D、-12.0正确答案:B答案解析:ceil是天花板的意思,表示向上取值,永远是得到大于参数的最小整数。
5、下列集合中,不属于Collection接口的子类的是()A、ArrayListB、LinkedListC、TreeSetD、Properties正确答案:D答案解析:Properties集合属于Map集合的子类。
6、下列关于类与对象的说法中,错误的是()A、类是对某一类事物的抽象描述,而对象则是该类事物的个体。
B、对象是类的实例化。
C、类用于描述多个对象的共同特征,它是对象的模板。
D、类与对象没有什么实际关系。
正确答案:D答案解析:对象是通过类来创建的。
7、下列关于List接口的描述中,错误的是()A、List接口继承自Collection接口,是单列集合。
(完整word版)面向对象技术样题(附答案)
北京大学软件与微电子学院期末试题—面向对象分析与设计一、选择题( 20 分,共 10 题,每题 2 分)1.关于方法论与方法的关系的描述错误的是( B )A .方法论是一种观点,是一个有理论意义的架构。
B.方法包括理论与模型两个重要的方面。
C.面向对象的方法论的重要观点是:封装、数据隐藏、多态、关系等。
D.不同的方法可以属于同一种方法论。
2.关于信息隐藏的描述错误的是(C)A .信息隐藏是指对象在与外界的交互中,尽可能地隐藏对象的内部细节,仅保留有限的对外接口与外部进行联系。
B.信息隐藏既可以隐藏属性,也可以隐藏操作。
C.一个对象信息隐藏的内容对任何对象都是一样的,并不随与之交互的对象的不同而改变。
D.信息隐藏的原则是公开不变的操作,隐藏易变的操作。
3.关于多态的描述正确的是(D)A .多态是指在聚合关系中的各个类中名字相同的属性和操作具有不同的意义。
B.多态的实现机制是编译时静态链接。
C.函数名重载 (overload) 会导致多态现象出现。
D.多态可实现接口复用,节省大量的编码工作量.4.关于重载( overload)与覆盖( override)的说法正确的是( D)。
A .如果子类中的成员函数(f x)具有父类中成员函数f(x) 相同的函数名,那么称子类对父类的f(x) 进行了覆盖。
B.如果子类中的成员函数f(x )具有父类中成员函数f(x) 相同的基调,那么称子类对父类的f(x) 进行了重载。
C.重载导致多态,覆盖与多态无关。
D.覆盖由动态链接实现,重载由静态链接实现。
5.关于用况图与类图的描述正确的是( D)。
A.参与者是用况图中的元素,类是类图中的元素,二者没有关系。
B.用况图中用况应全部识别为类图中的同名类。
C.用况图中参与者应全部识别为类图中的同名类。
D.用况图中参与者有可能识别为类图中的主动类6.关于状态图的陈述正确的是( C)A.一个对象自身的属性值变化不能作为其状态图中的事件。
(完整版)面向对象程序设计试卷及答案
考试试卷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#中子类可以继承多个基类,也可以继承一个接口。
面向对象程序设计原理考核试卷
B.聚合表示部分和整体的生命周期可以不同
C.组合是一种强关系
D.聚合是一种弱关系
14.以下哪些操作符可以用于对象的比较?()
A. ==
B. !=
C. equals()
D. compareTo()
15.以下哪些说法关于静态变量和静态方法是正确的?()
A.静态变量属于类,所有实例共享
1.以下哪些是面向对象程序设计的基本原则?()
A.抽象
B.封装
C.继承
D.多态
2.在面向对象程序设计中,类和对象的关系是()
A.类是对象的抽象
B.对象是类的实例
C.类和对象是同一概念
D.类和对象没有关系
3.以下哪些是类的成员?()
A.属性
B.方法
C.构造函数
D.运算符
4.关于继承,以下哪些说法是正确的?()
11.关于抽象类,以下哪些说法是正确的?()
A.抽象类不能被实例化
B.抽象类可以包含抽象方法
C.抽象类可以包含具体实现的方法
D.抽象类只能被继承
12.以下哪些是Java中的访问控制符?()
A. public
B. private
C. protected
D. default
13.以下哪些说法关于组合和聚合是正确的?()
D. super
8.以下哪个方法可以用来隐藏父类的同名方法?()
A. overload
B. override
C. inherit
D. hide
9.以下哪个关键字用于调用父类的构造方法?()
A. this
B. super
C. new
D. extends
计09面向对象程序设计考试试卷(B卷)
第1 页共4页二、简答题(每小题8分,共24分)1. 什么是而向对象的程序设计?它的几个特征是什么? 答:考生注意事项:1、本试卷共上_页,试卷如有缺页或破损,请立即举手报告以便更换。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
(答案请写在密封线内和答卷正而,否则不记分)课程名称:面向对象程序设计 (B 卷闭卷)适用专业年级:计算机科学与技术09级考试时间:100分钟2.类和结构有什么异同?一、判断题,正确的在下列表格中打错误的打X (每小题1分,答:1. 在C++语言中,只能使用class 来建义一个类。
( )2. 采用inline 泄义内联函数时,在对于函数代码少、频繁调用的情况下特別有效。
( )3. 函数重载时,它们的参数个数和类型要求都不能相同。
()4. 类中的静态成员数据为该类的所有对象所共享,并且,在该类对象被撤销时,静态成员并 没有撤销。
( )5.构造函数和析构函数均不能被说明为虚函数。
()6. 在C 语言中,不使用命轻空间,但在C++程序中,一立要使用命名空间。
( )7. ASCII 码文件和二进制文件都可在记事本中直接打开。
()8. 类的友员函数是指可以访问本类私有成员的其它类的成员函数。
()9. 而向对象的编程方法还是要以而向过程的编程方法做基础,故学了面向过程的编程方法后, 对学习面向对象的编程方法很有帮助。
()3..函数重载的主要作用是什么?调用不同的重载函数是在编译时决左还是在运行 时决定? 答:三、填空题(每空2分,共10分)根据程序说明和程序中的注释,填充程序中不完整的部分。
类Number的成员函数TwoTimes是递归函数,功能是求2“(假设n<0时返回值为0)。
ttinclude <iostream>using namespace std;class Number{private:int Num;public:int n;int TwoTimes (int n) //递归函数TwoTimes (n)求2” o{ if (—⑴—)return 0;if (n=0)—⑵—;else return _____ (3) ___ ;}int GetNumO{return Num;}Number(int n=0) {Num = n;}};void mainO{Number *p;P二__ ⑷;〃动态生成由p指向的Number对象,并使Num为5。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北大“面向对象程序设计”上机考试题
1、实现描述超市的的类Suppermacket类,记录系统中现有商品(用指针实现),定义增加商品的函数Append,删除商品的函数Delete,查询商品的函数Query,并显示查询结果;
2、定义商品类Goods,具有商品名称Name,商品价格Price,商品数量number等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。
重载输入“>>”操作符。
3、编写main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除和查询商品,以及商品销售和商品上架的操作。
(二)
一、(20%)定义复数的类Complex并测试其功能:
1. 复数由实部、虚部两个部分组成,在类的定义中应包含保存这两部分信息的内容。
2. 在类中定义构造函数,使用户能够在构造对象的同时为对象赋初值。
3. 在类中定义复数的加法、减法、乘法三个二元操作符来完成复数间的加、减、乘的功能。
4. 通过重载“<<”,使得Complex类的对象能够显示其自身信息。
5. 通过显示定义一个成员函数完成对象的赋值操作,使用户能够对Complex类的对象进行赋值。
6. 编写一段主程序(main函数),使用户能够通过这段主程序输入复数并进行复数的计算。
二、(30%)二维直角坐标系中图形信息的描述和显示:
1. 定义一个类Point来表示坐标系中点的位置信息。
2. 定义一个基类Shape,在其中定义虚函数show()来显示具体图形信息。
3. 分别定义类来表示坐标系中矩形、圆和三角形的位置信息。
在这几个类中通过分层原则利用类Point;利用多态性来实现对各种图形信息的统一输出方式。
4. 编写一段主程序来测试上面定义的类。
三、(50%)栈模板及其实例的使用:
1. 利用类模板实现一个通用的栈模板。
要求这个栈模板能够完成一般栈的基本操作(栈元素为基本数据类型,不包括指针、数组以及对象):向栈中压入一个元素(push)、取栈顶元素的值(top)、弹出栈顶元素(pop)、清空栈(empty)、判断栈是否为空(isEmpty)。
2. 编写一段主程序,要求主程序中生成整型、浮点型、字符型的栈实例各一个并分别测试其功能。
说明:这是北京大学计算机应用专业的系统班(业余)2001年10月份的上机考试题,该上机考题只适用于北大系统班的的学生!其他考生可以参考!
(三)
1、定一个基类Mygraph,要求有一个纯虚函数double Area()=0,
2、从基类派生一个圆类Mycircle和一个矩形类Rangleter,并给出Area()实现;重载“>>” ,实现对图形信息的输入;
3、计算圆形的面积和矩形的面积,并显示输出。
(四)
建立一个简单的学校人员管理系统,包括对学生、员工和在职学生(既是员工又是学生)的管理。
需要完成如下功能:
1、建立一个SCHOOL类,在其中定义按照姓名增加人员的APPEND函数,删除人员的DELETE的函数和SEARCH的查询函数(以姓名为为准)。
2、建立一个基类PERSON类,要具有姓名和性别的属性,并把输出函数SHOWME()定义为纯虚函数;
3、建立一个员工STAFF类和一个学生类,均由PERSON继承而来。
要求可以输出员工类(学生类)对象的属性(姓名、性别和工作证号码(或学生学号),分别写出对SHOWME()函数的具体实现。
4、建立一个在职学生类STAFF_STUDENT类,由员工类和学生类继承而来。
写出对SHOWME ()函数的具体实现,可以输出对象属性,。
5、重载,实现用CIN为员工类、学生类和在职学生类对象赋值。
6、编写MAIN()主函数,测试上述功能,并以菜单方式实现对各种人员的增加、删除和查询(以姓名为线索)。
(五)
从键盘读入两个字符串,每个串<50个字符
1、输入输出都要求有提示信息,且提示信息独占一行!
2、比较两个字符串是否相等,如果输入字符个数相等且相对应位置的字符也相同则输出Yes,否输出NO
3、如果两个字符串的英文小写字母个数相同,则输出Yes,否输出NO
4、比较两个字符串长度,十进制输出较大者的长度
5、生成文件m7.asm,可执行文件为m7.exe
(1,2,5及格。
完成1,2,3,5良。
完成1,2,3,4,5优。
)
(六)
实现一个图形栈,栈的元素为图形(可以是圆形,也可以是矩形)。
根据对菜单的选择实现具体图形信息的显示及栈的相关操作。
1、定义一个栈类Stack,它具有栈的大小属性Size(即栈最多可容纳的元素个数),具有对图形元素(可以是圆形,也可以是矩形)的push,pop,top(显示栈顶元素信息)操作。
2、定义一个Element基类,其至少包含一个纯虚函数ShowMe()以显示图形信息(可以是圆形,也可以是矩形的信息),圆形信息为圆心,半径;矩形信息为左上角点,右下角点。
3、定义Element的派生类MyCircle(圆形类)和MyRectangle(矩形类),以实现图形信息的显示。
4、重载输入运算符,使用户能一次性输入图形信息(可以是圆形,也可以是矩形信息)。
5、编一测试程序进行测试。
提示:
class Element
public:
virtual void ShowMe() = 0;
(七)
北大面向对象程序设计上机考试题(9月20日)
文章类型:自学考试
实现一个图形栈,栈的元素为图形(可以是圆形,也可以是矩形)。
根据对菜单的选择实现具体图形信息的显示及栈的相关操作。
1、定义一个栈类Stack,它具有栈的大小属性Size(即栈最多可容纳的元素个数),具有对图形元素(可以是圆形,也可以是矩形)的push,pop,top(显示栈顶元素信息)操作。
2、定义一个Element基类,其至少包含一个纯虚函数ShowMe()以显示图形信息(可以是圆形,也可以是矩形的信息),圆形信息为圆心,半径;矩形信息为左上角点,右下角点。
3、定义Element的派生类MyCircle(圆形类)和MyRectangle(矩形类),以实现图形信息的显示。
4、重载输入运算符,使用户能一次性输入图形信息(可以是圆形,也可以是矩形信息)。
5、编一测试程序进行测试。
提示:
class Element
public:
virtual void ShowMe() = 0;。