地大《Windows程序设计》离线作业

合集下载

地大21春《Windows程序设计》在线作业二【标准答案】

地大21春《Windows程序设计》在线作业二【标准答案】

地大《Windows程序设计》在线作业二试卷总分:100 得分:100一、单选题 (共 10 道试题,共 30 分)1.典型的Windows窗口程序的流程为:()A.注册窗口类->创建窗口->显示窗口->更新窗口->消息循环B.创建窗口->注册窗口类->显示窗口->更新窗口->消息循环C.创建窗口->注册窗口类->显示窗口->更新窗口->消息循环D.注册窗口类->创建窗口->更新窗口->显示窗口->消息循环答案:A2.在Windows编程中,按下键盘的"A"键后,返回的Windows消息是()。

A.VK_AB.WM_KEYDOWNC.AD.DIK_A答案:B3.在MFC中,所有的文档类都派生于()A.CViewB.CWindowC.CDocumentD.CFormView答案:C4.菜单编辑器中,如果要设置某个项为分隔线,那么这个项的哪个属性为true。

( )A.VisibleB.GrayedC.EnableD.Separator答案:D5.生成1个只具有确定和取消按钮的消息框,其参数为()。

A.MB_OKB.MB_YESNOC.MB_OKCANCELD.MB_RETRYCANCEL答案:C6.在Windows编程约定中,图像设备接口的英文缩写是()。

A.APIB.SDIC.GDID.MDI答案:C7.希望菜单无效,应该用CCmdUI类的()成员函数。

A.EnableB.SetRadioC.SetCheckD.SetText答案:A8.如果要严格按照匈牙利命名法命名1个全局窗口句柄,以下变量命名正确的是()。

A.g_hWndB.m_hWndC.g_pWndD.m_pWnd答案:A9.以下对应于unsignedlong 的数据类型为:()A.WORDB.DWORDC.INTD.BYTE答案:B10.下列Windows数据格式中,代表设备句柄的是()。

地大《Java语言程序设计(新)》离线作业 (1)

地大《Java语言程序设计(新)》离线作业 (1)

地大《Java语言程序设计(新)》离线作业一一、简答题1、java类是否可以多继承,怎么实现多继承?(1)java中只能利用接口达到多实现而已,跟多继承相仿(2)java中唯一可以实现多继承的就是接口与接口之间了。

先说继承比如class fu1{void show(){}}class fu2{void show(){}}class zi extends fu1,fu2{void show(){}}这时候创建zi引用调用show方法java 虚拟机就不知道该调用父类的哪个show方法了同理在接口中class fu1{void show();}class fu2{void show();}class zi extends fu1,fu2{void show(){}}接口的fu1 和f2 的show方法都是abstract的抽象的是没有方法体的所以只有子类的show方法是有方法体的所以接口可以多实现也就是变量的多继承所以也可以推出接口与接口之间也是可以多继承的就算接口a 的父类接口b和c都有同一个方法show()但是他们都是抽象方法a继承他们也是抽象的这个不就可以继承了吗? 由实现的例子就可以推出来,接口确实是可以多继承的。

2、请简述面向对象的特点。

(1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。

抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。

比如,我们要设计一个学生成绩管理系统,考察学生这个对象时,我们只关心他的班级、学号、成绩等,而不用去关心他的身高、体重这些信息。

抽象包括两个方面,一是过程抽象,二是数据抽象。

过程抽象是指任何一个明确定义功能的操作都可被使用者看作单个的实体看待,尽管这个操作实际上可能由一系列更低级的操作来完成。

数据抽象定义了数据类型和施加于该类型对象上的操作,并限定了对象的值只能通过使用这些操作修改和观察。

(2)继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。

地大21春《C++程序设计》作业一【标准答案】

地大21春《C++程序设计》作业一【标准答案】

地大《C++程序设计》作业一试卷总分:100 得分:100一、单选题 (共 10 道试题,共 30 分)1.下列关于设置函数默认的参数值的描述中,错误的是( C )。

A.可对函数的部分参数或全部参数设置默认值B.在有函数说明时,默认值应设置在函数说明时,而不是定义时C.设置函数默认参数值时,只可用常量不可用含有变量的表达式D.设置函数参数默认值应从右向左设置答案:C2.已知:int a=1,b=2,*p[2];下列表达式中正确的是( C )。

A.p=&aB.p=&bC.p[0]=&a,p[1]=&bD.p[ ]={&a,&b};答案:C3.当一个函数没有返回值时,该函数类型应说明为( A )。

A.voidB.intC.无D.任意答案:A4.下列关于创建一个int型变量的引用,正确的是( A )。

A.int a(3),&ra=a;B.int a(3),&ra=&a;C.double d(3.1);int &rd=d;D.int a(3),ra=a;答案:A5.下列关于类的描述中,错误的是( A )。

A.类就是C语言中的结构类型B.类是创建对象的模板C.类是抽象数据类型的实现D.类是具有共同行为的若干对象的统一描述体答案:A6.已知:int ab[ ][3] = {{1, 5, 6}, {3}, {0,2}}; 数组元素ab[1][1]的值是( A )。

A.0B.1C.2D.3答案:A7.已知:typedef char CH;下列描述中,正确的是( A )。

A.使用CH定义的变量是char型变量B.使用CH定义的是一个字符常量C.使用CH定义的变量其类型不确定D.使用CH定义的是一个字符串答案:A8.下列关于被调用函数中return语句的描述中,错误的是( D )。

A.一个函数中可以有多条return语句B.return语句具有返回程序控制权的作用C.函数通过return语句返回值时仅有一个D.一个函数中有且仅有一条return语句答案:D9.下列关于变量数据类型的描述中,错误的是( A )。

地大21春《面向对象程序设计(新)》在线作业一【标准答案】

地大21春《面向对象程序设计(新)》在线作业一【标准答案】

地大《面向对象程序设计(新)》在线作业一-0010试卷总分:100 得分:100一、单选题 (共 15 道试题,共 60 分)1.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是A.公有类型B.私有类型C.保护类型D.友元类型答案:D2.有如下定义:int a[5]={1,3,5,7,9},*p=a;下列表达式中不能得到数值5 的是()A.a[2]B.a[3]C.*(p+2)D.*p+4答案:B3.下面关于new?和delete操作符的说法,哪个是不正确的()A.使用new操作符,可以动态分配全局堆中的内存资源B.若p的类型已由A*强制转换为void?*,那么执行语句delete?p;时,类A的析构函数不会被调用C.实现全局函数时,new和delete通常成对地出现在由一对匹配的花括号限定的语句块中D.执行语句A?*?p=new?A[100];时,类A的构造函数只会被调用1次答案:D4.下面对静态数据成员的描述中,正确的是()A.静态数据成员可以在类体内进行初始化B.静态数据成员不可以被类的对象调用C.静态数据成员不能受private控制符的作用D.静态数据成员可以直接用类名调用答案:D5.下列程序的输出结果为()#include void main() { char,a[]={”hello",”the",”world”}; char**pa=a: pa++; cout<<*pa< }A.helloB.theC.worldD.hellotheworld答案:B6.已知Value 是一个类,Value 是Value 的一个对象。

下列以非成员函数形式重载的运算符函数原形中,正确的是()A.Value operator+(Value v, int i);B.Value operator+(Value v=value, int i);C.Value operator+(Value vint i=0);D.Value operator+(Value v=value, int i=0);答案:B7.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为()A.mainB.MAIND.Function答案:A8.设int x;,则经过()后,语句*px=0;可将x值置为0A.int * px;B.int const * px=&x;C.int * const px=&x;D.const int * px=&x;答案:C9.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为A.ios::inB.ios::outC.ios::int | ios::outD.没有答案:D10.下列程序的运行结果为()。

Windows程序设计课程复习题

Windows程序设计课程复习题

Windows程序设计复习题一选择题1 下列程序设计方法中,()是一种基于对象的程序设计方法。

A: MFC程序设计B: 使用WindowsAPI编程C: 使用VisualBasic语言编程 D: 使用C#程序设计语言编程2 MFC程序框架中,最先执行的函数是()。

A: WinMain函数B: CWinApp类的构造函数C: CWinApp类的InitInstance函数D: Cwnd的OnCreate函数3 CWinApp类中用()成员函数实现了对消息环的封装。

A: InitInstance( ) B: Run()C: OnIdle() D: WndProc()4 消息的4个参数中,表示消息类型的参数是()。

A: HWND hwnd B: messageID C: wParam D: lParam5下列各消息中,与程序的菜单命令、工具栏按钮或对话框按钮相对应的消息是()。

A: WM_CHAR B: WM_COMMAND C: WM_CREATE D: WM_PAINT6 MFC消息映射机制中,下列消息映射表BEGIN_MESSAGE_MAP(CGraphicsView, CScrollView)ON_WM_PAINT()END_MESSAGE_MAP()把WM_PAINT消息映射到()。

A: CGraphicsView类OnPaint函数B: CGraphicsView类OnDraw函数。

C: CScrollView类的OnPaint函数D: CScrollView类的OnDraw成员函数。

7 下列MFC类中,不直接支持消息映射的MFC基类是(),A: CCmdTarget B: CWinAPP C: CWnd D: CMap8 下列集合类中,其内部是使用散列表技术实现的MFC类的是()。

A: CArray B: CList C: CMap D: CPtrList9 下列CWnd类成员函数中,用于任何消息的可覆盖函数是()。

面向对象离线作业Task1使用说明

面向对象离线作业Task1使用说明

2.5 计算总分
我们有理由相信,经过 2.4 的一番折腾,你对 Task1 这个框架更加熟悉了。接下来我们 完成第二步的代码。 根据生活中的真实经验, 我们进行排名的时候往往是根据每个人的总成绩为依据。 所以, 我们这里要做的就是计算每个人的总成绩。 如果上一步执行正确,现在每一个人的信息都在相应的 stu[i]中存放着,那么应该怎 样计算他们的总成绩呢? …… 很简单,把 score[0]到 score[4]的值加起来就可以了。 去做吧!通过 vs2013 打开框架程序(点击 Task1.sln 文件) ,进入 Work.cpp 文件。 请在 void Work::ComputeTotalScore()函数内完成你的代码
请注意,我们这里是按照学号的顺序,不是按照排名的顺序。 怎样才能做到呢? 答案是:排序;按照学号排序 排序(Sort)是一个很常见的问题,我们常常按照事物某一个或某一些属性的大小将这 些事物进行排列。比如,体育课上排队时,可能根据身高排序;同一宿舍的同学可能根据年 龄及生日排序;玩扑克牌时可能同时根据花色和面值排序。 排序的结果可能是从小到大,也可能是从大到小。排序的过程往往需要多次调整记录 的顺序,把那些顺序不合适的记录移动或者相互交换。 排序的方法有很多,在“数据结构与算法设计”中已经系统学习了,我们在这里使用 可能是你目前最熟悉的一种-----冒泡排序(Bubble sort) 。 为简化起见,我们把 6 个数{4,2,8,5,7,1}从小到大排列。我们使用一种十分简单的规
///////////////////////////////////////////////////////////////////////////////////////
完成代码后,请编译、运行。然后查找文件夹中的 submit.exe,点击该文件,尝试提 交…… 看看你能得多少分?

奥鹏地大《面向对象程序设计(新)》在线作业一标准答案

奥鹏地大《面向对象程序设计(新)》在线作业一标准答案
【选项】:
A int *和int
B int *和int **
C int和int *
D int *和int *
【答案】:B
3.下列关于虚基类的描述,错误的是()
【选项】:
A设置虚基类的目的是为了消除二义性
B虚基类的构造函数在非虚基类之后调用
C若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用
【答案】:B
8.类的析构函数的作用是()
【选项】:
A一般成员函数的初始化
B类的初始化
C对象的初始化
D删除类创建的对象
【答案】:D
9.设int f(int);和int g(int);是函数f和g的原形,以下将f作为语句调用的是()
【选项】:
A g(f(3));
B f(g(3));
C g(f(3)+2);
【答案】:A.B.C
17.关于构造函数说法正确的是()
【选项】:
A函数名只能是类名
B返回类型可以是任意的
C参数个数和类型可以是任意的
D在对象创建时自动调用
【答案】:A.C.D
18.下列有关抽象类和纯虚函数的叙述中,错误的是()
【选项】:
A拥有纯虚函数的类是抽象类,能用来定义对象
B抽象类的派生类若不实现纯虚函数,它也是抽象类
【选项】:
A这可能是一个函数模板的声明
B这可能是一个类模板的声明
C这既可能是一个函数模板的声明,也可能是一个类模板的声明
D这肯定是一个错误的模板声明
【答案】:A
6.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()
【选项】:
A友元函数

windows程序设计实验报告

windows程序设计实验报告

windows程序设计实验报告《Windows程序设计》实验报告实验室: S306(308)学院:计算机科学与技术专业:计算机科学与技术⽬录实验⼀、熟悉visual c++的编程环境 (3)⼀、实验⽬的和要求: (3)⼆、实验内容、程序清单及运⾏结果: (3)1.编辑第⼀个C++程序 (3)2. ⽤AppWizard建⽴⼀个MFC Windows应⽤ (3)3. 编写简单的计算程序 (4)运⾏结果: (4)三、⼼得体会: (4)实验⼆、对话框的使⽤ (5)⼀、实验⽬的和要求: (5)⼆、实验内容、程序清单及运⾏结果 (5)实验步骤: (5)实验结果: (7)三、⼼得体会: (7)实验三、创建⼀个进程来运⾏⼀个应⽤程序 (8)⼀、实验要求和⽬的 (8)⼆、实验内容、程序清单及运⾏结果 (8)实验步骤: (8)实验结果: (9)三、实验⼼得 (9)实验四、调整线程优先级 (10)⼀、实验要求和⽬的 (10)⼆、实验内容、程序清单及运⾏结果 (10)实验步骤: (10)实验结果: (11)三、实验⼼得 (11)实验⼀、熟悉visual c++的编程环境⼀、实验⽬的和要求:1.了解和使⽤VC集成开发环境2.熟悉VC环境的基本命令和功能键,3.熟悉常⽤的功能菜单命令4.学习使⽤VC++环境的帮助5.学习完整的C++程序开发过程6.理解简单的C++程序结构7.了解⽤Visual C++开发Windows MFC应⽤程序的过程⼆、实验内容、程序清单及运⾏结果:1.编辑第⼀个C++程序源程序代码://hello world example#includeint main() {cout << "hello!"<< endl ;return 0; //正常返回}运⾏结果:2. ⽤AppWizard建⽴⼀个MFC Windows应⽤在窗⼝中输出"Hello,World!",修改OnDraw函数的定义,在最后⼀⾏加⼀句:pDC->TextOut(50,50,"Hello, World");运⾏结果:3. 编写简单的计算程序输⼊圆的半径,计算圆的周长和⾯积并输出。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

地大《Windows程序设计》离线作业一
1、AppWizard与ClassWizard有什么区别?
2、模式对话框和非模式对话框有何区别?
答:模式对话框就是不处理它就没法处理父窗口,而非模式对话框就是不用先处理此对话框也可以处理父窗口.例子:在桌面上右击我的电脑,选择属性,弹出系统属性窗口,点击下面的技术支持,弹出技术支持信息,现在再对系统属性窗口进行操作就操作不了,这种叫做模式对话框;关闭技术支持信息,在系统属性里选择硬件,点击设备管理器,弹出设备管理器窗口,现在再对系统属性窗口进行操作仍然可以操作,这种就叫做非模式对话框。

3、什么是序列化操作?如何实现?
答:序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。

可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。

序列化是为了解决在对对象流进行读写操作时所引发的问题。

序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

4、CListBox控件主要包括哪些方法?
In TListBox
~TListBox
TListBox
Derived from TCustomListBox
Clear
ClearSelection
ItemAtPos
ItemRect
ItemVisible MakeCurrentVisible
Sort
Update VisibleItemCount
Derived from TFrameControl
ContentsRect
Derived from TWidgetControl
Broadcast
CanFocus ContainsControl ControlAtPos
CreateParentedControl DisableAlign
EnableAlign FindChildControl
FlipChildren Focused GetTabOrderList HandleAllocated HandleNeeded InsertControl Invalidate InvalidateRect
InvokeHelp
Realign RemoveControl Repaint
ScaleBy
ScrollBy
SetFocus UpdateControlState
Derived from TControl
AfterConstruction BeginDrag
BringToFront ClientToParent ClientToScreen DragDrop
Dragging
EndDrag GetParentComponent HasParent
Hide
InitiateAction ParentToClient
Refresh ScreenToClient SendToBack SetBounds
Show
Derived from TComponent
BeforeDestruction DestroyComponents
Destroying ExecuteAction FindComponent FreeNotification GetNamePath InsertComponent IsImplementorOf ReferenceInterface RemoveComponent RemoveFreeNotification SafeCallException SetSubComponent UpdateAction
Derived from TPersistent
Assign
Derived from TObject
ClassInfo ClassName
ClassNameIs
ClassParent
ClassType
CleanupInstance
DefaultHandler
Dispatch
FieldAddress
Free
FreeInstance
GetInterface
GetInterfaceEntry
GetInterfaceTable
InheritsFrom
InitInstance
InstanceSize
MethodAddress
MethodName
NewInstance
5、动态链接库和静态库的相同点和不同点?
答:静态链接库与动态链接库都是共享代码的方式,动态链接是指在生成可执行文件时不将所有程序用到的函数链接到一个文件,因为有许多函数在操作系统带的dll文件中,当程序运行时直接从操作系统中找。

而静态链接就是把所有用到的函数全部链接到exe文件中。

动态链接是只建立一个引用的接口,而真正的代码和数据存放在另外的可执行模块中,在运行时再装入;。

相关文档
最新文档