001017[面向对象程序设计] 天津大学考试题库及答案
(完整word版)面向对象程序设计期末复习题及答案
(完整word版)面向对象程序设计期末复习题及答案C++面向对象程序设计复习试题类型1、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
15题,每小题2分,共30分) [主要从作业题目中抽出来]2。
填空题。
(10题,每小题3分,共30分)3、阅读程序,写出程序运行结果。
【也称计算题】(3题,每小题5分,共15分)4、程序编制题【也称综合分析题】. (第1、2题每题8分,第3题9分,共25分)重点复习内容打*号是重点,打▲号是编程题出题范围*基本概念,对象,消息,类。
面向对象系统特性,封装性,继承性,多态性.*▲C++类的构成,类与对象,构造与析构,动态存储,类嵌套.静态成员,对象数组,友元。
*函数重载。
运算符重载。
*引用定义与引用参数* 基类与派生类的定义。
*基类及派生类的访问权(含派生类对基类的访问、通过派生类对象对基类的访问)和初始化。
多继承与虚基类.*多态性与虚函数.纯虚函数、抽象类。
*▲函数模板。
*▲使用类来定义对象并在程序中的应用题型样题填空题1。
假定AB为一个类,则执行“AB a[10];"语句时,系统自动调用该类的构造函数的次数为_________。
答案:102。
可以用p。
a的形式访问派生类对象P的基类成员a,其中a是_________。
答案:公有继承的公有成员3.能作为重载函数的调用的依据是_________。
答案:参数个数、参数类型4.在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流是否结束状态的操作函数名称是_________答案:eof5。
函数重载是指_________。
答案:两个或两个以上的函数取相同的函数名,但形参的个数或类型不同(完整word版)面向对象程序设计期末复习题及答案6。
在派生类中重新定义虚函数时必须在_________ 方面与基类保持一致。
答案:参数个数阅读程序例题【计算题】1.分析以下程序的执行结果#include〈iostream.h>class Sample{int x,y;public:Sample() {x=y=0;}Sample(int a,int b) {x=a;y=b;}~Sample(){if(x==y)cout〈〈“x=y”〈<endl;elsecout〈〈“x!=y"〈〈endl;}void disp(){cout〈〈“x=”<〈x〈<“,y”=<<y<<endl; }};void main(){Sample s1,s2(2,3);s1.disp();s2.disp();}解:x=0,y=0x=2,y=3x!=y x=y2.分析以下程序的执行结果#include〈iostream。
天津大学智慧树知到“计算机科学与技术”《面向对象程序设计》网课测试题答案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类的派生类。
(完整版)《面向对象程序设计》答案
实验一熟悉VC++IDE开发环境一、实验目的1、熟悉VC++6.0集成开发环境,熟练掌握VC++6.0项目工作区、各种编辑器、菜单栏和工具栏的使用。
2、掌握如何编辑、编译、连接和运行一个C++程序。
3、通过运行简单的C++程序,初步了解C++源程序的结构和特点。
二、实验要求1、分析下列程序运行的结果。
程序一:#include <iostream.h>int add(int x,int y=8);void main(){ int x=4;cout<<add(x)<<",";cout<<add(x,add(add(x,add(x))))<<endl;}int add(int x,int y){ return x+y;}//12,28程序二:#include <iostream.h>void main(){ int *p,i;i=5;p=&i;i=*p+10;cout<<"i="<<i<<endl;}//i=15程序三:#include <iostream.h>void main(void){ int i=10;int &r=i;r++;cout<<"i="<<i<<", r="<<r<<'\n';i=88;cout<<"i="<<i<<", r="<<r<<'\n';}//i=11,r=11i=88,r=88程序四:#include <iostream.h>int f(int i){ static int k=1;for(;i>0;i--)k +=i;return k;}void main(){ int i;for(i=0;i<5;i++)cout<<f(i)<<" ";}// 1 2 5 11 21程序五:#include <iostream.h>void func();int n=1;void main(){ static int a;int b= -9;cout <<"a:"<<a<<" b:"<<b<<" n:" <<n<<endl;b+=4;func();cout <<"a:"<<a<<" b:"<<b<<" n:"<<n<<endl;n+=10;func();}void func(){ static int a=2; int b=5;a+=2;n+=12;b+=5;cout <<"a:" <<a<<" b:" <<b<<" n:" <<n <<endl;}// a:0 b:-9 n:1a:4 b:10 n:13a:0 b:-5 n:13a:6 b:10 n:35实验二C++对C的扩充一、实验目的1、了解在面向对象程序设计过程中C++对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人)×继承一个接口。
面向对象程序设计复习题(附参考答案)
【题目】【题型:单选题】【难度:中】【考核能力:理解】【漏选得分:是】【自动判分:是】【应用类别:终考】【特殊标签:】机器语言中的指令编码为()编码。
[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程序时使用的命令是()。
天津大学《面向对象程序设计》在线作业一100分答案
《面向对象程序设计》在线作业一-0001试卷总分:100 得分:100一、单选题 (共 20 道试题,共 100 分)1.设有定义:int a=0,b=5,c; 执行语句c=(a=b)||++a&&b++后,a、b、c的值分别是()。
A.5,5,1B.4,6,1C.1,6,1D.1,5,0正确答案:A2.当A类的某个成员函数被说明为virtual时,该函数在A类的所有派生类中()。
A.都是虚函数B.被重新定义后才是虚函数C.只有被用virtual重新说明后才是虚函数D.不能被重新定义正确答案:A3.C++中函数原型不能标识()。
A..函数的返回类型B..函数的功能;C..函数参数的个数D.函数参数的类型正确答案:B4.类Mclass的拷贝初始化构造函数是()。
A.Mclass( )B.Mclass(Mclass)C.Mclass(Mclass *)D.Mclass(Mclass&)正确答案:D5.不能直接访问非静态数据成员的成员函数是()。
A.构造函数B.析构函数C.拷贝构造函数D.静态成员函数正确答案:D6.设函数原型为:void test(int a,intb=7,char *s=”*”); 以下函数调用中,不合法的是()。
A.test(5);B.test(5,8);C.test(6,”#”);D.test(0,0,”@”);正确答案:C7.函数重载是指()。
A..两个以上的函数取相同的函数名,但形参的个数或类型不同B..两个以上的函数取相同的名字和相同的参数个数,但形参的类型可以不同C..两个以上的函数名字不同,但形参的个数或类型相同D..两个以上的函数名字、参数的个数和类型都相同正确答案:A8.若有定义int i=2,j=3,a[3][4]={1,2,3,4,5,6,7,8,10,11,12};则对元素a[i][j]值的正确引用是()。
A.(a+i)+jB.*(*(a+i)+j)C.*a[i]+jD.*(a+i)+j正确答案:B9.程序控制语句主要包括选择、循环和()。
面向对象程序设计》期末试卷及标准答案
《面向对象程序设计C++》期末考试一试卷(A)班级:姓名:学号:分数:题号一二三四总分得分试卷说明:本套试题共四个大题,所有题目都答在答题纸上,写在其余地方均无效。
(答题纸在本套试卷的第10页上)一、选择题(每题2分,共40分)1、C++是(C )。
面向对象的程序设计语言面向过程的程序设计语言既支持面向对象的程序设计又支持面向过程的程序设计的混淆型语言非结构化的程序设计语言2、面向对象程序设计思想的主要特点中不包含( D )。
A.封装性B.多态性C.继承性D.功能分解,逐渐求精3、若定义:stringst r;当语句cin>>str;履行时,从键盘输入:MicrosoftVisualStudio6.0!所得的结果是str=(B)。
A.MicrosoftVisualStudio6.0!B.MicrosoftC.MicrosoftVisualD.MicrosoftVisualStudio6.04、考虑下边的函数原型申明:voidtestDefaulParam(inta,intb=7,charz='* ');下边函数调用中,不合法的是(C )。
A.testDefaulParam(5);B.testDefaulParam(5,8);C.testDefaulParam(5,'#');D.testDefaulParam(0,0,'*');5、以下语句中,将函数intsum(intx,inty)正确重载的是( C )。
A.floatsum(intx,inty);B.intsum(inta,intb);C.floatsum(floatx,floaty);D.doublesum(inty,intx);6、以下表示引用的方法中,(A)是正确的。
已知:inta=1000;A.int&x=a; B.char&y; C.int&z=1000; D.float &t=&a;7、在一个函数中,要求经过函数来实现一种不太复杂的功能,而且要求加快履行速度,采纳(A )。
《面向对象程序设计C--》期末试卷及答案
一、选择填空题(共20小题,每小题2分,共40分)。
1. 关于C++与C语言关系的描述中,(d)是错误的。
a.C语言是C++语言的一个子集b.C语言与C++语言是兼容的c.C++语言对C语言进行了一些改进d.C++语言和C语言都是面向对象的2.按照标识符的要求,(a )符号不能组成标识符。
a.连接符b.下划线c.大小写字母d.数字字符3. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与(c)组成配对关系。
a.缩排位置相同的ifb.在其之前未配对的ifc.在其之前未配对的最近的ifd.同一行上的if4. 在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是(c)。
a.1b.0c.6d.25. 设"char **s;",以下正确的表达式是(b)。
a.s="computer";b.*s="computer";c.**s="computer";d.*s='c';6. 对于"int *pa[5];"的描述中,(d )是正确的。
a.pa是一个指向数组的指针,所指向的数组是5个int型元素b.pa是一个指向某数组中第5个元素的指针,该元素是int型变量c.pa [5]表示某个元素的第5个元素的值d.pa是一个具有5个元素的指针数组,每个元素是一个int型指针7. 在下列表示引用的方法中,(a )是正确的。
已知:int m=10;a.int &x=m;b.int &y=10;c.int &z;d.float &t=&m;8. 下列for循环的次数为(b)。
for(i=0, x=0; !x&&i<=5; i++)a.5b.6c.1d.无限9. 对于C/C++语言的函数,下列叙述中正确的是(a)。
c面向对象程序设计期末考试题及完整参考答案
3.distanee/400.0改为distanee/400或者distanee/400.0f;
4.public float ISwimmable.Run(float distanee)改为float ISwimmable.Run(float distanee)
7.类索引函数的参数类型必须为或。
8.类对接口方法的实现时,在方法名称之前加上接口名,这叫做对接口方法的实现,此时这个方法是这个
类的员,不能通过类的实例来访问。
9.作为一种特殊的函数成员,重载类的操作符时,被重载的操作符必须被声明为公有的和,并通过在关键
字operator后跟操作符来声明。
二、判断题(每小题1分,共5分)
public virtual float Run( float dista nce)
{
retur n dista nce/Speed;
}
public Automobile(float speed)
{
Speed = speed;
}
}
public class Amphicar:Automobile, ISwimmable
Console.WriteLine("{0}空中飞行1000公里需{1}小时", plane, plane.Run(1000)); //调用IFlyable接口Run方法
Con sole.ReadL in e();
}
}
public in terface IFIyable
{
public float Run( float dista nee);
面向对象程序设计习题及答案【精选文档】
面向对象程序设计一、选择填空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)是正确的。
天大20年春季《面向对象程序设计》在线作业一答卷【标准答案】
《面向对象程序设计》在线作业一试卷总分:100 得分:100一、单选题 (共 20 道试题,共 100 分)1.下列调用方式中,属于引用调用的是()。
A..形参是指针,对应的实参是地址值B..形参是引用,对应的实参是变量名C..形参是变量名,对应的实参是地址值D..形参和对应的实参都是变量名答案:B2.设有说明语句:int x=1,y=3,z=5;则下面表达式中值为0的是()。
A.(y!=1)&&(z!=0)B.x&&zC.(x<y)&&x<zD.x||y>3&&z>5答案:A3.下列循环结构中,不是无限循环的是()。
A.t = 1; while ( t - - ) { cout<< t + + ; }B.t = 1 ; do { cout<< t ; t + + ;} while ( - - t ) ;C.for ( t =1 ; ; t + + ) cout<< t ;D.for ( t = 0 ; t ; t ++ ) cout<< t ;答案:D4.设B类是A类的派生类。
当创建一个B类的对象时,构造函数的调用顺序是()。
A.视定义时A类和B类出现的位置B.先调用B类的构造函数,然后调用A类的构造函数C.先调用A类的构造函数,然后调用B类的构造函数D.不调用A类的构造函数答案:C5.设有定义: int i=8,a,b; double x=1.34,y=5.3; 下列表达始中,符合C++语法的是()。
A.y=float(i)++B.x%5C.a+=a-=(a=3)*(b=4)D.a=a*3=2答案:C6.设有定义:int a=0,b=5,c; 执行语句c=(a=b)||++a&&b++后,a、b、c的值分别是()。
A.5,5,1B.4,6,1C.1,6,1。
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[面向对象程序设计] 天津大学考试题库及答案
面向对象程序设计复习题一、单项选择题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秋《面向对象程序设计》在线作业二答卷
《面向对象程序设计》在线作业二-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格式控制时,需要使用的头文件是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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] 天津大学考试题库及答案的地址
B.a[2] 天津大学考试题库及答案[0] 天津大学考试题库及答案的值
C.第2行的所有元素
D.无意义
12、已知:int a=2; double b=2.5,下列表达式中,结果为整型数的是( D )。
A.a%5+b
B.b%5+a
C.--a+b
D.a/(int)b
13、C++程序中编译预处理命令的标志是( A )。
A.#
B.if
C.cin
D.for
14、C++中循环体至少执行一次的循环是( B )。
A.While循环
B.Do-while循环
C.For循环
D.没有
15、C++中设置友元函数的目的是( B )。
A.解决继承中的二义性问题
B.提高编程效率
C.实现动态多态性
D.实现静态多态性
16、在类的友元函数中,可以访问的数据成员是( D )。
A.本类的私有成员
B.本类的保护成员
C.本类的公有成员
D.本类的所有成员
17、下列描述中,不属于虚函数的特征是( C )。
A.函数定义时不加virtual
B.是类的非静态成员函数
C.函数没有形参
D.不能重载
18、下列各种函数中,在对象生命期结束时自动调用的函数是( B )。
A.构造函数
B.析构函数
C.友元函数
D.虚函数
19、下列描述中,不属于地址调用的是( D )。
A.形参、实参是指针
B.形参、实参都是数组
C.形参是指针,实参是数组名
D.形参是变量的引用,实参是变量
20、下列标示符中,符合C++标示符命名规则的是( A )。
A.Amax
B.x(2)
C.int
D.姓名
21、面向对象程序设计中,在已有类的基础上形成新类的机制被称为( C )。
A.封装
B. 多态
C. 继承
D. 抽象
22、下列描述中,符合地址调用的是( A )。
A.形参是指针,实参是地址
B.形参、实参都是变量
C.形参、实参都是变量的引用
D.形参是变量的引用,实参是变量名
23、在类的非静态成员函数中,不可以直接访问的数据成员是( D )。
A.本类的私有成员
B.本类的保护成员
C.本类的公有成员
D.本类的所有非静态成员
24、按照标示符的命名规则,标示符中可以有( B )。
A.运算符
B.下画线
C.汉字
D.空格
25、编译预处理命令不包括( D )。
A.包含命令
B.宏定义命令
C.条件编译命令
D.函数原型声明
26、如果定义一个函数时未指定函数返回值类型,则函数返回值的类型应是( B )。