欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    高级语言程序设计第二次作业.doc

    • 资源ID:56288397       资源大小:44.50KB        全文页数:7页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    高级语言程序设计第二次作业.doc

    高级语言程序设计第二次作业一、选择题 (每小题2分,共20分)1. 假定一个类的构造函数为A ( int aa, int bb) a = aa; b = bb; ,则执行A x(4,5);语法后,x.a和x.b的值分别为(A )。A4和5 B5和4 C4和20 D20和52. 假定AB为一个类,则执行AB x;语句时将自动调用该类的( B)。A有参构造函数 B无参构造函数 C拷贝构造函数 D赋值重载函数3. C+语言建立类族是通过(B )。A类的嵌套 B类的继承 C虚函数 D抽象类4. 在C+中,数据封装要解决的问题是(C)。A数据规范化排列 B数据高速转换 C避免数据丢失 D切断了不同模块之间的数据的非法使用5. 如果class类中的所有成员在定义时都没有使用关键字public、private或protected,则所有成员缺省定义为(C )。Apublic Bprotected Cprivate Dstatic6. 关于内联成员函数,以下说法错误的是:(D )。A. 为了提高运行时的效率,对于较简单的函数可以声明为内联形式。B. 内联函数体中不要有复杂结构(如循环语句和switch语句)。C. 将函数体放在类的声明中或使用inline 关键字可声明内联成员函数。D. 内联函数的声明可以不必出现在内联函数第一次被调用之前。7. 关于构造函数,以下说法错误的是:(B )。A. 构造函数的作用是在对象被创建时使用特定的值构造对象,或者说将对象初始化为一个特定的状态。在对象创建时由系统自动调用。B. 基类的构造函数可以被派生类所继承。C. 如果程序中未声明,则系统自动产生出一个缺省形式的构造函数。D. 允许为内联函数、重载函数、带缺省形参值的函数。 8. 关于析构函数,以下说法错误的是:( C)。A. 完成对象被删除前的一些清理工作。B. 在对象的生存期结束时系统自动调用它,再释放此对象所属的空间。C. 如果程序中未声明析构函数,编译器将自动产生一个缺省的析构函数。D. 析构函数可以带一个或多个参数。9. 关于C+ 标识符的作用域与可见性,以下说法错误的是:(A )。A. 在同一作用域中,可以声明同名的标识符。B. 块作用域中声明的对象是动态生存期的对象(习惯称局部生存期对象)。在文件作用域中声明的对象具有静态生存期。C. 如果某个标识符在外层中声明,且在内层中没有同一标识符的声明,则该标识符在内层可见。D. 对于两个嵌套的作用域,如果在内层作用域内声明了与外层作用域中同名的标识符,则外层作用域的标识符在内层不可见。10. 关于C+ 的友元与友元函数,以下说法错误的是:(D )。A. 友元是C+提供的一种破坏数据封装和数据隐藏的机制。可以使用友元函数和友元类。为确保数据的完整性及封装,应尽量不用或少用友元。B. 友元函数是在类声明中说明的非成员函数,在它的函数体中能够通过对象名访问 private 和 protected成员。C. 通过将一个模块声明为另一个模块的友元,一个模块能够引用到另一个模块中本是被隐藏的信息。D. 友元函数访问对象中的成员不必通过对象名。二、 填空题(每小题分,共0分)1. 执行完C+程序中的三条语句:int a,b,*c=&a; int * &p = c; p = &b;后c指向_b_。2. 函数定义 int Fn2 ( ) int *p; *p = 9; cout<< * p; return 0; , 存在的问题是:_没有给指针 p 赋予有效地址值_。3. 已知'A''Z'的ASCII码为6590, 当执行" char ch = 14*5+2; cout<<ch<<endl;" 语句序列后, 得到的输出结果为_H_.4. 类A与类B都有public数据成员f, 类C公有继承A和B, 类C 有public数据成员f,类D保护继承C, d 是类D的一个对象, 从d访问类A的成员f 的表达式是:_ d.A:f _,从d访问类C的成员f 的表达式是:_ _ d.C:f _。5. C + 将抽象出的数据成员、代码成员结合为一个整体的过程, 称为_封装_。6. _拷贝构造函数_是一种特殊的构造函数,其形参为本类的对象引用。当用类的一个对象去初始化该类的另一个对象时系统自动调用它实现赋值。7. _虚基类_主要用来解决多继承时可能发生的对同一基类继承多次而产生的二义性问题,为最远派生类提供唯一的基类成员,而不重复产生多次拷贝。8. 异常处理中, 当找到一个匹配的异常处理后, 将从对应的关键字_try_ 开始到异常被抛掷处之间构造且尚未析构的所有自动对象进行析构。9. 在类定义中,类说明以关键字class开始,其后跟_类名_,它必须是一个有效的C+标识符。三、 阅读程序(每小题6分,共30分)。1. 给出下列程序运行后的输出结果.#include <iostream.h> void WF(int x, int y) x = x+y; y = x+y; cout<<"subs:"<<"x,y="<<x<<","<<y<<endl; void main() int x = 8, y = 15; cout<<"main:"<<"x,y="<<x<<","<<y<<endl; WF(x, y); x = 2*x; cout<<"main:"<<"x,y="<<x<<","<<y<<endl; WF(x, y); cout<<"main:"<<"x,y="<<x<<","<<y<<endl; 答:main: x, y=8, 15 subs: x, y=23, 38 main: x, y=16, 15 subs: x, y=31, 46 main: x, y=16, 152指出下面程序中的错误,并改正。#include <iostream.h>class Test private:static int x;public:virtual static int func();int Test:x = 20;int Test:func() return x;void main() cout<<Test:func()<<endl;Test a;cout<<a.func();答:virtual static int func(), virtual 的作用是使该函数可以在不同的类中具体使用的时候再定义和使用。 Static 是使类的所有对象成员共同维护同一个数据成员。3补充完整下面的程序。class Location private:int X, Y;public:void init( int initX, int initY);int GetX();int GetY();void Location:init (int initX, int initY) X = initX; Y = initY;int Location:GetX() return X;int Location:GetY() return Y;#include <iostream.h>void main() Location A1; Location *pAl=&Al; / 定义一个指向A1的指针pA1; pAl->init( 6, 8 ); / 用pA1将对象A1成员X和Y分别初始化为6和84.在下面程序的横线处填上适当字句,使该程序执行结果为6。#include <iostream.h>class base int X;public: void init (int x ) X=x; / 为X置值 int Getnum ( ) return X; / 取X值;void main()base test;test.init(6);cout<<test.Getnum();5指出下面程序重点错误,在错误处说明出错原因 。#include <iostream.h>class A private:int a;public:void setA( int x) a = x; void showA() cout<<"a="<<a<<endl; ;class B: private A private:int b;public:void setB(int x, int y) b=x; setA(y); void showB() showA(); cout<<"b="<<b<<endl; ;void main() B obj;obj.setA(53); obj.showA();obj.setB(53,58); obj.showB();答:倒数第三行 obj.setA(53); obj.showA(); 出错,因为类B是私有继承类A的,所以不能直接通过类B的实例去调用类A的public成员函数.四、 根据要求,编写程序(每小题15分,共30分)。1 根据下面的要求一步步写出正确的C+语句.注意:各个步骤之间是有先后顺序的。(1) 定义两个整型变量 value1,value2;答:int value1, value2;(2) 定义一个指向整型变量的指针pValue,将该指针初始化为指向value1;答:int *pValue = &value1;(3) 将指针pValue改为指向变量value2;答:int *pValue = &value2;(4) 通过pValue指针来间接地改变变量value2的值为20;答:*pValue = 20;(5) 申请三个连续的整数空间,并将申请到空间的首地址赋值给pValue;答:pValue = new int3;(6) 用cout输出所申请到的首地址值;答:cout<<pValue;(7) 给第二个地址空间赋值10;答:pValue1=10;(8) 用cout输出第二个地址空间所在的地址;答:cout<<&pValue1;(9) 释放所申请到的三个整数空间;答:Delete pValue;(10) 将指针pValue设置为不指向任何地址空间。答:pValue = NULL;2. 编写程序,分析级数的收敛性。如果收敛,计算它的近似值,精确到10-6 . long factorial (int n) long product=1; for ( int i=1; i<=n; i+ ) product*= i;return product;long power( int m, int n ) long product=1; for ( int i=1; i<=n; i+ ) product*=m; return product; void main() int n=1; double sum=0; while( 1.0*factorial(n)/power(n, n) >=0. ) sum += 1.0*factorial(n)/power(n, n); n+; cout<<sum;

    注意事项

    本文(高级语言程序设计第二次作业.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开