欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    季学期《C++程序设计》作业.doc

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

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

    季学期《C++程序设计》作业.doc

    2012年春季学期C+程序设计作业作业提交格式要求:请同学们把答案集中单独写在一个.doc文档中,作为附件上传(不要把答案直接填写在题目的空中)。特规定格式如下:一、 ABCDD AAAAA二、题号12345678910结果三、 (1) BeiJing ShangHai(2) x=8,y=7(3) r=k:i+j=90以上只是举例,不是正确的输出结果。请按上述规定书写和提交作业结果,不符合以上规定的作业将作为0分处理。鼓励独立完成作业,严惩抄袭。第一部分(C+第1-7、8、9章)一、单选题1、C+是从早期的C语言逐渐发展演变来的,与C语言相比,它在求解问题方法上最大的改进是( B )。 A 面向过程 B. 面向对象 C. 安全性 D. 复用性2、下列关于this指针的叙述中,正确的是( D )A. 任何与类相关的函数都有this指针B. 类的成员函数都有this指针C. 类的友元函数都有this指针D. 类的非静态成员函数才有this指针3、若有以下类Z声明,函数fStatic的正确定义是( B )。class Z int a;public:void fStatic(Z&)static;A. void Z:fStatic(Z &objZ) objZ.a=0; B. void Z:fStatic(Z &objZ) a= objZ.a; C. void Z:fStatic(Z &objZ) a=0; D. void Z:fStatic(Z &objZ) Z:a=0; 4、在C+中,关于下列设置缺省参数值的描述中,( D)是正确的。A不允许设置缺省参数值;B只能在函数的定义中指定参数的缺省值;C在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;D设置缺省参数值时,必须全部都设置;5、关于友元函数的描述中,错误的是( D )。A友元函数说明在类体内 B友元函数不是成员函数 C友元函数必须用对象来引用D友元函数可以直接访问类中的私有成员6、对于类,下面哪个是不正确的( D )。A. 类是对象的设计蓝图B. 使用关键字Class创建类结构C. 类被声明后,类名成为类型名并且可以用来声明变量D. 类与结构体相同,它们之间没有区别7、下列是构造函数的特点,( C )是错误的。A. 构造函数是一种成员函数,它具有一般成员函数的特点。B. 构造函数的名称与其类名相同。C. 构造函数必须指明其类型。D. 一个类中可以定义一个或多个构造函数。8、已知:p是一个指向类A数据成员m的指针,a是类A的一个对象。在给m赋值为5的下列表达式中,( C )是正确的。A. a.p=5 B. a->p=5 C. a.*p=5 D. *a.p=59、下面对静态数据成员的描述中,正确的选项是( C )。A. 静态成员可以在类体内进行初始化B. 静态数据成员不可以被类的对象调用C. 静态数据成员可以直接用类名调用D. 静态数据成员不可以直接用类名调用10、下列关于new运算符的描述中,错误的是(B )。A. new运算符组成的表达式的值是地址值B. 创建对象时不调用构造函数C.用它创建的对象须用delete来删除D.可用它来创建动态的对象和对象数组 二、判断题1. 子对象的初始化可以不放在该类的构造函数中。T2. 如果一个类中没有定义任何构造函数,则该类的对象便无法初始化。F3. 构造函数和析构函数都不能重载。F4. 如果一个成员函数只存取一个类的静态数据成员,则可将该成员函数说明为静态成员函数。T5. 构造函数和析构函数都是系统自动调用的。F6. 可以在类的构造函数中对静态数据成员进行初始化。F7. 友元函数是成员函数,它可以访问类中私有成员。F8. 对象数组的元素必须是同一个类的对象。T9. 用class定义的类中,默认的访问权限是公有的。F10. 运算符new可以创建变量或对象, 也可以创建数组。F三、写出下列程序的输出结果:1、#include <iostream.h>using namespace std;class Testpublic:Test()cout<<”constructor of Test”<<endl;Test a;int main()cout<<”main() start”<<endl;Test b;return 0;constructor of Testmain()startconstructor of Test2、#include <iostream.h>class Studentpublic:Student(int i=0,double j=0) num=i;score=j; void print() cout<<num<<,<<score<<endl; friend void fun(Student &rs);private:int num;double score;void fun(Student &rs) rs.num=1100;rs.score=80;rs.print();void main() Student s1(1002,50),s2; s1.print(); fun(s2); 1002,501100,803、#include <iostream.h>class Aprivate:int a;public:A(int aa)a=aa;A()cout<<”Destructor A!”<<a<<endl;class B:public Aprivate:int b;public:B(int aa = 0, int bb = 0):A(aa) b = bb;B()cout<<”Destructor B!”<<b<<endl;void main()B obj1(5), obj2(6,7);return;Destructor B!7Destructor A!6Destructor B!0Destructor A!54、#include <iostream.h>class Apublic:A(int i=0)m=i; cout<<”Constructor called.”<<m<<endl;void Set(int i)m=i;void Print() constcout<<m<<endl;A()cout<<”Destructor called.”<<m<<endl;private:int m;void main()const int N=5;A my;my=N;my.Print(); Constructor called.0Constructor called.55Destructor called.5Destructor called.5第二部分(C+第10、11章)一、单选题1、在C+中,类与类之间的继承关系具有( C )。 A. 自反性 B. 对称性 C. 传递性 D. 反对称性2、int Func(int,int);不可与下列哪个函数构成重载( A )。A INT FUNC(INT,INT,INT)B DOUBLE FUNC(INT,INT)C DOUBLE FUNC(DOUBLE,DOUBLE)D DOUBLE FUNC(INT,DOUBLE);3、关于基类和派生类的描述中,错误的是( A )。A 基类和派生类间是包含关系 B派生类中可以定义自己的成员 C基类成员在派生类中的访问权限与继承方式有关D一个派生类可以从一个基类派生,也可以从多个基类派生。4、下列对运算符重载的描述中,正确的是( D )。A. 运算符重载可以改变结合性 B. 运算符重载可以改变优先级C. 运算符重载可以改变操作数的个数 D. 运算符重载不改变优先级和结合性5、下列函数中,( D )不能重载。 A. 成员函数 B. 非成员函数 C. 构造函数 D. 析构函数6、当一个类某个函数被说明为virtual时,该函数在该类的所有派生类中( A )。A. 都是虚函数B. 只有 被重新说明时才识虚函数C. 只有被重新说明为virtual时才是虚函数D. 都不是虚函数7、实现运行时的多态性采用( D ) A. 重载函数 B. 构造函数 C. 析构函数 D. 虚函数8、关于动态联编的下列描述中,( A )是错误的。动态联编是在编译时确定操作函数的动态联编是以虚函数为基础的动态联编是在继承的前提下的一种多态性动态联编时要求类的继承是公有的二、判断题1C+支持运算符重载,所有运算符都可以重载。2在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。3基类中的保护成员在其派生类中可以访问,而派生类对象不可访问。4运算符重载不能改变运算符的运算优先级、结合方向。5派生类的对象不可以给基类对象赋值。6静态联编是在运行时进行的,动态联编是在编译时进行的。7. 派生类的构造函数中应包含直接基类的构造函数。8私有继承方式下,基类中公有成员和保护成员在派生类中都是私有的。9抽象类不能定义对象,可以定义对象引用和对象指针。10一个对象在创建时,总是要被初始化的。三、写出下面程序的输出结果。1、#include <iostream.h>class BASE public: void get( int i,int j,int k,int l ) a = i; b = j; x = k; y = l; void print() cout << "a = "<< a << 't' << "b = " << b << 't'<< "x = " << x << 't' << "y = " << y << endl; int a,b;protected:int x, y;class A: public BASE public:void get( int i, int j, int k, int l ) BASE obj3; obj3.get( 50, 60, 70, 80 ); obj3.print(); a = i; b = j; x = k; y = l; u = a + b + obj3.a ; v = y - x + obj3.b; void print() cout << "a = " << a << 't' << "b = " << b << 't'<< "x = " << x << 't' << "y = " << y << endl; cout << "u = " << u << 't' << "v = " << v << endl;private: int u, v ;void main() BASE obj1;A obj2;obj1.get( 10, 20, 30, 40 );obj2.get( 30, 40, 50, 60 );obj1.print();obj2.print();2、#include <iostream.h>class A待添加的隐藏文字内容3 public:A(int i,int j) a1=i; a2=j; virtual void Print() cout<<a1+a2<<endl; protected: int a1,a2;class B:public A public:B(int i,int j):A(i,j) void Print() cout<<a1*a2<<endl; ;void fun(A &a) a.Print(); void main()int m=10,n=2; B b(m,n);fun(b);3、#include <iostream.h>class Bpublic: B() B(int i) b=i; virtual void virfun() cout<<”B:virfun() called.n”;private:int b;class D:public Bpublic:D()D(int i,int j):B(i)d=j;private:int d;void virfun()cout<<”D:virfun() called.n”;void fun(B *obj) obj->virfun();void main()B *pb=new B;fun(pb);D *pd=new D;fun(pd);第三部分(VC+)一、单选题1.下面关于API的描述错误的是( ) A.API是用来控制Windows各个元素的外观和行为的一套预定义的Windows函数。 B .创建应用程序,打开窗口、描绘图形都要调用API函数。 C .Windows操作系统构建在API函数上 D.早期,windows程序员编写程序只能使用API函数2.下面关于API的描述错误的是( ) AAPI函数构建在Windows操作系统上 B创建应用程序,打开窗口、描绘图形都要调用API函数。 CAPI是用来控制Windows各个元素的外观和行为的一套预定义的Windows函数D Windows应用程序构建在API函数上。 D.现在,Windows程序员编写程序只能使用API函数。3.下面描述句柄的语句,错误的是() A 句柄是WINDOWS用来标识被应用程序所建立或使用的对象的唯一整数B 句柄中存放了Windows对象的数据 C 句柄能区分不同的应用程序对象 D句柄具有多种类型 4.在Windows中,窗口句柄的类型是 () A.HINSTANCE B. HFONT C.HDC D.HWND 5.在Windows中,字体句柄的类型是 () A.HINSTANCE B. HFONT C.HDC D.HWND6.对消息循环描述错误的是() AGetMessage函数在消息队列非空时,取得消息并返回。 B.若GetMessage取得的是WM_CLOSE消息则返回0,否则返回非0. CGetMessage函数在消息队列为空时,将一直空闲。 DDispatchMessage 将当前消息发送到对应的窗口过程中去。7.下面四个MFC类中哪一个是管理MFC应用程序的 ( ) A. CWinApp B. CMainFrame C. CDocument D. CView 8.下列类中不属于MFC框架基本类的是 ( ) A. CWinApp B. CFrameWnd C. CView D. CObject 9.关于GDI的描述错误的是( ) A.GDI指图像设备接口。 B.GDI 负责用户和绘图程序之间的信息交换 C.GDI控制在输出设备上显示图形或文字。 D采用了GDI,编程时还需关心显示卡或打印机的驱动程序。 10.关于设备上下文的描述错误的是( ) A.设备上下文是一种包含有关某个设备的绘制属性的Windows数据结构。 B.设备上下文允许在Windows中进行与设备无关的绘制。 C.设备上下文可以用于绘制到屏幕,打印机但不能绘制到图元文件。 D.设备上下文对象封装了绘制线条、形状和文本等的Windows API.二、填空题1.SendMessage 和 PostMessage 都会向窗体发送一个消息,但 SendMessage 而 PostMessage 。2.使用MFC AppWizard产生的应用程序的类型主要包括 、 、 .3、VC+的工作区窗口包含3个视图,分别是 , , 。4. 封装画刷的GDI类是 ,封装画笔的GDI类是 ,封装字体的GDI类是 ,封装位图的GDI类是 。5. Windows应用程序的消息来源主要包括 和 6.Windows应用程序的消息按处理方式主要包括 、 和 。7. 在Visual C+中,创建控件有两种方法:一种是 ,另一种是 。8、按钮控件对应 类,静态文本控件对应 类,单选和复选按钮对应 类。9、在MFC的众多类中, 是所有MFC类的原始基类。10、消息处理函数OnLButtonDown响应 消息。三、简答题1.什么是句柄?它在Windows程序中的作用是什么?2. CPaintDC,CClientDC,CWindowDC的区别?

    注意事项

    本文(季学期《C++程序设计》作业.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开