浙江大学远程教育2015面向对象程序设计在线作业答案
面向对象程序设计答案

m_fReal += c.m_fReal;
m_fImag += c.m_fImag;
return *this;
}
Complex& operator-= (const Complex &c)
{
m_fReal -= c.m_fReal;
m_fImag -= c.m_fImag;
return *this;
在日常生活或者说日常编程中,简单的问题用面向过程的思路解决,更加直接有效,但是当问题的规模稍大时,如要描述三万个人吃饭的问题,或者要构建一个航空母舰模型的时候,用面向过程的思想是远远不够的。而且面向过程程序的代码复用性、可扩展性、可移植性、灵活性、健壮性都会在处理大规模问题中出现问题。
二、综合回答(每小题15分,共30分)
一、简答题(每小题6分,共30分)
1、面向过程思想的优点是什么?
与人类思维习惯一致;稳定性好:以object模拟实体,需求变化不会引起结构的整体变化,因为实体相对稳定,故系统也相应稳定;可重用性好;可维护性好
2、比较Java和C++?
JAVA和C++都是面向对象语言。也就是说,它们都能够实现面向对象思想(封装,继乘,多态)。而由于c++为了照顾大量的C语言使用者,从而兼容了C,使得自身仅仅成为了带类的C语言,多多少少影响了其面向对象的彻底性!JAVA则是完全的面向对象语言,它句法更清晰,规模更小,更易学。它是在对多种程序设计语言进行了深入细致研究的基础上,摒弃了其他语言的不足之处,从根本上解决了c++的固有缺陷。用C++可以使用纯过程化的编程,也可以是基于对象的编程,还可以是面向对象的编程,当然大部分是混合编程,c++可以跨平台
面向对象程序设计--远程教育习题及答案(4)

3. #include <iostream.h>class A{int i;public:virtual void fun()=0;A(int a){i=a;}};class B:public A{int j;public:void fun(){cout<<"B::fun()\n"; }B(int m,int n=0):A(m),j(n){}};void main(){A *pa;B b(7);pa=&b;}答案:B(int m,int n=0):A(m),j(n){}因为基类是抽象类,不能被实例化,所以在派生类中不能调用初始化基类对象。
所以B(int m,int n=0):A(m),j(n){}错误,删去A(m)。
[修改]B(int m,int n=0):j(n){}4. #include <iostream.h>class X{public:int x;public:X(int x){cout<<this->x=x<<endl;}X(X&t){x=t.x;cout<<t.x<<endl;}void fun(X);};void fun(X t){cout<<t.x<<endl;}void main(){fun(X(10));}答案:cout<<this->x=x<<endl;要输出this->x=x表达式的值要加括号。
[修改]cout<<(this->x=x)<<endl;5. #include <iostream.h>#include <string.h>class Bas{public:Bas(char *s="\0"){strcpy(name,s);}void show();protected:char name[20];};Bas b;void show(){cout<<"name:"<<<<endl;}void main(){Bas d2("hello");show();}答案:void show();是普通函数不是成员函数,但是要访问类成员,需要定义为友元函数。
15秋西电《面向对象程序设计(C++)》在线作业 答案

西电《面向对象程序设计(++)》在线作业一、单选题(共 25 道试题,共 100 分。
)1. ()是面向对象语言中的一种复合数据类型。
它是复合数据类型的超集。
. 复合数据类型. 类. 对象. 成员. 引用正确答案:2. 阅读下面程序int list[]=nw int[10]##for(int I=0##I<=list.lngth##I++) list[I]=I##list[0]的值为( ). 10. 9. 不一定. 出错正确答案:3. 强制挂起线程,而且指定挂起时间的函数是(). slp( ). suspn( ). rsum( ). join( )正确答案:4. 阅读下面程序int list[]=nw int[10]##for(int I=0##I<=list.lngth##I++) list[I]=I##list[0]的值为( ). 10. 9. 不一定. 出错正确答案:5. 设有如下定义:设有如下定义: strutsk{ int; flot; }t; int*p; 若要使p指向t中的成员,则正确的赋值语句为()。
. p=&;. p=t.;. p=&t.;. *p=t.;正确答案:6. 下列对派生类的描述中,错误的是()。
. 一个派生类可以作为另一个派生类的基类. 派生类至少有一个基类. 派生类的缺省继承方式为privt. 派生类只继承了基类的公有成员和受保护成员正确答案:7. 一个pplt程序(). 不用修改就一定可以当作应用程序运行. 怎么修改都不能当作应用程序运行. 可以又作为应用程序运行. 要视操作系统和浏览器而定正确答案:8. 阅读下面程序 lss x3125 { puli stti voi min(String [] rgs) { int i=0## i=i++## Systm.out.println(i)## }}} 现在想先编译再运行该程序,结果是(). 0. 1. 2. 出错正确答案:9. uiolip的()方法可以循环播放声音文件. ply. loop. ontinu. rply正确答案:10. 阅读下面程序 String s="Hllo"##String t=s##t="1234"t代表的字符串为. null. 1234. Hllo. H正确答案:11. int lmnts[]={1,2,3,4,5,6}## int hol[]={10,9,8,7,6,5,4,3,2,1}## 要把lmnts数组中的所有元素复制到hol数组中,因该使用. Systm.rryopy(lmnts,0,hol,0,lmnts.lngth). Systm.rryopy(hol,0,lmnts,0,lmnts.lngth). Systm.rryopy(hol,0,lmnts,0,hol.lngth). Systm.rryopy(lmnts,0,hol,0,hol.lngth)正确答案:12. ++语言中whil循环和o-whil循环的主要区别是()。
2015 年春季学期《面向对象程序设计(Java)》在线考试(适用于2015年6月份考试)中石油华东 标准答案

2015 年春季学期《面向对象程序设计(Java)》在线考试(适用于2015年6月份考试)一、单选题(共20 道试题,共40 分。
)1. 下列关于Applet 的叙述中,正确的是()。
A. Applet 是Java 类,所以可由JDK 中的解释器直接解释运B. Applet 的主类不一定要定义为java.applet.Applet 类或JApplet 类的子类C. Applet 与Application 的主要区别在执行方式上D. Applet 不能在浏览器中运行----------------选择:C2. 对于下列代码:1) class Person {2) public void printValue(int i, int j) {//... }3) public void printValue(int i){//... }4) }5) public class Teacher extends Person {6) public void printValue() {//... }7) public void printValue(int i) {//...}8) public static void main(String args[]){9) Person t = new Teacher();10) t.printValue(10);11) }12) }第10 行语句将调用()语句。
A. line 2B. line 7C. line 6D. line 3----------------选择:D3. 如果想让某方法不能被任何外部类访问,应使用访问说明符()定义。
A. publicB. privateC. defaultD. protected----------------选择:B4. 下列选项中,()反映了Java 程序并行机制的特点。
A. 安全性B. 多线程C. 跨平台D. 可移植----------------选择:B5. 若在某一个类定义中定义有如下的方法:abstract void performDial( ); 该方法属于()方法。
浙江大学远程教育2015大数据结构与算法在线作业问题详解

您的本次作业分数为:99分1.【第1章第2节】数据结构课程主要研究以下三方面的内容,它们是______。
A 数据、数据元素、数据类型B 数据元素、数据类型、算法实现C 数据元素、数据的逻辑结构、数据的存储结构D 数据的逻辑结构、数据的存储结构、数据的运算正确答案:D2.【第1章第2节】在数据结构中,与所使用的计算机无关的是数据的____结构。
A 存储B 物理C 逻辑D 物理与存储正确答案:C3.【第1章第2节】逻辑结构相同时物理结构也应该相同。
正确错误4.【第1章第3节】计算机算法是指______。
A 计算方法B 排序方法C 调度方法D 解决问题的有限运算序列正确答案:D5.【第1章第3节】设某二维数组A[1..n,1..n],则在该数组中用顺序查找法查找一个元素的时间复杂性的量级为______。
A O(log2n)B O(n)C O(nlog2n)D O(n^2)正确答案:D6.【第1章第3节】所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界正确错误正确答案: 对7.【第3章第2节】向一个有115个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动_____个元素。
A 115B 114C 58D 57正确答案:C8.【第3章第2节】在一个具有n个结点的有序单链表中,插入一个新的结点并使之仍然有序的时间复杂度是______。
A O(n)B O(log2n)C O(1)D O(n^2)正确答案:A9.【第3章第2节】若要求能快速地实现在链表的末尾插入和删除结点的运算,则选择_____最合适。
A 单链表B 带尾指针的单循环链表C 双链表D 双循环链表正确答案:B10.【第3章第2节】在长度为n 的双链表中某结点(已知其地址)之前,插入一个新结点的时间复杂度是_____ 。
A O(n)B O(log2n)C O(1)D O(n^2)正确答案:C11.【第3章第2节】在一个长度为n的顺序表中,在第i个元素(1<=i<=n)之前插入一个新元素时需向后移动_______个元素。
(完整版)《面向对象程序设计》答案

实验一熟悉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功能的扩充与增强,并善于在编写程序的过程中应用这些新功能。
兰大《面向对象程序设计》15春在线作业4 答案

《面向对象程序设计》15春在线作业4一、单选题(共13 道试题,共52 分。
)1. 以下不合法的字符常量是()A. \018'B. '\”'C. '\\'D. ‘\xcc'正确答案:A2. 以下叙述中正确的是()A. 预处理命令行必须位于C源程序的起始位置B. 在C语言中,预处理命令行都以“#”开头C. 每个C程序必须在开头包括预处理命令行:#includeD. C语言的预处理不能实现宏定义和条件编译的功能正确答案:C3. 在下列关键字中,不能用来表示继承方式的是()A. privateB. staticC. publicD. protected正确答案:B4. 通过()调用虚函数时,采用动态束定A. 对象指针B. 对象名C. 成员限定D. 派生类名正确答案:A5. 有以下程序main() { char *p[]={"3697","2584"}; int i,j; long num=0; for(i=0;i<2;i++) {j=0; while(p[i][j]!='\0') { if((p[i][j]-‘0')%2)num=10*num+p[i][j]-'0'; j+=2; } } printf("%d\n"num); } 程序执行后的输出结果是()A. 35B. 37C. 39D. 3975正确答案:C6. C++语言的跳转语句中,对于break和continue说法正确的是()A. break语句只应用于循环体中。
(0837)《面向对象程序设计》网上作业题及答案

(0837)《面向对象程序设计》网上作业题及答案1:第一次作业2:第二次作业3:第三次作业4:第四次作业5:第五次作业6:第六次作业1:[论述题]编写一个简单的乘法器,界面如下图所示,在第一个文本框中输入第一个乘数;在第二个文本框中输入第二个乘数;当单击"=”按钮时,在第三个文本框中输出其乘积。
参考答案:问题(1):Java程序分为Java应用程序(或Java application)和Java小应用程序(或Java applet);这段程序是Java小应用程序。
问题(2):界面上包含一个标签(JLabel),一个按钮(JButton)和一个文本框(JTextField);点击按钮后,文本框内显示“好好学习,天天向上”。
问题(3):ActionListener是动作事件监听器接口;方法actionPerformed()是ActionListener中的方法;其功能是处理applet界面里发生的动作事件。
2:[论述题]请设计一个软件包。
要求该软件包至少拥有正方形类、圆类。
要求每个类都具有构造方法、计算该图形的周长的成员方法和计算该图形的面积的成员方法。
然后编写一个测试程序,分别创建这些类的实例对象,并输出这些实例对象的周长和面积。
在创建这些实例对象时,构造方法的调用参数值分别是:正方形:左上定点的坐标为(5,10),边长为15。
圆形:圆心的坐标为(0,0),圆心为15。
参考答案:问题(1):Test3是SuperTest的子类(或SuperTest是Test3的父类,或继承关系)。
问题(2):super指对象的父类(或超类);this指使用它的对象本身(或对对象自己的引用)。
问题(3):程序的输出是:Hi, I am OliveNice to meet you!Age is 7My age is 7My parent's age is 353:[论述题]编写一个程序,要求随机生成61个学生的成绩(从0到100的整数),在将成绩排序(由高到低)后保存到文件"score.txt”中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
窗体顶端您的本次作业分数为:95分单选题1.【第1章】不是面向对象系统的特性是()。
A 封装性B 继承性C 保密性D 多态性正确答案:C单选题2.【第1章】面向对象(O-O)程序设计是一种新的程序设计范型。
这种范型的主要特征是()。
A 程序=对象+消息B 程序=函数+调用C 程序=算法+数据D 程序=过程+调用正确答案:A单选题3.【第2章】以下叙述中不正确的是()。
A 在不同的函数中可以使用相同名字的变量B 函数中的形式参数是局部变量C 在一个函数内定义的变量只在本函数范围内有效D 在一个函数内的复合语句中定义的变量在本函数范围内有效正确答案:D单选题4.【第2章】假设已经有定义“char *Const name="chen";”下面的语句中正确的是()。
A name[3]='q';B name=C name=newChar[5];D name=newChar('q');正确答案:A单选题5.【第2章】下列选项中,当x 为大于1 的奇数时,值为0 的表达式是()。
A x%2==1B x%2==0C x%2!=0D x/2正确答案:B单选题6.【第2章】如果定义并初始化一个数组int s[10]={1,2,3,4,5,6,7,8,9,10};则执行printf("%d\n",a[a[1]*a[2]])语句后的输出结果是()。
A 3B 4C 7D 2正确答案:C单选题7.【第2章】下面有关重载函数的说法中正确的是()。
A 重载函数必须具有不同的返回值类型B 重载函数形参个数必须不同C 重载函数必须有不同的形参列表D 重载函数名可以不同正确答案:C单选题8.【第2章】下面的类型声明中正确是()。
A int&a[4];B int&*p;C int&&q;D inti,*p=&i;正确答案:D单选题9.【第2章】在面向对象的程序设计C++中,当用cin、cout输入、输出时程序头部要()。
A #include<stdio.h>B #include<iostream.h>C #include<stdli正确答案:B单选题10.【第2章】若定义intA[2][3]={1,2,3,4,5,6};则值为4的数组元素是()。
A a[1][0]B a[1][1]C a[2][0]D a[2][1]正确答案:A单选题11.【第2章】关于new运算符的下列描述中,()是错误的。
A 它可以用来动态创建对象和对象数组B 使用它创建的对象或对象数组可以使用运算符delete删除C 使用它创建对象时要调用构造函数D 使用它创建对象数组时必须指定初始值正确答案:D单选题12.【第2章】执行x=-1;do { x=x*x;} while (!x);循环时,下列说法正确的是()。
A 循环体将执行一次B 循环体将执行两次C 循环体将执行无限次D 系统将提示有语法错误单选题13.【第2章】charA[10] = "abcde",B[8]= "fghi";strcpy(a+3,b+1);printf("%d ",strlen(a) );执行下面程序后的输出结果为()。
A 5B 6C 9D 10正确答案:B单选题14.【第2章】下列语句中错误的是()。
A int*p=newint(10);B int*p=newint[10];C int*p=newint;D int*p=newint[40](0);正确答案:D单选题15.【第2章】下列表达式中,不正确的表达式是()。
A a=1,b=1B y=int(x)C a=b=5D i++正确答案:B单选题16.【第2章】在C程序中,如果有FILE *fp;则对于文件指针fp,下面说法正确的是()。
A fp是文件读写位置B 可以用一个fp同时对多个文件缓冲区操作C fp是用以描述文件缓冲区信息的结构的指针D 当对文件进行读写操作时,fp也跟着移动单选题17.【第2章】设有以下说明语句,则下面的叙述中不正确的是()。
struct XYZ {int x ;float y;Char z ;} xyz;A x,y,z都是结构成员名B structXYZ是结构类型名C struct是定义结构类型的关键字D XYZ是结构类型名正确答案:D单选题18.【第2章】表示year为闰年的c语言表达式为()。
A (year%4==0&&year%100?!=0)&&(year%400==0)B (year%4==0&&year%100?!=0)||(year%400==0)C (year%4==0)&&(year%400==0)D (year%4==0)||(year%400==0)正确答案:B单选题19.【第2章】假设已经有定义“constChar * name="chen";”下面的语句中错误的是()。
A name[3]='q';B name=C name=newChar[5];D name=newChar('q');正确答案:A单选题20.【第2章】下列条件语句中,功能与其他语句不同的是()。
A if(a)printf("%d\n",x);elseprintf("%d\n",y)B if(a==0)printf("%d\n",y);elseprintf("%d\n",x)C if(a!=0)printf("%d\n",x);elseprintf("%d\n",y)D if(a==0)printf("%d\n",x);elseprintf("%d\n",y)单选题21.【第2章】与数学式子对应的C语言表达式是()。
A 3*x^n/(2*x-1)B 3*x*n/(2*x-1)C 3*pow(x,n)/(2*x-1)D 3*pow(n,x)/(2*x-1)正确答案:C单选题22.【第2章】若有定义char *words[]={"FORTRAN", "BASIC","PASCAL","JA V A","C"};则输出结果为A V A的语句是()。
A printf("%s",*words[3]+1)B printf("%s",*words[4]+1)C printf("%s",*(words+3)+1)D printf("%s",(*words+4)+1)正确答案:C单选题23.【第2章】下列属于合法的C语言赋值语句的是()。
A a=b=58B i++C a=58,b=58D k=int(a+b)正确答案:A单选题24.【第2章】执行下列程序段后,int *p,A = 10,B=1;p = &b;A =a + (*p)++ ;变量a,b 的值为:()。
A a=10,b=1B a=10,b=2C a=11,b=1D a=11,b=2正确答案:D单选题25.【第2章】表达式:36.5-(12+7%4)/2.0的运算结果是()类型。
A doubleB intC floatD char正确答案:A单选题26.【第2章】下列描述中,()是错误的。
A 内联函数主要解决程序的运行效率问题B 内联函数的定义必须出现在内联函数第一次被调用之前C 内联函数中可以包括各种语句D 对内联函数不可以进行异常接口声明正确答案:C单选题27.【第2章】以下各语句或语句组中,正确的操作是()。
A chars[6]="123456";B char*s;s="123456";C char*s;gets(s);D chars[6];scanf("%s",&s);正确答案:B单选题28.【第2章】C++程序中函数原型(函数声明)错误的写法是()。
A intAdd(intA,intB);B intAdd(int,int);C intAdd(intA,B);D intAdd(intA,int);正确答案:C单选题29.【第2章】关于delete运算符的下列描述中,()是错误的。
A 它必须用于new返回的指针B 使用它删除对象时要调用析构函数C 对一个指针可以使用多次该运算符D 指针名前只有一对方括号符号,不管所删除数组的维数正确答案:C单选题30.【第2章】已知有预编译指令#define s(a,b) (a*b),则执行语句i=1;Area=s(3, 5-i)+3;后,变量area的值为()。
A 14B 15C 16D 17正确答案:D单选题31.【第2章】在C++中,关于下列设置默认参数值的描述中,()是正确的。
A 不允许设置默认参数值B 在指定了默认值的参数右边,不能出现没有指定默认值的参数C 只能在函数的定义性声明中指定参数的默认值D 设置默认参数值时,必须全部都设置正确答案:B单选题32.【第2章】在()情况下适宜采用内联函数。
A 函数代码小,频繁调用B 函数代码多,频繁调用C 函数体含有递归语句D 函数体含有循环语句正确答案:A单选题33.【第2章】重载函数在调用时选择的依据中,()是错误的。
A 函数名字B 函数的返回类型C 参数个数D 参数的类型正确答案:B单选题34.【第3章】不是构造函数的特征是()。
A 构造函数与类同名。
B 构造函数必须说明返回类型。
C 构造函数可以有形式参数。
D 编译系统会自动调用构造函数。
正确答案:B单选题35.【第3章】关于成员函数特征的下述描述,不正确的是()。
A 成员函数一定要在类内定义。
B 成员函数可以重载。
C 成员函数可以设置参数的默认值。
D 可在类内定义。
正确答案:A单选题36.【第3章】对象是现实世界中的一个实体,其特性的是()。
A 必须有一个关键字,以示区别。
B 每个对象都有对象标识名。
C 只有数据属性。
D 只有操作函数。
正确答案:B单选题37.【第3章】C++中,类和对象之间的关系是()。
A 结构类型和结构体的关系。
B 定义和被定义的关系。
C 调用和被调用的关系。
D 型和值的关系。
正确答案:A单选题38.【第3章】现实世界中的对象,以下不是它的特性的是()。