001017[面向对象程序设计] 天津大学机考题库答案

合集下载

面向对象程序设计课后习题答案

面向对象程序设计课后习题答案

第一章:面向对象程序设计概述[1_1]什么是面向对象程序设计?面向对象程序设计是一种新型的程序设计范型。

这种范型的主要特征是:程序=对象+消息。

面向对象程序的基本元素是对象,面向对象程序的主要结构特点是:第一:程序一般由类的定义和类的使用两部分组成,在主程序中定义各对象并规定它们之间传递消息的规律。

第二:程序中的一切操作都是通过向对象发送消息来实现的,对象接受到消息后,启动有关方法完成相应的操作。

面向对象程序设计方法模拟人类习惯的解题方法,代表了计算机程序设计新颖的思维方式。

这种方法的提出是软件开发方法的一场革命,是目前解决软件开发面临困难的最有希望、最有前途的方法之一。

[1_2]什么是类?什么是对象?对象与类的关系是什么?在面向对象程序设计中,对象是描述其属性的数据以及对这些数据施加的一组操作封装在一起构成的统一体。

对象可以认为是:数据+操作在面向对象程序设计中,类就是具有相同的数据和相同的操作的一组对象的集合,也就是说,类是对具有相同数据结构和相同操作的一类对象的描述。

类和对象之间的关系是抽象和具体的关系。

类是多个对象进行综合抽象的结果,一个对象是类的一个实例。

在面向对象程序设计中,总是先声明类,再由类生成对象。

类是建立对象的“摸板”,按照这个摸板所建立的一个个具体的对象,就是类的实际例子,通常称为实例。

[1_3]现实世界中的对象有哪些特征?请举例说明。

对象是现实世界中的一个实体,其具有以下一些特征:(1)每一个对象必须有一个名字以区别于其他对象。

(2)需要用属性来描述它的某些特性。

(3)有一组操作,每一个操作决定了对象的一种行为。

(4)对象的操作可以分为两类:一类是自身所承受的操作,一类是施加于其他对象的操作。

例如:雇员刘名是一个对象对象名:刘名对象的属性:年龄:36 生日:1966.10.1 工资:2000 部门:人事部对象的操作:吃饭开车[1_4]什么是消息?消息具有什么性质?在面向对象程序设计中,一个对象向另一个对象发出的请求被称为“消息”。

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

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

面向对象程序设计复习题一、单项选择题1、下列对类的描述中,不符合C++语法的是( B )。

A.一个派生类至少有一个基类B.一个派生类只能有一个基类C.一个基类不可以有多个派生类D.抽象类一定是另一个类的基类2、用I/O流打开一个文件时,如果不指定文件存储方式,则该文件的格式是( B )。

A.二进制文件B.文本文件C.无格式D.不确定3、基类中的保护成员在其私有派生类中的访问属性是( A )。

A.私有B.公有C.保护D.不确定4、在面向对象程序设计中,基类和派生类用于实现的特性是( C )。

A.封装性B.继承性C.多态性D.安全性5、下列关于对象的描述中,正确的是( B )。

A.对象是一种数据类型B.对象是类的实例C.对象是对现实中同类事物的一种抽象描述D.对象与现实中的一个物体相对应6、下列关于类的描述中,正确的是( A )。

A.定义一个类就定义了一种新数据类型B.类是一种特殊的变量C.定义了一个类就会为类的数据成员分配存储空间D.类中不能没有成员函数7、C++中的虚函数可以实现的面向对象的基本特性是( D )。

A.封装性B.继承性C.抽象性D.多态性8、下列的整型常数中,符合C++语法的八进制常数是( A )。

A.007B.301C.098D.0X129、下列常量中,正确的是( C )。

A.’ok!’B.πC.34.78fD.1.8e-7.510、下列数组的定义形式中,正确的是( D )。

A.char s1[] 天津大学考试题库及答案B.char s2[3.5] 天津大学考试题库及答案C.char s3[3] 天津大学考试题库及答案={‘a’,’x’,’d’,’\0’}D.char s4[20] 天津大学考试题库及答案={“123”}11、已知:int a[3] 天津大学考试题库及答案[5] 天津大学考试题库及答案;则a[2] 天津大学考试题库及答案表示的是( A )。

A.a[2] 天津大学考试题库及答案[0] 天津大学考试题库及答案的地址B.a[2] 天津大学考试题库及答案[0] 天津大学考试题库及答案的值C.第2行的所有元素D.无意义12、已知:int a=2; double b=2.5,下列表达式中,结果为整型数的是( D )。

天大15秋季《面向对象程序设计》在线作业一 答案

天大15秋季《面向对象程序设计》在线作业一 答案

《面向对象程序设计》在线作业一一、单选题(共 20 道试题,共 100 分。

)1. 在++中,不能被派生类继承的基类成员是()。

. 函数成员. 构造函数和析构函数. 数据成员. 私有成员正确答案:2. 决定函数返回值类型的是()。

. rturn语句中表达式的类型. 函数定义时函数名前的类型. 调用函数时的调用方式. 系统根据结果随机确定正确答案:3. 设int ,*p=&; oul ,*q; 则以下语句中正确的是()。

. p=&;. q=p;. p=NULL. q=nw int;正确答案:4. 以下字符串初始化中不正确的是()。

. hr str[ ]=”fg”;. hr str[5]=”fg”;. hr str[5]={“”};. hr str[5]={‘1’,’3’,’5’,’7’,’9’};正确答案:5. 不能直接访问非静态数据成员的成员函数是()。

. 构造函数. 析构函数. 拷贝构造函数. 静态成员函数正确答案:6. 在++语言中,数组元素的下标()。

. 只能是整型常量. 只能是整型表达式. 可以是整型常量或整型表达式. 可以是任何类型的表达式正确答案:7. 以下关键字不能用来声明类成员的访问权限的是()。

. puli. privt. prott. stti正确答案:8. 设有以下定义:hr s[20]=”progrmming”, *ps=s; 则值不为’’的是()。

. ps+5. ps[5]. s[5]. *(ps+5)正确答案:9. 以下运算符中不能重载的是()。

. .&. !=. ::. %正确答案:10. 在派生类的成员函数中能够直接访问基类的()。

. 公有成员和私有成员. 保护成员和私有成员. .公有成员和保护成员. 仅能是公有成员正确答案:11. 以下字符串赋值中不正确的是()。

. hr str[ ]=”fg”;. hr str[80]; str=”fg”;. hr *pstr=”fg”. hr *pstr=NULL; pstr=”fg”;正确答案:12. 类Mlss的拷贝初始化构造函数是()。

专升本《面向对象程序设计》_试卷_答案

专升本《面向对象程序设计》_试卷_答案

专升本《面向对象程序设计》一、(共75题,共150分)1. 的值为()。

(2分)A.1B.2C.3D.4.标准答案:B2. 调用C++的标准函数exit(0)退出程序,将()。

(2分)A.析构全局对象,不析构局部对象B.析构全局对象,析构局部对象C.不析构全局对象,不析构局部对象D.不析构全局对象,析构局部对象.标准答案:A3. 对于定义的值为()。

(2分)A.1B.2C.3D.4.标准答案:A4. 对于定义使用f的正确方法为()。

(2分)A.见图 B.见图 C.见图 D.见图.标准答案:C5. 对于则调用f(x)的返回值为()。

(2分)A.6 B.7 C.8 D.9.标准答案:C6. 对于定义正确的叙述为()。

(2分)A.w引用u,v引用wB.w引用u,v引用uC.w未引用u,v引用wD.w未引用u,v未引用w .标准答案:B7. C++的非静态函数成员()。

(2分)A.可以重载,可以省略参数B.不能重载,不能省略参数C.可以重载,不能省略参数D.不能重载,可以省略参数.标准答案:A8. 对于定义类F定义对象将调用哪一个构造函数()。

(2分)A.F::F(int)B.F::F(int, int)C.F::F(int, int, int)D.F::F(int, int, int,int).标准答案:D9. 关于类的静态数据成员和非静态数据成员,哪个叙述正确()。

(2分)A.它们存储在一起,为所有对象共用B.它们不存储在一起,为所有对象共用C.它们存储在一起,而静态数据成员为所有对象共用D.它们不存储在一起,而非静态数据成员为所有对象共用.标准答案:C10. 使用cin>>x>>y输入,正确的说法是()。

(2分)A.cin是输入函数,一次接受两个实参x和yB.cin是输入函数,每次接受一个实参,因此,cin函数被调用两次C.>>是输入函数,一次接受两个实参:cin和要输入的变量如x(或者y)D.>>是输入函数,一次接受三个实参:cin、x、y.标准答案:C11. 关于C++静态数据成员指针和普通非成员指针的叙述哪个正确()。

天津大学《面向对象程序设计》在线作业二

天津大学《面向对象程序设计》在线作业二

《面向对象程序设计》在线作业二-00001第1题. switch语句结构中必须有default语句选项A:对选项B:错参考答案:A第2题. 一般的成员函数可以重载选项A:对选项B:错参考答案:A第3题. 一个类的友元函数是本类的一个特殊成员函数选项A:对选项B:错参考答案:B第4题. 只能在循环体内使用continue语句选项A:对选项B:错参考答案:A第5题. if语句结构中必须有else语句选项A:对选项B:错参考答案:B第6题. 下列函数中,用于对文件进行写操作的是()。

选项A:getline()选项B:put()选项C:get()选项D:eof()参考答案:B第7题. 构造函数的函数名必须与类同名选项A:对选项B:错参考答案:A第8题. 成员函数的参数可以设置默认值选项A:对选项B:错参考答案:A第9题. 设有说明:ofstreamoutfile;则执行语句:outfile.open(“data1.txt”);后,文件:data1.txt是一个()。

选项A:用于输入的文本文件选项B:用于输出的文本文件选项C:用于输入的二进制文件选项D:用于输出的二进制文件参考答案:B第10题. 成员函数可以是另一个类的友元函数选项A:对选项B:错参考答案:A第11题. 带有纯虚拟函数的类称为抽象类选项A:对选项B:错参考答案:A第12题. switch语句结构中,每个分支都必须有break语句选项A:对选项B:错参考答案:B第13题. cin和cout是系统预定义的I/O流()。

选项A:类选项B:包含文件选项C:对象选项D:常量参考答案:C第14题. 一个类的友元函数在其函数体中可以直接访问本类的所有成员选项A:对选项B:错参考答案:B第15题. 基类成员在派生类中的访问权限一定与其在基类中的访问权限一样选项A:对选项B:错参考答案:B第16题. 函数必须有返回值选项A:对选项B:错参考答案:B第17题. 函数的定义不能嵌套,但函数的调用可以嵌套选项A:对选项B:错参考答案:A第18题. 类外可以直接引用类的所有静态数据成员和静态成员函数选项A:对选项B:错参考答案:B第19题. 使用setw(int)或setprecision(int)等直接嵌入到cin或cout实现I/O格式控制时,需要使用的头文件是()。

面向对象程序设计试卷及答案

面向对象程序设计试卷及答案

面向对象程序设计试卷及答案.)答案考试试卷A(面向对象程序设计注意事项:请考生按要求在试卷装订线内填写姓名、学号1.和年级专业。

请仔细阅读各种题目的回答要求,在规定的位2.置填写答案。

不要在试卷上乱写乱画,不要在装订线内填写3.无关的内容。

分钟。

100分,考试时间为1204. 满统分得单项选择一.分分,共小题,每小题3(本大题共10 评分) 30分人) B 中每个int类型的变量占用(1. C# 个字节的内存。

)C (( B)4 8 (A)1 )(D 2) A 2. 面向对象的特点是(态装封、继承、多(A)(B)抽象、封装、多态封继承、(C )抽装象、)抽象、多态、重载(D 3. C#控制台程序的主入口点是() C)C Run Page_Load(A)函数(B)函数( Main函数函数)(DForm_Load引用类型存储在()中。

B 4.))(堆内存B 堆栈)(A () 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)23)(D)类型类型的值可以隐式转换成(9. float C的值而保持值不被改变。

double )C( long )B( char )A(int )D(是IExample而,是一个类Class1假设,中在C#10.A 下面的(,一个接口)类声明是正确的。

class Employee: Class1, IExample )A(.class Employee: IExample, Class1 B)(class Employee- Class1, IExample )(Cclass Employee: Class1/IExample )(D得.判断题二分15共每小题小题,3分,(本大题共5 评)分分中子类可以继承多个基类,也可以1. C人)×继承一个接口。

专升本 《面向对象程序设计》 机考 试题 答案

专升本 《面向对象程序设计》  机考  试题  答案

1.C++的类的私有成员答案:可以被类自己的函数成员访问,不能被其派生类的函数成员访问2.内联函数通常()。

答案:函数体较小,且不应有分支类型的语句3.对于定义/成员b->a的类型为()。

4. C++的数组元素不可以是()。

答案:void类型5.函数成员的静态绑定是由()完成的。

答案:编译程序6.关于运算符函数->重载,正确的叙述为()。

答案:重载不改变运算符的优先级,但改变运算符函数的参数个数7.枚举类型定义的元素类型应该是()。

答案:int类型8. C++的union类型()。

答案:不能定义为基类和派生类9.对于struct E{int a; }b; int E::**p; 如下操作合法的为()。

答案:b.**p=6;10. C++的析构函数()。

答案:不能重载,不能定义返回类型11.对于定义int x=4; int &f(int &y) {return --y; },语句f(x)=6会使x的值等于()。

答案:612. C++的前置--形成的表达式如表达式--x表示()。

答案:先进行x=x-1运算,然后将运算结果作为最终结果,且最终结果为左值13.对于类A定义的A (*p[10])[20],只能使用如下形式初始化()。

答案:p[5]=new A[20];14.一个左值必然不是()。

答案:一个常量15. C++的函数不能够返回一个()。

答案:数组类型16.对于定义struct X{X operator+(const X &)const;}m, n; 合法的访问有()。

答案:m.operator+(n)17. C++的类可以继承基类()。

答案:定义的类型定义的函数成员定义的数据成员18. C++的抽象类X不能用于定义()。

答案:X m; X p[4]19. C++的运算符“*”可以重载为如下哪些类型的函数()。

答案:单目函数双目函数20. C++类的纯虚函数(析构函数除外)可以具有下列哪些特征()。

面向对象程序设计复习题(附参考答案)

面向对象程序设计复习题(附参考答案)

【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】机器语言中的指令编码为()编码。

[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程序时使用的命令是()。

面向对象考试试卷A(2017)参考答案及评分标准

面向对象考试试卷A(2017)参考答案及评分标准
};
评分标准:整体框架正确得 2 分;成员正确得 2 分(正确 1 个得 0.5 分,最高 2 分)
2(4 分)、参考程序代码:
class factorial { int n ;
public: factorial(int a){n=a;} int fact(){ int m=1; wihile(n>0) m=m*n--; return m; }
class A{ int x; public:
A(int a){x=a;} int getx(){return x;} }; class B:public A{ int y; public: B(int a,int b):A(a){ x=a; y=b;}
int gety(){ return y;} }; void main( ){ B b(1,2);
3(4 分)
template<class T> class A { T x; public:
T getx(); }; template<class T> T A<T> :: getx(){ return x;} void main(){
A <int> a; cout<<a.getx(); }
4(4 分)
评分标准:框架得 2 分,构造函数得 1 分,乘法函数框架得 1 分,函数体得 1 分
A 卷-2
【1】 【2】 【3】 【4】 【5】 【6】 【7】 【8】
【9】 【10】
4
1Hale Waihona Puke 2106
3
1
2
0
void main()
//整体框架及细节:1 分
测试 {
主函数

面向对象程序设计习题及答案【精选文档】

面向对象程序设计习题及答案【精选文档】

面向对象程序设计一、选择填空1.关于C++与C语言的关系描述中,(D)是错误的.(A)C语言是C++的一个子集(B)C语言与C++是兼容的(C)C++对C语言进行了一些改进(D)C++和C语言都是面向对象的2.下面关于对象概念的描述中,(B)是错误的。

(A)对象就是C语言的结构变量(B)对象代表着正在创建的系统中的一个实体(C)对象是一个状态的操作(或方法)的封装体(D)对象之间的信息传递是通过消息进行的3.下面关于类概念的描述中,(D)是错误的。

(A)类是抽象数据类型的实现(B)类是具有共同行为的若干对象的统一描述体(C)类是创建对象的样板(D)类就是C语言的结构类型4.按照标识符的要求,(A)符号不能组成标识符。

(A)连接符(B)下划线(C)大小写字母(D)数字字符5.下列符号中,(C)不可作为分隔符。

(A),(B):(C)?(D);6.在16位机中,int型字宽为(A)字节.(A)2(B)4(C)6(D)87.类型修饰符unsigned修饰(D)类型是错误的。

(A)char(B)int (C)long int(D)float8.对于int *pa[5];的描述,(D)是正确的.(A)pa是一个指向数组的指针,所指向的数组是5个int型元素(B)pa是一个指向某数组中第5个元素的指针,该元素是int变量(C)pa[5]表示某个数组的第5个元素(D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针。

9.下列关于指针的运算中,(D)是非法的。

(A)两个指针在一定条件下,可以进行相等或不等的运算。

(B)可以有一个空指针赋值给某个指针.(C)一个指针可以加上一个整数。

(D)两个指针在一定条件下,可以相加.10.指针可以用来表示数组元素,下列表示中(A)是错误的。

已知:int a[3][7];(A)*(a+1)[5] (B)*(*a+3)(C)*(*(a+1))(D)*(&a[0][0]+2)11.下列表示引用的方法中,(A)是正确的。

学堂在线《面向对象程序设计C++》期末考试

学堂在线《面向对象程序设计C++》期末考试

学堂在线《面向对象程序设计C++》期末考试1.多选题 (2分)本题得分: 2分正确答案: A,B,C,D (少选不得分)2.单选题(1分)读下面的代码,代码运行得到的结果是A.1,1,1,1,1,1B.1,2,3,2,1,0C.1,2,3,4,5,6D.1,2,3,5,4,3本题得分:1分正确答案:D3.单选题(1分)设Derived类的基类是Base类,同时还包含了Component类的对象作为数据成员,在Derived类对象的构建过程中,三个不同类的构造函数的调用次序是A. Component类,Base类,Derived类B. Derived类,Component类,Base类C. Base类,Component类,Derived类D. Base类,Derived类,Component类本题得分:1分正确答案:C4.多选题(2分)什么情况下,编译器会生成对拷贝构造函数的调用?A.用一个已构造的对象创建新对象时B.返回非引用类型的对象时C.在已定义的对象之间赋值时D.函数传递非引用类型(值参)时本题得分:2分正确答案:A,B,D (少选不得分)5.单选题(1分)声明C++类的源程序一般放到___中,定义类成员函数的源程序通常放在____中A..h头文件,.cpp源文件B..cpp源文件,.cpp源文件C..cpp源文件,.h头文件D..h头文件,.h头文件本题得分:1分正确答案:C6.多选题(2分)下列语句哪些没有编译错误本题得分:2分正确答案:A,B,C,D (少选不得分)7.单选题(1分)设student是一个类名,则下列语句中,不可能正确的是A.student a;B.student d(“LiSi”);C.student b<3>;D.student c{3};本题得分:1分正确答案:C8.多选题(2分)下列有关重载函数的说法中不正确的是A.重载函数参数个数必须相同B.重载函数必须具有不同的返回值类型C.重载函数名可以不同D.重载函数必须有不同的形参列表本题得分:2分正确答案:A,B,C (少选不得分)9.多选题(2分)关于this指针的描述正确的是A.在拷贝构造函数的定义中必需使用,否则编译不通过B.可用于区分成员变量和成员函数的同名形式参数C.在类的析构函数定义中必需使用,否则编译不通过D.成员函数返回*this时,返回的是当前对象的值(或引用)本题得分:2分正确答案:B,D (少选不得分)10.单选题(1分)如下语句片段:ClassA a;ClassA b = a;ClassA c(b);c = a;按顺序分别调用A.构造函数,赋值运算符函数,拷贝构造函数,赋值运算符函数B.构造函数,拷贝构造函数,拷贝构造函数,赋值运算符函数C.构造函数,拷贝构造函数,赋值运算符函数,赋值运算符函数D.构造函数,赋值运算符函数,拷贝构造函数,拷贝构造函数本题得分:1分正确答案:B11.多选题(2分)关于析构函数,下面哪个说法是错误的A.一个类可以定义多个析构函数B.析构函数的函数名须由波浪号~加类名组成C.析构函数可以有参数D.代码中类可以没有析构函数本题得分:2分正确答案:A,C (少选不得分)12.多选题(2分)关于符号_AND_ 的说法,正确的是(说明:因为该运算符在网页上不能直接显示,所以用_AND_来替代)A.Test test; show(_AND_test);第二句表示传入的参数为Test*B.函数声明为void print(Stu _AND_s),则调用print时会先调用Stu的拷贝构造函数C.AND_AND_既可以用来表示逻辑与运算,也可以表示右值引用D.int a =2, b=10; cout<<(b AND a)<<endl;输出结果为2本题得分:2分正确答案:A,C,D (少选不得分)13.单选题(1分)关于构造函数,下面哪个说法是错误的A.构造函数必须要与类名完全相同B.一个类可以有多个构造函数C.基类的构造函数不能被继承D.代码中类可以没有构造函数本题得分:1分正确答案:C14.单选题(1分)Tree a; Tree b; b=a; 其中,关于b=a会如何执行,说法正确的是A.b对a进行引用B.调用赋值运算符函数C.调用Tree类的默认构造函数D.调用Tree类的拷贝构造函数本题得分:1分正确答案:B15.多选题(2分)必须使用初始化成员列表的有A.初始化常量成员变量B.初始化左值引用成员变量C.调用基类带参数的构造函数D.初始化指针成员变量本题得分:2分正确答案:A,B,C (少选不得分)16.多选题(2分)TypeA, TypeB是用户自定义的类的名字,如果下面的代码能编译通过TypeA* ptr1 = new TypeA(30); TypeB* ptr2 = new TypeB[30]; TypeB* ptr3 = new TypeB{30}; 则,下列说法正确的是A.上述语句会导致类TypeA的构造函数被调用30次B.上述语句会导致类TypeB的构造函数被调用了31次C.类TypeA必须至少定义一个构造函数D.类TypeB可以完全不定义任何构造函数本题得分:2分正确答案:B,C (少选不得分)17.单选题(1分)给出下面一段代码,哪些编号对应的语句有编译错误A. 1B. 2C. 3D. 4本题得分:1分正确答案:C18.多选题(2分)下列哪些函数是属于类的成员函数A.友元函数B.构造函数C.析构函数D.拷贝构造函数。

(完整版)c++面向对象程序设计试题和答案

(完整版)c++面向对象程序设计试题和答案
{public:
};
多种
(D)不受保护
void fun (){cout<<"Base::fu n"< <ENDL;}
class Derived:public Base
{ void fun()
//显示调用基类的函数
cout<<"Derived::fu n"< <ENDL;
fun()
};
(A)fun();(B)Base.fun();
(C)构造函数无任何函数返回类型
(D)构造函数有且只有一个
5、派生类可以访问其基类的(
(A)公有成员
(C)私有派生
6、下列关于运算符重载的描述中,错误的是(
运算符重载不可以改变操作数的个数 运算符重载不可以改变运算符的功能 运算符重载不可以改变结合方向 运算符重载不可以改变运算优先级
(A)
(B)
(C)
(D)
7、C++语言是从早期的
进行的最大改进是(
(A)面向过程
8对于类中定义的成员,
A.public
C.private
(D) protected
)。
(B)保护成员
(D)公有和保护成员
)。
C语言逐渐发展演变而来的
.与C语言相比,它在求解问题方法上
)
(B)面向对象(C)
其隐含访问权限为(
B.protected
20、C+冲声明常量的关键字是()。
A. const B. exter n C. public D. enum
三、改错题(每处2分,共6分)
1、使用VC6打开考生文件夹下的工程proj1,此工程包含一个源程序文件main.cpp,但

001017[面向对象程序设计] 天津大学考试参考资料答案

001017[面向对象程序设计]  天津大学考试参考资料答案

面向对象程序设计复习题一.概念填空题1.运算符能够用来访问与局部变量同名的全局变量。

2.运算符动态分配一个对象。

3.类的成员只能被该类的成员函数或友元函数访问。

4.类成员的默认访问模式是的。

5.类的数据成员是该类的所有对象共享的信息。

6.关键字指定了不可修改的对象或变量。

7.要在类的对象上使用运算符,除了运算符和外,其它的必须都要被重载。

8.重载不能改变原运算符的、、和对内部类型对象的原有含义。

9. 类的对象可作为类的对象处理。

10.友元函数中可以直接访问类的和成员。

1l.公有成员函数的集合常称为类的函数。

私有成员函数的集合常称为类的函数。

12.为了访问某个类的私有数据成员,必须在该类中声明该类的。

13. 提供了一种描述通用类的方法。

14.运算new分配的内存要用运算符回收。

15.参数表示重载后缀 ++ 运算符函数。

16.当用受保护的继承从基类派生一个类时,基类的公有成员成为派生类的的成员,基类的受保护成员成为派生类的成员。

17.在表示数组元中,关键字、和用来建立新的数据类型。

18. 限定符用来声明只读变量。

19.函数能够定义一个在不同数据类型基础上完成同一任务的函数。

20.指向基类对象的指针可以指向其派生类的对象,但是不允许指向其派生类的对象。

参考的答案:1.::2.new3.私有和保护4.私有5.静态6.const 7=& 8.优先级、结合性、操作数个数9.派生类、基类 10.私有、受保护 11.接口工具12.友元 13.类模板 14.delete 15.int16.受保护、受保护 17.class struct union 18.const19.模板 20.公有、私有和保护二.阅读程序写结果1.#include <iostream.h>void main(){int a,b;char op;cout<<"请任意一个表达式:";cin>>a>>op>>b;switch(op){case '+':cout<<a<<'+'<<b<<'='<<a+b<<endl;break;case '-':cout<<a<<'-'<<b<<'='<<a-b<<endl;break;case '*':cout<<a<<'*'<<b<<'='<<a*b<<endl;break;case '/':cout<<a<<'/'<<b<<'='<<a/b<<endl;break;case '%':cout<<a<<'%'<<b<<'='<<a%b<<endl;break;default: cout<<"运算符错误!"<<endl;}}若程序运行时输入:5/8则输出结果是:参考的答案:输出结果:5/8=02.#include <iostream.h>#include <iomanip.h>void main(){int i,j,k;for(i=1;i<=3;i++) //控制输出行{for(j=1; j<=6-i; j++) //每行前的空格cout<<" "; //输出四个空格for(k=1;k<=i;k++)cout<<setw(4)<<k;for(k=i-1; k>0 ;k--)cout<<setw(4)<<k;cout<<endl;}}输出结果:参考的答案:输出结果:11 2 11 2 3 2 13.#include <iostream.h>void main(){int m,n;cout<<"输入2个正整数:";cin>>m>>n;while(m!=n){while(m>n)m=m-n;while(n>m)n=n-m;}cout<<”m=”<<m<<endl;}输入:9 21输出结果:参考的答案:输出结果:m=34.#include<iostream.h>class fact{private:int n;public:void setn(int i){n=i;}int getn(){return n;}long getfact();void print(){cout<<n<<"!="<<getfact()<<endl;} };long fact::getfact(){int i;long f=1;for(i=n;i>1;i--)f*=i;return f;}void main(){fact fa;for(int i=1;i<=6;i++){fa.setn(i);fa.print();}}输出结果:参考的答案:输出结果:1!=12!=23!=64!=245!=1206!=7205.#include <iostream.h>void weaver(char *str1, char *str2, char *str3){while(*str1 !=NULL && *str2!=NULL){*(str3++)=*(str1++);*(str3++)=*(str2++);}*str3=0;}void main(){char str1[ ] 天津大学考试参考资料参考的答案="xyz";char *str2="123";char str3[100] 天津大学考试参考资料参考的答案;weaver(str1,str2,str3);cout<<str3<<endl;}输出结果:参考的答案:输出结果:x1y2z36.#include <iostream.h>void main(){int a[4] 天津大学考试参考资料参考的答案,i,j,k;for(i=0;i<4;i++)a[i] 天津大学考试参考资料参考的答案=0;k=3;for(i=0;i<k;i++)for(j=0;j<=k;j++)a[j] 天津大学考试参考资料参考的答案=a[i] 天津大学考试参考资料参考的答案+3;cout<<a[1] 天津大学考试参考资料参考的答案<<" "<<a[3] 天津大学考试参考资料参考的答案<<endl;}输出结果:参考的答案:输出结果:15 187.#include<iostream.h>#include<string.h>void main(){int i;char *max, str[3] 天津大学考试参考资料参考的答案[10] 天津大学考试参考资料参考的答案={"Wang","Zhang","Li"};max=str[0] 天津大学考试参考资料参考的答案;for(i=0;i<3;i++)if(strcmp(max,str[i] 天津大学考试参考资料参考的答案)<0)max=str[i] 天津大学考试参考资料参考的答案;cout<<"The max string is: "<<max<<endl;}输出结果:参考的答案:输出结果:The max string is: Zhang8.#include <iostream.h>#include <iostream.h>int f(int p);void main(){int a[] 天津大学考试参考资料参考的答案={1,2,3,4,5};for(int i=0;i<5;i++)cout<<f(a[i] 天津大学考试参考资料参考的答案)<<" ";cout<<endl;}int f(int p){static int s=1;s*=p;return s;}输出结果:参考的答案:1 2 6 24 1209.#include <iostream.h>class cube{public:cube(int l=6,int w=4,int h=2){le=l;wd=w;ht=h;}~cube(){cout<<"le="<<le<<"wd="<<wd<<"ht="<<ht<<endl;cout<<"volume="<<volume()<<endl;}int volume() {return le*wd*ht;}private:int le,wd,ht;};void main(){cube cone(10,8,5),ctwo;}输出结果:参考的答案:输出结果:le=6wd=4ht=2volume=48le=10wd=8ht=5volume=40010.#include <iostream.h>void main(){int a,b;for(a=1,b=1;b<=10;b++){if(a>=10)break;if(a==1){a+=3;continue;}a-=3;}cout<<"a="<<a<<"b="<<b<<endl;}输出结果:参考的答案:a=1b=1111.#include <iostream.h>class myclass{private:int x,y;static long sum;public:myclass(int a,int b) { x=a;y=b;}void getxy(){sum*=x*y;cout<<"sum="<<sum<<endl;}};long myclass::sum=1;void main(){myclass ob1(1,3);ob1.getxy();myclass ob2(2,4);ob2.getxy();myclass ob3(5,6);ob3.getxy();}输出结果:参考的答案:输出结果:sum=3sum=24sum=72012.#include <iostream.h>int days[] 天津大学考试参考资料参考的答案={31,28,31,30,31,30,31,31,30,31,30,31};class date{private:int y,m,d;public:date(int y1,int m1, int d1) {y=y1;m=m1;d=d1;}date(){y=0;m=0;d=0;}void disp() {cout<<y<<"-"<<m<<"-"<<d<<endl;}friend date operator+(date &d2,int day);};date operator+(date &d2, int day){date dy;dy.y=d2.y;dy.m=d2.m;day+=d2.d;while(day>days[dy.m-1] 天津大学考试参考资料参考的答案) {day -=days[dy.m-1] 天津大学考试参考资料参考的答案;if(++dy.m==13){dy.m=1;dy.y++;}}dy.d=day;return dy;}void main(){date da(2014,9,1),db,dc;db=da+100;db.disp();dc=da+395;dc.disp();}输出结果:参考的答案:2014-12-102015-10-113.#include <iostream.h>class Areaclass{public:Areaclass(double x=0,double y=0){height=x;width=y;}protected:double height;double width;};class Box: public Areaclass{public:Box(double h,double w):Areaclass (h,w){ }double Area();};class Triangle:public Areaclass{public:Triangle(double h,double w):Areaclass(h,w){ }double Area( );};double Box::Area(){ return height*width; }double Triangle::Area(){ return width *height *0.5; }void main(){Box obj1(2.5,4.0);Triangle obj2(4.0,3.5);cout<<"Box="<<obj1.Area()<<endl;cout<<"Triangle="<<obj2.Area()<<endl;}输出结果:参考的答案:Box=10Triangle=7三.程序填空1.以下程序将从键盘输入的20个整数按升序进行排序,并在屏幕上输出排序结果。

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

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

面向对象程序设计复习题一、单项选择题1、下列对类的描述中,不符合C++语法的是( B )。

A.一个派生类至少有一个基类B.一个派生类只能有一个基类C.一个基类不可以有多个派生类D.抽象类一定是另一个类的基类2、用I/O流打开一个文件时,如果不指定文件存储方式,则该文件的格式是( B )。

A.二进制文件B.文本文件C.无格式D.不确定3、基类中的保护成员在其私有派生类中的访问属性是( A )。

A.私有B.公有C.保护D.不确定4、在面向对象程序设计中,基类和派生类用于实现的特性是( C )。

A.封装性B.继承性C.多态性D.安全性5、下列关于对象的描述中,正确的是( B )。

A.对象是一种数据类型B.对象是类的实例C.对象是对现实中同类事物的一种抽象描述D.对象与现实中的一个物体相对应6、下列关于类的描述中,正确的是( A )。

A.定义一个类就定义了一种新数据类型B.类是一种特殊的变量C.定义了一个类就会为类的数据成员分配存储空间D.类中不能没有成员函数7、C++中的虚函数可以实现的面向对象的基本特性是( D )。

A.封装性B.继承性C.抽象性D.多态性8、下列的整型常数中,符合C++语法的八进制常数是( A )。

A.007B.301C.098D.0X129、下列常量中,正确的是( C )。

A.’ok!’B.πC.34.78fD.1.8e-7.510、下列数组的定义形式中,正确的是( D )。

A.char s1[] 天津大学考试题库及答案B.char s2[3.5] 天津大学考试题库及答案C.char s3[3] 天津大学考试题库及答案={‘a’,’x’,’d’,’\0’}D.char s4[20] 天津大学考试题库及答案={“123”}11、已知:int a[3] 天津大学考试题库及答案[5] 天津大学考试题库及答案;则a[2] 天津大学考试题库及答案表示的是( A )。

A.a[2] 天津大学考试题库及答案[0] 天津大学考试题库及答案的地址B.a[2] 天津大学考试题库及答案[0] 天津大学考试题库及答案的值C.第2行的所有元素D.无意义12、已知:int a=2; double b=2.5,下列表达式中,结果为整型数的是( D )。

天津大学22秋《面向对象程序设计》在线作业二答卷

天津大学22秋《面向对象程序设计》在线作业二答卷

《面向对象程序设计》在线作业二-00001试卷总分:100 得分:100一、单选题(共20道试题,共100分)1 . switch语句结构中必须有default语句A .对B .错答案:A2.一般的成员函数可以重载A .对B .错答案:A3.一个类的友元函数是本类的一个特殊成员函数A .对B .错答案:B4.只能在循环体内使用continue语句A .对B .错答案:A5.if语句结构中必须有else语句A .对B .错答案:B6.下列函数中,用于对文件进行写操作的是()。

A.getline()B. put(C.get()D.eof()答案:B7.构造函数的函数名必须与类同名A.对B .错答案:A8.成员函数的参数可以设置默认值A .对B .错答案:A9.设有说明:ofstreamoutfile;则执行语句:outfile . open(“datal . txt”);后,文件:datal . txt是一个()。

A. 用于输入的文本文件B. 用于输出的文本文件C.用于输入的二进制文件D.用于输出的二进制文件答案:B10.成员函数可以是另一个类的友元函数A .对B .错答案:A11.带有纯虚拟函数的类称为抽象类A .对B .错答案:A12.switch语句结构中,每个分支都必须有break语句A.对B .错答案:B13.cin和cout是系统预定义的I/0流()。

A.类B. 包含文件C.对象D.常量答案:C14.一个类的友元函数在其函数体中可以直接访问本类的所有成员A .对B .错答案:B15.基类成员在派生类中的访问权限一定与其在基类中的访问权限一样A.对B .错答案:B16.函数必须有返回值A.对B .错答案:B17.函数的定义不能嵌套,但函数的调用可以嵌套A.对B .错答案:A18.类外可以直接引用类的所有静态数据成员和静态成员函数A.对B .错答案:B19.使用setw(int)或setprecision(int)等直接嵌入到cin或cout实现I/0格式控制时,需要使用的头文件是()。

天津大学智慧树知到“计算机科学与技术”《面向对象程序设计》网课测试题答案4

天津大学智慧树知到“计算机科学与技术”《面向对象程序设计》网课测试题答案4

天津大学智慧树知到“计算机科学与技术”《面向对象程序设计》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.下列循环结构中,不是无限循环的是()。

A.t=1; while(t--) {coutB.t=1; do{coutC.for(t=1; ; t++) coutD.for(t=0; t; t++) cout<<t;2.基类的公有成员一定能通过派生类的对象访问。

()A.对B.错3.设有说明语句:int x=1, y=3, z=5; 则下面表达式中值为0的是()。

A.(y!=1)&&(z!=0)B.x&&zC.(x<y)&&x<zD.x||y>3&&z>54.如果a=1,b=2,c=3,d=4,则表达式a>b?a:c<d?c:d的结果是()。

A.4B.3C.2D.15.通过运算符重载可以改变运算符原有的()。

A.操作数类型B.操作数个数C.优先级D.结合性6.完成编译预处理工作的阶段是()。

A.连接时B.编译时C.编译后D.编译前7.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。

A.ios::inB.ios::outC.ios::in|ios::outD.ios::binary8.不同的函数中可以使用相同名字的变量。

()A.对B.错9.只能在循环体内使用continue语句。

()A.对B.错10.成员函数一定是内联函数。

()A.对B.错11.下列函数中,用于对文件进行写操作的是()。

A.getline()B.put()C.get()D.eof()12.假定AB为一个类,则执行“AB a(4), b[5], *p[2];”语句时,自动调用该类构造函数的次数为()。

A.9B.7C.6D.1113.一个类中只能定义一个析构函数。

()A.对B.错14.设B类是A类的派生类。

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

面向对象程序设计复习题
一、单项选择题
1、下列对类的描述中,不符合C++语法的是( B )。

A.一个派生类至少有一个基类
B.一个派生类只能有一个基类
C.一个基类不可以有多个派生类
D.抽象类一定是另一个类的基类
2、用I/O流打开一个文件时,如果不指定文件存储方式,则该文件的格式是( B )。

A.二进制文件
B.文本文件
C.无格式
D.不确定
3、基类中的保护成员在其私有派生类中的访问属性是( A )。

A.私有
B.公有
C.保护
D.不确定
4、在面向对象程序设计中,基类和派生类用于实现的特性是( C )。

A.封装性
B.继承性
C.多态性
D.安全性
5、下列关于对象的描述中,正确的是( B )。

A.对象是一种数据类型
B.对象是类的实例
C.对象是对现实中同类事物的一种抽象描述
D.对象与现实中的一个物体相对应
6、下列关于类的描述中,正确的是( A )。

A.定义一个类就定义了一种新数据类型
B.类是一种特殊的变量
C.定义了一个类就会为类的数据成员分配存储空间
D.类中不能没有成员函数
7、C++中的虚函数可以实现的面向对象的基本特性是( D )。

A.封装性
B.继承性
C.抽象性
D.多态性
8、下列的整型常数中,符合C++语法的八进制常数是( A )。

A.007
B.301
C.098
D.0X12
9、下列常量中,正确的是( C )。

A.’ok!’
B.π
C.34.78f
D.1.8e-7.5
10、下列数组的定义形式中,正确的是( D )。

A.char s1[] 天津大学机考题库正确的答案是
B.char s2[3.5] 天津大学机考题库正确的答案是
C.char s3[3] 天津大学机考题库正确的答案是={‘a’,’x’,’d’,’\0’}
D.char s4[20] 天津大学机考题库正确的答案是={“123”}
11、已知:int a[3] 天津大学机考题库正确的答案是[5] 天津大学机考题库
正确的答案是;则a[2] 天津大学机考题库正确的答案是表示的是( A )。

A.a[2] 天津大学机考题库正确的答案是[0] 天津大学机考题库正确的答案是
1/ 46。

相关文档
最新文档