《面向对象程序设计》在线测试

合集下载

《面向对象程序设计》第05章在线测试

《面向对象程序设计》第05章在线测试

《面向对象程序设计》第05章在线测试A class Complex { Complex operator +();}B+(Complex &);}C class Complex { Complex operator+(Complex, Complex);}DA BC D如果表达式是作为普通函数重载的运算符,A BC D、双目运算符的调用格式是(A右运算对象BC右运算对象D、一个程序中数组int a[5][10],k;”,且程序中包含有语句“A BC DC、.D、,2、下面运算符可以重载的是()A、*B、.*C、?:D、->*3、关于运算符重载,下列说法错误的是()。

A、重载时,运算符的优先级可以改变。

B、重载时,运算符的结合性可以改变。

C、重载时,运算符的功能可以改变。

D、重载时,运算符的操作数个数可以改变。

4、下面关于逗号运算符的说法正确的是()A、逗号运算符是多目运算符B、逗号运算符的表达式为“左运算数,右运算数”,返回值为右运算数的值。

C、逗号运算符可以重载为成员函数,形参只带右运算数。

D、逗号运算符的返回值为左运算数的值。

5、下面关于函数调用运算符正确的说法是()A、重载函数调用运算符只能说明为类的非静态成员函数B、重载了的函数调用运算符可以带多个形参,也可以带缺省参数C、重载函数调用运算符的作用与重载函数的作用相同D、重载函数的一般格式为:类名::operator();第三题、判断题(每题1分,5道题共5分)1、对每个可重载的运算符来讲,它既可以重载为友元函数,又可以重载为成员函数。

正确错误正确错误、重载运算符为成员函数和友元函数时的关键区别在于成员函数具有正确错误+=运算符与标准数据类型的=运算作用完全相同。

正确错误、下标运算符重载函数只能作为类的成员函数,不能作为类的友元函数。

正确错误。

面向对象程序设计样卷

面向对象程序设计样卷

面向对象程序设计样卷一、选择题( 本大题共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;}四、程序分析题( 分析程序, 写出运行结果。

面向对象程序设计-模拟测试

面向对象程序设计-模拟测试

《面向对象程序设计》课程模拟测试一、选择题1、C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是()A.面向过程B.面向对象C.安全性D.复用性2、关于虚函数的描述中,正确的是()A.虚函数是一个static类型的成员函数B.虚函数是一个非成员函数C.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型3、下列关于构造函数的描述中,错误的是()A.构造函数可以设置默认参数;B.构造函数在定义类对象时自动执行C.构造函数可以是内联函数;D.构造函数不可以重载4、在以下关于C++语言的注释的叙述中,不正确的是()A.C++程序中,注释可用“/*”、“*/”形式表示,也可用“//”形式表示B.C++编译器在编译一个程序时,将跳过注释,不对其进行处理C.C++编译器在编译一个程序时,可发现注释中的单词拼写错误D.程序中注释的多少不会影响所生成的可执行文件的长度5、C++语言的跳转语句中,对于break和continue说法正确的是()A.break语句只应用于循环体中B.continue语句只应用于循环体中C.break是无条件跳转语句,continue不是D.break和continue的跳转范围不够明确,容易产生问题6、下列关于C++函数的说明中,正确的是()A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是return语句C.标准C++要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式7、在下面的一维数组定义中,哪一个有语法错误。

()A.int a[ ]={1,2,3} B.int a[10]={0}C.int a[ ] D.int a[5]8、面向对象系统不具有()特性A. 继承性B. 封装性C. 过程性D. 多态性9、下列静态数据成员的特性中,错误的是()A.说明静态数据成员前边加staticB.静态数据成员要在类体外初始化C.引用静态数据成员时,要在静态数据成员前加<类名>和作用域运算符D.静态数据成员不是一个类所有对象共享的10、若用数组名作为函数调用时的实参,则实际上传递给形参的是()A.数组首地址B.数组的第一个元素值C.数组中全部元素的值D.数组元素的个数二、填空题1、C++语言中的每条基本语句以作为结束符,每条复合语句以作为结束符。

《面向对象程序设计》在线测试

《面向对象程序设计》在线测试

封面作者:PanHongliang仅供个人学习《面向对象程序设计》第04章在线测试剩余时间:59:57答题须知:1、本卷满分20分。

2、答完题后,请一定要单击下面的“交卷”按钮交卷,否则无法记录本试卷的成绩。

3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。

第一题、单项选择题(每题1分,5道题共5分)1、若B类为A类的友元类,则下面的说法正确的是()A、B类的所有成员函数都是A类的友元函数B、B类指定的成员函数才是A类的友元C、A类的所有成员函数可以访问B类的成员D、B类的私有成员函数不能可以访问A类的私有成员2、一个类的友元不是该类的成员,与该类的关系密切,所以它()。

A、有this指针,有默认操作的对象B、没有this指针,可以有默认操作的对象C、有this指针,不能执行默认操作D、没有this指针,也就没有默认操作的对象3、下面的语句中能将类 B 定义为类A的友元类的是()A、friend class B。

B、class A{ friend B}。

C、class A{ friend class B。

}。

D、class friend B class A。

4、如果类 B 是类A的友元类,n是类A的私有数据成员,函数f(A tmp)是类B的公有成员函数,a是类A的对象, b是B类的对象,下面语句正确的是()A、main(){ f(a)。

}B、main(){ b.f。

}。

C、main(){ a.n。

}。

D、main(){ b.f(a)。

}。

5、下面对于友元函数描述正确的是A、友元函数的实现必须在类的内部定义B、友元函数是类的成员函数C、友元函数破坏了类的封装性和隐藏性D、友元函数不能访问类的私有成员第二题、多项选择题(每题2分,5道题共10分)1、一个类的友元不是该类的成员,与该类的关系密切,所以下面它的说法错误的是()。

A、有this指针,有默认操作的对象B、没有this指针,可以有默认操作的对象C、有this指针,不能执行默认操作D、没有this指针,也就没有默认操作的对象2、下面关于友元的说法正确的是()A、友元函数是拥有成员函数一切权利B、友元是一种成员函数C、友元可以直接访问类的所有成员D、友元不能访问类的私有成员3、下面关于友元函数正确的说法是()A、在类中用关键词friend声明友元函数B、友元函数说明的位置只能在类的public区C、友元函数的定义只能放在类的外部D、友元函数不是类的成员函数4、关于友元函数的说法正确的是()A、友元函数可以是普通函数,可以是其他类的成员函数,也可以是本类的成员函数B、友元函数可以访问多个类的私有成员和保护成员C、在调用友元函数的时候需要使用“.”运算符D、如果友元函数是某个类的成员函数,在定义这个友元函数的时候要使用类前缀。

17秋学期北理工《面向对象程序设计》在线作业5

17秋学期北理工《面向对象程序设计》在线作业5

北理工《面向对象程序设计》在线作业试卷总分:100 得分:100一、单选题 (共 38 道试题,共 76 分)1. 若有如下函数声明:voidFun(int);,则下列()不能与该函数进行重载。

A. void Fun(int,int);B. void Fun(double);C. int Fun(int);D. void Fun(int) const满分:2 分正确答案:C2. 有如下类声明:classMyClass{public:MyClass(){cout<<1;}};执行语句MyClassa,b[2],*p[2];后,程序的输出结果是()。

A. 11B. 111C. 1111D. 11111满分:2 分正确答案:B3. 派生类对象对它的基类成员中()是可以访问的。

A. 公有继承的私有成员B. 公有继承的保护成员C. 公有继承的公有成员D. 私有继承的公有成员满分:2 分正确答案:C4. 下列关于友元的描述中,错误的是()。

A. 友元破坏了类的封装性B. 友元提高了程序的运行效率C. 友元可以在类外声明和定义D. 友元能够访问类中的私有成员满分:2 分正确答案:C5. 下列关于运算符重载的描述中,______是正确的。

A. 运算符重载可以改变运算数的个数;B. 运算符重载可以改变优先级;C. 运算符重载可以改变结合性;D. 运算符重载不可以改变语法结构。

满分:2 分正确答案:D6. 假定p指向的字符串为”string”,若要输出这个字符串的地址值,则使用()。

A. cout<<*pB. cout<<pC. cout<<pD. cout<<p满分:2 分正确答案:D34. 下列关于类成员的描述中,正确的是()。

A. 友元函数是类的成员函数B. 类成员的默认访问权限是私有的C. 类成员函数必须声明为公有的D. 类的静态数据成员不能是常成员满分:2 分正确答案:B6. 执行下列程序后的输出结果是()。

面向对象程序设计第06章在线测试

面向对象程序设计第06章在线测试
正确r
错误
5、函数模板每个
a
卜模板类型参数前面都必须用关键字class或
正确 广
戈typename修饰。
错误
《面向对象程序设计》第06章在线测试
厂B、模板非类型参数前不需要说明类型
"C每一个函数模板参数在函数参数表中都必须岀现
“D模板类型参数名可以用来制定函数模板的返回类型
2、 下面关于模板的说法正确的是( )
臣A、模板是C++软件复用的功能之一
臣B、C++提供了ቤተ መጻሕፍቲ ባይዱ种模板机制:类模板和函数模板
臣C模板体现了函数或类的参数多态性
臣D模板抽象了类或函数
3、 关于函数模板的说法正确的是( )
疋A、函数模板是一组函数的描述
厂B、函数模板编译后产生相应的执行代码
臣C函数模板实现类型参数化后能以同样的代码对不同类型的数据进行处理
臣D与函数模板相匹配的函数调用有编译系统生成模板函数
4、 关于函数模板的实例化正确的说法是( )
臣A、模板函数在实例化之前要先声明
第三题、判断题(每题1分,5道题共5分)
1、在C+冲,当存在一个与模板函数同名的普通函数时,调用的顺序是模板函数优先。
r
2、类模板中不能
正确菸
电带有静态成员。
错误
r
正确*
错误
3、类模板中可以使用无类型参数,所谓无类型参数就是值没有参数。
广正确 金
错误
4、模板参数名在同一模板参数表中只能使用一次,但可在多个函数模板声明或定义之间重复使用。
口B、模板类型可以进行隐式的类型转化
臣C模板函数是函数模板的特例
臣D函数模板实例化生成的函数模板是重载函数

001017[面向对象程序设计]5天大在线考试题库及答案

001017[面向对象程序设计]5天大在线考试题库及答案

001017[面向对象程序设计]5天大在线考试题库及答案面向对象程序设计复习题一、单项选择题1、基类中的保护成员在其私有派生类中的访问属性是(答案是A )。

A.私有B.公有C.保护D.不确定2、在类的非静态成员函数中,不可以直接访问的数据成员是(答案是D )。

A.本类的私有成员B.本类的保护成员C.本类的公有成员D.本类的所有非静态成员3、下列标示符中,不符合C++标示符命名规则的是(C)。

A.x10B. _totalC.πD.www4、下列整型常数中,不符合C++语法的是(C)。

A.12uB.-67lC.059D.0X11ff5、下列常量中,不符合C++语法的是(答案是D )。

A.”\\0”B.‘*’C.“”D.“It’s an array!”6、下列数组的初始化形式中,不符合C++语法的是(答案是A )。

A.int s1[3]={1,2,3,4}B.int s2[3]={0}C.char s3[3]={‘a’,’x’,’d’}D.char s4[]=“asd”7、如果说明语句为:int a[4]={10,20,30,40,50}, *p=&a[2];则*p的值是(答案是 B )。

A.a[2]的地址B.30C.20D.不确定8、已知:int a[3][3];下列表示数组元素a[0][0]的方法中,不符合C++语法的是(C)。

A.**aB.*a[0]C.a[0]D.*(*a[1]-1)9、已知:int a=3,b=5,下列表达式中,值为0的表达式是(答案是 B )。

A.a%5-5B.a/bC.!a||bD.a&&b10、C++中字符常数的定界符是(答案是 B )。

A.”B.‘C.#D.\\11、已知:int a=9,sum=0;下列循环中,不构成死循环的是(答案是 A )。

A.for(;a;a++) sum+=a--B.do{sum+=a--}while(--a);C.while(a=1) sum+=a--;D.do{sum+=a}while(a-1);12、如果定义一个函数时未指定该函数的返回值类型,则函数返回值类型应是(答案是 B )。

面向对象程序设计试卷

面向对象程序设计试卷

面向对象程序设计试卷一、选择题(每题2分,共20分)1. 面向对象程序设计中的三大特征是:A. 封装、继承、多态B. 抽象、封装、继承C. 封装、继承、封装D. 继承、多态、封装2. 下列哪个不是面向对象程序设计的优点?A. 代码重用B. 易于维护C. 程序复杂度低D. 可扩展性好3. 在Java中,哪个关键字用于定义类?A. classB. structC. interfaceD. type4. 以下哪个是Java中不允许的类名?A. MyClassB. 2MyClassC. MyClass2D. MyClass_5. 在面向对象程序设计中,以下哪个概念不是用于实现封装?A. 私有成员B. 公有方法C. 访问控制D. 继承6. 下列哪个不是Java的访问控制修饰符?A. publicB. privateC. protectedD. global7. 以下哪个是Java中不允许的方法名?A. myMethodB. _myMethodC. my_methodD. myMethod_8. 在Java中,哪个关键字用于实现继承?A. extendsB. inheritC. deriveD. base9. 以下哪个不是Java的多态性实现方式?A. 接口B. 抽象类C. 重载D. 重写10. 在Java中,哪个关键字用于定义接口?A. interfaceB. protocolC. abstractD. type二、简答题(每题10分,共30分)1. 简述面向对象程序设计中封装的概念,并给出一个封装的简单示例。

2. 解释什么是多态性,并说明多态性在面向对象程序设计中的重要性。

3. 描述继承在面向对象程序设计中的作用,并举例说明如何使用继承来提高代码的复用性。

三、编程题(每题25分,共50分)1. 定义一个名为`Student`的类,包含以下属性:- 姓名(String类型)- 学号(String类型)- 年龄(int类型)并为该类实现以下方法:- 一个构造函数,用于初始化姓名、学号和年龄。

《面向对象程序设计》第1.7.9.11.12章在线测试(含答案)

《面向对象程序设计》第1.7.9.11.12章在线测试(含答案)

第三题、判断题(每题 1 分,5 道题共 5 分) 1、C++语言中,既允许单继承,又允许多继承。 正确 2、派生类的继承方式有两种,公有继承和私有继承。 错误 3、在公有继承中,基类中只有公有成员对派生类是可见的。 错误 4、析构函数不能被继承。 正确 5、多继承情况下,派生类的构造函数的执行顺序取决于定义派 生时所指定的各基类的顺序。 正确 9章 第一题、单项选择题(每题 1 分,5 道题共 5 分) 1 、 执 行 语 句 序 列 ofstream outf( “ salary.dat ” ) ; if(...)cout<<“成功”;else cout<<“失败”;后,如文 件打开成功,显示”成功”,否则显示”失败”. 由此可知,上 面 if 语句的条件表达式是( ) 。 A、!outf 或者 outf.fail() B、!outf 或者 outf.good() C、outf 或者 outf.fail() D、outf 或者 outf.good()
D、插入运算符是左结合的 5、下面关于 cin 的说法正确的是()AD A、cin 是与标准设备链接的预定义输入流 B、运算符>>向 cin 发送字符 C、提取运算符读取键盘输入的所有字符,包括空格 D、一个语句中可以使用指存储在存储器的数据的集合。计算机中的程序、数 据、文档通常以文件方式存放。 正确 2、trunc 与 out 参数的作用是相同的。 正确 3、cout 通常与显示器相连,cin 通常与键盘相连 正确 4、clear(int nState =0)函数用于清除参数指定的状态 正确 5、调用 clear 函数后,流就变成可用 正确 11 章 第一题、单项选择题(每题 1 分,5 道题共 5 分) 1、STL 中能够保存其他类型的对象的类是() A、容器
A、不能够直接使用成员名访问 B、能够通过成员运算符访问 C、仍然是基类的私有成员 D、变为派生类的私有成员 3、当保护继承时,下面说法正确的是()CD A、基类的成员的访问权限在派生类中不变 B、在类作用域外能够通过派生类的对象来直接访问基类的公有 成员 C、基类的保护成员和私有成员在派生类中的访问权限为受保护 的 D、基类的公有成员在派生类中的访问权限为受保护的 4、当派生类中有和基类一样名字的成员时,下面说法错误的是 ()。ACD A、将产生二义性 B、派生类的同名成员将覆盖基类的成员 C、是不能允许的 D、基类的同名成员将覆盖派生类的成员 5、含有虚基类的派生类的构造函数调用次序错误的是()BCD A、虚基类,基类,派生类,对象成员 B、基类,派生类,对象成员,虚基类 C、对象成员,基类,虚基类,派生类 D、基类,虚基类,对象成员,派生类

国家开放大学(面向对象程序设计)试题

国家开放大学(面向对象程序设计)试题

国家开放大学(面向对象程序设计)[填空题]1试述值类型和引用类型的区别?参考答案:值类型和引用类型的区别在于,值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用。

值类型变量直接把变量的值保存在栈中,引用类型的变量把实际数据的地址保存在栈中,而实际数据则保存在堆中。

[填空题]2试述下面代码的输出结果是什么?参考答案:old3[填空题]3简述装箱和拆箱的过程。

参考答案:装箱(boxing)是将值类型隐式地转换为引用类型。

如int i=3;object o = i ;便是装箱过程,装箱一个数值会为其分配一个对象实例,并把该数值拷贝到新对象中。

拆箱(unboxing)是显式地把引用类型转换成值类型,如int j = (int)o char j= (char)。

[填空题]4什么是静态变量?参考答案:类的数据成员可以分静态变量、非静态变量两种.静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化之后,可以通过实例化的类名进行访问非静态成员的生存期决定于该类的生存期..而静态成员则不存在生存期的概念,因为静态成员始终驻留在内容中。

一个类中可以同时包含静态成员和非静态成员,类中也包括静态构造函数和非静态构造函数。

[填空题]5试述abstract class和interface有什么区别?参考答案:[填空题]6进程和线程分别怎么理解?参考答案:1)定义解释进程是具有一定独立功能程序在关于某个数据集上的一次运行活动。

进程是系统进行资源分配和调度的一个独立单位。

线程是进程的一个实体,是Cup调度的基本*单位。

中国地质大学《面向对象程序设计(新)》在线作业一答卷

中国地质大学《面向对象程序设计(新)》在线作业一答卷

地大《面向对象程序设计(新)》在线作业一-0007试卷总分:100 得分:100一、单选题 (共 15 道试题,共 60 分)1. C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是()A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D. 引进了类和对象的概念答案:D2.下列程序的运行结果为()。

#include void print(double a) { cout<<++a; }void print(int a,int b) { cout<<b<<a } void main() { print(1.2);cout<<” ”; print(3,4); }A. 1.2?34B. 2.2?34C. 1.2?43D. 2.2?43答案:D3.由C++目标文件连接而成的可执行文件的缺省扩展名为A. cppB. exeC. objD. Lik答案:B4.判断一个ofstream类对象file打开文件是否失败,应该判断()A. 创建文件流对象时是否抛出异常B. open成员函数的返回值C. feof成员函数的返回值D. ! file 是否为真答案:D5.有如下程序: #include class BASE{ char c; public: BASE(char n):c(n){} virtual~BASE(){cout<<C;} }; class DERIVED:public BASE{ char c; public: DERIVED(charn):BASE(n+1),c(n){} ~DERIVED(){coutA. XYB. YXC. XD. Y答案:A6.用cin为整型变量输入数据时,如果从键盘输入的不是数字,输入后整型变量中的结果会是()A. 0B. 负数C. 正数D. 不确定答案:D7.类C是以多重继承的方式从类A和类B继承而来的,类A和类B无公共的基类,那么()A. 类C的继承方式只能采用public继承B. 可改用单继承的方式实现类C的同样功能C. 类A和类B至少有一个是抽象类D. 类A和类B至少有一个是虚基类答案:B8.下列程序的执行结果为()。

《面向对象程序设计》第1章在线测试

《面向对象程序设计》第1章在线测试

《面向对象程序设计》第12 章在线测试节余时间:59:56答题须知: 1、本卷满分20 分。

2、答完题后,请必定要单击下边的“交卷”按钮交卷,不然没法记录本试卷的成绩。

3、在交卷以前,不要刷新本网页,不然你的答题结果将会被清空。

第一题、单项选择题(每题1分,5道题共 5 分)1、面向对象的程序设计语言一定具备的重点因素是( )A、抽象和封装B、抽象和多态性C、抽象、封装、继承和多态性D、抽象、封装和继承性2、封装性应拥有的条件是()A、有一个清楚的界限B、有确立的接口C、受保护的内部实现D、以上全部3、 OOD的作用是()A、提取需求B、逻辑建模C、求解域建模D、剖析用例4、按钮与电梯按钮的关系是()A、部分与整体B、一般与特别C、实例连结D、信息连结5、面向对象模型不包含()A、静态模型B、对象模型C、功能模型D、动向模型第二题、多项选择题(每题2分,5道题共 10 分)1、部分与整体的关系有()方式A、组合B、结合C、聚合D、整合2、对象之间存在的关系包含()A、部分与整体B、一般与特别C、实例连结D、信息连结3、对于多态的说法正确的选项是()A、不一样种类的对象接收同样的信息产生不一样的行为B、多态的成员函数需要定义为虚函数C、在 C++中经过基类指针调用虚函数实现多态D、多态是指对象的多种表现形式4、对于软件生命周期的说法正确的选项是()A、开发程序就是直接编码B、在程序设计以前需要先进行软件设计1 / 3C、软件投入使用后软件生命周期结束D、软件保护也是软件生命周期的一个阶段5、下边对于面向对象的特点说法正确的选项是()A、每一个对象都拥有独一的表记B、任何类的区分都是客观的,程序员一定恪守其规定C、继承性是子类自动共享父类数据构造和方法的体制D、多态是指同样的操作或函数、过程可作用于多种种类的对象上并获取不一样的结果第三题、判断题(每题 1 分, 5 道题共 5分)1、面向对象开发技术分三个阶段:面向对象剖析,面向对象设计和面向对象实现。

(完整版)面向对象程序设计试卷及答案

(完整版)面向对象程序设计试卷及答案

考试试卷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#中子类可以继承多个基类,也可以继承一个接口。

《面向对象程序设计》第12章在线测试

《面向对象程序设计》第12章在线测试
B、实例连接通过对象的属性表现对象之间的依赖关系
C、实例连接通过对象的操作)C
A、需求分析
B、建立用例模型
C、定义问题领域类
D、定义角色
5、描述相互协作的对象之间的交互关系和连接关系的是()C
A、类图
B、顺序图
C、协作图
D、用例图
第二题、多项选择题(每题2分,5道题共10分)
1、下面那些是面向对象的特征?()BCD
A、结构
B、类
C、重用
D、继承
2、下面哪些属于UML的图( )AB
A、用例图
B、类图
C、结构图
D、流程图
3、关于多态的说法正确的是()ABC
A、不同类型的对象接收相同的消息产生不同的行为
B、多态的成员函数需要定义为虚函数
C、在C++中通过基类指针调用虚函数实现多态
第一题、单项选择题(每题1分,5道题共5分)
1、面向对象软件开发中使用的OOA表示()A
A、面向对象分析
B、面向对象设计
C、面向对象语言
D、面向对象方法
2、面向对象的方法学是一种基于()的方法学D
A、数据
B、操作
C、对象
D、实体
3、关于实例连接的说法正确的是()B
A、实例连接表现了对象之间的动态联系
D、多态是指对象的多种表现形式
4、下面的说法正确的是()CD
A、软件就是程序,程序就是软件
B、软件开发的过程就是程序设计的过程
C、软件是程序、支持程序运行的数据以及与程序有关的文档资料的集合。
D、程序设计仅仅是软件开发过程的一个阶段。
5、下面关于面向对象的特征说法正确的是()ACD
A、每一个对象都具有唯一的标识

吉大18秋学期《面向对象程序设计》在线作业一(满分)

吉大18秋学期《面向对象程序设计》在线作业一(满分)

(单选题) 1: 设有定义 int i=123; long j=456; 下面赋值不正确的语句是( )A: j=i;B: j=(long)i;C: i=(int)j;D: i=j;正确答案:(单选题) 2: 设有定义 int i = 6 ;,则执行以下语句后,i 的值为( )。

i += i - 1;A: 10B: 121C: 11D: 100正确答案:(单选题) 3: int 型 public 成员变量 MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( )A: public int MAX_LENGTH=100B: final int MAX_LENGTH=100C: public const int MAX_LENGTH=100D: public final int MAX_LENGTH=100正确答案:(单选题) 4: 给出如下代码: class test{ private int m; public static void fun() { // some code... } } 如何使成员变量m 被函数fun()直接访问( )。

A: 将private int m 改为protected int mB: 将private int m 改为 public int mC: 将private int m 改为 static int mD: 将private int m 改为 int m正确答案:(单选题) 5: 如果类中的成员变量可以被同一包访问,则使用如下哪个约束符( )。

A: privateB: publicC: protectedD: no modifier正确答案:(单选题) 6: 所有的异常类皆继承哪一个类?( )正确答案:(单选题) 7: 设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( )A: x > y || x > zB: x != yC: z > ( y + xD: x < y & ! ( x < z )(单选题) 8: 不允许作为类与类成员的访问控制符的是( )。

《面向对象程序设计》第01章在线测试

《面向对象程序设计》第01章在线测试

测试结果如下:∙ 1.1 [单选] [错] 下面的步骤不属于C++程序开发步骤的是∙ 1.2 [单选] [对] 执行完下列语句后,n的值为多少?() int n; for (n = 0;n < 100; n++)∙ 1.3 [单选] [对] VC项目中可以添加的文件类型不可以是∙ 1.4 [单选] [对] 下面重载函数不会发生二义性错误的是∙ 1.5 [单选] [对] 函数的形参和实参结合的本质是∙ 2.1 [多选] [错] 高级语言源程序需要经过那些步骤才能成为可执行文件?∙ 2.2 [多选] [对] C++的输出可以使用∙ 2.3 [多选] [错] 内联函数正确的是∙ 2.4 [多选] [错] 下面函数声明正确的是∙ 2.5 [多选] [对] 执行下面程序后,a和b的值分别为 void main() { int a, b, k=4, m=6,*p1=&k,*p2=&m; a=p1==&m;b=(-*p1)/(*p2)+7; cout<<a<<b<<endl;}∙ 3.1 [判断] [对] 内联函数体内可以使用C++的所有控制语句。

∙ 3.2 [判断] [对] 重载的函数的函数名是相同的,但它们的参数的个数和数据类型不同。

∙ 3.3 [判断] [对] 在for循环设置条件的第一个";"前,可以用“,”分隔不同的赋值表达式。

∙ 3.4 [判断] [对] 静态局部变量和全局变量的作用域和生存期都是一样的。

∙ 3.5 [判断] [对] 函数调用时使用的数组参数实际上就是一个指针。

A BC D、执行完下列语句后, 0; n < 100; n++)A BC D项目中可以添加的文件类型不可以是A BC、.HD、.LIB4、下面重载函数不会发生二义性错误的是A、int f(…); char f();B、int f(floatf , int j); int f(int I , floatf);C、int f(int i=0,int j=0); int f(); int f(i nt i);D、char f(const float f, const int &j); int f (float f ,int j);5、函数的形参和实参结合的本质是A、传值B、传地址C、根据情况而定D、传名字第二题、多项选择题(每题2分,5道题共10分)1、高级语言源程序需要经过那些步骤才能成为可执行文件?A、编辑B、编译C、连接D、格式化2、C++的输出可以使用A、scanfB、printfC、coutD、out3、内联函数正确的是A、内联函数用inline关键字说明B、内联函数调用时用具体的函数体代码替换函数调用C、内联函数与预定义语句相同D、在一个文件中定义的内联函数不可以在另一个文件中使用4、下面函数声明正确的是正确错误、重载的函数的函数名是相同的,但它们的参数的个数和数据类型不同。

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

封面
作者:PanHongliang
仅供个人学习
3、在交卷之前,不要刷新本网页,否则你的答题结果将会被清空。

第一题、单项选择题(每题1分,5道题共5分)
1、若B类为A类的友元类,则下面的说法正确的是()
A、B类的所有成员函数都是A类的友元函

B、B类指定的成员函数才是A类的友元
C、A类的所有成员函数可以访问B类的成员
D、B类的私有成员函数不能可以访问A类的私有成员
2、一个类的友元不是该类的成员,与该类的关系密切,所以它()。

A、有this指针,有默认操作的对象
B、没有this指针,可以有默认操作的对象
C、有this指针,不能执行默认操作
D、没有this指针,也就没有默认操作的对象
3、下面的语句中能将类B 定义为类A的友元类的是()
A、friend class B。

B、class A{ friend B}。

C、class A{ friend class B。

}。

D、class friend B class A。

4、如果类B 是类A的友元类,n是类A的私有数据成员,函数f(A tmp)是类B的公有成员函数,a是类A的对象, b是B类的对象,下面语句正确的是()
A、main(){ f(a)。

}
B、main(){ b.f。

}。

C、main(){ a.n。

}。

D、main(){ b.f(a)。

}。

5、下面对于友元函数描述正确的是
A、友元函数的实现必须在类的内部定义
B、友元函数是类的成员函数
C、友元函数破坏了类的封装性和隐藏性
D、友元函数不能访问类的私有成员
第二题、多项选择题(每题2分,5道题共10分)
1、一个类的友元不是该类的成员,与该类的关系密切,所以下面它的说法错误的是()。

A、有this指针,有默认操作的对象
B、没有this指针,可以有默认操作的对象
C、有this指针,不能执行默认操作
D、没有this指针,也就没有默认操作的对象
2、下面关于友元的说法正确的是()
A、友元函数是拥有成员函数一切权利
B、友元是一种成员函数
C、友元可以直接访问类的所有成员
D、友元不能访问类的私有成员
3、下面关于友元函数正确的说法是()
A、在类中用关键词friend声明友元函数
B、友元函数说明的位置只能在类的public区
C、友元函数的定义只能放在类的外部
D、友元函数不是类的成员函数
4、关于友元函数的说法正确的是()
A、友元函数可以是普通函数,可以是其他类的成员函数,也可以是本类的成员函数
B、友元函数可以访问多个类的私有成员和保护成员
恭喜,交卷操作成功完成!你本次进行的《面向对象程序设计》第04章在线测试的得分为20分(满分20分),本次成绩已入库。

若对成绩不满意,可重新再测,取最高分。

测试结果如下:
∙ 1.1 [单选] [对] 若B类为A类的友元类,则下面的说法正确的是()
∙ 1.2 [单选] [对] 一个类的友元不是该类的成员,与该类的关系密切,所以它()。

∙ 1.3 [单选] [对] 下面的语句中能将类B 定义为类A的友元类的是()
∙ 1.4 [单选] [对] 如果类B 是类A的友元类,n是类A的私有数据成员,函数f(A tmp)是类B的公有成员函数,a是类A的对象, b是B类的对象,下面语句正确的是()
∙ 1.5 [单选] [对] 下面对于友元函数描述正确的是
∙ 2.1 [多选] [对] 一个类的友元不是该类的成员,与该类的关系密切,所以下面它的说法错误的是()。

∙ 2.2 [多选] [对] 下面关于友元的说法正确的是()
∙ 2.3 [多选] [对] 下面关于友元函数正确的说法是()
∙ 2.4 [多选] [对] 关于友元函数的说法正确的是()
∙ 2.5 [多选] [对] 下面关于友元函数使用特点的说明正确的是()
∙ 3.1 [判断] [对] 友元只能访问类中的公有成员,不能访问私有成员。

∙ 3.2 [判断] [对] 友元函数的定义只能放在类的外部,与类的成员函数放在一起。

∙ 3.3 [判断] [对] 如果函数f()要操作类A和类B的私有成员,可以把f()声明为类A的成员函数,把类A声明为类B的友元类。

∙ 3.4 [判断] [对] 友元具有传递性,单向性和继承性的特点。

∙ 3.5 [判断] [对] 一个函数可以是多个类的友元函数。

版权申明
本文部分内容,包括文字、图片、以及设计等在网上搜集整理。

版权为潘宏亮个人所有
This article includes some parts, including text, pictures, and design. Copyright is PanHongliang's personal ownership.
用户可将本文的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。

除此以外,将本文任何内容或服务用于其他用途时,须征得本人及相关权利人的书面许可,并支付报酬。

Users may use the contents or services of this article for personal study, research or appreciation, and other
non-commercial or non-profit purposes, but at the same time, they shall abide by the provisions of copyright law and other relevant laws, and shall not infringe upon the legitimate rights of this website and its relevant obligees. In addition, when any content or service of this article is used for other purposes, written permission and remuneration shall be
obtained from the person concerned and the relevant obligee.
转载或引用本文内容必须是以新闻性或资料性公共免费信息为
使用目的的合理、善意引用,不得对本文内容原意进行曲解、修改,并自负版权等法律责任。

Reproduction or quotation of the content of this article must be reasonable and good-faith citation for the use of news or informative public free information. It shall not misinterpret or modify the original intention of the content of this article, and shall bear legal liability such as copyright.。

相关文档
最新文档