天大15春《面向对象程序设计》在线作业二 答案

合集下载

C面向对象程序设计习题解答与上机指导(第二版)源程序.doc

C面向对象程序设计习题解答与上机指导(第二版)源程序.doc

C++面向对象程序设计习题解答与上机指导(第2版)习题参考答案源代码使用源程序的几点注意事项(1) 由于源程序在复制、编辑、解压缩等过程中可能引起部分符号(主要是标点符号,如分号、冒号、逗号、引号)的字体、半全角等发生变化,在编译时可能被检出语法错误,只要使用“替换”功能,纠正后即能顺利运行。

(2) 有的C++系统(如Visual C++6.0)没有完全实现C++标准,它所提供的不带后缀的.h 的头文件不支持友元运算符重载函数,在Visual C++6.0中编译会出错,这时可采用带后缀的.h头文件。

将程序中的#include<iostream>using namespace std;修改成#include<iostream.h>即可顺利运行。

第2章 C++基础【2.2】下面是一个C程序,改写它,使它采用C++风格的I/O语句。

#include<stdio.h>int main(){ int a,b,d,min;printf("Enter two numbers:");scanf("%d%d",&a,&b);min=a>b? b:a;for (d=2; d<min; d++)if (((a%d)==0)&&((b%d)==0)) break;if (d==min){ printf("No common denominators\n");return 0;}printf("The lowest common denominator is %d\n",d);return 0;}【解】#include<iostream>using namespace std;int main(){ int a,b,d,min;cout<<"Enter two numbers:";cin>>a;cin>>b;min=a>b? b:a;for (d=2; d<min; d++)if (((a%d)==0)&&((b%d)==0)) break;if (d==min){ cout<<"No common denominators\n";return 0;}cout<<"The lowest common denominator is "<<endl<<d;return 0;}【2.24】写出下列程序的运行结果。

C++面向对象程序设计习题解答与上机指导(第二版)源程序.doc

C++面向对象程序设计习题解答与上机指导(第二版)源程序.doc

C++面向对象程序设计习题解答与上机指导(第2版)习题参考答案源代码使用源程序的几点注意事项(1) 由于源程序在复制、编辑、解压缩等过程中可能引起部分符号(主要是标点符号,如分号、冒号、逗号、引号)的字体、半全角等发生变化,在编译时可能被检出语法错误,只要使用“替换”功能,纠正后即能顺利运行。

(2) 有的C++系统(如Visual C++6.0)没有完全实现C++标准,它所提供的不带后缀的.h 的头文件不支持友元运算符重载函数,在Visual C++6.0中编译会出错,这时可采用带后缀的.h头文件。

将程序中的#include<iostream>using namespace std;修改成#include<iostream.h>即可顺利运行。

第2章 C++基础【2.2】下面是一个C程序,改写它,使它采用C++风格的I/O语句。

#include<stdio.h>int main(){ int a,b,d,min;printf("Enter two numbers:");scanf("%d%d",&a,&b);min=a>b? b:a;for (d=2; d<min; d++)if (((a%d)==0)&&((b%d)==0)) break;if (d==min){ printf("No common denominators\n");return 0;}printf("The lowest common denominator is %d\n",d);return 0;}【解】#include<iostream>using namespace std;int main(){ int a,b,d,min;cout<<"Enter two numbers:";cin>>a;cin>>b;min=a>b? b:a;for (d=2; d<min; d++)if (((a%d)==0)&&((b%d)==0)) break;if (d==min){ cout<<"No common denominators\n";return 0;}cout<<"The lowest common denominator is "<<endl<<d;return 0;}【2.24】写出下列程序的运行结果。

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

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

吉林大学智慧树知到“计算机科学与技术”《面向对象程序设计》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.下列关于for循环和while循环的说法中哪个是正确的()A.while循环能实现的操作,for循环也都能实现B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果C.两种循环任何时候都可替换D.两种循环结构中都必须有循环体,循环体不能为空2.以下有关类的继承的叙述中,正确的是()A.子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B.子类只能继承父类的方法,不能继承父类的属性C.子类只能继承父类的非私有属性,不能继承父类的方法D.子类不能继承父类的私有属性3.下列正确的句子是()。

A.float 3.14B.byte i=225C.k=33LD.int p[][]4.说明下列创建数组的方法那些是正确的()。

A.int twoDim[][]=new int[4][]B.int twoDim[][]=new int[][4]C.int twoDim[][]=new int[4][5]D.char a[]={‘A’,‘B’}5.设x=1,y=2,z=3,则表达式y+=z--/++x的值是()。

A.3B.3.5C.4D.5 6.下面的表达式哪个是正确的?()A.String s=“ 你好”; int i=3; s+=iB.String s=“ 你好”; int i=3; if(i==s){s+=i}C.String s=“ 你好”; int i=3; s=i+sD.String s=“ 你好”; int i=3; s=i+7.下列哪个类声明是正确的?()A.abstract final class Hl{...}B.abstract private move(){...}C.protected private numberD.public abstract class Car{...}8.下列哪个类声明是正确的()A.abstract final class Hl{…}B.abstract private move(){…}C.protected private number{…}D.public abstract class Car{…}9.下列程序段执行后b3的结果是()。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15春华师《面向对象程序设计》在线作业答案

15春华师《面向对象程序设计》在线作业答案

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

)1. 当处理特定问题时的循环次数已知时,通常采用()来解决。

A. for循环B. while循环C. do循环D. switch语句正确答案:A2. 存储以下数据,占用存储字节最多的是()。

A. 0B. …0‟C. “0”D. 0.0正确答案:D3.A. 1B. n-1C. nD. n+1正确答案:C4. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为____。

A. 2B. 4C. 6D. 8正确答案:C5. do语句能够改写为____语句。

A. 复合B. ifC. switchD. while正确答案:D6. 在下面循环语句中内层循环体S语句的执行总次数为____。

for(int i=0; iq.Type = "1"; q.ObjectID[q.ObjectID.length] = "rdo_b7be34de-9cba-47f0-8a35-e890c607a05b_Response" q.Response[q.Response.length] = "Response"; q.Answer[q.Answer.length] = "";A. n^2 (n平方)B. (n+1)/2C. n(n-1)/2D. n(n+1)/2正确答案:D7. 由C++目标文件连接而成的可执行文件的缺省扩展名为()。

A. cppB. exeC. objD. lik正确答案:B8. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( )。

A. 12B. 144C. 156D. 288正确答案:C9. 以上对模板的声明,正确的是()。

A. template<T>B. template <class T1, T2>C. template<class T1, class T2>D. template <T1, T2>正确答案:C10. 对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是()。

15秋北交《面向对象的程序设计》在线作业二满分答案

15秋北交《面向对象的程序设计》在线作业二满分答案

15秋北交《面向对象的程序设计》在线作业二满分答案一、单选题(共 23 道试题,共 57.5 分。

)1. 下列不合法的变量名为()A. intB. int1C. name_1D. name0正确答案:A2. 下面关于派生类的描述中,()是错的。

A. 一个派生类可以作为另一个派生类的基类B. 派生类至少有一个基类C. 派生类的成员除了它自己的成员外,还包含了它的基类的成员D. 派生类中继承的基类成员的访问权限到派生类保持不变正确答案:D3. 面向对象系统不具有()特性A. 继承性B. 封装性C. 过程性D. 多态性正确答案:C4. 有如下函数模板定义: template T func(T x, T y) { returnx*x+y*y; } 在下列对func的调用中,错误的是( )A. func(3, 5);B. func(3.0, 5.5);C. func (3, 5.5);D. func(3, 5.5);正确答案:C5. 以下保留字()不能出现在说明虚函数原型的语句中。

A. staticB. operatorC. voidD. const正确答案:A6. 下列关于类和对象的叙述中,错误的是( )A. 一个类只能有一个对象B. 对象是类的具体实例C. 类是对某一类对象的抽象D. 类和对象的关系是一种数据类型与变量的关系正确答案:A7. 下列不是C++流对象的是( )。

A. coutB. cinC. cerrD. ostream正确答案:D8. 下面有关重载函数的说法中正确的是()A. 重载函数必须具有不同的返回值类型B. 重载函数形参个数必须不同C. 重载函数必须有不同的形参列表D. 重载函数名可以不同正确答案:C9. 下面关于C++流的叙述中,正确的是( )A. cin是一个输入流对象B. 可以用ifstream定义一个输出流对象C. 执行语句序列char *y="QMN"; cout&lt;D. 执行语句序列char x[80]; cin.getline(x,80); 时,若键入 Happy new year 则x中的字符串是"Happy"正确答案:A10. 假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为()。

天大2020年春季考试《面向对象程序设计》在线作业二.doc

1.构造函数和析构函数都应是类的公有成员函数A.对B.错【参考答案】: A2.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。

A.ios::inB.ios::outC.ios::in|ios::outD.ios::binary【参考答案】: A3.一个类中只能定义一个析构函数A.对B.错【参考答案】: A4.一般的成员函数可以重载A.对B.错【参考答案】: A5.cin和cout是系统预定义的I/O流()。

A.类B.包含文件C.对象D.常量【参考答案】: C6.下列函数中,用于对文件进行写操作的是()。

A.getline()B.put()C.get()D.eof()【参考答案】: B7.类的静态数据成员被类的所有对象共享A.对B.错【参考答案】: A8.只能在循环体内使用continue语句A.对B.错【参考答案】: A9.构造函数和析构函数都能被继承A.对B.错【参考答案】: B10.派生类中的成员函数可以和其基类的成员函数同名A.对B.错【参考答案】: A11.通过运算符重载可以改变运算符原有的()。

A.操作数类型B.操作数个数C.优先级D.结合性【参考答案】: A12.不同的函数中可以使用相同名字的变量A.对B.错【参考答案】: A13.成员函数一定是内联函数A.对B.错【参考答案】: B14.基类的公有成员一定能通过派生类的对象访问A.对B.错【参考答案】: B15.成员函数的参数可以设置默认值A.对B.错【参考答案】: A16.一个类的数据成员中可以有本类的对象A.对B.错【参考答案】: B17.设有说明:ofstreamoutfile;则执行语句:outfile.open(“data1.txt”);后,文件:data1.txt是一个()。

A.用于输入的文本文件B.用于输出的文本文件C.用于输入的二进制文件D.用于输出的二进制文件【参考答案】: B18.析构函数名与类名没有关系A.对B.错【参考答案】: B19.类外可以直接引用类的所有静态数据成员和静态成员函数A.对B.错【参考答案】: B20.派生类至少有一个基类A.对B.错【参考答案】: A。

吉大15春学期《面向对象程序设计》在线作业二满分答案

吉大15春学期《面向对象程序设计》在线作业二单选题多选题判断题一、单选题(共15 道试题,共60 分。

)1. 已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 }; 下面哪个表达式的值与数组下标量总数相等( )。

A. m.length()B. m.lengthC. m.length()+1D. m.length+1-----------------选择:B2. 在Java中,表示换行符的转义字符是( )A. \nB. \fC. 'n'D. \dd-----------------选择:A3. 不允许作为类及类成员的访问控制符的是( )。

A. publicB. privateC. staticD. protected-----------------选择:C4. 下面哪个为构造函数的特性定义( )。

A. 在类中声明构造函数时,名称须与类名相同B. 具有重载特性,可以建立多个相同名称C. 使用类建立新对象时,会自动执行构造函数,因此在构造函数内设定变量的初始值进行内存的分配D. 以上都是-----------------选择:D5. 下列程序段执行后b3 的结果是( )boolean b1=true, b2, b3; b3= b1 ?b1 : b2;A. 0B. 1C. trueD. false-----------------选择:D6. 下列语句序列执行后,ch1 的值是( )。

char ch1='A',ch2='W'; if(ch1 + 2 < ch2 ) ++ch1;A. ‘A'B. B'C. ‘C'D. B-----------------选择:B7. 以下选项中,合法的赋值语句是( )A. a = = 1;B. ++ i;C. a=a + 1= 5;D. y = int ( i );-----------------选择:B8. String s=""This is the "";String t=s.concat(""String.""); t的内容是( )A. This is th StringB. This is theC. String-----------------选择:A9. 关于Java中数据类型叙述正确的是( )A. 整型数据在不同平台下长度不同B. boolean类型数据只有2个值,true和falseC. 数组属于简单数据类型D. Java中的指针类型和C语言的一样-----------------选择:B10. 在对String类进行查找比较操作时,字符串的长度( )。

15春北交《面向对象的程序设计》在线作业二答案辅导资料

15春北交《面向对象的程序设计》在线作业二答案辅导资料一、单选题(共23 道试题,共57.5 分。

)V 1. 下列关于C++函数的叙述中,正确的是()A. 每个函数至少要具有一个参数B. 每个函数都必须返回一个值C. 函数在被调用之前必须先声明D. 函数不能自己调用自己满分:2.5 分2. 有如下程序:#include using namespace std; class A { public: A( ) { cout << "A"; } }; class B { public: B( ) { cout << "B"; } }; class C : public A { B b; public: C( ) { cout << "C"; } }; int main( ) { C obj; return 0; } 执行后的输出结果是( )A. CBAB. BACC. ACBD. ABC满分:2.5 分3. 进行文件输入操作时应包含()文件。

A. fstream.hB. ifstream.hC. ofstream.hD. iostream.h满分:2.5 分4. 下面关键字中()是定义模板的关键字。

A. publicB. staticC. classD. template满分:2.5 分5. 通常拷贝构造函数的参数是()A. 某个对象名B. 某个对象的成员名C. 某个对象的引用名D. 某个对象的指针名满分:2.5 分6. 下面的哪个保留字不能作为函数的返回类型( )。

B. intC. newD. long满分:2.5 分7. 当使用ofstream流类定义一个输出流对象并打开一个文件时,文件的默认打开选择项是( )。

A. ios::inB. ios:utC. ios::binaryD. ios::app满分:2.5 分8. 有如下程序:#include using namespace std; class AA{ int n; public: AA(int k):n(k){ } int get( ){ return n;} int get( )const{ return n+1;} }; int main( ) { AA a(5); const AA b(6); cout< < return 0; } 执行后的输出结果是( )A. 55B. 57D. 77满分:2.5 分9. 关于输出运算符<<的重载,下列说法不正确的是( )。

(完整版)《面向对象程序设计》答案

实验一熟悉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功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。

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

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


1. 使用setw(int)或setprecision(int)等直接嵌入到cin或cout实现I/O格式控制时,需要使用的头文件是()。

A. iostream.h
B. iomanip.h
C. fostream.h
D. stdlib.h
正确答案:B
2. 下列函数中,用于对文件进行写操作的是()。

A. getline()
B. put()
C. get()
D. eof()
正确答案:B
3. 类外可以直接引用类的所有静态数据成员和静态成员函数
A. 对
B. 错
正确答案:B
4. 构造函数和析构函数都应是类的公有成员函数
A. 对
B. 错
正确答案:A
5. 派生类至少有一个基类
A. 对
B. 错
正确答案:A
6. 基类的公有成员一定能通过派生类的对象访问
A. 对
B. 错
正确答案:B
7. cin和cout是系统预定义的I/O流()。

A. 类
B. 包含文件
C. 对象
D. 常量。

相关文档
最新文档