《面向对象程序设计》过程考试试题第三次精选课件
- 格式:doc
- 大小:37.00 KB
- 文档页数:5
聊城大学计算机学院面向对象的程序设计第三次作业一、单选题(本大题共17小题,每题3分,共51分):1、在下列函数原型中,可以作为类AA构造函数的是()。
A void AA(int);B int AA( );C AA(int) const;D AA(int);2、下列选项中,哪一项功能是对对象进行初始化()。
A 析构函数B 数据成员C 构造函数D 静态成员函数3、假定A为类名,执行A x;语句时将自动调用该类的()。
A 有参构造函数B 无参构造函数C 拷贝构造函数D 赋值构造函数4、下列关于构造函数的说法,错误的是()。
A 系统可以提供默认的构造函数B 构造函数可以有参数,所以可以有返回值C 构造函数可以重载D 构造函数可以设置默认参数5、有如下类定义:class Point{int x, y;public:Point__________:x_(0), y_(0){}Point(int x, int y = 0):x_(x), y_(y){}};若执行语句:Point a(2), b[3], *c[4];则Point类的构造函数被调用的次数是()。
A 2次B 3次C 4次D 5次6、在下面的类定义中class sample{public:sample(int val); //①~sample( ); //②private:int a=2.5; //③public:sample( ); //④};其中错误的语句是()。
A ①B ②C ③D ④7、假定一个类的构造函数为A(int i = 4, int j = 0) { a = i; b = j;}则执行A x(1)语句后,x.a和x.b的值分别为()。
A 1和0B 1和4C 4和0D 4和18、下列关于构造函数的描述中,错误的是()。
A 构造函数可以设置默认参数B 构造函数在定义类对象时自动执行C 构造函数可以是内联函数D 构造函数不可重载9、下列选项中,哪一项不是构造函数的特征()。
最新国家开放大学电大本科《面向对象程序设计》期末题库及答案考试说明:本人针对该科精心汇总了历年题库及答案,形成一个完整的题库,并且每年都在更新。
该题库对考生的复习、作业和考试起着非常重要的作用,会给您节省大量的时间。
做考题时,利用本文档中的查找工具,把考题中的关键字输到查找工具的查找内容框内,就可迅速查找到该题答案。
本文库还有其他网核及教学考一体化答案,敬请查看。
《面向对象程序设计》题库及答案一一、单项选择题(每小题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的值分别为( )。
一、单选题(每小题1分,共30分)1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。
CA) Package B)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。
CA)class B) 123_rr C) _lei D) test&123.下列的()选项可以正确用以表示八进制值8。
0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) boolean C) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int表示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double 浮点型B) long C) int D) byte7.以下do-while语句构成的循环执行次数是()。
Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为()。
逻辑运算结果只有true和false两种 BA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不可以作为循环条件 AA) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() DA) 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数组元素错误的引用是() CA) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。
《⾯向对象程序设计》模拟试卷1浙江警官职业学院2013—2014学年第⼀学期期末考试《⾯向对象程序设计》模拟试卷⼀、判断题。
(共10分,每题1分,对的打“√”,错的打“メ”)1、C#程序必须包含⼀个Main⽅法作为程序的⼊⼝点。
(√)2、String类型是引⽤类型。
(√)3、只有Get访问器的属性称为只写属性。
(メ)4、构造函数可以被重载。
(√)5、属性占⽤存储空间。
(メ)6、类中的静态构造函数不能带参数,不能具有可访问性修饰符。
(√)7、⼀个类可以有多个不同名的构造函数。
(メ)8、⼦类将继承⽗类所有的成员。
(√)9、变量在可以作为ref引⽤参数传递之前,可以不赋值。
(メ)10、⼀个类可以实现多个接⼝。
(√)⼆、选择题。
(共20分,每题1分)1、以下C#注释代码,不正确的是( D )。
A、//C#注释代码B、//C#注释代码1//C#注释代码2C、////C#注释代码D、/*C#注释代码*/2、下⾯属于合法的字符串常量的是( B )。
A、@XYZB、"XYZ"C、’XYZ’D、XYZ3、在窗体中,改变label标签的显⽰结果,需修改的属性是(A )。
A、TextB、NameC、TitleD、Index4、当没有定义访问修饰符时,类的成员的默认访问修饰符为( D )。
A、privateB、publicC、protectedD、internal5、执⾏下列语句将产⽣的结果是( B )。
int i=1;if ( i ) Console.WriteLine(true);else Console.WriteLine(false);A、输出1B、输出trueC、输出falseD、编译错误6、以下关于静态⽅法的说法,不正确的是(D )。
A、静态⽅法不对特定实例进⾏操作B、静态⽅法只能直接访问静态成员C、在静态⽅法中引⽤this会导致编译时错误D、静态⽅法通过类的实例来访问7、定义⼀个数组string[] role={“赵灵⼉”,“李逍遥”,“林⽉如”,“杨过”,“⼩龙⼥”},数据中的role[5]指的是( D )。
江南大学网络教育第三阶段练习题考试科目:《面向对象的程序设计》第章至第章(总分100分)__________学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题 (共8题,总分值8分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)1. 在打开磁盘文件的访问方式常量中,(C )是以追加方式打开文件的。
(1 分)A. inB. outC. appD. ate2. catch(···)一般放在其他catch子句的后面,该子句的作用是(B )。
(1 分)A. 抛掷异常B. 捕获所有类型的异常C. 检测并处理异常D. 有语法错误3. 建立类模板对象的实例化过程为(C )。
(1 分)A. 基类-->派生类B. 构造函数-->对象C. 模板类-->对象D. 模板类-->模板函数4. 下列输出字符'A’的方法中,(B )是错误的。
(1 分)A. cout<<'A';B. cout<<put('A');C. cout. put('A');D. char= 'A' ;cout<<a;5. 使用控制符进行格式输出时,应包含(C )文件。
(1 分)A. iostream.hB. math.hC. iomanip.hD. fstream.h6. 下列选项中,用于清除基数格式位设置以八进制输出的语句是(C )。
(1 分)A. cout<<setf(ios :: dec ,ios :: basefield) ;B. cout<<setf(ios :: hex ,ios :: basefield) ;C. cout<<setf(ios :: oct ,ios :: basefield);D. cin>>setf(ios :: hex ,ios :: basefield);7. 假定已定义整型变量data,以二进制方式把data的值写人输出文件流对象outfile中去,正确的语句是(C )。
一、单选题(每小题1分,共30分)1.在MyEclipse中,()视图可以将项目中包含的文件及层次结构展示出来。
CA) Package B)Declaration C)Navigator D) Console2.下列标识符中,正确的是()。
CA)class B) 123_rr C) _lei D) test&123.下列的()选项可以正确用以表示八进制值8。
0x代表16进制,0代表8进制 D A)0x8 B)0x10 C)08 D)0104.以下哪个不是Java的原始数据类型()DA) int B) boolean C) float D) Char引用数据类型5.下列有关Java布尔类型的描述中,正确的是()AA)一种基本的数据类型,它的类型名称为booleanB)用int表示类型C)其值可以赋给int类型的变量D)有两个值,1代表真,0代表假6.在Java中,不属于整数类型变量的是( ) AA) double 浮点型B) long C) int D) byte7.以下do-while语句构成的循环执行次数是()。
Bint k=0;do { ++k ;}while(k<1);A) 一次也不执行B) 执行1次C) 无限次D) 有语法错误,不能执行8.表达式(1/0<1)&& (12==0) 的值为()。
逻辑运算结果只有true和false两种 BA) true B) false C) 0 D) 运行时抛出异常9.以下()表达式不可以作为循环条件 AA) i=5 B )i<3 C) count==i D) bEqual=str.equals("q") 10.下列数组初始化正确的是() DA) 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数组元素错误的引用是() CA) x[5-3] B) x[k] C) x[k+5] D) x[0]12.以下代码的输出结果是()。
《面向对象程序设计》习题三答案一、单项选择题(本大题共25小题,每小题2分,共50分)1、用“>>”运算符从键盘输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。
A、空格或逗号B、逗号或回车C、逗号或分号D、空格或回车2、C++中声明常量的关键字是( A )。
A、constB、externC、publicD、enum3、以下叙述中正确的是( B )A、使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值B、使用const定义的常量名有类型之分,其值在程序运行时是不可改变的C、在程序中使用内置函数使程序的可读性变差D、在定义函数时可以在形参表的任何位置给出缺省形参值4、下列的符号常变量定义中,错误的定义是( C )。
A、const M=10;B、const int M=20;C、const char ch;D、const bool mark=true;5、函数原型语句正确的是( B )。
A、int Function(void a)B、void Function (int);C、int Function(a);D、void int(double a);6、在关键字private后面定义的成员为类的( A )成员。
A、私有B、公用C、保护D、任何7、在一个类的定义中,包含有( C )成员的定义。
A、数据B、函数C、数据和函数D、数据或函数8、在类作用域中能够通过直接使用该类的( D )成员名进行访问。
A、私有B、公用C、保护D、任何9、在关键字public后面定义的成员为类的( B )成员。
A、私有B、公用C、保护D、任何10、类中定义的成员默认为( B )访问属性。
A、publicB、privateC、protectedD、friend11、每个类( C )构造函数。
A、只能有一个B、可以有公用的C、可以有多个D、只可有缺省的12、对类对象成员的初始化是通过构造函数中给出的( B )实现的。
南开16秋学期《面向对象程序设计》在线作业一、单选题(共35道试题,共70分。
)1.将一个tring类对象赋予新值,应该使用tring类的()函数。
A.aignB.inertC.wapD.find正确答案:2.在派生类中重新定义虚函数时,除了(),其他方面都应与基类中相应的虚函数保持一致。
A.函数名B.参数C.函数体D.返回值类型正确答案:3.交换两个tring类对象所表示的字符串的内容,应该使用tring类的()函数。
A.aignB.inertC.wapD.find正确答案:4.单目运算符作为类成员函数重载时()。
A.有形参B.没有形参C.有实参D.以上都不正确正确答案:5.有如下类声明:claSample{int某;};则Sample类成员某是Sample 类的()。
A.公有数据成员B.保护数据成员C.私有数据成员D.以上选项都不正确正确答案:6.一个类的友元函数或友元类能够通过成员操作符访问该类的()。
A.私有成员B.保护成员C.公有成员D.所有成员正确答案:7.下列关于动态联编的描述中,错误的是()。
A.动态联编是以虚函数为基础的B.动态联编是在运行时确定所调用的函数代码的C.动态联编调用函数操作是通过指向对象的指针或对象D.动态联编是在编译时确定操作函数的正确答案:8.类的默认的无参构造函数()。
A.在任何情况下都存在B.仅当未定义无参构造函数时存在C.仅当未定义有参构造函数时存在D.仅当未定义任何构造函数时存在正确答案:9.类MyCla的定义如下:claMyCla{public:MyCla(){value=0;}SetVariable(inti){value=i;}priv ate:intvalue;}则对下列语句序列正确的描述是()。
MyCla某p,my;p=&my;A.语句p=&my;是把对象my赋值给指针变量pB.语句MyCla某p,my;会调用两次类MyCla的构造函数C.对语句某p.SetVariable(5)的调用是正确的D.语句p->SetVariable(5)与语句my.SetVariable(5)等价正确答案:10.静态数据成员初始化在()进行,而且前面不加tatic,以免与一般静态变量或对象相混淆。
《面向对象程序设计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 )是正确的。
《面向对象程序设计》过程考核大纲
第三单元运算符重载多态模板
一、考核目标
主要考察类、对象、友元、运算符重载、多态、模板、文件等概念和使用方法,通过考试,使学生掌握类和对象的概念和设计方法;掌握运算符重载作用和语法。
掌握类的继承和多态的作用,掌握模板的语法和作用,掌握对文件的基本操作。
二、考核内容
1.运算符重载的实现。
2.模板函数的实现。
3.多态的实现。
4.对文件的基本操作。
三、考试要求
1.不允许携带U盘和教材等进入考场。
2.考试过程中保持安静,独立按要求完成考试题目。
3.考试结束后,请坐在座位上,等待监考老师确认你的考题之后方可签字离开。
4.在桌面上新建一个文件夹,以“学号+姓名”形式命名,如:20130102张三。
该文件夹中应该包含两个子文件夹(文件夹名分别为:第一题第二题),分别存放两道题的相关工程文件以及测试结果等。
《面向对象程序设计》第一次过程考核A卷
(学号尾号为单数的学生完成A卷)
1.(60分)
已知一个名为Complex的复数类,这个类包含:
(1)私有成员:实部、虚部,且均为int 型
(2)公有的带默认形参值的构造函数
(3)以类的成员函数方式重载+运算符和*运算符
(4)以友元函数方式重载<<运算符
(5)使得以下主函数正确运行并得到以下结果
int main() {
Complex c1(1, 2);
Complex c2(3, 4);
cout << c1 + c2;
cout << c1 * c2;
}
输出结果如下:
4+6i
-5+10i
2.(20分)
定义一个抽象类Shape, 为该类定义虚函数getArea(),从Shape分别派生出圆形Circle和正方形Squre,在这两个类中实现getArea()函数,使得以下主函数的代码可以正确运行并得到如下的结果。
int main() {
Circle c(1); // 用1初始化圆形的半径
Squre s(1); // 用1初始化正方形的边长
Shape * p[2] = {&c,&s};
for(int i=0;i<2;i++){
cout<<p[i]->getArea()<<endl;
}
}
输出结果如下:
3.14
1
3. (20分)
定义一个学生类,有学号和成绩数据成员,均为整型数据,为其定义构造函数。
定义一个模板函数,该函数的功能是从两个数据中选择较大的数据(参考主函数代码及输出结果),对于学生数据,返回成绩最高的学生。
使得以下主函数的代码可以正确运行。
同时将成绩最高的学生的信息以文本文件的方式写入名称为stu.txt 的一个文本文件中。
int main(){
int c = myMax(5,6);
cout<<c<<endl;
Stu s1(101,90);
Stu s2(102,80);
Stu s3 = myMax(s1,s2);
cout<<s3<<endl;
// 以下补充将s3的信息写入文本文件的代码
}
运行结果
6
101 90
《面向对象程序设计》第一次过程考核B卷
(学号尾号为双数的学生完成B卷)
1.(60分)已知一个名为Complex的复数类,这个类包含:
(1)私有成员:实部、虚部,且均为int 型
(2)公有的带默认形参值的构造函数
(3)以类的成员函数方式重载-运算符和*运算符
(4)以友元函数方式重载<<运算符
(5)使得以下主函数正确运行并得到以下结果
int main() {
Complex c1(1, 2);
Complex c2(3, 4);
cout << c1 - c2;
cout << c1 * c2;
}
输出结果如下:
-2-2i
-5+10i
2.(20分)
定义一个抽象类Shape, 为该类定义虚函数getArea(),从Shape分别派生出圆形Circle和正方形Squre,在这两个类中实现getArea()函数,使得以下主函数的代码可以正确运行并得到如下的结果。
int main() {
Circle c(2); // 用2初始化圆形的半径
Squre s(2); // 用2初始化正方形的边长
Shape * p[2] = {&c,&s};
for(int i=0;i<2;i++){
cout<<p[i]->getArea()<<endl;
}
}
输出结果如下:
12.56
4
3. (20分)
定义一个学生类,有学号和成绩数据成员,均为整型数据,为其定义构造函数。
定义一个模板函数,该函数的功能是从两个数据中选择较小的数据(参考主函数代码及输出结果),对于学生数据,返回成绩最低的学生。
使得以下主函数的代码可以正确运行。
同时将成绩最高的学生的信息以文本文件的方式写入名称为stu.txt 的一个文本文件中。
int main(){
int c = myMin(5,6);
cout<<c<<endl;
Stu s1(101,90);
Stu s2(102,80);
Stu s3 = myMin(s1,s2);
cout<<s3<<endl;
// 以下补充将s3的信息写入文本文件的代码
}
结果
5
102 80。