华师在线09面向对象程序设计作业答案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华师在线09面向对象程序设计作业答案相关的知识,希望对你有一定的参考价值。

有人可帮我吗?谢谢

--------------------------------------------------------------------------------

作业名称:面向对象程序设计
作业总分:100
学员姓名:mj07b201 学员成绩:95
标准题总分:100 标准题得分:95
详细信息:
题号:1 题型:单选题 本题分数:1
内容:
一个类的友元函数能够访问该类的( )
选项:
A、A)私有成员
B、B)保护成员
C、C)公有成员
D、D)所有成员

学员答案:
D

题号:2 题型:单选题 本题分数:1
内容:
下面关于类和对象的描述中,错误的是( )
选项:
A、A)类就是C语言中的结构体类型,对象就是C语言中的结构体变量
B、B)类和对象之间的关系是抽象和具体的关系
C、 C)对象是类的实例,一个对象必须属于一个已知的类
D、 D)类是具有共同行为的若干对象的统一描述体

学员答案:
A

题号:3 题型:单选题 本题分数:1
内容:
以下各选项组中,均是C++语言关键字的组是( )
选项:
A、A) public operator this
B、 B)shod string static
C、 C)it while>=
D、 D)private cout printf

学员答案:
A

题号:4 题型:单选题 本题分数:2
内容:
设int a=10,b=11,c=12;,表达式(a+b) 的值为( )
选项:
A、A)2
B、 B)0
C、 C)-2
D、 D)1

学员答案:
B

题号:5 题型:单选题 本题分数:1
内容:
下列描述正确的是( )
选项:
A、A)表示m>n为true或mn&&m
B、 B)switch语句结构中必须有default语句
C、 C)if语句结构中必须有else语句
D、 D)如果至少有一个操作数为true,则包含“‖”运算符的表达式为true

学员答案:
D

题号:6 题型:单选题 本题分数:1
内容:
下面关于数组的描述错误的是( )
选项:
A、A)在C++语言中数组的名字就是指向该数组第一个元素的指针
B、 B)长度为n的数组,下标的范围是0-n-1
C、 C)数组的大小必须在编译时确定
D、 D)数组只能通过值参数和引用参数两种方式传递给函数

学员答案:
D

题号:7 题型:单选题 本题分数:2
内容:
下面程序错误的语句是( )①#include ②void main() ③ ④int*p=new int[1]; ⑤p=9; ⑥cout <<*p< ⑦delete[]p ⑧
选项:
A、A)④
B、B)⑤
C、C)⑥
D、D)⑦

学员答案:
B

题号:8 题型:单选题 本题分数:2
内容:
下面的哪个选项不能作为函数的返回类型?( )
选项:
A、A)void
B、B)int
C、C)new
D、D)long

学员答案:
C

题号:9 题型:单选题 本题分数:1
内容:
不能作为重载函数的调用的依据是( )
选项:
A、A)参数个数
B、 B)参数类型
C、 C)函数类型
D、 D)函数名称

学员答案:
B

题号:10 题型:单选题 本题分数:2
内容:
下列程序的输出结果为( ),以下是引用片段: #include< iostream. h> int func(int n) if〔n<1)return 1; else return n+func(n-1): return 0; void main() cout< 选项:
A、A) 0
B、B)10
C、C)15
D、D)16

学员答案:
D

题号:11 题型:单选题 本题分数:1
内容:
在C++语言中,数据封装要解决的问题是( )
选项:
A、A)数据的规范化
B、 B)便于数据转换
C、 C)避免数据丢失
D、 D)防止不同模块之间数据的非法访问

学员答案:
D

题号:12 题型:单选题 本题分数:2
内容:
以下程序中,错误的行是 ①#include ②class A ③ ④ public: ⑤ int n=2: ⑥ A( int val)cout< 选项:
A、A)⑤
B、B)⑥
C、C)⑦
D、D)⑩

学员答案:
A

题号:13 题型:单选题 本题分数:1
内容:
下面有关重载函数的说法中正确的是()
选项:
A、A)重载函数必须具有不同的返回值类型
B、 B)重载函数形参个数必须不同
C、C)重载函数必须有不同的形参列表
D、D)重载函数名可以不同

学员答案:
C

题号:14 题型:单选题 本题分数:1
内容:
下列关于构造函数的描述中,错误的是()
选项:
A、A)构造函数可以设置默认参数
B、B)构造函数在定义类对象时自动执行
C、C)构造函数可以是内联函数
D、D)构造函数不可以重载

学员答案:
D

题号:15 题型:单选题 本题分数:1
内容:
下面描述中,表达错误的是()
选项:
A、A)公有继承时基类中的public成员在派生类中仍是public的
B、 B)公有继承是基类中的private成员在派生类中仍是private的
C、C)公有继承时基类中的protected成员在派生类中仍是protected的
D、 D)私有继承时基类中的public成员在派生类中是private的

学员答案:
B

题号:16 题型:单选题 本题分数:2
内容:
在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()
选项:
A、A)fail
B、B)eof
C、 C)bad
D、D)good

学员答案:
B

题号:17 题型:单选题 本题分数:1
内容:
下列关于C++语言类的描述中错误的是( )
选项:
A、A)类用于描述事物的属性和对事物的操作
B、 B)类与类之间通过封装而具有明确的独立性
C、C)类与类之间必须是平等的关系,而不能组成层次结构
D、 D)类与类之间可以通过一些方法进行通信和联络

学员答案:
C

题号:18 题型:单选题 本题分数:1
内容:
以下叙述中正确的是( )
选项:
A、A)构成C++语言程序的基本单位是类
B、 B)可以在一个函数中定义另一个函数
C、 C) main()函数必须放在其他函数之前
D、 D)所有被调用的函数一定要在调用之前进行定义

学员答案:
A

题号:19 题型:单选题 本题分数:2
内容:
己知有定义 以下是引用片段: const int D=5; int i=1; double f=0.32: char c=15; 则下列选项错误的是( )
选项:
A、A)++i
B、 B)D--
C、 C)C++
D、 D)--f

学员答案:
B

题号:20 题型:单选题 本题分数:2
内容:
下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是( ),以下是引用片段: void main() int i=0,j,k; doi++;k=316-13*i;while( ); j=k/11; cout<<”316=13*”<
选项:
A、A)k/11
B、B)k% 11
C、 C)k/11==0
D、D)k%11==0

学员答案:
B

题号:21 题型:单选题 本题分数:2
内容:
设有数组定义:char array[]=”China";,则数组array所占的空间为( )
选项:
A、A)4个字节
B、B)5个字节
C、C) 6个字节
D、D)7个字节

学员答案:
C

题号:22 题型:单选题 本题分数:2
内容:
若已定义: int a[]=0,1,2,3,4,5,6,7,8,9,*P=a,i; 其中O≤i≤9,则对a数组元素不正确的引用是( )
选项:
A、A)a[p-a]
B、 B)*(&a[i])
C、C)p[i]
D、D)a[10]

学员答案:
D

题号:23 题型:单选题 本题分数:2
内容:
函数fun的返回值是( ) 以下是引用片段: fun(char*a,char*b) int num=0,n=0; while(*(a+num)!=‘\\0’)num++; while(b[n])*(a+num)=b[n];num++;n++; return num;
选项:
A、A)字符串a的长度
B、B)字符串b的长度
C、C)字符串a和b的长度之差
D、D)字符串a和b的长度之和

学员答案:
D

题号:24 题型:单选题 本题分数:2
内容:
下面程序的结果为( ),以下是引用片段: void main() int i; int a[3][3]=1,2,3,4,5,6,7,8,9; for(i=0;i<3;i++) cout< 选项:
A、A)1 5 9
B、B)7 5 3
C、C)3 5 7
D、D) 5 9 1

学员答案:
B

题号:25 题型:单选题 本题分数:1
内容:
下列描述中哪个是正确的( )。
选项:
A、A)私有派生的子类无法访问父类的成员
B、 B)类A的私有派生子类的派生类,C无法初始化其祖先类A对象的属性,因为类A的成员对类C是不可访问的
C、 C)私有派生类不能作为基类派生子类
D、 D)私有派生类的所有子孙类将无法继续继承该类的成员

学员答案:
B

题号:26 题型:单选题 本题分数:1
内容:
下列关于构造函数说法不正确的是( )
选项:
A、A)构造函数必须与类同名
B、 B)构造函数可以省略不写
C、 C)构造函数必须有返回值
D、 D)在构造函数中可以对类中的成员进行初始化

学员答案:
C

题号:27 题型:单选题 本题分数:1
内容:
如果友元函数重载一个运算符时,其参数表中没有任何参数则说明该运算符是( )
选项:
A、A)一元运算符
B、B)二元运算符
C、 C)选项A)和选项B)都可能
D、D)重载错误

学员答案:
D

题号:28 题型:单选题 本题分数:1
内容:
在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是( )
选项:
A、A)一元成员运算符
B、B)二元成员运算符
C、C)一元友元运算符
D、D)选项B)和选项C)都可能

学员答案:
D

题号:29 题型:单选题 本题分数:2
内容:
建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为( )
选项:
A、A)abc
B、 B)acb
C、 C)cab
D、 D)cba

学员答案:
A

题号:30 题型:单选题 本题分数:2
内容:
下面关于虚函数的描述,错误的是( )
选项:
A、A)在成员函数声明的前面加上virtual修饰,就可把该函数声明为虚函数
B、 B)基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数
C、 C)虚函数可以是另一个类的友元函数,但不能是静态成员函数
D、 D)基类中说明的纯虚函数在其任何派生类中都必须实现

学员答案:
B

题号:31 题型:单选题 本题分数:2
内容:
下面关于模板的描述,错误的是( )
选项:
A、A)函数模板和类模板的参数可以是任意的数据类型
B、 B)类模板不能直接使用,必须先实例化为相应的模板类.然后定义了模板类的对象后才能使用
C、 C)函数模板不能直接使用,需要实例化为模板函数后才能使用
D、 D)类模板的成员函数都是模板函数

学员答案:
A

题号:32 题型:单选题 本题分数:2
内容:
语句ofstream f(”SALARY. DAT",ios::app iios::binary);的功能是建立流对象f,试图打开文件SAL:aRY. D AT并与之连接,并且( )
选项:
A、A)若文件存在,将文件写指针定位于文件尾
B、若文件不存在,建立一个新文件
C、 B)若文件存在,将其置为空文件
D、若文件不存在,打开失败
E、 C)若文件存在,将文件写指针定位于文件首
F、若文件不存在,建立一个新文件
G、 D)若文件存在,打开失败
H、若文件不存在,建立一个新文件

学员答案:
A

题号:33 题型:单选题 本题分数:2
内容:
下面程序的运行结果是( ) 以下是引用片段:#include void main() int num=1; int &ref=num; ref=ref+2; cout< 选项:
A、A)13
B、B)16
C、C)36
D、D)33

学员答案:
C

题号:34 题型:单选题 本题分数:2
内容:
设有定义int x; float v;,则10+x+v值的数据类型是( )
选项:
A、A)int
B、B)double
C、C)float
D、D)不确定

学员答案:
C

题号:35 题型:单选题 本题分数:2
内容:
下列程序的执行结果为( ) 以下是引用片段:#include void main() int a=3,b=0; int*p=&a; b=+a++; cout<<*p<<","< 选项:
A、A)3,4
B、B)4,3
C、C)3,4
D、D)4,4

学员答案:
B

题号:36 题型:单选题 本题分数:2
内容:
下面程序的运行结果为( ) 以下是引用片段:#include void main() for(int a=0,x=0;!x&&a<=10;a++) a++; ; cout< 选项:
A、A)10
B、B)11
C、C)12
D、D) 0

学员答案:
C

题号:37 题型:单选题 本题分数:2
内容:
下列程序的输出结果为( ) 以下是引用片段:#include void main() char *a[]="hello","the","world"; char**pa=a; pa++; cout<<*pa;
选项:
A、A)hello
B、 B)the
C、 C)world
D、 D)hellotheworld

学员答案:
B

题号:38 题型:单选题 本题分数:1
内容:
决定C++语言中函数的返回值类型的是( )
选项:
A、A) return语句中的表达式类型
B、 B)调用该函数时系统随机产生的类型
C、 C)调用该函数时的主调用函数类型
D、 D)在定义该函数时所指定的数据类型

学员答案:
D

题号:39 题型:单选题 本题分数:2
内容:
下列程序的运行结果为( )以下是引用片段: #includevoid print(double a)cout<<++a; void print(int a,int b) cout< A、A)1.2 34
B、 B)2.2 34
C、 C)1.2 43
D、 D)2.2 43

学员答案:
D

题号:40 题型:单选题 本题分数:1
内容:
对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是( )
选项:
A、A)公有类型
B、 B)私有类型
C、 C)保护类型
D、 D)友元类型

学员答案:
D

题号:41 题型:单选题 本题分数:2
内容:
下面程序的运行结果为( ) 以下是引用片段: #include class A public: A()cout<<"1"; ~A()cout<<"2"; ; class B:public A public: B()cout<<"3"; ~B()cout<<"4"; ; void main() B b;
选项:
A、A)1234
B、 B)1324
C、 C)1342
D、 D)3142

学员答案:
C

题号:42 题型:单选题 本题分数:2
内容:
下列关于多态性的描述,错误的是( )
选项:
A、A)C++语言的多态性分为编译时的多态性和运行时的多态性
B、 B)编译时的多态性可通过函数重载实现
C、 C)运行时的多态性可通过模板和虚函数实现
D、 D)实现运行时多态性的机制称为动态绑定

学员答案:
C

题号:43 题型:单选题 本题分数:2
内容:
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )
选项:
A、A)ios::in
B、 B)ios::out
C、 C)ios::in|ios::out
D、 D)以上都不对

学员答案:
D

题号:44 题型:单选题 本题分数:2
内容:
下列程序的运行结果是( ) 以下是引用片段: #include class A int a; public: A()a=0; A(int as) a=as; cout< 选项:
A、A 23
B、B 12
C、 C 35
D、D 25

学员答案:
B

题号:45 题型:单选题 本题分数:2
内容:
下面程序的输出结果是( ) 以下是引用片段: #include class example int a; public: example(int b)a=b++; void print()a=a+1;cout< A、A)2 2
B、B)4 3
C、C)4 2
D、D)3 2

学员答案:
C

题号:46 题型:单选题 本题分数:2
内容:
在派生类中重新定义虚函数时必须在( )方面与基类保持一致。
选项:
A、A 、 参数个数
B、B 、 参数名字
C、C 、 操作内容
D、D 、 赋值

学员答案:
A

题号:47 题型:单选题 本题分数:2
内容:
C++ 类体系中,不能被派生类继承的有( )。
选项:
A、A 、 转换函数
B、B 、 构造函数
C、C 、 虚函数
D、D 、 静态成员函数

学员答案:
B

题号:48 题型:单选题 本题分数:2
内容:
下列虚基类的声明中正确的是( )
选项:
A、A 、 class virtual B: public A
B、B 、 class B: virtual public A
C、C 、 class B: public A virtual
D、D 、 virtual class B: public A

学员答案:
B

题号:49 题型:单选题 本题分数:1
内容:
C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是( )
选项:
A、A)面向过程
B、B)面向对象
C、C)安全性
D、D)复用性

学员答案:
B

题号:50 题型:单选题 本题分数:1
内容:
C++语言的跳转语句中,对于break和continue说法正确的是()
选项:
A、A)break语句只应用与循环体中
B、B)continue语句只应用与循环体中
C、C)break是无条件跳转语句,continue不是
D、D)break和continue的跳转范围不够明确,容易产生问题

学员答案:
B

题号:51 题型:单选题 本题分数:2
内容:
下列关于模板的说法正确的是( )
选项:
A、A)模板的实参在任何时候都可以省略
B、B)类模板与模板类所指的是同一概念
C、 C)类模板的参数必须是虚拟类型的
D、D)类模板中的成员函数全部都是模板函数

学员答案:
D

题号:52 题型:单选题 本题分数:2
内容:
表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是( )
选项:
A、A) showbase()和eof()
B、B)showpoint()和eof()
C、 C)showpoint()和bad()
D、D)showpoint()和good()

学员答案:
B

题号:53 题型:单选题 本题分数:2
内容:
若定义int k=7,x=12;,则值为3的表达式是( )
选项:
A、A)x%=(k%=5)
B、B)x%=(k-k%5)
C、 C)x%=k-k%5
D、D)(x%=k)-(k%=5)

学员答案:
D

题号:54 题型:单选题 本题分数:2
内容:
在位运算中,操作数每右移一位,其结果相当于( )
选项:
A、A)操作数乘以2
B、B)操作数除以2
C、C)操作数乘以4
D、D)操作数除以4

学员答案:
B

题号:55 题型:单选题 本题分数:2
内容:
有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b。则不能把节点b连接到节点a 之后的语句是( ), 以下是引用片段: struct node char data; struct node*next; a,b,*p=&a,*q=&b;
选项:
A、A)a. next=q
B、 B)p. next=&b
C、 C)p->next=&b
D、 D)(*p).next=q

学员答案:
B

题号:56 题型:单选题 本题分数:2
内容:
下面程序的运行结果为( ) 以下是引用片段: #include class A int num; public: A(int i)num=i; A(A &a)num=a. num++; void print()cout< 选项:
A、A)11
B、 B)12
C、 C)21
D、 D)22

学员答案:
C

题号:57 题型:单选题 本题分数:2
内容:
如果类A被说明成类B的友元,则( )
选项:
A、A)类A的成员即类B的成员
B、 B)类B的成员即类A的成员
C、 C)类A的成员函数不得访问类B的成员
D、 D)类B不一定是类A的友元

学员答案:
D

题号:58 题型:单选题 本题分数:2
内容:
可以用p.a的形式访问派生类对象P的基类成员a,其中a是( )
选项:
A、A)私有继承的公有成员
B、 B)公有继承的私有成员
C、 C)公有继承的保护成员
D、 D)公有继承的公有成员

学员答案:
D

题号:59 题型:单选题 本题分数:2
内容:
for(int x=0,y=0;!x& &y<=5;y++)语句执行循环的次数是()
选项:
A、A)0
B、 B)5
C、 C)6
D、 D)无次数

学员答案:
C

题号:60 题型:单选题 本题分数:2
内容:
考虑函数原型void test(int a,int b=7,char="*"),下面的函数调用中,属于不合法调用的是()
选项:
A、A)test(5)
B、 B)test(5,8)
C、 C)test(6,"#")
D、 D)test(0,0."*")

学员答案:
C
记得给我分啊
参考技术A 答案已发 专门做*华*师*在*线
专业高效

9.12作业(RUP,XP,敏捷过程)

1.RUP(Rational Unified Process,统一软件过程是一个面向对象且基于网络的程序开发方法论。根据Rational(Rational Rose和统一建模语言的开发者)的说法,好像一个在线的指导者,它可以为所有方面和层次的程序开发提供指导方针,模版以及事例支持。 RUP和类似的产品--例如面向对象的软件过程(OOSP),以及OPEN Process都是理解性的软件工程工具--把开发中面向过程的方面(例如定义的阶段,技术和实践)和其他开发的组件(例如文档,模型,手册以及代码等等)整合在一个统一的框架内。

2.极限编程(Extreme Programming,XP)是一门针对业务和软件开发的规则,它的作用在于将两者的力量集中在共同的、可以达到的目标上。它是以符合客户需要的软件为目标而产生的一种方法论,XP使开发者能够更有效的响应客户的需求变化,哪怕是在软件生命周期的后期。它强调,软件开发是人与人合作进行的过程,因此成功的软件开发过程应该充分利用人的优势,而弱化人的缺点,突出了人在软件开发过程中的作用。极端编程属于轻量级的方法,认为文档、架构不如直接编程来的直接。
    XP实际上是一种经历过很多实践考验的一种软件开发的方法,它诞生了大概有5年,它已经被成功的应用在许多大型的公司,如:Bayeris che Landesbank,Credit Swis s Life,DaimlerChrysler,First Union National Bank, Ford Motor Company和UBS。XP的成功得益于它对客户满意度的特别强调,XP是以开发符合客户需要的软件为目标而产生的一种方法论,XP使开发者能够更有效的响应客户的需求变化,哪怕在软件生命周期的后期。

 同时,XP也很强调团队合作。团队包括:项目经理、客户、开发者。他们团结在一起来保证高质量的软件。XP其实是一种保证成功的团队开发的简单而有效的方法。 
    XP强调四种价值:交流,简易,回馈,勇气。XP程序员之间紧密的相互交流,XP程序员也和客户紧密的交流。他们总是保持他们的设计简单明了。项目一开始,XP就强调通过对软件的不断测试来获得反馈,程序员尽可能早的把软件交给客户,并实现客户对软件需求提出的变化,有了这些基础,XP程序员就可以自信的面对需求和软件技术的变化。
    XP是与众不同的,它有点象快步的舞蹈。XP开发过程包括许多的小卡片,独立的看,这些小卡片没有什么意义,但是当它们组合在一起,一幅完整的美丽的图片就可以看见,XP方法有别于传统软件开发,它是软件开发的一种新的重要的发展。它改变了我们开发程序的传统思维方式。下面我们将介绍它带给我们那些改变。
    XP属于轻量开发方法中较有影响的一种方法。轻量开发方法是相对于传统的重量开发方法而言。简单地理解,“量”的轻重是指用于软件过程管理和控制的、除程序量以外的“文档量”的多少。XP等轻量开发方法认识到,在当前很多情况下,按传统观念建立的大量文档,一方面需要消耗大量开发资源,同时却已失去帮助“预见、管理、决策和控制的依据”的作用。因此必须重新审视开发环节,去除臃肿累赘,轻装上阵。

3.敏捷过程是由(1)个体和交互胜过过程和工具(2)可以工作的软件胜过面面俱到的文档(3)客户合作胜过合同谈判(4)响应变化胜过遵循计划这4个价值观声明提出的软件过程,使软件开发团队具有高效工作和快速响应变化的能力。

以上是关于华师在线09面向对象程序设计作业答案的主要内容,如果未能解决你的问题,请参考以下文章

2017级面向对象程序设计——作业二

《面向对象程序设计》——寒假作业3

面向对象程序设计(荣誉)大作业

中国MOOC_面向对象程序设计——Java语言_第3周 对象容器_1查找里程

9.12作业(RUP,XP,敏捷过程)

Python学习笔记——基础篇第七周———FTP作业(面向对象编程进阶 & Socket编程基础)