分享
分享赚钱 收藏 举报 版权申诉 / 32

类型面向对象程序设计形成性考核册作业一.doc

  • 上传人:dreamzhangning
  • 文档编号:2733239
  • 上传时间:2018-09-26
  • 格式:DOC
  • 页数:32
  • 大小:198KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    面向对象程序设计形成性考核册作业一.doc
    资源描述:

    1、1面向对象程序设计形成性考核册作业一一、单选题1. C+源程序文件的缺省扩展名为( )。A. cpp B. exe C. obj D. lik2. 编写 C+程序一般需经过的几个步骤依次是( )。A. 编译、编辑、连接、调试 B. 编辑、编译、连接、调试C. 编译、调试、编辑、连接 D. 编辑、调试、编辑、连接3. 程序中主函数的名字为( ) 。A. main B. MAIN C. Main D. 任意标识符4. 存储以下数据,占用存储字节最多的是( ) 。A. 0 B. 0 C. “0” D. 0.05. 假设在程序中 a、b、c 均被定义成整型,所赋的值都大于 1,则下列能正确表示代数式

    2、的表达式是( )。c1A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c6. x0 | y=5 的相反表达式为( ) 。A. x0 | y!=5 D. x0 i#includevoid main()int i,n;for(n=2; _(1)_; n+) int temp=int(sqrt(n); /求出 n 的平方根并取整for(i=2; _(2)_; i+)if(n%i=0) _(3)_; if(itemp) cout=i return p*a*b;(1) (2) (3)3. 主函数调用一个 fun 函数将字符串逆序。#inclu

    3、de#include_(1)_;void main( ) char s80;cins;_(2)_;coutvoid main()int a,b;for(a=1,b=2; bvoid main()int x=5;switch(2*x-3) case 4: coutconst int M=20;void main()int c2,c3,c5;c2=c3=c5=0;for(int i=1; ivoid main()int i,s=0;for(i=2;idouble f1(int n) double sign=1,s=1;for(int i=2;ia;coutclass Franction /定义分数

    4、类int nume; /定义分子int deno; /定义分母public:/把*this 化简为最简分数,具体定义在另外文件中实现void FranSimp(); /返回两个分数*this 和 x 之和,具体定义在另外文件中实现Franction FranAdd(const Franction/置分数的分子和分母分别 0 和 1void InitFranction() nume=0; deno=1;/置分数的分子和分母分别 n 和 d6void InitFranction(int n, int d) nume=n; deno=d;/输出一个分数void FranOutput() cout=i

    5、73. (1) void fun(char ss) (2) fun(s) (3) ivoid main()int i; /用 i 作为循环变量int p=1; /用 p 作为累乘变量int s=1; /用 s 作为累加循环变量for(i=1;ivoid main() int x,max; cinx;max=x; for(int i=0;ix;if(xmax) max=x; coutvoid main()int c1,c2,c3; double x;c1=c2=c3=0;cinx;while(x0) 8if(xx;couttitle,”Wang Tao”); B. strcpy(book.tit

    6、le,”Wang Tao”); C. strcpy(*book.title,”Wang Tao”); D. strcpy(*book)-title,”Wang Tao”);13. 下列对引用的陈述中不正确的是( ) 。A. 每一个引用都是其所引用对象的别名,因此必须初始化B. 形式上针对引用的操作实际上作用于它所引用的对象C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D. 不需要单独为引用分配存储空间14. 假定指针变量 p 定义为“int *p=new int(100);”,要释放 p 所指向的动态内存,应使用语句( ) 。A. delete p; B. delete

    7、 *p; C. delete D. delete p;15. 关于消息,下列说法中不正确的是( ) 。A. 发送消息的对象请求服务,接受消息的对象提供服务B. 消息的发送者必须了解消息的接收者如何相应消息C. 在 C+中,消息的发送具体体现为对接收消息的对象的某个函数的调用D. 每个对象只能接收某些特定格式的消息16. 软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( ) 。A. 可维护性 B. 可复用性 C. 兼容性 D. 正确性17. 软件产品准确执行软件需求规格说明书中所规定的任务的能力叫做软件的( ) 。A. 可维护性 B

    8、. 可复用性 C. 兼容性 D. 正确性二、填空题1. 作为语句标号使用的 C+保留字 case 和 defaule 只能用于_语句的定义体中。2. 当在程序中执行到_语句时,将结束本层循环类语句或 switch 语句的执行。3在程序执行完_函数调用后,将结束整个程序的执行过程,返回到 C+集成开发窗口。104. 存储字符a 和字符串 ”a”分别需要占用_ 和_个字节。5. 字符串”a:xxk数据” 的长度为_。6. 一个二维字符数组 a1020能够存储_个字符串,每个字符串的长度至多为_。7. 若需要把一个字符串”aaa” 赋值到字符数组 a 中,则需要执行_函数的调用来实现。8. 如果一个

    9、函数只允许同一程序中的函数调用,则应在该函数定义前加上_C+保留字。9. 在函数模板的参数中,用 class 修饰的参数称为_参数。10. 如果一个函数定义中使用了_修饰,则该函数不允许被其它文件中的函数调用。11调用系统函数时,要先使用#include 命令包含该系统函数的原型语句所在的_。12. C+程序运行时的内存空间可以分成全局数据区,堆区,栈区和_。13. 若二维数组 a 有 m 列,设 a00位于数组的第一个位置上,则计算任一元素aij在数组中位置序号的公式为_。 14. 一个指针类型的对象占用内存的_个字节的存储空间。15. 假定一个数据对象为 int*类型,则指向该对象的指针类

    10、型为_。16假定 p 所指对象的值为 25,p+1 所指对象的值为 42,则*+p 的值为_。17假定 p 所指对象的值为 25,p+1 所指对象的值为 42,则执行*(p+)或*p+运算后,p 所指对象的值为_。18. 一个数组的数组名实际上是指向该数组_元素的指针,并且在任何时候都不允许_它。三、程序填空:1. 从键盘上输入一个正整数,然后把它转换成的二进制数的每一位存放到一维数组中,最后输出该二进制数。注意二进制数的存放是按照从低位到高位的次序进行的。#include void main()int x;coutx;int a20,k=0,r;do r=x%2;ak+=r;x=_(1)_;

    11、 while(_(2)_);for(-k;k=0;k-) _(3)_;coutdata=_(2)_;p-next=L;_(3)_;i+;(1) (2) (3) 四、写出程序运行结果1. #includeconst int T=6;void main()int i,j;for(i=1;iconst int N=3;void main()int aNN=7,-5,3,2,8,-6,1,-4,-2;int bNN=3,6,-9,2,-8,3,5,-2,-7;int i,j,cNN;for(i=0;ivoid f2(int x=y; y=z;void f3(int* x, int* y)int z=*

    12、x; *x=*y; *y=z;void main()int x=10,y=26;coutvoid main()int i,p=1,s=0;int N;coutN;for(i=1;ims) coutmx) mx=ai;if(ai0) return 1; else return 0;面向对象程序设计形成性考核册作业三一、填空题:1. 关于面向对象系统分析,下列说法中不正确的是( ) 。A. 术语“面向对象分析”可以用缩写 OOA 表示B. 面向对象分析阶段对问题域的描述比实现阶段更详细16C. 面向对象分析包括问题域分析和应用分析两个步骤D. 面向对象分析需要识别对象的内部和外部特征2. 在关键字

    13、 public 后面定义的成员为类的( )成员。A. 私有 B. 公用 C. 保护 D. 任何3. 假定 AA 为一个类,a()为该类公有的函数成员,x 为该类的一个对象,则访问x 对象中函数成员 a()的格式为( ) 。A. x.a B. x.a() C. x-a D. x-a()4. 假定 AA 为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为( ) 。A. int AA:a() B. int AA:a() C. AA:a() D. AA:int a()5. 在多文件结构的程序中,通常把类的定义单独存放于( )中。A. 主文件 B. 实现文件 C. 库

    14、文件 D. 头文件6. 一个 C+程序文件的扩展名为( ) 。A. .h B. .c C. .cpp D. .cp7. 假定 AA 是一个类,abc 是该类的一个成员函数,则参数表中隐含的第一个参数的类型为( ) 。A. int B. char C. AA D. AA*8. 假定 AA 是一个类, “AA* abc()const;”是该类中一个成员函数的原型,若该函数返回 this 值,当用 x.abc()调用该成员函数后,x 的值( ) 。A. 已经被改变 B. 可能被改变C. 不变 D. 受到函数调用的影响9. 当类中一个字符指针成员指向具有 n 个字节的存储空间时,它所能存储字符串的最大

    15、长度为( )。A. n B. n+1 C. n-1 D. n-210. 在一个用数组实现的队列类中,假定数组长度为 MS,队首元素位置为 first,队列长度为 length,则队尾(即最后一个)元素的位置为( )。A. length+1 B. first+lengthC. (first+length-1)%MS D. (first+length)%MS 11. 在一个用链表实现的队列类中,假定每个结点包含的值域用 elem 表示,包含的指针域用 next 表示,链队的队首指针用 elemHead 表示,队尾指针用 elemTail 表示,若链队非空,则进行插入时必须把新结点的地址赋给( )。

    16、A. elemHead B. elemTailC. elemHead-next 和 elemHead D. elemTail-next 和 elemTail12. 对于一个类的构造函数,其函数名与类名( )。A. 完全相同 B. 基本相同 C. 不相同 D. 无关系13. 类的析构函数是一个对象被( )时自动调用的。A. 建立 B. 撤消 C. 赋值 D. 引用14. 假定 AB 为一个类,则执行 “AB x;” 语句时将自动调用该类的( )。A. 带参构造函数 B. 无参构造函数 C. 拷贝构造函数 D. 赋值重载函数15. 假定 AB 为一个类,则执行 “AB r1=r2;” 语句时将自动

    17、调用该类的( )。A. 无参构造函数 B. 带参构造函数 C. 赋值重载函数 D. 拷贝构造函数16. 假定一个类的构造函数为 “A(int aa, int bb) a=aa; b=aa*bb;”,则执行 17“A x(4,5);”语句后,x.a 和 x.b 的值分别为( )。A. 4 和 5 B. 5 和 4 C. 4 和 20 D. 20 和 517. 假定一个类的构造函数为 “B(int ax, int bx): a(ax), b(bx) ”,执行 “B x(1,2),y(3,4);x=y;”语句序列后 x.a 的值为( )。A. 1 B. 2 C. 3 D. 418. 对于任一个类,用

    18、户所能定义的构造函数的个数至多为( )。A. 0 B. 1 C. 2 D. 任意个二、填空题1. 若 p 指向 x,则_与 x 的表示是等价的。2. 假定 p 为指向二维数组 int d46的指针,则 p 的类型为_。3. 若 y 是 x 的引用,则对 y 的操作就是对_的操作。4. 执行 char *p=new char(a)操作后,p 所指向的数据对象的值为_。5. 执行_操作将释放由 p 所指向的动态分配的数据空间。6. 已知语句“coutname 等价的表达式是_。8. 已知有定义“int x, a=5,7,9, *pa=a;”,在执行“x=+*pa;”语句后,x的值是_。9. 以面向

    19、对象方法构造的系统,其基本单位是_。10. 复杂对象可以由简单对象构成,这种现象称为_。11. 如果一个派生类的基类不止一个,则这种继承称为_。12. 面向对象软件开发的生命周期分为三个阶段,即分析、_和_。13. 类中的数据成员的访问属性通常被指明为_。14. 为了使类中的成员不能被类外的函数通过成员操作符访问,则应把该成员的访问权限定义为_。 15. 若在类的定义体中只给出了一个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上类名和两个_分隔符。16. 成员函数的参数表在类作用域中,成员函数的返回值类型_类作用域中。17. 若采用 x.abc(y)表达式调用一个成员函数,在成员函

    20、数中使用的_就代表了类外的 x 对象。 18在一个用数组实现的队列类中,包含有两个数据成员,一个指明队首元素位置,另一个指明_。19. 在一个用数组实现的队列类中,假定数组长度为 MS,队首元素位置为 first,队列长度为 length,则删除一个元素后队首的位置为_。三、程序填空:1. 已知一维数组类 ARRAY 的定义如下,ARRAY 与普通一维数组区别是:其重载的运算符 要对下标是否越界进行检查。class ARRAY int *v; /指向存放数组数据的空间int s; /数组大小 18public: ARRAY(int a, int n); ARRAY()delete v;int

    21、size() return s; int ;_(1)_ operator(int n) / 的运算符成员函数定义if(nclass AA int a10;int n;public:void SetA(int aa, int nn); /用数组 aa 初始化数据成员 a,/用 nn 初始化数据成员 nint MaxA(); /从数组 a 中前 n 个元素中查找最大值void SortA(); /采用选择排序的方法对数组 a 中前 n 个元素/进行从小到大排序void InsertA();/采用插入排序的方法对数组 a 中前 n 个元素进行从小到大排序void PrintA(); /依次输出数组

    22、a 中的前 n 个元素;该类中 MaxA()函数的实现如下,请在标号位置补充适当的内容。int _(1)_ int x=a0;for(int i=1; ix) _(2)_;_(3)_;(1) (2) (3)3. 已知一个类的定义如下:#includeclass AA int a10;int n;public:19void SetA(int aa, int nn); /用数组 aa 初始化数据成员 a,/用 nn 初始化数据成员 nint MaxA(); /从数组 a 中前 n 个元素中查找最大值void SortA(); /采用选择排序的方法对数组 a 中前 n 个元素/进行从小到大排序voi

    23、d InsertA();/采用插入排序的方法对数组 a 中前 n 个元素进行从小到大排序void PrintA(); /依次输出数组 a 中的前 n 个元素/最后输出一个换行;使用该类的主函数如下:void main()int a10=23,78,46,55,62,76,90,25,38,42;AA x; _(1)_;int m=_(2)_;_(3)_;coutvoid main() int a10=76,83,54,62,40,75,90,92,77,84;int b4=60,70,90,101;int c4=0;for(int i=0;i=bj) j+;cj+;for(i=0;ivoid

    24、main()char s35=“1234“,“abcd“,“+-*/“; 20char *p3; for(int I=0;I=0;I-) coutclass CE private:int a,b;int getmax() return (ab? a:b);public:int c;void SetValue(int x1,int x2, int x3) a=x1; b=x2; c=x3;int GetMax();int CE:GetMax() int d=getmax();return (dc? d:c);void main()int x=5,y=12,z=8;CE ex, *ep=ex.Se

    25、tValue(x,y,z);coutSetValue(x+y,y-z,20);coutGetMax()=5 if(nb.n) k=b.n; else k=n;for(int i=0; ib.ai) return 1;else if(ai时,其运算符函数的返回值类型应当是_。17. 类型转换函数没有_类型,而且参数表为_。18. 当保护继承时,基类的 成员在派生类中成为保护成员,派生类对象不能直接访问基类的 _成员。19. 引进虚基类的根本目的是为了消除_。三、程序填空:1. 已知一个利用数组实现栈的类定义如下:const int ARRAY_SIZE=10;class Stack public

    26、:void Init() top=-1; /初始化栈为空void Push(int newElem); /向栈中压入一个元素int Pop(); /从栈顶弹出一个元素bool Empty() /判栈空if(top=-1) return true;else return false;int Depth() return top+1; /返回栈的深度void Print(); /按照后进先出原则依次输出栈中每个元素,直到栈空为止private:int elemARRAY_SIZE; /用于保存堆栈元素的数组int top; /指明栈顶元素位置的指针;该类的 Pop 和 Print 函数的实现分别如

    27、下:_(1)_ if(top=-1) cout#includeclass A int *a; int n; int MaxLen;public:A(): a(0), n(0), MaxLen(0) A(int *aa, int nn, int MM) n=nn;MaxLen=MM;if(nMaxLen) exit(1);_(1)_; /由 a 指向长度为 MaxLen 的动态数组for(int i=0; iclass Franction /定义分数类int nume; /定义分子int deno; /定义分母public:/把*this 化简为最简分数,具体定义在另外文件中实现void Fra

    28、nSimp(); /返回两个分数*this 和 x 之和,具体定义在另外文件中实现Franction FranAdd(const Franction/置分数的分子和分母分别 0 和 1void InitFranction() nume=0; deno=1;/置分数的分子和分母分别 n 和 dvoid InitFranction(int n, int d) nume=n; deno=d;/输出一个分数void FranOutput() coutclass A int a,b;public:A() a=b=0;A(int aa, int bb) a=aa; b=bb;int Sum() retur

    29、n a+b;int* Mult() int *p=new int(a*b);return p;void main() int *k;A x(2,3), *p; p=new A(4,5);coutSum()Mult()next;return c;假定 IntNode 的类型定义为:struct IntNode int data; /结点值域30IntNode* next; /结点指针域;2. int f(const char *s)int i=0;while(*s+)i+;return i;六、程序改错,请根据程序段或函数模块的功能改写个别地方的错误。1. 下面是分数类 fract 的定义及测试

    30、主程序,在类定义及其友元函数定义中有两处错误,更正错误后程序应显示 41/28,请指出错误所在行的行号并给出改正意见。class fractint den; /分子int num; /分母public: fract(int d=0,int n=1):den(d),num(n) /1 行friend fract /2 行void show() coutden/num; /3 行; /4 行 friend fract /8 行f1.num*=f2.num; /9 行return f1; /10 行void main()fract fr(3,4);fr+=fract(5,7);fr.show();错误行的行号为_和_。分别改正为_和_。七、编程:1. 根据下面类中构造函数的原型和注释写出它的类外定义。class Strings char *s; /指向动态分配的字符串数组空间int n; /记录字符串长度public:Strings(char*str); /构造函数,利用 str 字符串长度初始化 n,/利用 str 字符串初始化 s 所指的字符串空间Strings(Strings /拷贝构造函数Strings /实现 str 赋值给*this 的功能

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:面向对象程序设计形成性考核册作业一.doc
    链接地址:https://www.docduoduo.com/p-2733239.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开