面向对象程序设计试卷14-15-1
XXX14秋学期《面向对象程序设计》在线作业答案
![XXX14秋学期《面向对象程序设计》在线作业答案](https://img.taocdn.com/s3/m/b74fe31fb5daa58da0116c175f0e7cd1842518cd.png)
XXX14秋学期《面向对象程序设计》在线作业答案面向对象程序设计14秋学期《面向对象程序设计》在线作业一,单选题1.下列关于this指针的说法,错误的是()。
A。
this指针指向当前正在操作的对象B。
this指针只存在于非静态成员函数中C.在成员函数中对非静态数据成员的访问是通过this指针完成的D.静态成员函数中可以通过this指针访问非静态成员正确答案:D2.已知“int a=10,*p;int *&r=p。
r=*p=20;cout<<a;”,则输出为()。
A。
10B。
20C.不确定值D.程序有错误正确答案:B3.有关重载函数的描述正确的是()。
A.函数名相同的函数就是重载函数B.函数名相同但返回值类型不同的函数就是重载函数C.函数名相同但参数个数或类型不同的函数就是重载函数D.函数功用相同的函数就是重载函数正确答案:C4.在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。
以下叙述中正确的选项是()。
A。
operator+有两个参数,operator*有两个参数B。
operator+有两个参数,operator*有一个参数C。
operator+有一个参数,operator*有两个参数D。
operator+有一个参数,operator*有一个参数正确谜底:C5.以成员函数方式重载运算符“>”,则obj1>obj2被C++编译器解释为()。
A。
operator>(obj1,obj2)B。
(obj1,obj2)C。
obj1.operator>(obj2)D。
obj2.operator>(obj1)正确谜底:C6.下列运算符中,()在C++中不能重载。
A。
:B。
+C。
-D。
<=正确答案:A7.运行以下程序时,如果由键盘输入6514,则输出结果是()。
#includeusingnamespace std。
int main() { int m。
《面向对象程序设计C++》期末考试试卷
![《面向对象程序设计C++》期末考试试卷](https://img.taocdn.com/s3/m/4ad5bdaaa6c30c2258019e76.png)
《面向对象程序设计C++》期末考试试卷一、选择题(每小题3分,共48分。
)01、下列关于C++函数的叙述中,正确的是( )。
A)每个函数至少要具有一个参数 B)每个函数都必须返回一个值C)函数在被调用之前必须先声明 D)函数不能自己调用自己02、下列关于类和对象的叙述中,错误的是( )。
A)一个类只能有一个对象 B)对象是类的具体实例C)类是对某一类对象的抽象 D)类和对象的关系是一种数据类型与变量的关系03、在C++中,用于实现运行时多态性的是( )。
A)内联函数 B)重载函数 C)模板函数 D)虚函数04、下列关于运算符重载的叙述中,正确的是( )。
A)通过运算符重载,可以定义新的运算符 B)有的运算符只能作为成员函数重载C)若重载运算符+,则相应的运算符函数名是+ D)重载二元运算符时,必须声明两个形参05、对于语句 cout<<x<<endl;错误的是描述是( )。
A)“cout”是一个输出流对象B)“endl”的作用是输出回车换行C)“x”是一个变量D)“<<”称作提取运算符06、有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是( )。
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;,下列关于这个函数的叙述中,错误的是( )。
《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案
![《面向对象程序设计JAVA语言程序设计》期末考试试题及部分答案](https://img.taocdn.com/s3/m/837e9f204a73f242336c1eb91a37f111f1850d5d.png)
《面向对象程序设计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个操作数中,第一个操作数的类型必须是逻辑型的。
C++面向对象程序设计考试试卷(详细讲解)(1)
![C++面向对象程序设计考试试卷(详细讲解)(1)](https://img.taocdn.com/s3/m/904b8c014a73f242336c1eb91a37f111f1850d31.png)
C++面向对象程序设计考试试卷(详细讲解)(1)C++面向对象程序设计考试试卷(详细讲解)一、单项选择题(共20题,每题1分,共20分)1、下列关于C++标识符的命名不合法的是 C 与C#一样A. PadB. name_1C. A#bcD. _a122、若有以下类型标识符定义:()Dint x=2; char w='a'; float y=23.45f; double z=45.6712;则表达式w*x+y-z的结果类型是A. floatB. charC. intD. double6、对重载函数形参的描述中,错误的是 D 重载是重点A. 参数的个数可能不同B. 参数的类型可能不同C. 参数的顺序可能不同D. 参数的个数、类型、顺序都相同,只是函数的返回值类型不同7、以下能正确定义数组并正确赋初值的语句是 DA. int N=5,b[N][N];B. int a[2]={{1},{3},{4},{5}};C. int c[2][]={{1,2},{3,4}};D. int d[3][2]={{1,2},{3,4}};8、下列给字符数组进行的初始化中,不正确的是 DA. char s1[]="abcd";B. char s2[3]={'x','y','\0'};C. char s3[]={'a','x','y','\0'};D. char s4[6]={"xyz","mnp"};9、通常的拷贝构造函数的参数是 CA.某个对象名 B.某个对象成员名C.某个对象的引用 D.某个对象的指针名10、关于构造函数特点的描述中,错误的是 AA. 定义构造函数必须指出类型(构造函数特点是无返回类型)B. 构造函数的名字与该类的类名相同C. 一个类中可定义0至多个构造函数(不写构造函数,系统会自动生成一个空的构造函数)D. 构造函数是一种成员函数11、下面程序的运行结果为 C#includeint add(int a,int b);void main(){extern int x,y;cout<<add(x,y)<<endl;< p="">}int x=20,y=5;int add(int a,int b){int s=a+b;return s;}A.20 B.5 C.25 D.编译会提示出错信息12、关于常成员的描述中,错误的是 BA. 常成员包含常数据成员和常成员函数两种B. 常数据成员必须是公有的C. 常数据成员要使用构造函数成员初始化列表进行初始化D. 常对象只能调用它的常成员函数,不能调用其它的成员函数13、关于友元函数的描述中,错误的是 BA. 友元函数不是成员函数B. 友元函数只能访问类中私有成员C. 友元函数破坏隐藏性,尽量少用D. 友元函数说明在类体内,使用关键字friend14、如果有int x,*p; float y,*q;则下面操作正确的是 CA.p=x B.p=qC.p=&x D.p=&y16、若数组名作实参而指针变量作形参,函数调用时实参传给形参的是 DA. 数组的长度B. 数组第一个元素的值C. 数组所有元素的值D.数组第一个元素的地址17、对于动态分配内存空间描述正确的是 DA.使用new运算符分配的内存空间的长度必需是常量B.delete运算符可以释放动态的存储空间和静态的存储空间C.由new分配的内存空间是不连续的D.delete运算符只能释放由new分配的动态存储空间18、能够释放对象所占资源的是() AA.析构函数 B.数据成员C.构造函数 D.静态成员函数19、虚函数的定义是在基类中进行的,定义时需要冠以关键字 CA.static B.frendC.virtual D.public20、在C++中串流类是在头文件strstrea.h中定义的,下列不属于串流类的是) C A.strstream B.ostrstreamC.ofstream D.istrstream二、填空题(共9题16空,每空1分,共16分)1、函数重载时,编译系统会根据__形参的类型__ 或__形参的个数__ 来区分。
c++面向对象程序设计试题和答案
![c++面向对象程序设计试题和答案](https://img.taocdn.com/s3/m/5744d0c90c22590102029d4a.png)
系名____________班级____________姓名____________学号____________密封线内不答题《面向对象程序设计C++》期末考试试卷 第一套 一、 填空题(每空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、类成员的访问权限中,()只能被本类的成员函数和其友元函数访问。
《面向对象程序设计C 》期末试卷及标准答案
![《面向对象程序设计C 》期末试卷及标准答案](https://img.taocdn.com/s3/m/3efdc694ad51f01dc281f1ec.png)
《面向对象程序设计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、类定义的内容允许被其对象无限制地存取的就是( )。
Java语言程序设计(面向对象程序设计)
![Java语言程序设计(面向对象程序设计)](https://img.taocdn.com/s3/m/f1db85f731126edb6e1a109c.png)
1、下列关于类的描述中,错误的是()。
A.可以将所有类成员的访问权限都设为私有权限B.类可认为是一种高级数据类型C.类包含数据成员和函数成员D.用类所定义出的变量称为对象正确答案:A2、下列关于重用代码的描述中,错误的是()。
A.函数是重用算法代码的语法形式B.类是一种数据类型,因此只能重用数据代码C.结构体类型是重用数据代码的语法形式D.类是同时重用算法代码和数据代码的语法形式正确答案:B3、关于程序开发过程中的程序员角色,下列哪种描述是错误的?A.一个程序员可以使用其他程序员提供的代码,即代码使用者B.一个程序员可以既是代码提供者,同时又是代码使用者C.一个程序员不能既是代码提供者,同时又是代码使用者D.一个程序员可以为其他程序员提供代码,即代码提供者正确答案:C4、关于程序设计方法,下列哪种描述是错误的?A.结构化程序设计分解出的函数是一种算法零件B.程序设计方法是研究如何对大型程序设计任务进行分解的方法C.结构化程序设计分解出的结构体类型是一种数据零件D.面向对象程序设计分解出的类是一种数据零件5、下列哪种思想不属于面向对象程序设计?A.继承B.模块化C.抽象D.封装正确答案:B6、下列关于类的描述中,错误的是()。
A.可以用流程图来描述类的设计B.类是描述客观事物的数据模型C.类的数据成员也被称作属性D.类的函数成员也被称作方法正确答案:A7、按照面向对象程序设计的观点,下列关于对象描述中错误的是()。
A.客观世界中的事物被称作客观对象B.类是描述客观对象的数据模型C.程序中用类定义出的对象被称作内存对象D.同一个类所定义出的两个内存对象可以有不同的成员正确答案:D8、关于面向对象程序设计方法,下列哪种描述是错误的?A.面向对象程序设计方法所设计出的类代码不能重用B.面向对象程序设计方法更便于代码分类管理C.面向对象程序设计方法中的类是客观事物抽象后的数据模型D.面向对象程序设计方法是当今程序设计的主流方法9、假设编写一个教务管理系统,通过分析可抽象出若干个类,其中不应当包括下列哪个类?A.宿舍类B.教师类C.课程类D.学生类正确答案:A10、如果将客观世界中的钟表抽象成一个钟表类,其中不应当包含下列哪个成员?A.设置时间B.显示时间C.功率D.时、分、秒正确答案:C11、下列关于字段成员的描述中,错误的是()。
Java面向对象程序设计_习题解答(耿祥义)
![Java面向对象程序设计_习题解答(耿祥义)](https://img.taocdn.com/s3/m/0ab896f45122aaea998fcc22bcd126fff7055d60.png)
书后习题参考答案习题1 2习题2 3习题3 4习题4 10习题5 11习题6 14习题7 15习题9 16习题12 20习题13 25习题14 27习题15 28习题16 31习题17 39习题11.James Gosling2.(1)使用一个文本编辑器编写源文件。
(2)使用Java编译器(javac.exe)编译Java源程序,得到字节码文件。
命令:javac –d . 文件名称.java(3)使用Java解释器(java.exe)运行Java程序。
命令:java 包名.类名3.Java的源文件是由若干个书写形式互相独立的类、接口、枚举等组成。
应用程序中可以没有public类,若有的话至多可以有一个public类。
4.新建JAVA_HOME系统环境变量,指向安装目录在系统环境变量path中增加内容:%JAVA_HOME%\bin;新建系统环境变量classpath并填入三项:.; %JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tools.jar5. B6. Java源文件的扩展名是.java。
Java字节码的扩展名是.class。
7. D8.(1)Speak.java(2)生成两个字节码文件,这些字节码文件的名字Speak.class和Xiti8.class(3)java Xiti8(4)执行java Speak的错误提示Exception in thread "main" ng.NoSuchMethodError: main执行java xiti8得到的错误提示Exception in thread "main" ng.NoClassDefFoundError: xiti8 (wrong name: Xiti8)执行java Xiti8.class得到的错误提示Exception in thread "main" ng.NoClassDefFoundError:Xiti8/class执行java Xiti8得到的输出结果I'm glad to meet you9.属于操作题,解答略。
《面向对象程序设计C++》期末试卷及标准答案集总
![《面向对象程序设计C++》期末试卷及标准答案集总](https://img.taocdn.com/s3/m/54023006f705cc17542709c9.png)
《面向对象程序设计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++面向对象程序设计》期末考试试题
![《C++面向对象程序设计》期末考试试题](https://img.taocdn.com/s3/m/acdfebcfd05abe23482fb4daa58da0116c171f27.png)
《C++面向对象程序设计》考试试题✧本试卷满分100分;✧请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰;✧请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时请将试题纸、答题纸和草纸一并交上来。
一、单选题(共10分,每题1分)1.C++中解决命名冲突的机制是:D(A)虚基类(B)虚函数(C)函数重载(D)名字空间2.若类A的一个对象所占的内存空间中包含虚函数表的入口地址,则:C(A)类A不能有静态数据成员(B)类A中公有的成员函数一定是虚的(C)类A中至少有一个成员函数是虚的(D)类A的析构函数一定是虚的3.任意一个类,析构函数的个数最多是:B(A)不限个数(B)1(C)2(D)34.下列关于this指针的说法,哪个是正确的:D(A)this指针一定指向常量型数据(B)this指向的数据不可更改(C)静态成员函数中也可以访问this指针(D)this指针本身可直接作为成员函数的返回值5.在类定义中,为说明成员的访问权限,private,protected,public可以出现次数为:A(A)次数没有具体限定(B)每种至多一次(C)public至少一次(D)每种至少一次6.下面哪种定义方式是正确的,并且使得p可以作为函数void f(A*const pp);的实参:A(A)A*p=new A;(B)A a;A*p=a;(C)const A*p=new A;(D)A a;const A*p=a;7.obj是类A的一个对象,执行语句const A&aA=obj;,则下列说法正确的是:C(A)类A的拷贝构造函数会被调用(B)类A的赋值函数会被调用(C)&aA的值就是&obj(D)语句obj.f();等价于语句aA.f();8.下面关于访问类A的私有数据成员的说法,错误的是:C(A)类A的友元函数可以访问类A的私有成员。
(B)类A的友元类中的非静态成员函数可以访问类A的私有成员。
c++_面向对象程序设计考试试题1
![c++_面向对象程序设计考试试题1](https://img.taocdn.com/s3/m/fe26050d964bcf84b9d57b84.png)
考试试题纸(B 卷)《面向对象程序设计》课程计算机院(系)网络工程、计算机科学与技术班级考试时量 100分钟学生人数命题教师系主任交题时间:年月日考试时间:年月日1.一、简答题(每小题5分,共20分)1.什么是类?什么是对象?对象与类的关系是什么?2.构造函数和析构函数的主要作用是什么?他们各有什么特性?3.派生类构造函数和析构函数的执行顺序是怎样的?4.什么是虚函数?虚函数与函数重载有哪些相同点和不同点?2.二、选择题(每小题2分,共20分)1.假设已经有定义char *const pName=”Student”;下面的语句正确的是。
A.pName[3]=’t’; B. pName=”score”;C. pName=new char[5];D. pName=new char(‘p’);2.在下面有关对构造函数的描述中,正确的是。
A. 构造函数可以带有返回值B. 构造函数的名字与类名完全相同C. 构造函数必须带有参数4.构造函数必须定义,不能缺省3.在下面有关析构函数特征的描述中,错误的是。
A. 一个类中只能定义一个析构函数B. 析构函数名与类名完全相同C. 析构函数不能指定返回类型D. 析构函数不能带有参数4.假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为。
A. 3B. 4C. 6D. 95. 假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为。
A. AB operator+(AB &a,AB &b)B. AB operator+(AB &a)C. operator+(AB a)D. AB & operator+( )6. 假设定义了函数模版:template<class T>T max(T x, T y){ return (x>y)?x:y; }并定义了:int i;char c;那么下列错误的调用该模版的是。
面向对象的程序设计试题库
![面向对象的程序设计试题库](https://img.taocdn.com/s3/m/26f52f1d777f5acfa1c7aa00b52acfc788eb9f67.png)
面向对象的程序设计一、单项选择题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++ 语言中的()机制,可以从现存类中构建其子类。
面向对象模拟试卷 2014
![面向对象模拟试卷 2014](https://img.taocdn.com/s3/m/691da182cc22bcd127ff0c01.png)
private int data;
private D temp;
public OutThread(int d,D t){ data=d; temp=t; }
public void run(){
synchronized(temp){
C.对计算公式已不需更改的数学函数,常用public static final修饰;
D.若类中有final abstract修饰的方法,必须实现该方法才能构造对象。
11.下面关于static修饰符,正确的说法是。
A.与普通变量相比,static变量只能更改1次
B.与普通方法相比,static方法只能借助类名调用,不能借助对象引用;C. static变量被该类所有对象所共享,甚至包括私有static变量
答题要点:
a)网络环境需要面临不同编码环境,编码不匹配会导致乱码现象;
b)采用2字节可编码216个字符,字符集大,可将各国文字均纳入这一字典,由此各国文字都能得到正常
解释,基本解决了字符乱码问题。
2、简述结构化程序设计方法和面向对象程序设计方法的核心思想。
答题要点:
结构化程序设计方法是一种以功能为核心的程序设计方法。“结构化”是指可组合、可分解,即系统(或大模块)
作为不同类之间的契约
15.下列关于java IO流的说法中,错误的是。
A.流是单向的,只能向输入流写入;只能从输出流读取
B.流适用于对象间大量、复杂、持续的数据交互
C.流的使用基于按需组合的原则
D.字节流是通用性流,可传输任何数据;字符流对传输可读字符更高效
16.对委托事件处理模型,不正确的说法是。
面向对象程序设计》期末试卷及标准答案
![面向对象程序设计》期末试卷及标准答案](https://img.taocdn.com/s3/m/bba60751ed630b1c59eeb5cc.png)
《面向对象程序设计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面向对象程序设计》科目考试卷及答案
![《Java面向对象程序设计》科目考试卷及答案](https://img.taocdn.com/s3/m/12a23f09f12d2af90242e661.png)
安徽财贸职业学院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.以下代码的输出结果是()。
面向对象程序设计原理考核试卷
![面向对象程序设计原理考核试卷](https://img.taocdn.com/s3/m/7c2c1f52591b6bd97f192279168884868662b873.png)
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
面向对象程序设计C++期末试卷2套(含答案)
![面向对象程序设计C++期末试卷2套(含答案)](https://img.taocdn.com/s3/m/3f5eff7aef06eff9aef8941ea76e58fafab045b4.png)
面向对象程序设计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类的对象。
Java面向对象程序设计模拟试题1及答案
![Java面向对象程序设计模拟试题1及答案](https://img.taocdn.com/s3/m/592105ebf121dd36a32d825f.png)
Java面向对象程序设计模拟试题1一、单项选择题(本大题共15小题,每小题1分,共15分)1. Java语言属于A. 机器语言B. 高级语言C. 自然语言D. 汇编语言2. Java源文件的扩展名是A. docB. exeC. javaD. class3. Java语言的字符使用的字符编码是A. ASCIIB. UnicodeC. UTF-8D. GB23124. Java中int类型所占字节数是A. 1B. 2C. 4D. 85. 给定下面代码段,程序运行结果是public class Foo{public static void main(String[] args){int i = 1;int j = i++;if((++i > j) && (i++ == j)){i += j;}System.out.println("i = "+i) ;}}A. i = 1B. i = 2C. i = 3D. i = 4 if内的判断也会对数值有影响6. 设有Circle类,执行下面语句后,哪个对象可以被垃圾回收器回收Circle a = new Circle();Circle b = new Circle();Circle c = new Circle();a = b;a = c;c = null;A.原来a所指的对象B.原来b所指的对象C.原来b和c所指的对象D.原来c所指的对象7. 下列程序段的运行结果为int index = 1;int foo[] = new int[3];int bar = foo[index];int baz = bar + index;A. baz 的值为0B. baz 的值为1C. baz 的值为2D. 抛出一个异常8. 执行下列语句后输出的结果是String s = "\"Hello,World!\"";System.out.println(s.length());A. 12B. 14C. 16D. 189. 下列代码执行后输出foo的结果为int index = 1;String[] test = new String[3];String foo = test[index];System.out.println(foo);A. ""B. nullC. 抛出一个异常D. 代码不能编译10. 下面程序运行结果为class Super{public int i = 0;public Super(String text){i = 1;}}public class Sub extends Super{public Sub(String text){i = 2;}public static void main(String[] args){Sub sub = new Sub("Hello");System.out.println(sub.i);}}A. 该程序有编译错误B. 编译成功输出0C. 编译成功输出1D. 编译成功输出211.下面代码在运行时会产生什么异常int a[] = {1,2,3,4,5};System.out.println(a[5]);A. ArrayIndexOutOfBoundsExceptionB. IndexOutOfBoundsExceptionC. ObjectClastExceptionD. NullPointerException12.有下列一段代码,执行后输出结果为。
面向对象程序设计(Java)-题库
![面向对象程序设计(Java)-题库](https://img.taocdn.com/s3/m/7f032332a300a6c30c229f9c.png)
面向对象程序设计(java)题库抽题规范:(1)此题库共75道题,抽8道作为期末考试题。
其中,易8道,较易33道,较难18道,难16道.(2)按题型,第一大题抽4道,每道10分;第二大题抽2道,每道10分;第三大题抽1道,每道20分;第四大题抽1道,每道20分。
(3)按难易程度:易(1道)、较易(4道)、较难(2道)、难(1道)。
一、解答题(共40道,抽4道,每道10分,共40分)1.面向对象有哪三大特征?封装,继承,多态.2.什么是类?(易)类是定义同一类所有对象的变量和方法的蓝图或原型。
3.什么是对象?对象是类的实例;对象是通过new className产生的,用来调用类的方法;类的构造方法 .。
4.类和对象的区别是什么?java中的类是模板,而对象是依据模版产生的实体5.简述Java的封装性,如何在Java中实现封装封装性是指的把代码封装到大括号中,只能访问自己内部的数据,外边的东西访问不了。
实现为加访问权限。
6.构造方法有哪些特点方法名与类名相同,没有返回值,可以有多个重载。
7.构造方法的作用是什么?(较易)初始化对象,就是你new一个类的时候可以很方便的给你的对象里的属性赋值。
8.this在程序中所代表的意思(易)指当前对象9继承的作用是什么?(易)实现代码复用。
10.Java支持多继承吗?(易)不能。
11.子类可以继承父类的哪些成员?(较难)变量和构造方法。
12.简述构造子类对象时子类和父类构造方法执行顺序(较易)先执行父类再执行子类。
13.什么是方法的重载,如何选择被重载的方法?(较易)同一个类中如果同时存在两个以上的方法有同一个名字,在这种情况下,我们说方法被重载了,这个过程被称为重载。
14什么是方法的重写,如何选择被重写的方法?(较难)当同名方法同时存在于子类和父类中时,对于子类来说就是将继承父亲的方法重载写过了,实现功能完全和父类无关。
15.简述重载和覆盖的区别(较易)重载是让同一方法名的方法可以处理和返回不同类型的数据而覆盖是在子类中改写父类的方法16.什么是成员的隐藏?如何访问被隐藏了的父类成员?(较易)在子类对父类的继承中,如果子类的成员变量和父类的成员变量同名,此时称为子类隐藏了父类的成员变量。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
洛阳理工学院 2014/2015 学年第一学期面向对象程序设计期末考试试题卷适用班级:B120507-10 考试日期时间:120分钟一、选择题(每小题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、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。
A. 内联函数B. 重载函数C. 递归调用D. 嵌套调用8、下列有关C++类的说法中,不正确的是()。
A. 类是一种用户自定义的数据类型B. 只有类中的成员函数或类的友元函数才能存取类中的私有成员C. 在类中,如果不做特别说明,所有成员的访问权限均为私有的D. 在类中,如果不做特别说明,所有成员的访问权限均为公用的9、已知X类,则当程序执行到语句:X array[3];时,调用了()次构造函数。
A. 0B. 1C. 2D. 310、下面说法中,正确的是()A. 一个类只能定义一个构造函数,但可以定义多个析构函数B. 一个类只能定义一个析构函数,但可以定义多个构造函数C. 构造函数与析构函数同名,只要名字前加了一个求反符号(~)D. 构造函数可以指定返回类型,而析构函数不能指定任何返回类型,即使是void类型也不可以11、已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。
A. void print( ) const;B. const void print( );C. void const print( );D. void print(const);12、下面描述中,表达错误的是()A. 公用继承时基类中的public成员在派生类中仍是public的B. 公用继承时基类中的private成员在派生类中仍是private的C. 公用继承时基类中的protected成员在派生类中仍是protected的D. 私有继承时基类中的public成员在派生类中是private的13、设置虚基类的目的是()。
A. 简化程序B. 消除二义性C. 提高运行效率D. 减少目标代码14、下面()的叙述不符合赋值兼容规则。
A. 派生类的对象可以赋值给基类的对象B. 基类的对象可以赋值给派生类的对象C. 派生类的对象可以初始化基类的对象D. 派生类的对象的地址可以赋值给指向基类的指针15、关于虚函数的描述中,()是正确的。
A. 虚函数是一个static类型的成员函数B. 虚函数是一个非成员函数C. 基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型16、下面关于友元的描述中,错误的是()。
A. 友元函数可以访问该类的私有数据成员B. 一个类的友元类中的成员函数都是这个类的友元函数C. 友元可以提高程序的运行效率D. 类与类之间的友元关系可以继承17、下列关于静态数据成员的说法,不正确的是()。
A. 类中定义的公用静态数据成员,可以通过类的对象来访问B. 类中定义的所有静态数据成员,都必须在类外初始化C. 静态数据成员不是所有对象所共用的D. 普通的成员函数可以直接访问类中的静态数据成员18、如果表达式++i*k中的“++”和“*”都是重载的友元运算符,若采用运算符函数调用格式,则表达式还可以表示为()。
A. operator*(i.operator++(),k)B. operator*(operator++(i),k)C. i.operator++().operator*(k)D. k.operator*(operator++(i))19、下面对模板的声明,正确的是()。
A. template<T>B. template<class T1, T2>C. template<class T1, class T2>D. template<class T1; class T2>20、下列的各类函数中,()不是类的成员函数A. 构造函数B. 析构函数C. 友元函数D. 复制构造函数二、填空题(前14个空,每空1分,后3个空,每空2分,共20分)1、类和对象的关系可表述为:类是对象的,而对象则是类的。
2、静态成员函数没有隐含的,所以,在C++程序中,静态成员函数主要用来访问静态数据成员,而不访问非静态成员。
3、在图1中,A,B,C,D,E,F均是类,其中属于单继承的派生类有,属于多继承的派生类有,类F的基类有,类A的派生类有。
A B CD EF图1 类的继承层次图4、如果只想保留公共基类的一个复制,就必须使用关键字把这个公共基类声明为虚基类。
5、从实现的角度来讲,多态性可以划分为两类:和。
6、如果一个类包含一个或多个纯虚函数,则该类称为。
7、若要把void fun()定义为类A的友元函数,则应在类A的定义中加入语句。
8、列出C++中的两种代码复用方式:和。
9、析构函数的作用是。
10、假定A是一个类名,则该类的拷贝构造函数的原型说明语句为:。
11、后置自增运算符“++”重载为类的成员函数(设类名为A)的形式为:。
三、阅读下面4个程序,写出程序运行时输出的结果。
(共13分)1、#include<iostream >using namespace std;void fun(int &a, int &b){ int p;p=a; a=b; b=p;}void exchange(int &a, int &b, int &c){ if( a<b ) fun(a, b);if( a<c ) fun(a, c);if( b<c ) fun(b, c);}int main(){ int a=12,b=89,c=56;exchange(a, b, c);cout<<"a="<<a<<",b="<<b<<",c="<<c<<endl;return 0;}2、#include <iostream>using namespace std;class A {public:A( ) { cout << "A"; }};class B {public:B( ) { cout <<"B"; }};class C: public A {public:C( ) { cout << "C"; }private:B b;};int main ( ) {C obj;return 0;}3、#include <iostream>using namespace std;class A{public:A(){cout<<"A::A() called.\n";}virtual ~A(){cout<<"A::~A() called.\n";}};class B: public A{public:B(int i){ cout<<"B::B() called.\n";buf=new char[i];}virtual ~B(){ delete []buf;cout<<"B::~B() called.\n";}private:char *buf;};int main(){ A *a=new B(15);delete a;return 0;}4、#include <iostream>using namespace std;class A{public:void f(){cout<<"Call A's function f()"<<endl;} };class B{public:void f() {cout<<"Call B's function f()"<<endl;} void g() {cout<<"Call B's function g()"<<endl;} };class C: public A, public B{public:void g(){cout<<"Call C's function g()"<<endl;} };int main(){ C cc;cc.B::f();cc.B::g();cc.g();return 0;}四、编程题(第1小题10分,第2小题17分共27分)1、(10分)已知复数类Complex的声明如下:class Complex{public:Complex(); //无参构造函数Complex(double ); //转换构造函数Complex(double, double); //有两个形参的构造函数friend Complex operator+(Complex&, Complex&); //对“+”运算符进行重载friend ostream& operator<<(ostream&, Complex&); //对“<<”运算符进行重载friend istream& operator>>(istream&, Complex&); //对“>>”运算符进行重载private:double real,imag;};要求:(1)写出该类的所有构造函数的类外定义代码。