VisualC程序设计及应用教程课后答案.docx

上传人:b****1 文档编号:2952761 上传时间:2023-05-05 格式:DOCX 页数:32 大小:78.13KB
下载 相关 举报
VisualC程序设计及应用教程课后答案.docx_第1页
第1页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第2页
第2页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第3页
第3页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第4页
第4页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第5页
第5页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第6页
第6页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第7页
第7页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第8页
第8页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第9页
第9页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第10页
第10页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第11页
第11页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第12页
第12页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第13页
第13页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第14页
第14页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第15页
第15页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第16页
第16页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第17页
第17页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第18页
第18页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第19页
第19页 / 共32页
VisualC程序设计及应用教程课后答案.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VisualC程序设计及应用教程课后答案.docx

《VisualC程序设计及应用教程课后答案.docx》由会员分享,可在线阅读,更多相关《VisualC程序设计及应用教程课后答案.docx(32页珍藏版)》请在冰点文库上搜索。

VisualC程序设计及应用教程课后答案.docx

VisualC程序设计及应用教程课后答案

习题

1.填空题

(1)项目工作区一样在集成开发环境的左侧。

它展现一个项目的几个方面,它们别离是ClassView、ResourceView和FileView。

(2)编译程序的快捷键是Ctrl+F7,链接程序的快捷键是F7,运行程序的快捷键是Ctrl+F5。

(3)项目工作区文件的扩展名为.dsw。

(4)应用程序向导AppWizard的作用是帮忙用户一步步生成一个新的应用程序,而且自动生成应用程序所需的大体代码。

通过ClassWizard能够增加消息映射和成员变量。

(5)菜单项选择择能够通过两种方式来进行:

一种是鼠标操作;另一种是键盘操作。

(6)编译微型条工具栏最右边按钮的功能是Insert/RemoveBreakpoint。

(7)快捷键或菜单及相关资源的资源符号的前缀是IDR_。

(8)用户能够通过项目工作区窗口的ResourceView视图来查看资源。

2.选择题

(1)项目文件的扩展名是()。

A..exeB..dspC..dswD..cpp

(2)设置断点的默许方式是()。

(第2章)

A.LocationB.DataC.MessageD.Breakpoints

(3)用应用程序向导AppWizard创建C++源文件,应选择()选项卡。

A.FilesB.ProjectsC.WorkspacesD.OtherDocuments

(4)Standard工具栏中最左侧按钮与()菜单命令的功能一样。

A.NewB.NewFileC.NewTextFileD.NewWorkspace

(5)Windows资源提供的资源编辑器不能编辑()。

A.菜单B.工具栏C.状态栏D.位图

3.判定题

(1)打开一个项目,只需打开对应的项目工作区文件。

(T)

(2)用户能够通过Tools|Customize菜单命令设置集成开发环境的工具栏。

(T)

(3)通过应用程序向导AppWizard成立的程序不能被当即执行。

(F)

(4)在同一项目中,VisualC++在内部用来标识资源的资源符号不能重复。

(T)

(5)在Windows环境下,资源与程序源代码紧密相关。

(F)

4.简答题

(1)什么是项目?

它是由什么组成的?

在VisualC++集成开发环境中,把实现程序设计功能的一组彼此关联的C++源文件、资源文件和支撑这些文件的类的集合称为一个项目。

项目是VisualC++IDE开发程序的大体单位,一个项目至少包括一个项目文件,项目文件的扩展名为.dsp。

项目文件保留了项目中所用到的源代码文件和资源文件的信息,如文件名和途径等。

同时,项目文件还保留了项目的编译设置等信息,如调试版(debug)和发布版(release)。

另外,依照项目类型的不同,一个项目包括有不同的源文件、资源文件和其他类别的文件。

(2)说明项目工作区中各个视图的功能。

ClassView用于显示项目中概念的类;ResourceView用于显示项目中所包括的资源文件;FileView用于显示所创建的项目。

(3)WizardBar工具栏的作用是什么?

WizardBar工具栏能够对ClassView和ClassWizard中的命令进行快速访问,使类和成员函数的操作加倍方便,WizardBar会自动跟踪用户程序的上下文。

(4)简述向项目添加一个资源的方式。

用户能够通过在Insert菜单当选择Resource菜单项来创建新的资源。

单击Resource菜单项,弹出InsertResource对话框。

第一在对话框的左侧选择资源类型,然后依照具体情形,单击右边的不同按钮。

假设资源需要临时创建,那么单击New按钮,在打开的相应资源编辑器中创建资源。

假设资源文件已经存在,那么单击Import按钮,在ImportResource对话框当选择资源文件,然后单击Import按钮。

习题

1.填空题

(1)MFC的全称是MicrosoftFoundationClass。

(2)Windows是一个基于事件的消息驱动系统。

(3)句柄是Windows利用的一种无重复整数,要紧用来标识应用程序中的一个对象。

(4)利用MFCAppWizard[exe]可以创建三种类型的应用程序,即单文档、多文档和基于对话框的应用程序。

(5)一个单文档的MFC应用程序框架一般包括5个类,它们分别是应用程序类、框架窗口类、视图类、文档类和文档模板类。

(6)Windows消息要紧有3种类型,即标准Windows消息、控件消息和命令消息。

(7)MFC采纳消息映射来处置消息。

(8)CWinApp提供4个成员函数来实现传统SDK应用程序WinMain()函数完成的工作。

(1)Windows应用程序是依照()非顺序的机制运行的。

A.事件→消息→处置

B.消息→事件→处置

C.事件→处置→消息

D.以上都不对

(2)下面()不是MFC应用程序外观的选项。

A.DockingtoolbarB.Context-sensitiveHelp

C.ActiveXControlsD.Printingandprintpreview

(3)对MFC类的下列描述中,()是错误的。

A.应用程序类CWinApp是CWinThread的子类

B.窗口类CWnd提供了MFC中所有窗口类的大体功能

C.CView是CWnd类的子类

D.CDocTemplate类是Template类的子类

(4)以下()不是MFC消息映射机制有关的宏。

A.DECLARE_MESSAGE_MAP()宏

B.BEGIN_MESSAGE_MAP()宏

C.DECLARE_SERIAL()宏

D.END_MESSAGE_MAP()宏

(1)窗口是Windows应用程序的大体操作单元,是应用程序与用户之间交互的接口环境,也是系统治理应用程序的大体单位。

(t)

(2)所有的Windows应用程序都是消息驱动的。

(t)

(3)所有的Windows应用程序都是用MFCAppWizard[exe]向导创建的。

(f)

(4)使用MFCAppWizard[exe]向导创建应用程序框架时,向导生成的文件名和类名是不可更改的。

(f)

(5)消息映射是将消息处理函数与它要处理的特定消息连接起来的一种机制。

(t)

(6)命令消息是由菜单项、工具栏按钮、快捷键等用户界面对象发出的WM_COMMAND消息。

(t)

(7)利用MFC编程时,所有的消息与消息处置函数的添加都必需采纳ClassWizard类向导来完成。

(f)

(8)WinMain函数是所有Windows应用程序的入口。

(t)

(9)用快捷键F9既可设置断点,又可取消断点。

(t)

(10)调式程序时,会同时显现Variable窗口和Watch窗口。

(t)

(1)简述MFC应用程序的执行过程。

MFC应用程序启动时,第一创建应用程序对象theApp。

这时将自动挪用应用程序类的构造函数初始化对象theApp,然后由应用程序框架挪用MFC提供的WinMain()主函数。

在WinMain()主函数中,第一通过挪用全局函数GetApp()来获取theApp的指针pApp,然后通过该指针挪用theApp的成员函数InitInstance()来初始化应用程序。

在应用程序的初始化进程中,同时还构造了文档模板,产生最初的文档、视图和主框架窗口,并生成工具栏和状态栏。

当InitInstance()函数执行完毕后,WinMain()函数将挪用成员函数Run(),进入消息处置循环,直到函数Run()收到WM_QUIT消息。

MFC第一挪用CWinApp类的成员函数ExitInstance(),然后挪用静态对象的析构函数,包括CWinApp对象,最后退出应用程序,将操纵权交给操作系统。

在初始化的最后,应用程序将收到WM_PAINT消息,框架会自动挪用视图类的OnDraw()函数绘制程序客户区窗口。

这时,应用程序的大体窗口已经生成,应用程序预备接收系统或用户的消息,以便完成用户需要的功能。

若是消息队列中有消息且不是WM_QUIT消息,那么将消息分发给窗口函数,以便通过MFC消息映射宏挪用指定对象的消息处置函数。

若是消息队列中没有消息,函数Run()就挪用函数OnIdle()进行空闲时刻的处置。

(2)简述文档/视图与其他类对象的关系。

在MFC应用程序中,文档类和视图类是用户最经常使用的两个类,它们之间是紧密相关的。

文档/视图体系结构是MFC应用程序框架结构的基石,它概念了一种程序结构,这种结构利用文档对象保留应用程序的数据,依托视图对象操纵视图显示数据,文档与视图的关系是一对多的关系,也确实是说,文档中的数据能够以不同的方式显示。

MFC在类CDocument和CView中为文档和视图提供了基础结构。

CWinApp、CFrameWnd和其他类与CDocument和CView一起把所有的程序片段连在一路。

文档/视图与其他类对象的关系如以下图所示。

(3)简述MFC消息映射机制。

MFC采纳消息映射来处置消息。

这种消息映射机制包括一组消息映射宏,用于把一个Windows消息和其消息处置函数联系起来。

MFC应用程序框架提供了消息映射功能,所有从CCmdTarget类派生出来的类都能够拥有自己的消息映射。

(4)消息WM_LBUTTONDOWN的消息映射宏和消息处置函数是什么?

消息WM_LBUTTONDOWN的消息映射宏是ON_WM_LBUTTONDOWN(),消息处置函数是OnRButtonDown()。

(5)如何自概念消息?

如何发送自概念消息?

Windows将所有的消息值分为4段:

0x0000~0x03FF消息值范围段用于Windows系统消息,0x0400~0x7FFF段用于用户自概念的窗口消息,0x8000~0xBFFF段为Windows保留值,0xC000~0xFFFF段用于应用程序的字符串消息。

常量WM_USER(为0x0400)与第一个自概念消息值相对应,用户必需为自己的消息概念相关于WM_USER的偏移值,利用#define语句直接概念自己的消息,如下所示:

#defineWM_USERWM_USER+3;

填空题

(1)常见的菜单类型有主菜单、弹出菜单和快捷菜单3种。

(2)在VisualC++中,每一个快捷键除ID属性外,还有两个属性:

键和

类型。

(3)基于对话框的应用程序在运行时没有菜单栏。

(4)在MFC中,工具栏的功能由类CToolBar实现。

(5)挪用CToolBar类的成员函数CToolBar:

:

Create()或CreateEx()创建并初始化工具栏窗口对象。

(6)设置工具栏停泊特性,需要挪用EnableDocking()函数。

(7)状态栏事实上是一个窗口,一样分为几个窗格,用来显示不同的信息。

(8)在MFC中,状态栏的功能由CStatusBar类实现。

(9)状态栏显示的内容由数组indicators决定,需要在状态栏中显示各窗格的标识符、位置和个数。

(10)CStatusBar类的成员函数SetPaneInfo()用来设置给定索引值的窗格ID、风格和宽度,成员函数SetPaneText()用来更新窗格的文本

2.选择题

(1)在编辑某菜单项时,假设要指明该菜单项是一个弹出式子菜单,必需选择属性对话框中的()。

A.SeparatorB.Pop-upC.InactiveD.Grayed

(2)要使鼠标箭头在按钮上暂停时能显示工具栏按钮提示,必需设置工具栏的风格为()。

A.CBRS_TOOLTIPSB.CBRS_FLYBY

C.CBRS_NOALIGND.WS_VISIBLE

(3)MFC应用程序框架为状态栏概念的静态数组indicators放在文件()中。

A.B.C.D.

(4)以下有关菜单的表达中不确的是()。

A.“&”字符的作用是使其后的字符加上下划线

B.“\t”转移字符表示使快捷键按右对齐显示

C.自概念菜单项ID不能与系统菜单项ID相同

D.选中菜单项属性对话框中的Separator,指明菜单项是一个水平线分隔条

3.判定题

(1)给菜单项概念快捷键,只需在菜单项属性设置对话框的Caption文本框中说明即可。

(f)

(2)弹出快捷菜单一样出此刻鼠标箭头的位置。

(t)

(3)UPDATE_COMMAND是更新命令用户接口消息。

(t)

(4)工具栏停泊特性只能设置一次。

(t)

(5)状态栏的功能由CStatusBar类实现。

(t)

(6)CMenu类、CToolBar类和CStatusBar类的根基类是相同的。

(t)

4.简答题

(1)简述菜单设计的要紧步骤。

菜单设计一样需要通过下面两步:

●利用菜单编辑器编辑菜单资源;

●利用ClassWizard进行消息映射,编辑成员函数,完成菜单所要实现的功能。

(2)为应用程序创建快捷菜单要紧有哪些方式?

为应用程序创建快捷菜单要紧有以下两种方式:

●利用ComponentGallery创建快捷菜单

●利用TrackPopupMenu()函数创建快捷菜单

(3)如何动态创建菜单?

动态创建菜单分为以下3个步骤。

●利用CreateMenu()函数创建一个空的弹出式菜单

●挪用AppendMenu()或InsertMenu()函数在菜单中加入菜单项

●挪用函数SetMenu()加载动态菜单

(4)创建工具栏的大体步骤有哪些?

创建工具栏的大体步骤是:

●创建工具栏资源;

●构建一个CToolBar对象;

●挪用CToolBar:

:

Create()或CreateEx()函数创建工具栏窗口;

●挪用CToolBar:

:

LoadToolBar()载入工具栏资源。

(5)简述MFC创建状态栏所做的工作。

第一构造一个CToolBar类的对象,然后挪用CToolBar:

:

Create()或CreateEx()函数创建工具栏窗口,最后挪用CToolBar:

:

LoadToolBar()函数载入工具栏资源。

习题

(1)对话框的要紧功能是输出信息和接收用户的输入。

(2)从对话框的工作方式看,对话框可分为模态对话框和非模态对话框两种类型。

(3)对话框要紧由对话框模板资源与对话框类两部份组成。

(4)利用DoModal()函数能够创建模式对话框,利用Create()函数能够创建非模式对

话框。

(5)为了支持属性页对话框,MFC提供了CPropertySheet类和CPropertyPage类。

(1)对话框的功能被封装在()类中。

A.CWndB.CDialogC.CObjectD.CCmdTarget

(2)()是非模式对话框。

A.“查找”对话框B.“字体”对话框C.“段落”对话框D.“颜色”对话框

(3)要将模式对话框在屏幕上显示需要用到函数()。

A.CreateB.DoModalC.OnOKD.构造函数

(4)通常将对话框的初始化工作在()函数中进行。

A.OnOKB.OnCancelC.OnInitDialogD.DoModal

(5)利用()通用对话框类能够打开文件。

A.CFileDialogB.CColorDialogC.CPrintDialogD.CFontDialog

(1)简述创建和利用模态对话框的要紧步骤。

●利用对话框编辑器来创建包括不同控件的对话框模板资源

●从MFC的CDialog中派生出一个类,用来负责对话框行为。

●利用ClassWizard把那个类和先前你产生的对话框资源连接起来。

●对话框的初始化。

●创建一个对话框对象,挪用CDialog:

:

DoModal()函数打开对话框。

(2)如何向对话框模板资源添加控件?

如何添加与控件关联的成员变量?

在一个对话框资源中增加控件的操作十分方便,只需从控件工具栏当选中要增加的控件,再将此控件拖动至对话框模板中的确信位置上,松开鼠标按键即添加了一个控件。

调整控件的位置和大小的操作与Word中对文本框的操作完全一样。

能够利用ClassWizard类向导的MemberVariables页面为对话框类添加与对话框控件关联的成员变量。

在MemberVariables页面中,双击一个ID或选定ID后,单击AddVariable按钮,将弹出AddMemberVariable对话框。

在Membervariablename框用于输入成员变量名,在Category下拉框选择成员变量的类别。

(3)什么是DDX和DDV?

编程时如何利用MFC提供的DDX功能?

DDX为对话框数据互换,它用于将成员变量与对话框控件相连接,完成数据在成员变量和控件之间的互换。

DDV为对话框数据验证,它能自动校验输入的数据是不是符合设计要求。

咱们只需通过ClassWizard为对话框类添加与对话框控件关联的成员变量即可利用MFC提供的DDX功能。

(4)简述创建属性页对话框的要紧步骤。

●设计对话框资源。

别离为各个页创建对话框模板,每页的模板最好具有相同尺寸,若是尺寸不统一,那么框架将依照尺寸最大的页来确信属性页对话框的大小。

●用ClassWizard为每页创建新类,并加入与控件对应的成员变量。

●打开属性页对话框

习题

(1)Windows系统提供的标准控件要紧包括静态控件、编辑框、按钮、列表框、组合框和转动条等。

(2)Windows标准控件的属性设置通常由General、Style及ExtendStyles三个属性页组成。

(3)当编辑框中的文本已被修改,在新的文本显示以后发送EN_CHANGE通知消息。

(4)CButton类控件包括按键按钮、单项选择按钮、复选框和组框等4种类型。

(5)一组单项选择按钮在对话框类中只能映射一个int类型值变量,对应单项选择按钮在组中的序号,序号从0开始。

(6)向列表框增加列表项利用CListBox类成员函数AddString或InsertString。

(7)组合框是多个控件的组合,包括编辑框、列表框和按钮。

(8)—个旋转按钮控件一般是与一个相伴的控件一路利用的,那个控件称为“伙伴窗口”。

该控件的Tab键顺序必需小于旋转按钮。

(9)当滑块滑动时,滑块控件将发送转动消息来通知父窗口。

垂直滑块发送WM_VSCROLL消息,水滑腻块发送WM_HSCROLL消息。

(10)MFC的CProgressCtrl类封装了进度条控件的各类操作,该类的成员函数SetRange()用来设置进度条的范围。

(1)在应用程序中访问控件的方式有哪些?

应用程序访问控件一样有3种方式:

●利用对话框的数据互换功能访问控件

●通过控件对象来访问控件

●利用CWnd类的一些用于治理控件的成员函数来访问控件

(2)单项选择按钮控件如何成组?

将一组单项选择按钮放在一个组框控件中,并为同组中的第一个单项选择按钮设置Group属性。

(3)组合框与列表框相较有什么不同?

如何给组合框添加初始的列表项?

列表框可列出各类可能的选项,但用户却不能在列表框中输入新的列表项。

而组合框不仅能够显示列表项供用户进行选择,而且许诺用户输入新的列表项。

能够通过组合框控件属性对话框的Data选项卡添加初始的列表项。

习题

(1)在文档/视图结构中,文档是用来治理和组织数据的,视图的作用是显示和编辑文档数据。

文档与视图的关系是一对多的关系。

(2)在文档/视图应用程序中,文档模板负责创建文档/视图结构,而应用程序对象治理文档模板,能够在应用程序的InitInstance()函数中创建一个和多个文档模板。

(3)在通常情形下,视图派生类的成员函数中通过挪用GetDocument()函数取得当前文档对象的指针。

(4)文档类的数据成员初始化和文档的清理工作别离在OnNewDocument()成员函数和DeleteContents()成员函数中完成。

(5)MFC提供了两种集合类,一种是基于模板的集合类,另一种是非模板集合类。

(6)MFC应用程序通过CDocument的protected类型成员变量m_bModified的逻辑值来判定程序员是不是对文档进行过修改。

程序员能够通过CDocument的SetModifiedFlag()成员函数来设置该值。

(7)MFCAppWizard在创建文档应用程序框架时已在文档类中重载了Serialize()函数,通过在该函数中添加代码能够达到实现文档序列化的目的。

(8)挪用create()成员函数创建动态分割窗口,而静态分割窗口是挪用CreateStatic()成员函数创建的。

(1)通过哪几个要紧成员函数完成文档与视图之间的彼此作用?

并简述这些成员函数的功能。

文档与视图的交互是通过下面几个要紧的成员函数完成的:

●视图类CView的成员函数GetDocument()

该函数取得与之相关联的文档对象的指针,利用那个指针就能够够访问文档类及其派生类的公有数据成员和成员函数。

●CDocument类的成员函数UpdateAllViews()

该函数通知与文档相关联的所有或部份试图,更新窗口内容。

●视图类的成员函数OnUpdate()

当应用程序挪用CDocument:

:

UpdateAllViews()函数时,事实上是挪用了所有相关视图的OnUpdate()函数,以更新相关的视图。

需要时,能够直接在视图派生类的成员函数中挪用该函数刷新当前视图。

另外,在初始化视图成员函数CView:

:

OnInitialUpdate()中也挪用了OnUpdate()函数。

●CView类的OnInitialUpdate()函数

当应用程序被启动,或用户从“文件”菜单当选择了“新建”或“打开”命令时,CView的OnInitialUpdate()函数会被挪用,该函数是虚函数。

CView的OnInitialUpdate()函数除挪用OnUpdate()函数之外,不做其他任何情形。

也能够利用派生类的OnInitialUpdate()函数对视图对象进行初始化。

(2)简述文档序列化与一样文件处置的区别。

一样文件处置是通过文件句柄来实现磁盘输入和输出,一个文件句柄与一个磁盘文件相关联。

而文档序列化与一样文件处置最大的不同在于:

在序列化中,对象本身对读和写负责。

CArchive类对象并非明白也不需要明白它所读写数的内部结构,CArchive类对象为读写CFile类对象中的可序列化数据提供了一种平安的缓冲机制,它们之间形成了如下关系:

Serialize()函数CArchive类对象CFile类对象磁盘文件

可见序列化使得程序员能够不直接面对一个物理文件而进行文档的读

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2