文档库 最新最全的文档下载
当前位置:文档库 › Windows程序设计题(含简答题答案)

Windows程序设计题(含简答题答案)

Windows程序设计题(含简答题答案)
Windows程序设计题(含简答题答案)

《Windows程序设计》模拟题

一.单项选择题

1. 在VC++中,项目文件的扩展名是(B)。

A)exe B)dsp

C)d sw D)cpp

2. 在MFC中,利用ClassWizard不能(D)。

A)建立新类B)进行消息映射

C)增加类的成员变量D)插入资源

3. 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。

A)WM_CHAR B)WM_HSCROLL

C)W M_VSCROLL D)WM_CHANGE

4. 更新菜单状态的消息是(C )。

A)WM_COMMAND B)UPDATE

C)UPDATE_COMMAND_UI D)INVALIDATE

5. 对于消息队列描述正确的是( D )

A)在Windows中只有一个消息系统,即系统消息队列。消息队列是一个系统定义的数据结构,用于临时存储消息。

B)系统可从消息队列将信息直接发给窗口。另外,每个正在Windows下运行的应用程序都有自己的消息队列。

C)系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。

应用程序的消息对列中存储了程序的所有窗口的全部消息。

D)以上都正确

6. 在MFC中,所有的控件都是(B)类的派生类,都可以作为一个特殊的窗口来处理。

A)CView B)CWnd

C)C Window D)CDialog

7. 使用GetDC()获取的设备上下文在退出时,必须调用(A)释放设备上下文。

A)ReleaseDC() B)delete()

C)D eleteDC() D)Detach()

8. 希望菜单无效,应该用CCmdUI类的(A)成员函数。

A)Enable B)SetRadio

C)S etCheck D)SetText

9. 希望菜单前出现一个“√”,应该用CCmdUI类的(C)成员函数。

A)Enable B)SetRadio

C)SetCheck D)SetText

10. 下面(A)不是MFC设备环境类CDC类的派生类。

A)GDI B)CPaintDC

C)C ClientDC D)CWindowDC

11. 在MFC中,所有的文档类都派生于(C),所有的视图类都派生于(A)。

A)CView B)CWindow C)CDocument D)CFormView

12. 采用C++进行绘图时,(B)用于指定图形的填充样式,(A)用于指定图形的边框样式。

A)画笔B)画刷C)区域D)位图

13. (C)包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由Windows 将它们送入应用程序消息队列中,由程序来处理消息。

A)系统消息B)用户消息

C)输入消息D)控制消息

14.项目文件的扩展名是(B)。

A)exe B)dsp C)dsw D)cpp

15. 在MFC中,文档负责将数据存储到永久存储介质中,通常是磁盘文件或数据库,存取过程称为(B)。

A)文件访问B)串行化C)文件读写D)格式化

16. 在VC++ 6.0在编程环境中,运行程序的快捷键是(A)。

A)Ctrl+F5 B)F7 C)Ctrl+F7 D)F5

17. 在VC++ 6.0在编程环境中,设置和取消断点的快捷键都是(A)。

A)F9 B)F5 C)F11 D)F10

18. 在MFC中,在编辑某菜单项时,若要指明该菜单项是一个弹出式子菜单,必须选择属性对话框中的(B)。

A)Separator B)Pop-up C)Inactive D)Grayed

19. 使用GetWindowDC( )和GetDC( )获取的设备上下文在退出时,必须调用(C)释放设备上下文。

A)DeleteDC( ) B)delete( ) C)ReleaseDC( ) D)Detach( )

20. 在MFC中,(B)代表窗口客户区的显示设备上下文,(C)代表整个窗口的显示设备上下文。

A)CPaintDC B)CClientDC C)CWindowDC D)CMetaFileDC

21. 对话框的功能被封装在(B)类中。

A)CWnd B)CDialog

C)C Object D)CCmdTarget

22. (C)包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由Windows 将它们送入应用程序消息队列中,由程序来处理消息;(D)用来与Windows的控制对象,如列表框、按钮、复选框等进行双向通信。当用户在列表框中改动当前选择或改变了复选框的状态时发出此类消息。

A)系统消息B)用户消息C)输入消息D)控制消息

23. 生成1个只具有确定和取消按钮的消息框,其参数为(C )。

A) MB_OK B)MB_YESNO

C) MB_OKCANCEL D)MB_RETRYCANCEL

24. 在Windows程序设计中如果加入了滚动条。设置滚动条的范围使用(C)函数,设置滚动条的位置使用(E)函数,获得滚动块的当前位置使用(F)函数。

A)SetPos()B)SetRange()

C)SetScrollRange()D)GetPos()

E)SetScrollPos()F)GetScrollPos()

G)GetScrollRange()

25. 消息循环的处理过程如下:

(A)函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回;一旦发现队列不为空,便取出一条消息,把它拷贝到msg结构变量中,同时该函数返回TRUE;得到消息msg后,(B)把来自键盘的命令翻译成WM_XXX消息命令形式。(E)函数通知Windows把每个消息分发给相应的窗口函数。应用程序并不直接调用窗口函数,而由Windows根据消息去调用窗口函数,因此,窗口函数经常被称为回调函数。

A)GetMessage( ) B)translateMessage( ) C)PostMessage( )

D)SendMessage( ) E)DispatchMessage( )

26. 如果要严格按照匈牙利命名法命名1个局部窗口句柄,以下变量命名正确的是(B )。A) g_hWnd B)m_hWnd C)g_pWnd D)m_pWnd

27. 在Windows编程约定中,应用程序接口的英文缩写是(A )。

A)API B)SDI C)GDI D)MDI

28. 在Windows编程约定中,软件开发包的英文缩写是( C )。

A) API B)SDI C)SDK D)MDI

29. 在Windows编程约定中,图像设备接口的英文缩写是(C )。

A) API B)SDI C)GDI D)MDI

30. 以下对应于unsigned long 的数据类型为:(B )

A) WORD B)DWORD C)INT D) BYTE

31. 下列选项中,不属于匈牙利命名法属性部分的是(D )。

A) g_ B)m_ C)c_ D)d_

32. 如果要严格按照匈牙利命名法命名1个全局窗口句柄,以下变量命名正确的是(A )。A) g_hWnd B)m_hWnd C)g_pWnd D)m_pWnd

33. 下列Windows数据格式中,代表设备句柄的是(B )。

A) HWND B)HDC C)H INSTANCE D)HFONT

34. "在一个窗口的正常运行的Windows程序中,把主窗口创建语句做如下改动:

hWnd = CreateWindow(NULL, szTitle, WS_OVERLAPPEDWINDOW,

CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);

则下列说法正确的是(C )。"

A)程序仍然正常运行,与改动前相比没有变化

B)程序出现编译错误

C)程序编译通过,但没有窗口显示

D)程序正常运行,窗口标题变为NULL

35. 典型的Windows窗口程序的流程为:(A )

A)注册窗口类->创建窗口->显示窗口->更新窗口->消息循环

B)创建窗口->注册窗口类->显示窗口->更新窗口->消息循环

C)创建窗口->注册窗口类->显示窗口->更新窗口->消息循环

D)注册窗口类->创建窗口->更新窗口->显示窗口->消息循环

36. 菜单编辑器中,如果要设置某个项为分隔线,那么这个项的哪个属性为true。( D ) A) Visible B)Grayed C)Enable D)S eparator

37. 在Windows消息机制中,菜单消息类型是:(B )

A) WM_PAINT B) WM_COMMAND

C) WM_CREATE D) WM_CLOSE

38. 在Windows编程中,代表键盘的"↑"键的虚拟键值是( A )。

A) VK_UP B) WM_KEYDOWN

C) WM_KEYUP D) VK_DOWN

39. 在Windows编程中,响应键盘按键按下消息的Windows消息是(B )。A) VK_UP B) WM_KEYDOWN

C) WM_KEYUP D) VK_DOWN

40. 在Windows编程中,按下键盘的"A"键后,返回的Windows消息是(B )。A) VK_A B)WM_KEYDOWN

C) A D)DIK_A

41. 在Windows编程中,按下鼠标左键产生的Windows消息是(B )。

A) WM_KEYDOWN B)WM_LBUTTONDOWN

C) WM_LEFT D)WM_RBUTTONDOWN

42. 下列哪个缩写是微软提供的C++语言的帮助库?(B )

A) MFC B)MSDN C)API D)SDK

43. Windows编程中,定时器消息是(B )

A) WM_TIME B)WM_TIMER

C) WM_ON_TIME D)WM_COMMAND

44. GDI环境中,窗口的坐标系是如何构成的?(D )

A)左上角为原点,x轴正方向为水平向右,y轴正方向为竖直朝上

B)中间为原点,x轴正方向为水平向右,y轴正方向为竖直朝上

C)左下角为原点,x轴正方向为水平向右,y轴正方向为竖直朝下

D)左上角为原点,x轴正方向为水平向右,y轴正方向为竖直向下

45. 以下选项中,GDI不能支持的是:(B )

A)位图B)Flash动画

C)直线和曲线D)文字

46. 设备环境DC的全称为:(B )

A) Device Content B) Device Contexts

C) Device Config D)D evice Conter

47. InvalidateRect的作用是(B )

A)删除一个矩形B)使一个矩行区域变为无效,从而可以重绘

C)使一个矩形区域变为无效,从而释放部分GDI资源

D)擦除一个矩形区域

48. "已知窗口为缺省状态,有如下代码:

HDC hdc = GetDC( hWnd );

HPEN hpen = CreatePen( 1, 1, RGB(255,0,0) );

SelectObject( hdc, hpen );

Ellipse( hdc, 050, 50, 200, 200 );

则这段代码的执行效果是( B )。"

A)绘制1个黑色的椭圆形边框,无填充颜色

B)绘制1个红色的椭圆形边框,无填充颜色

C)绘制1个黑色的椭圆形,填充为黑色,无边框

D)绘制1个红色的椭圆形,填充为红色,无边框

49. "已知有如下代码:

HDC hDC = GetDC(hWnd);

LineTo(hDC,100,100);

则这段代码的执行效果是( A )。"

A)从窗口的左上角至坐标(100,100)绘制1条直线

B)没有绘制任何图形

C)从窗口的任意一点开始至坐标(100,100)绘制1条直线

D)从鼠标在窗口的位置至坐标(100,100)绘制一条直线

50. 以下函数中不受画刷影响的函数是:(C )

A) Rectangle B)Ellipse

C) LineTo D)Polygon

51. 如果要创建一个宋体字体,那么字体描述中哪个属性为“宋体”?(C )

A) lfCharSet B)lfQuality

C) lfFaceName D)lfStrikeOut

52. 在Windows编程约定中,位图句柄为(B )。

A) HGDI B)HBITMAP

C) HDC D)HPEN

53. 下面哪个步骤能实现透明贴图(模板位图为单色的1位位图)?(A )

A)位图和背景像素作异或操作->使用模板位图作与操作->原位图与背景作异或操作B)使用模板位图作与操作->原位图与背景作异或操作->位图和背景像素作异或操作C)位图和背景像素作异或操作->原位图与背景作异或操作->使用模板位图作与操作D)位图与背景作异或操作->位图和背景像素作异或操作->使用模板位图作与操作

54. 在BitBlt函数中进行光栅化处理方式中,哪1个值说明是要进行或运算?(D )A) SRCAND B)SRCCOPY

C) SRCINVERT D)SRCPAINT

55. 动态链接库文件的后缀名为(B )。

A) lib B)dll C)exe D)obj

二.多选题

1. 已知严格按照匈牙利命名法命名的变量m_pTemp,则以下说法正确的是(BC )。

A) 该变量是1个全局变量B) 该变量是1个类成员变量

C) 该变量是1个指针变量D) 该变量一定是1个私有变量

2 下列哪种情况下系统可能向窗口发送WM_PAINT消息?(ABCD )

A) 窗口最初创建时

B) 窗口移动后部分区域由不可见变为可见

C) 窗口大小改变后

D) 滚动条滚动后

3.在注册窗口类中,不需要进行的操作是(BC )。

A) 载入图标B) 确定窗口大小

C) 确定窗口标题D) 确定窗口类名称

4. 关于PeekMessage和GetMessage的说法正确的是(AB )

A) PeekMessage立即返回

B) GetMessage将会等待消息到来

C) PeekMessage等待消息到来

D) GetMessage立即返回

5. 关于动态菜单,以下说法正确的是(BD )。

A) 函数LoadMenu可以弹出菜单

B) 函数CreatMenu用于建立空菜单

C) 函数DeleteMenu用于删除整个菜单

D) 函数InsertMenu用于在菜单中插入1个菜单项

6. 以下关于Windows的鼠标消息,说法正确的是(BD )。

A) 鼠标的按键消息种类可以从wParam中得到

B) 鼠标的按键消息种类可以从message中得到

C) 鼠标的位置信息可以从wParam中得到

D) 鼠标的位置信息可以从lParam中得到

7. 已知语句SetTimer(NULL,1,100,NULL),则以下说法正确的是(AD )。

A) 设置了一个定时器,该定时器不能正常起作用

B) 设置一个定时器,能够正常起作用

C) 设置了一个定时器,时间间隔为1秒

D) 设置了一个定时器,时间间隔为100毫秒

8. 下列选项中属于Windows GDI资源的是(ABC )。

A) 位图B) 画笔C) 字体D) 窗口

9. 能用于绘制直线的函数为:(AB )

A) LineTo B) Polyline C) Arc D) PolyBezier

10. 画笔的线型包括:(ABD )

A) 实线B) 点划线C) 波浪线D) 虚线

11. 创建画刷的函数有:(ABC )

A) CreateHatchBrush B) CreateSolidBrush

C) CreatePatternBrush D) CreateLogicBrush

12. 在Windows消息机制中,消息系统3大关键要素是(ABC )。

A) 消息队列B) 消息循环

C) 消息处理函数D) 消息映射

13.下列哪种情况下系统可能向窗口发送WM_PAINT消息?( BCD )

A)窗口最初创建时

B)窗口移动后部分区域由不可见变为可见

C)窗口大小改变后

D)滚动条滚动后

14.匈牙利表示法的变量一般分为哪几个部分?(ABC)

A)属性(例如g_) B)类型

C)描述 D)后缀

15.下列选项中,可以用Windows句柄标识的有( ABD )。

A)窗口 B)文件 C)消息 D)字体

16.关于Windows句柄,下列说法正确的是( AD )。

A)每个运行着的Windows程序都有对应的Windows实例句柄

B)同1个Windows程序打开多次时,对应同1个实例句柄

C)1个Windows实例句柄只能对应1个窗口句柄

D)1个Windows实例句柄可以对应多个窗口句柄

三、名词解释

1、事件:可能触发计算机程序做出相应反应的刺激

2、句柄:为了区别于普通变量的标识,Windows把这种复杂对象的标识叫做句柄

3、消息:为了描述事件的各种信息(例如,何时何地发生了何种事件等),Windows定义了一个结构,这个结构就叫做”消息”

4、Windows的API函数:由操作系统提供的,用户可以使用的函数就叫做API

5、Windows SDK程序:使用软件开发工具包开发出来的Windows应用程序

6、资源:资源就是一种可供Windows应用程序利用,可单独编辑,并可动态加载的数据

7、图象设备接口(GDI):Windows把用于改变DC属性的操作,即与绘图相关的操作都制作成函数,这些函数的集合就叫做图形设备接口

8、CDC类:在面向对象程序设计思想中,把DC和GDI函数封装到一起形成CDC类

9、回调函数:系统调用用户编写的函数过程叫做“回调”,所以这种被系统调用的函数也

叫做“回调函数”

10、无效显示区:在有效提高拆分窗口显示更新效率的方法中,程序只重绘必须重绘的区域

11、控件:Windows设计了一些具有图形外观的程序实体,这些程序实体在鼠标或键盘的作用下会使程序出现不同的响应,这些可以接收或者产生事件的程序实体就叫做控件

12、类信息表:MFC程序在不同的场合下还经常用到类的其他信息,于是MFC就把这些信息统统都放在映射表项中,并把它叫做类消息表

13、消息循环:while(GetMessage(&msg,NULL,NULL,NULL))

{TranslateMessage(&msg);

DispatchMessage(&msg);}

四.填空题

1、在MFC中,用户可以通过项目工作区窗口的ResourceView视图来查看资源。

2、一个单文档的MFC应用程序框架一般包括5个类:应用程序类、框架窗口类、视图类、

文档类和文档模板类。

3、Windows是一个基于消息的消息驱动系统。

4、项目工作区文件的扩展名是dsw。

5、MessageBox函数弹出一个小的对话框向用户显示短信息,并将用户最终的选择返回给

调用者。

6、在通常情况下,视图派生类的成员函数中通过调用GetDocument函数得到当前文档对

象的指针。

7、Windows程序中的消息有窗口消息、命令消息和控件通知消息三种类型。

8、MFC中的集合类包括数组、列表(链表)、映射(顺序可变)。

9、在进行绘图时,画刷用于指定图形的填充样式,画笔用于指定图形的边框样式。

10、用户按下键盘按键并放开的过程中,将产生至少三条消息:WM_KEYDOWN,

WM_CHAR,WM_KEYUP。

11、Windows API中A PI的中文译文是应用程序接口。

12、MFC的中文译文是微软基础类库。

13、GDI的中文译文是图形设备接口。

14、全局函数AfxGetApp()可以得到CWinApp应用类指针。

15、MFC中可自动重绘的绘图代码一般位于项目的视图类的OnDraw()函数中。

16、在视图中,GetDocument()函数可得到对应的文档对象指针。

17、在文档中,GetFirstviewPosition()和GetNextview()配合可用来遍历所有和文档关联的视图。

18、在MFC中,用CRect类来描述一个矩形区域的大小。

19、在任何时刻设备环境中必须有一支画笔,并且只能有一支。因此在使用自己定义的画笔时,要使用CDC的函数把默认画笔替换为自己定义的画笔,这个函数是SelectObject() 。

20、MFC的缺省的映射模式是MM_TEXT,对应的单位为像素。

21、在视图类中为了访问与视图关联的文档对象中数据,应该先调用GetDocument()函数得到相关联文档对象指针。

22

23、在框架窗口中,GetActiveDocument()函数可得到当前活动文档指针,

GetActiveView()函数可得到当前活动视指针。

24.MFC对话框类的基类是CDialog ,用户自定义对话框类都是从它派生而来。25.Windows系统是一个消息响应事件驱动的操作系统,消息是应用程序与操作系统交互的手段。

26.GetMessage( )被用来从消息队列获取消息,

27.函数TranslateMessage( )用来把键盘消息转换为字符消息,函数DispatchMessage( )用来向系统派送消息。

五、选择填空题(每空1分,共15分)

1、 B 代表窗口客户区的显示设备上下文,C代表整个窗口的显示设备上下文。

A、CPaintDC

B、CClientDC

C、CWindowDC

D、CMetaFileDC

2、消息循环的处理过程如下:

A 函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回;一旦发现队列不为空,便取出一条消息,把它拷贝到msg结构变量中,同时该函数返回TRUE;得到消息msg后,B把来自键盘的命令翻译成WM_XXX消息命令形式。E 函数通知Windows把每个消息分发给相应的窗口函数。应用程序并不直接调用窗口函数,而由Windows根据消息去调用窗口函数,因此,窗口函数经常被称为回调函数。

A、GetMessage( )

B、translateMessage( )

C、PostMessage( )

D、SendMessage( )

E、DispatchMessage( )

3、滚动条类CScrollBar的成员函数规定了滚动条的操作。设置滚动条的范围使用 C 函数,设置滚动块的位置使用 E 函数,获取滚动块的当前位置使用 F 函数。

A、SetPos

B、SetRange

C、SetScrollRange

D、GetPos

E、SetScrollPos

F、GetScrollPos

G、GetScrollRange

4、所有的文档类都派生于 C ,所有的视图类都派生于A。

A、CView

B、C Window

C、CDocument

D、CFormView

5、C包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由Windows 将它们送入应用程序消息队列中,由程序来处理消息;D用来与Windows的控制对象,如列表框、按钮、复选框等进行双向通信。当用户在列表框中改动当前选择或改变了复选框的状态时发出此类消息。

A、系统消息

B、用户消息

C、输入消息

D、控制消息

6、使用 B 获取的设备上下文在退出时,必须调用ReleaseDC( )释放设备上下文。

A、GetWindowRect( )

B、GetDC( )

C、BeginPaint()

D、GetClientRect( )

六.判断题

1. 所谓的Windows API就是独立于C语言的一套全新的程序设计语言。(×)

2. 在Windows编程约定中,CHAR数据类型和TCHAR数据类型是相同的。(×)

3. 匈牙利命名法是所有程序都必须遵循的一个规则,变量的命名必须按照规则进行。(×)

4. 在Windows编程约定中,代表窗口句柄的数据类型是HWND。(√)

5. 在Windows编程中,使用窗口句柄来操作具体的窗口。(√)

6. 在Windows的消息结构中,键盘的按键字符信息被保存在lParam中。(×)

7. 在Windows消息机制中,WM_TIMER消息表示创建了1个定时器。(×)

8. 所有的Windows程序,其入口函数必须名为WinMain。(×)

9. PostMessage和SendMessage的区别在于前者投递消息到队列,而后者直接调用消息响应函数。(√)

10. 在Windows编程中,AppendMenu可以在菜单的任意位置插入新的菜单项。(×)

11. 在Windows编程中,菜单可以在资源视图中设计,一旦载入程序,就不能再被更改。(×)

12. 在Windows编程中,键盘按键弹起时,会返回消息WM_KEYDOWN。(×)

13. 在Windows编程中,鼠标消息中不包含任何键盘信息。(×)

14. 在Windows编程中,1个程序中只允许设置一个定时器。(×)

15. 画笔颜色构成是0x00BBGGRR,其中B、G、R分别代表1位16进制数表示蓝、绿和红色分量的大小。(√)

16. 对于GDI点阵字体和GDI笔划字体,Windows都可以合成粗体、斜体、加底线和加删

除线,而不需要为每种属性另外储存字体。(√)

17. FillRect中指定的画刷是用于画矩形本身和边框,FrameRect中指定的画刷是用于画矩形的边框。(×)

18. Win32 API可以直接读取所有的图像格式。(×)

19.打开一个项目,只需打开对应的项目工作区文件。(√)20.基于对话框的应用程序,也有文档类和视图类。(×)21.所有的Windows应用程序都是消息驱动的。(√)22.COMMAND(菜单消息类型)是更新命令用户接口消息。

(×)

23.删除CPen对象可调用CPen对象的DeleteObject函数。(×)24.CBrush是GDI对象。(√)25.Windows应用程序的入口也是main函数。(×)七.简答题

1.Windows应用程序的主函数有哪三个主要任务

2.运行程序后单击鼠标右键弹出对话框提示“您按下了鼠标右键”对话框。简要说明设计步骤。

参考答案:

(1)新建基于单文档的应用程序;(2)用类向导映射鼠标右键消息;

(3)在消息函数中添加代码:MessageBox(“您按下了鼠标右键”);

3、.利用AppWizard生成默认的SDI应用程序My时,向导自动生成的哪四个类?及其相

应的功能。

参考答案:

CMainFrame(构建应用程序,显示窗架)

CMyApp(整个应用程序)

CMyDoc(管理数据)

CMyView(显示数据)

4.创建窗口的五个步骤:

参考答案:

1)定义窗口2)注册窗口3)创建窗口4)显示窗口5)消息循环

5.如何显示和更新窗口?

答:调用函数ShowWindow显示窗口,调用函数UpdateWindows更新窗口。

6.什么是消息循环?

答:在创建了窗口的应用程序中,应用程序将不断地从消息队列中获取消息,并将消息指派给指定的窗口处理函数来处理,然后再回来从消息队列获取消息,这个不断重复的工作过程叫做消息循环。

7.说明Windows应用程序的主函数、窗口函数与Windows系统之间的关系。

答:Windows应用程序的主函数和窗口函数都是系统调用的函数,主函数是在应用程序启动时由系统首先调用的函数,而窗口函数是主函数在消息循环中获得消息并把消息派送给系统之后,由系统调用的用来处理消息的函数。

8.文档类的成员函数UpdateAllViews的作用是什么?

答:通知文档所对应的所有窗口同时进行重绘。

9.MFC应用程序的界面有哪三种方式?

答:(1)单文档界面;(2)多文档界面;(3)基于对话框界面。

10.WinMain()函数的工作。

WinMain()函数是Windows程序的入口点在WinMain中进行注册窗体类、建立窗体、显示窗体、更新窗体、建立消息循环

11.非MFC的Windows程序中,WM_PAINT消息中怎样获得客户区的设备环境句柄。

和不是WM_PAINT消息中怎样获得客户区的设备环境句柄。

BeginPaint ----------EndPaint GetDC---------------ReleaseDC(成对出现)

利用GetDC函数获取设备环境句柄

12.句柄的含义。

句柄是一个通常为32位的无符号整数(unsigned int),它代表一个内核对象,是内核对象在应用层的表示。

13.在MM_TEXT映射模式下,什么情况下客户坐标和逻辑坐标可能不同。

当窗口客户区有滚动条时客户坐标和逻辑坐标可能不同

14.GetMessage()函数在什么情况下返回0

在接收到WM_QUIT消息时返回0

15.Windows中应用程序的输出是怎样进行的。

通过设备描述表DC(Device Context)来进行应用程序与物理设备之间的交互16.当程序中某个函数改变了数据而需要重WM_PAINT不会被自动调用,这时需要怎样间接调用它。

使用InvalidateRect()调用

17.键盘消息处理函数OnKeyDown(UINT nChar,UINT nRepCnt,UINT nFlags)中的主要参数。

参数UINT nChar指按下按键的虚拟键码;nRepCnt 按键按下的次数; nFlags有没有

其他键同时被按下;如shift、ctrl、Alt

18.DC中的SetROP2()的作用。

设定绘图模式

19.扩展名为.rc的文件是什么。

资源文件

20.GDI绘图函数所使用的参数。

GDI绘图函数使用的逻辑坐标

21.当用户按下某个字母键时消息发生的顺序。

WM_KEYDOWN->TranslateMessage()->WM_CHAR

22.常用的客户区鼠标消息有哪些

WM_LBUTTONDBCLK 双击鼠标左键 WM_LBUTTONDOWN 按下鼠标左键 WM_LBUTTONUP 释放鼠标左键 WM_MOUSEMOVE 移动鼠标 WM_RBUTTONDBCLK 双击鼠标右键 WM_RBUTTONDOWN 按下鼠标右键 WM_RBUTTONUP 释放鼠标右键

23.什么样的窗口才能接收键盘消息

Windows

有活动窗口Windows中规定只有具有输入焦点的窗口才能接收键盘消

24.键盘消息分为哪几类只产生按键消息

(WM_KEYDOWN,WM_KEYUP)WM_SYSKEYDOWN,WM_SYSKEYUP

WM_CHAR,WM_DEADCHAR

WM_SYSCHAR,WM_SYSDEADCHAR

系统按键消息只能产生非系统的字符消息。在Windows中一些键是只产生按键消息而不产生

Shift键、Ctrl键、功能键、光标移动键、特殊字符键。

25.焦点。

WM_SETFOCUS

WM_KILLFOCUS

个窗口进行操作。

26.在 WNDCLASSEX 结构类型中,各个成员所代表的含义是什么?

WNDCLASSEX 结构类型定义如下:

typedef struct _WNDCLASSEX

{ UINT cbSize;

UINT style;

WNDPROC lpfnWndProc;

int cbClsExtra;

int cbWndExtra;

HINSTANCE hInstance;

HICON hIcon;

HCURSOR hCursor;

HBRUSH hbrBackground;

LPCTSTR lpszMenuName;

LPCTSTR lpszClassName;

HICON hIconSm;

} WNDCLASSEX

27.在 CreateWindowEx()函数中,各成员所代表的含义是什么? CreateWindowEx()函数定义如下:

HWND CreateWindowEx(DWORD dwExStyle,

LPCTSTR lpClassName,

LPCTSTR lpWindowName,

DWORD dwStyle,

int x,

int y,

int nWidth,

int nHeight,

HWND hWndParent,

HMENU hMenu,

HINSTANCE hInstance,

LPVOID lpParam);

28.UpdateWindow()函数的功能什么?

UpdateWindow()函数定义如下:

BOOL UpdateWindow(HWND hWnd);

答:更新窗口客户区

29.在 MSG 结构类型中,各个成员所代表的含义是什么?

MSG 结构类型定义如下:

typedef struct tagMSG

{ HWND hwnd;

UINT message;

WPARAM wParam;

LPARAM lParam;

DWORD time;

POINT pt;

} MSG, *PMSG;

30.DefWindowProc()函数的功能什么?

DefWindowProc()函数定义如下:

LRESULT DefWindowProc(HWND hWnd,

UINT Msg,

WPARAM wParam,

LPARAM lParam);

答:函数功能:该函数调用缺省的窗口过程来为应用程序没有处理的任何窗口消息提供缺省的处理。该函数确保每一个消息得到处理。

31.讲匈牙利命名惯例的约定,还要记住那些习惯用法?

匈牙利命名惯例的约定有两条:

1. 标识符以一个或者几个小写字母开始,这些小写字母表示标识符的数据型;

2. 大小写混杂写,使得标识符具有一定的含义,便于理解,增强可读性。

习惯用法:在命名结构变量时,可以用结构名的小写字符序列作为变量名的字首,或者用整个结构名用作结构变量名。

32消息循环从应用程序消息队列取得窗口消息是怎样送給窗口消息处理程序?

答:通过Dispatch(&msg)将消息发给指定的窗口;

33.主程序WinMain和WndProc是如何联系的?

答:WinProc窗口处理函数是一个回调函数,它是用来处理消息的,是由Wi ndows调用的。在注册窗口类的时候指定了窗口处理函数的入口地址,应用程序获得的消息都交给此入口地址对应的窗口处理函数来处理。

34.解释下面函数申明中的每一个单词

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd );

答:HINSTANCE是数据类型,hInstance称为执行实例代号。hPrevInstance是一个识别字,通过检查hPrevInstance就能够确定此应用程序是否已有过其他实例。lpCmdLine是指向命令序列的指针。nShowCmd指出应用程序的窗口的最初显示方式。

35.窗口类结构中常用的有那几个载入函数?它们的用法如何?

答:LoadIcon函数

HICON WINAPI LoadIcon( // 返回的指向图标的指针,如果失败,返回NULL HINSTANCE hInstance, // 用户定义图标在哪个实例中, NULL为系统图标 LPCSTR lpIconName // 图标名,也称图标上的标签

);

LoadCursor()函数

HCURSOR WINAPI LoadCursor ( // 返回新载入的光标的句柄 HINSTANCE hInstance, // 载入的光标

LPCTSTR lpCursorName) // 预定义的光标资源名

GetStockObject(WHITE_BRUSH);//窗口背景色

36、有哪两种方法获得屏幕的hDC?

答:利用GetDC()取得窗口hDC;

在处理WM_PAINT消息期间使用BeginPaint()获得hDC;

37、BeginPaint和EndPaint在什么情况下使用,为什么要成对出现?

答:在处理WM_PAINT消息期间使用。

38、InvalidateRect所决定的重绘区和BeginPaint所决定的重绘区有什么区别?

InvalidateRect最后一个参数的作用是什么?

答:程序调用BeginPaint时,在大多数情况下,fErase被标志为FALSE(0),这意味着Windows已经擦除了无效矩形的背景。在调用BeginPaint后PAINTSTRUCT 结构的fErase条款将成为TRUE(非零)。而程序通过调用InvalidateRect函数使客户区中的矩形失效,则该函数的最后一个参数会指示是否擦除背景。如果这个参数为FALSE,则执行InvalidateRect时Windows将不擦除背景,反之,则会擦除背景。

39、GetSystemMetrics函数的用处是什么?GetTextMetrics函数的用处是什么?为了存储它们所获得的信息,预先定义一个结构是什么?

40、什么情况下产生WM_CREATE窗口消息?什么情况下产生WM_PAINT窗口消息?答:产生WM_CREATE窗口消息:执行CreateWindow函数时

产生WM_PAINT窗口消息:执行UpdateWindow函数时

在使用者移动窗口或显示窗口时,窗口中先前被隐藏的区域重新可见。

使用者改变窗口的大小(如果窗口类别样式有着CS_HREDRAW和CS_VREDRAW位旗标的设定)。

程序使用ScrollWindow或ScrollDC函数滚动显示区域的一部

分。

程序使用InvalidateRect或InvalidateRgn函数刻意产生WM_PAINT

消息。

Windows擦除覆盖了部分窗口的对话框或消息框。

(可能)菜单下拉出来,然后被释放。

(可能)显示工具提示消息。

41、为什么WM_SIZE窗口消息后必然跟着一个WM_PAINT窗口消息?

答:为我们定义窗口类的时候制定了类风格CS_HREDRAW|CS_VREDRAW

42、如果用户希望立即更新无效区域,可以在调用InvalidateRect之后调用什么函数?

答:UpdateWindow

43.按照产生的按键消息分,按键分成那两类?

答:系统按键和非系统按键

44.按键消息有哪四种形式?系统按键消息有什么特点?它在哪里处理?那些不是系统按键消息?

答:四种形式:WM_KEYDOWN WM_SYSKEYDOWN

WM_KEYUP WM_SYSKEYUP

特点:系统按键可能是一个按键也可能是几个按键的组合键,系统按键对Windows系统起作用。

由默认分支DefWindowProc处理系统键盘消息。

WM_KEYDOWN WM_KEYUP

45.数字和字母的虚拟键码是怎样定义的?

答:数字、字母的虚拟键码是用ASCII码定义的。

46.窗口函数中WM_KEYDOWN消息处理分支中的wParam和SendMessage函数第三个参数wParam有什么不同?

答:消息处理分支中的wParam它是判断虚拟键盘的。

而SendMessage中的wParam它是存放鼠标通知码。

47、窗口函数中WM_KEYDOWN消息处理分支中的wParam和SendMessage函数第三个参数wParam有什么不同?

48、鼠标是一种“必须要的选择设备”,如何应用GetSystemMetrics函数确认鼠标是否存在?写出程序代码。

答:fMouse = GetSystemMetrics (SM_MOUSEPRESENT);

八、程序设计题

1、已经在视图类中映射了单击鼠标右键的消息,在该函数中完成绘图,要求以鼠标点击位

置为圆心、半径为100的绿色蓝边的圆。

CEx4_2View::OnRButtonDown(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

CView::OnRButtonDown(nFlags, point);

}

参考答案

CEx4_2View::OnRButtonDown(UINT nFlags, CPoint point)

{

// TODO: Add your message handler code here and/or call default

CClientDC dc(this);

CRect r(point.x-100,point.y-100,point.x+100,point.y+100);

CBrush brush(RGB(0,255,0));

CBrush *pOldBrush;

pOldBrush=dC)SelectObject(&brush);

CPen pen(PS_SOLID,1,RGB(0,0,255));

CPen *pOldPen;

pOldPen=dC)SelectObject(&pen);

dC)Ellipse(r);

dC)SelectObject(pOldBrush);

dC)SelectObject(pOldPen);

CView::OnRButtonDown(nFlags, point);

}

2、为学员信息设计一个类CStudent,包含:学号、姓名、出生日期、家庭住址、班级,并使该类可以实现串行化。请写出可以实现要求的CStudent.h和CStudent.cpp文件的内容//CStudent.h

class CStudent :public CObject {

public:

CString Num;

CString Name;

CTime Birth;

CString Address;

CString Grade;

DECLARE_SERIAL(CStudent)

virtual void Serialize( CArchive & ar );

};

CStudent.cppIMPLEMENT_SERIAL(CStudent ,CObject, 0)

void CStudent:Serialize(CArchive & ar)

{ CObject::Serialize(ar);

if ( ar.IsStoring() )

{ ar<

}

else

{ ar>>Num>>Name>> Birth >>Address>>Grade;

}

}

3、创建一个记录通讯录内容的新类Caddrlist,包含:姓名、住址、电话、出生日期,并使该类可以实现串行化。请写出可以实现要求的CAddrlist.h和CAddrlist.cpp文件的内容

//Addrlist.h文件内容:

class CAddrlist : public CObject {

public:

CString Name;

CString Address;

CString Tel;

CTime Birth;

CAddrlist();

DECLARE_SERIAL(CAddrlist)

virtual void Serialize( CArchive & ar );

};

Addrlist.cpp文件内容:IMPLEMENT_SERIAL(CAddrlist,CObject, 0)

void CAddrlist::Serialize(CArchive & ar)

{ CObject::Serialize(ar);

if ( ar.IsStoring() )

{ ar<

}

else

{ ar>>Name>>Tel>>Address>>Birth; 1分}

}

4、为学员信息设计一个类CWorker,包含:编号、姓名、出生日期、家庭住址、手机号,并使该类可以实现串行化。请写出可以实现要求的CWorker.h和CWorker.cpp文件的内容。//CWorker.h

class CWorker:public CObject {

public:

CString Num;// char Num[10];

CString Name;

CTime Birth;

CString Address;

CString Tel;

DECLARE_SERIAL(CWorker) // 使对象可串行化

virtual void Serialize( CArchive & ar ); //重载串行化函数

CWorker(){。。。。。}

};

//CWorker.cpp

MPLEMENT_SERIAL(CWorker,CObject,0)

void CWorker::Serialize(CArchive & ar)

{ CObject::Serialize(ar);

i f ( ar.IsStoring() )

{ar<

e lse

{ar>>Num>>Name>> Birth >>Address>>Tel;

}

Windows程序设计题(含简答题答案)

Windows 程序设计》模拟题 单项选择题 1. 在 VC++ 中,项目文件的扩展名是( B )。 A ) exe B)dsp C ) dsw D ) cpp 2. 在 MFC 中,利用 ClassWizard 不能( D )。 A )建立新类 B )进行消息映射 C )增加类的成员变量 D )插入资源 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送( 3. C )消 息。 4. 5. A ) WM_CHAR B ) WM_HSCROLL C ) W M_VSC ROLL 更新菜单状态的消息是( C A ) WM_COMMAND )。 C ) UPDATE_COMMAND_UI 对于消息队列描述正确的是( A )在Windows 中只有一个消息系统, 据结构,用于临时存储消息。 D ) WM_CHANG E B ) UPDATE D) INVALIDATE 即系统消息队列。 消息队列是一个系统定义的数 B )系统可从消息队列将信息直接发给窗口。 另外,每个正在 Windows 下运行的应用程 序都有自己的消息队列。 C )系统消息队列中的每个消息最终都要被 USER 模块传送到应用程序的消息队列中去。 应用程序的消息对列中存储了程序的所有窗口的全部消息。 D )以上都正确 6. 在 MFC 中,所有的控件都是( B )类的派生类,都可以作为一个特殊的窗口来处理。 CView B ) CWnd C) 7. 使用 CWindow C) D ) CDialog GetDC () 获取的设备上下文在退出时,必须调用( A )释放设备上下文。 ReleaseDC() B ) delete() DeleteDC () D ) Detach () 8. 希望菜单无效,应该用 CCmdUI 类的( A )成员函数。 A ) Enable B ) SetRadio C ) SetCheck D ) SetText 9.希望菜单前出现一个“V”,应该用 CCmdUI 类的(C )成员函数。 A ) Enable B ) SetRadio C ) SetCheck D ) SetText 10.下面(A )不是MFC 设备环境类CDC 类的派生类。 A ) GDI B ) CPaintDC C) CClientDC D) CWindowDC 11.在MFC 中,所有的文档类都派生于( C ),所有的视图类都派生于( A )。 A) CView B) CWindow C) CDocument D) CFormView

windows程序设计之扫雷游戏经典之作

WIN32模拟WINDOWS XP扫雷 程序 课程设计目的与要求: 本课程设计是计算机科学与技术专业重要的实践性环节之一,是对本程学习后进行的一次全面而综合的练习。本次课程设计的目的与任务主要有: 1.巩固和加深学生对C和C++语言的基本知识的理解与掌握。 2.掌握C和C++语言编程和调试的基本技能 3.运用C和C++语言对程序的简单设计 4.掌握程序设计说明文档的能力与技巧 5.提高与运用C和C++语言解决能实际问题的能力 一、题目描述: 自行分析Windows XP系统自带扫雷游戏,查找规则并对主要功能进行模仿程序实现,对于实现过程中出现的bug进 行调试解决。 二、使用语言: C和C++ 语言 选用C++语言的原因,简而言之主要是因为C++的设计目标,就是要让C++既具有适合于系统程序设计的C语言所具 有的可适应性和高效性,又能在其程序组织结构方面具有像其 他的语言所支持的程序优势。这即是说,C++所提供的抽象机 制能够被应用于那些对效率和可适应性具有极高要求的程序设 计任务之中。

三、编译以及运行环境: 编译环境:Microsoft Visual C++ 6.0 运行环境:Windows XP或其他兼容兼容系统 四、题目分析: 经过对游戏的初步分析,扫雷游戏含有如下规则: 根据输入的信息,执行相应的挖雷,插旗,疑问标记,自动蔓延开挖等。挖雷过程由计时器计时,由一个计数器统计插旗后雷的剩余个数。如果选择了标记功能,那么单机右键会依次对未知点进行插旗,标记,取消插旗与标记。如果点滴到插旗的如果点击到了未插旗子的雷区,如果是雷,则判定游戏失败,之后对雷区的点击进行屏蔽,不予响应。如果是疑问标记则像正常区域对待。如何判断胜利,如果所有的雷都被插旗或者点击后剩余的雷区, 五、程序运行流程简介以及流程图: 点击程序按默认参数进行初始化,输入,表情对鼠标左右键点击进行变化响应,对于雷区内点击进行规律响应,对雷区点击后果进行统计,判断失败与成功,失败或者成功之后,对于雷区内的输入也就是点击进行屏蔽,对菜单游戏级别、重新开始游戏按钮响应。级别选择,重新游戏时时间归零、雷数显示刷新。如此重复规则,直到点击退出。 程序简要流程图:

简答题题库(综合修订版)

简 答 题 1. 微波的频段范围是多少?300MHz~300GHz 2. 请写出L ,S ,X ,C ,Ku ,K ,Ka 波段中的任意两个频段范围。L 波段 1~2GHz ;S 波 段 2~4GHz ;C 波段 4~8GHz ;X 波段 8~12GHz ;Ku 波段 12~18GHz ;K 波段 18~26GHz ;Ka 波段 26~40GHz ;U 波段 40~60GHz ;V 波段 60~80GHz ;W 波段 80~100GHz. 3. 请写出时谐场中无源区的Maxwell 方程组。 4. 请写出时谐场中无源区电磁场各场量在介质-导体界面处的边界条件。 5. 1Np 等于多少dB ?1Np=10lge2=8.686dB 6. 请说明传输线上电压反射系数与电压驻波比SWR 的物理意义及其相互关系. 7. 请写出回波损耗与插入损耗的计算式。Γ-=log 20RL T IL log 20-= 8. 请依次写出反射系数、透射系数及驻波系数的取值范围。透射系数-11≤Γ≤-。透 射系数:0《T 《2.驻波系数:∞<≤ρ1 9. 微波技术中通常说的感性负载、容性负载指的是什么,在Smith 圆图上各自所在区 域在哪里?容性负载指电抗部分为负值,位于Smith 圆图的下半圆;感性负载指电抗部分为正值,位于Smith 圆图的上半圆。 10. 发射机的输出功率在何种情况下可达最大?(阻抗匹配,共轭匹配) 11. 有耗传输线与无耗传输线在传播常数上有何不同?低耗传输线与无耗传输线在传播

常数上有何不同?有耗传输线 12. 无失真传输线的条件是什么? 13. 如果介质的r j εεε'''=-,试写出其损耗正切角tan δ的表达式? 14. 对于TE 模而言,哪个场量必定为0? 在最早求解时,是求解哪个分量的何种方程? 15. 同轴线的主模是什么?其截止频率是多少? 16. 矩形波导的主模是什么?其截止频率是多少? 17. 圆形波导的主模是什么?其截止频率是多少? 18. 平行平板波导的主模是什么?其截止频率是多少? 19. 无限大自由空间中波阻抗的定义是什么? 20. 特性阻抗与波阻抗各自的物理意义是什么?遇到什么问题时,两者可以相互等效? 21. 介质损耗产生的原因是什么?导体损耗产生的原因又是什么? 22. 为使某一模式能在波导中传输,其工作波长与该模式截止波长的关系如何? 23. 导波结构(不填充介质)中波的群速与光速的关系如何? 24. 试写出第一类Bessel 函数和第二类Bessel 函数在自变量为0时的函数值。 25. 若同轴线的内、外导体半径分别为a 和b ,请写出TEM 波单模传输条件. 26. 同轴电缆的特性阻抗大部分情况下为多少?为什么取这个数值? 27. 接地介质片的主模是什么,截止频率是多少? 28. 接地介质片中,介质与其上自由空间中的场在传播特性上有何差别? 29. 请画出带状线(注意接地标志)及其场分布的简图。 30. 请画出微带线(注意接地标志)及其场分布的简图。 31. 微带线中的等效介电常数的物理意义是什么? 32. 微带线不能传输严格意义上的TEM 模,其原因是什么? 33. 横向谐振技术中谐振条件是什么? 34. 群速是什么速度?填充空气的矩形波导中的群速与光速大小关系如何? 35. 加脊波导的最大优势是什么? 36. 阻抗矩阵是描述哪两个物理量之间的关系? 37. 散射矩阵是描述哪两个物理量之间的关系? 38. ABCD 矩阵是描述哪两个物理量之间的关系? 39. 对于一个网络,如何求解其阻抗矩阵元素ij Z ?

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: lParam 5下列各消息中,与程序的菜单命令、工具栏按钮或对话框按钮相对应的消息是()。A: WM_CHAR B: WM_COMMAND C: WM_CREATE D: WM_PAINT 6 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: CMap 8 下列集合类中,其内部是使用散列表技术实现的MFC类的是()。 A: CArray B: CList C: CMap D: CPtrList 9 下列CWnd类成员函数中,用于任何消息的可覆盖函数是()。 A: OnCommand B: OnNotifyt C: OnUpdate D: WindowProc 10 Windows程序中,用于表示通用字符的数据类型是()。 A: char B: unsigned short C: TCHAR D: unsigned char 11 下列数据类型中,表示设备上下文句柄的数据类型是()。 A: HWND B: HDC C: HMENU D: HPEN 12 下列各个窗口类中,表示各种视图类的基类的MFC类是()。 A: CScrollView B: CTextView C: CRichEditView D: CView 13 下列各种窗口对象中,对象最好在栈(Stack)中分配MFC窗口类是()。 A: CToolBar B: CView C: CWnd D: CFrameWnd 14下列各宏命令中,应该放在类实现中以支持序列化特性的宏命令是()。 A: IMPLEMENT_DYNAMIC(class_Name) B: IMPLEMENT_DYNCREATE(class_Name) C: IMPLEMENT_SERIAL(class_Name) D: IMPLEMENT_MESSAGE_MAP() 15 CRuntimeClass类的操作中,用于从类名字符串获得该类CRunTimeClass对象指针的方法为()。

Windows程序设计题(含简答题答案)

《Windows程序设计》模拟题 一.单项选择题 1、在VC++中,项目文件得扩展名就是(B)。 A)exe????B)dsp C)dsw???D)cpp 2、在MFC中,利用ClassWizard不能(D)。 A)建立新类??B)进行消息映射 C)增加类得成员变量?D)插入资源 3、当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。 A)WM_CHAR??B)WM_HSCROLL C)W M_VSCROLL???D)WM_CHANGE 4、更新菜单状态得消息就是(C )。 A)WM_MANDB)UPDATE C)UPDATE_MAND_UI D)INVALIDATE 5、对于消息队列描述正确得就是(D) A)在Windows中只有一个消息系统,即系统消息队列。消息队列就是一个系统定义得 数据结构,用于临时存储消息。 B)系统可从消息队列将信息直接发给窗口。另外,每个正在Windows下运行得应用程序都有自己得消息队列。 C)系统消息队列中得每个消息最终都要被USER模块传送到应用程序得消息队列中去。 应用程序得消息对列中存储了程序得所有窗口得全部消息. D)以上都正确 6、在MFC中,所有得控件都就是(B)类得派生类,都可以作为一个特殊得窗口来处理。 A)CView??B)CWnd C)C Window???D)CDialog 7、使用GetDC()获取得设备上下文在退出时,必须调用(A)释放设备上下文. A)ReleaseDC()???B)delete() C)D eleteDC()???D)Detach() 8、希望菜单无效,应该用CCmdUI类得(A )成员函数。 ???B)SetRadio A)Enable?? ? C)SetCheck???D)SetText 9、希望菜单前出现一个“√",应该用CCmdUI类得(C)成员函数. A)Enable ???B)SetRadio C)SetCheck??D)SetText 10、下面(A)不就是MFC设备环境类CDC类得派生类. A)GDI ????B)CPaintDC C)CClientDC ??D)CWindowDC 11、在MFC中,所有得文档类都派生于(C),所有得视图类都派生于(A )。 A)CView B)CWindowC)CDocumentD)CFormView 12、采用C++进行绘图时,(B)用于指定图形得填充样式,(A)用于指定图形得边框样式.

windows程序设计学习笔记(一)

Windows程序设计学习笔记 2015年10月4日 一、宽字符wide-character 1、wchar_t: char的双字节(Unicode) 定义:typedef unsigned short wchar_t 示例:wchar_t c=’A’; wchar_t *pw=L”hello!”; //L(代表long)告诉编译器按宽字符保存,即每个字符占两个字节 wchar_t a[]=L”hello!”; 2、宽字符库函数 wcslen( ):计算宽字串符的长度 如:wchar_t *pw=L”hello!”; iLength=wcslen(pw); //字符串长度是6 二、windows头文件类型 1、CHAR和WCHAR typedef char CHAR; //8位 typedef wchar_t WCHAR; //16位变量前面可加wc以说明是一个宽字符 2、字符串指针 (1)8位字符串指针 tpyedef CHAR *PCHAR, *LPCH, *PCH, *NPSTR, *LPSTR, *PSTR; tpyedef CONST CHAR *LPCCH, *PCCH, *LPCSTR, *PCSTR; 前缀N和L表示“near”和“long”,指的是16位windows中两种大小不同的指针,在Win32中near和long指针没有区别 (2)16位字符串指针 tpyedef WCHAR *PWCHAR, *LPWCH, *PWCH, *NWPSTR, *LPWSTR, *PWSTR; tpyedef CONST WCHAR *LPCWCH, *PCWCH, *LPCWSTR, *PCWSTR; 3、WINAPI 定义:#define WINPAI _stdcall 该语句指定了一个调用约定,包括如何生成机器代码以在堆栈中放置函数调用的参数三、Hello程序 /*------------------------------------- HELLO.C--windows下显示Hello,world! 作者:lw 时间:2015年国庆 -------------------------------------*/ #include LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = TEXT("HelloWin"); HWND hwnd; MSG msg; WNDCLASS wndclass; wndclass.style = CS_HREDRAW | CS_VREDRAW; wndclass.lpfnWndProc = WndProc;

单片机考试常见试题简答题-整理版

简答题部分 1、什么叫堆栈? 2、进位和溢出? 3、在单片机中,片内ROM的配置有几种形式?各有什么特点? 4、什么是单片机的机器周期、状态周期、振荡周期和指令周期?它们之间是什么关系? 5、MCS-51单片机通常内部包含哪些主要逻辑功能部件? 6、MCS-51单片机的存储器从物理结构上可划分几个空间? 7、存储器中有几个保留特殊功能的单元用做入口地址?分别作什么作用? 8、MCS-51单片机片内256B的数据存储器可分为几个区?分别起什么作用? 8、MCS-51单片机的P0~P3四个I/O端口在结构上有何异同?使用时应注意的事项? 9、存储器空间在物理结构上可划分为几个部分? 10、开机复位后,CPU使用是的哪组工作寄存器?它们的地址是什么?CPU如何确定和改变当前工作寄存器组? 11、MCS-51的时钟周期、机器周期、指令周期的如何分配的?当振荡频率为8MHz时,一个单片机时钟周期为多少微秒? 12、程序状态存储器PSW的作用是什么?常用状态标志有哪几位?作用是什么? 13、EA/VPP引脚有何功用?8031的引脚应如何处理?为什么? 14、单片机有哪几个特殊功能寄存器?各在单片机的哪些功能部件中? 15、什么是指令?什么是程序?简述程序在计算机中的执行过程。 16、什么叫寻址方式?MCS51有几种寻址方式? 17、SJMP(短转移)指令和AJMP(绝对转移)指令的主要区别。 18、中断服务子程序与普通子程序有哪些异同之处? 19、MCS-51响应中断的条件是什么?CPU响应中断后,CPU要进行哪些操作?不同的中断源的中断入口地址是什么? 20、单片机对中断优先级的处理原则是什么? 21、MCS-51的外部中断有哪两种触发方式?他们对触发脉冲或电平有什么要求? 22、什么是中断和中断系统?其主要功能是什么? 23、MCS-51有哪些中断源? 24、说明外部中断请求的查询和响应过程 25、MCS-51响应中断的条件?。 26、简述MCS-51单片机的中断响应过程。 27、在执行某一中断源的中断服务程序时,如果有新的中断请求出现,试问在什么情况下可响应新的中断请求?在什么情况下不能响应新的中断请求? 28、MCS-51单片机外部中断源有几种触发中断请求的方法?如何实现中断请求? 29、什么是中断优先级?中断优先级处理的原则是什么?

数字信号处理简答题整理

数字信号处理(简答题) 1、在A/D 变换之前和D/A 变换之后都要让信号通过一个低通滤波器,它们分别起什 么作用? 答:在A/D 变化之前让信号通过一个低通滤波器,是为了限制信号的最高频率,使其满足当采样频率一定时,采样频率应大于等于信号最高频率2倍的条件。此滤波器亦称位“抗折叠”滤波器。 在D/A 变换之后都要让信号通过一个低通滤波器,是为了滤除高频延拓谱,以便把抽样保持的阶梯形输出波平滑化,故友称之为“平滑”滤波器。 2.何谓最小相位系统?最小相位系统的系统函数)(min Z H 有何特点? 解:一个有理系统函数,如果它的零点和极点都位于单位圆内,则有最小相位。一个稳定的因果线性移不变系统,其系统函数可表示成有理方程式 ∑∑=-=--== N k k k M r r r Z a Z b Z Q Z P Z H 1 01) () ()(,它的所有极点都应在单位圆内,即1 k α。但零点 可以位于Z 平面的任何地方。有些应用中,需要约束一个系统,使它的逆系统 ) (1 )(Z H Z G =也是稳定因果的。这就需要)(Z H 的零点也位于单位圆内,即1 r β。一 个稳定因果的滤波器,如果它的逆系统也是稳定因果的,则称这个系统是最小相位。 3.何谓全通系统?全通系统的系统函数 ) (Z H ap 有何特点? 解:一个稳定的因果全通系统,其系统函数)(Z H ap 对应的傅里叶变换幅值1)(=jw e H , 该单位幅值的约束条件要求一个有理系统函数方程式的零极点必须呈共轭倒数对出现,即 ∏∑∑=-* -=-=---=-= =N k k k N k k k M r r r ap Z Z Z a Z b Z Q Z P Z H 11 11 011) () ()(αα。因而,如果在k Z α=处有一个极点,则在其共轭倒数点*=k Z α1 处必须有一个零点。 4.在离散傅里叶变换中引起混迭效应的原因是什么?怎样才能减小这种效应? 解:因为为采样时没有满足采样定理 减小这种效应的方法:采样时满足采样定理,采样前进行滤波,滤去高于折叠频率2s f 的频率成分。 5.试说明离散傅里叶变换与Z 变换之间的关系。 解:离散傅立叶变换是Z 变换在单位圆上的等间隔采样。

Windows程序设计题(含简答题标准答案)

《Windows程序设计》模拟题 一.单项选择题 1. 在VC++中,项目文件的扩展名是(B)。 A)exe ????B)dsp C)d sw?????D)cpp 2.在MFC中,利用ClassWizard不能(D )。 A)建立新类?????B)进行消息映射 C)增加类的成员变量?D)插入资源 3. 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。 A)WM_CHAR ?B)WM_HSCROLL C)WM_VSCROLL???D)WM_CHANGE 4. 更新菜单状态的消息是(C)。 A)WM_COMMANDB)UPDATE C)UPDATE_COMMAND_UI D)INVALIDATE 5.对于消息队列描述正确的是( D ) A)在Windows中只有一个消息系统,即系统消息队列。消息队列是一个系统定义的数据结构,用于临时存储消息。 B)系统可从消息队列将信息直接发给窗口。另外,每个正在Windows下运行的应用程 序都有自己的消息队列。 C)系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。应用程序的消息对列中存储了程序的所有窗口的全部消息。 D)以上都正确 6. 在MFC中,所有的控件都是(B )类的派生类,都可以作为一个特殊的窗口来处理。 ?B)CWnd A)CView ??? C)C Window ???D)CDialog 7.使用GetDC()获取的设备上下文在退出时,必须调用(A)释放设备上下文。 A)ReleaseDC()???B)delete() C)D eleteDC() ?D)Detach() 8. 希望菜单无效,应该用CCmdUI类的(A )成员函数。 A)Enable ???B)SetRadio C)S etCheck ??D)SetText 9. 希望菜单前出现一个“√”,应该用CCmdUI类的(C)成员函数。 A)Enable??B)SetRadio C)SetCheck????D)SetText 10. 下面(A)不是MFC设备环境类CDC类的派生类。 A)GDI??????B)CPaintDC C)C ClientDC ???D)CWindowDC 11. 在MFC中,所有的文档类都派生于(C),所有的视图类都派生于(A )。 A)CViewB)CWindowC)CDocument D)CFormView 12. 采用C++进行绘图时,(B )用于指定图形的填充样式,(A)用于指定图形的边框样式。 A)画笔B)画刷C)区域D)位图

windows程序设计

消息驱动运行中发生的各种事件(鼠标键盘输入,各种状态的改变等),以消息的形式通知Windows系统Windows系统接收消息,提交给发生事件的应用程序应用程序的窗口处理函数负责处理响应收到的消息处理完成后继续等待下一个消息API application programming Interface SDK software Development kit 事件是用户对计算机操作的动作或程序中某个对象的状态发生的变化,每个事件对应一个消息,即每个事件发生的效果是产生消息消息是描述事件发生的信息事件驱动程序执行的顺序不是事先规定的,而是由事件的发生来控制在程序执行过程中,当某个对象的状态发生变化,或有外部输入等情况发生,则产生相应的事件当事件产生时,系统会发出特定的消息编写程序时可以对这些消息做出反应,也可以不做出;若要做出反应(即响应消息),则把响应此消息的程序写在与此消息相关联的函数中在程序执行时,一旦产生了一个消息,会调用与此消息相关联的函数窗口是Windows应用程序基本的操作单位,是应用程序与用户之间交互的接口,也是系统管理应用程序的基本单位消息传输事件发生,产生消息消息保存到消息队列分配给应用程序消息队列消息循环提取消息窗口函数响应消息MFC Microsoft foundation class MFC应用程序框架提供了一般应用程序需要的全部面向对象软件组件的集成集合MFC程序结构基于框架窗口的应用程序(早期的MFC)程序运行管理、窗口及数据管理分开两部分,与SDK程序类似基于文档/视图的应用程序单文档应用程序(重点)程序运行管理、窗口管理、交互管理、数据管理分开基于对话框的应用程序程序运行管理、对话框管理分开目前的MFC应用程序都采用文档/视图结构,把原来窗口框架类的工作分开窗口框架类管理窗框视图类(即视窗类)管理数据显示、接收用户输入文档类负责数据管理文档视图架构的思想数据嵌入文档中,利用文档的架构管理文档与视图通信,使数据在视图中显示视图显示数据,并与用户交互视图放入窗口中文档模板类对象管理上述对象协调工作CDocument是负责管理数据的类应用程序中的文档类是这个类的派生类作用数据管理程序员应将用户的实际数据对象内嵌在自己的文档类中需要与自己的视图类通信在程序中实现CDocument的派生类,以便嵌入数据对象,并改写成员函数实现对数据的处理用于派生应用程序的视图类CView 作用处理与用户的交互显示文档类中的数据接收用户输入(例如鼠标操作)通常要改写视图类的成员函数OnDraw或OnPrint,实现数据显示框架自动调用OnDraw函数WM_PAINT消息OnPaint()OnDraw() 菜单及响应利用菜单编辑器修改IDR_MAINFRAME 菜单资源在相应的类中为新菜单项映射消息COMMAND单击或用快捷键选中时生产UPDATE_COMMAND_UI上一级菜单显示前生产用于控制菜单状态编写新菜单项的消息处理函数快捷键在菜单项标题后面加“(&字母)”菜单动态为要添加的菜单项定义一个宏(例如ID_MENU1)用CWnd::GetMenu( )获得指向菜单条的指针(如果在子菜单上添加,应用CMenu::GetSubMenu()获得该菜单的指针)为菜单项手工映射消息处理函数在适当的地方调用InsertMenu或AppendMenu添加菜单项调用CWnd::DrawMenuBar()函数重画菜单动态删除菜单项与上面类似(使用DeleteMenu函数)动态创建菜单项用函数BOOL CreateMenu( );获得新菜单句柄,再用此句柄当作AppendMenu函数的第2个参数(需进行(UTIN)强制类型转换)通常用于创建弹出式菜单的顶级(不需映射消息)快捷菜单建立菜单如果菜单已经存在,且功能齐全,只需确定弹出方式即可也可以另加一个菜单资源,此法可使菜单条中不显示快捷菜单关联类(对于新加菜单)把此菜单资源关联到视图类上选中此菜单资源的情况下打开类向导,选视图类影射消息并编写消息处理函数选择弹出方式可在视图类的WM_CONTEXTMENU消息(鼠标右键单击客户区时产生)处理函数中弹出Windows系统有一个存放消息的队列每个应用程序也有一个消息队列Windows系统先将收到的消息存放在系统队列中,然后再分发到相应的应用程序队列中应用程序则从自身的队列中获取消息并进行处理类的消息响应一个类要响应多种消息对于每一种消息最重要的是知道是哪个消息:消息的标识(ID 身份证)这个消息对应的响应函数是什么(函数的起始地址)解决的办法建立一个结构体数组(消息映射表)一行(一个数组元素)是一个消息的信息每行至少包含消息的标识(ID)指向响应函数的指针消息的响应当收到消息后,根据消息ID在表中查找,找到后调用对应的消息处理函数消息路由当一个类收到消息后,先在自己的消息映射表中搜索,搜索到就执行相应的消息处理函数,然后结束消息处理过程未搜到,则到上一层基类中搜索,依此类推如果都未搜到,则交给系统默认的窗口处理函数去处理消息种类窗口消息命令消息控件通知消息实现消息映射消息映射的要点为每个要响应的消息建立一个处理函数为每个能够响应消息的类建立一个结构类型的数组(消息映射表)并填写这个数组编写每个消息处

大学计算机基础简答题汇总(题库)

第1章计算机与信息表示基础习题 四、简答题 1. 简述计算机的发展历程 答:(1)第一代:1946---1958年,电子管计算机; (2)第二代:1958---1964年,晶体管计算机; (3)第三代:1964---1971年,集成电路计算机; (4)第四代:1971----今天,大规模集成电路计算机。 2.什么是信息?什么是数据?二者有何关系? 答:(1)信息是人们按照预先的目的,通过各种不同的渠道、不同的角度观察,以反映客观事物状态和特征的某种概念或经过加工后的数据,是人们进行各种活动所需要的知识。 (2)数据是指存储在某一媒体上可加以鉴别的符号资料。 (3)它们的关系是:数据是载荷信息的物理符号;信息是人们消化理解了的数据,是对客观世界的认识。 3.简述在计算机中为什么常采用二进制数表示数据。 答:计算机采用二进制来存储数据和程序的原因有4个: (1)物理上容易实现。(2)运算规则非常简单。 (3)可靠性高。(4)易于实现逻辑运算和逻辑判断。 4.什么叫位、字节、字?各有什么特点? 答:位是计算机存储数据的最小单位,一个二进制位只能表示2种状态。字节是数据处理的基本单位,计算机的存储器以字节为单位存储信息,一个字节等于8个二进制位。计算机处理数据时,CPU通过数据总线一次存取、加工和传送的字节数称为字。一个字所包含的字节数取决于机器的字长,它反映了计算机数据处理的速度。 5. 简述计算机中信息组织的层次结构。 答:任何信息系统都有一个数据组织的层次结构。该层次结构从位、字符开始,进而形成数据元、记录、文件和数据库。(1)位是计算机存储数据的最小单位。(2)八个二进制位组成一个字节,可以表达一个字符(字母、数字或标点符号)。(3)一组字符可以表达一个单词(两个字节可以表示一个汉字),一组单词或一个汉字词组可以形成一个数据元。(4)将逻辑上相关的数据元组合在一起就形成一个记录。(5)文件是逻辑上相关的记录的集合。(6)数据库是一种作为计算机系统资源共享的一组相关数据的集合。一组相关的文件可以形成数据库 第2章计算机系统习题 四、简答题 1. 一个完整的计算机系统有哪些组成成分? 答:一个完整的计算机系统由硬件系统和软件系统所组成。硬件系统包括:控制器、运算器、存储器、输入设备和输出设备。软件系统由系统软件和应用软件所组成。 2. 存储器的分类是怎样的?各有哪些特点? 答:根据存储器在计算机系统中所起的作用,将存储器分为内存储器、外存储器和高速缓冲存储器。 (1)内存用来存放将要执行的程序和需要用到的数据。内存要与计算机的各个部件打交道,进行信息的传送。内存又分为RAM随机存取存储器和ROM只读存储器。通常内存指的是RAM。RAM具有两个特性:可读写和易失性。ROM与RAM相比,也有两个特性:只能读不能写和非易失性。

Windows程序设计案例教程习题解答

《Windows程序设计案例教程》习题解答 第1章 1.1 选择题 https://www.wendangku.net/doc/6013515633.html, Framework是一种( )。 A、编程语言 B、程序运行平台 C、操作系统 D、数据库管理系统 2.用Visual https://www.wendangku.net/doc/6013515633.html,编写的程序被编译成中间语言(MSIL)后,运行时还要再一次被编译,这种编译被称为( )。 A、CLR B、JIT C、GC D、GDI https://www.wendangku.net/doc/6013515633.html,ing namespace的作用是表示( )。 A、引入名字空间 B、使用数据库 C、使用一个文件 D、使用一段程序 4.要使程序运行,需要按( )键。 A、F5 B、Ctrl+F5 C、F10 D、F11 5.C#中的数据类型有( )和( )两种。 A.值类型B.调用类型C.引用类型D.关系类型 6.以下运算符中,()是三目运算符。 A.?:B.――C.=D.<= 7.下列不能为类的成员的是()。 A、属性 B、方法 C、索引器 D、接口 8.下列哪一个不是类的成员的访问修饰符() A、private B、base C、public D、protected 9. 调用构造函数创建对象时,通常使用( )关键字。 A.typeof B.new C.as D.is 10.关键字virtual只能用来修饰类的()成员。 A.字段 B.方法 C.属性 D.常量 11.用()关键字定义的方法,属于整个类而不属于类的某一个具体实例。 A.public B.static C.protected D.private 12.在属性的访问声明中,对属性的读操作用( )关键字标出,表明属性的值是只读的,不能改写。 A.set B.get C.private D.public 13.声明了一个数组Array[13],则Array[3]表示第( )个元素。 A.3 B.4 C.5 D.无法知道 14.在C#中,多继承通过( )来实现 A.属性 B.接口 C.索引器 D.方法 15.采用异常处理格式编写程序的目的在于使程序( )。 A.不会引发异常 B.顺利通过编译 C. 减少异常 D. 在出现异常后能够得到处理 16.窗体的标题条显示的标题由窗体的( )属性决定。 A、BackColor B、Text C、ForeColor D、Opacity 17.关闭窗体需要调用窗体( )方法。 A、Show B、Hide C、Activate D、Close 18.对文本文件写进一行,需要调用StreamWriter实例的()方法。 A.Write B.WriteLine C.Flush D.Close

国开(河南电大)行管专科《领导科学基础》期末考试简答题题库(排序版)

国开(河南电大)行管专科《领导科学基础》期末考试简答题题库(排序版) (电大期末纸质考试必备资料) 说明:1.资料整理于2020年7月5日,适用于国开河南电大行政管理专科学员期末纸质考试用; 2.资料包含2019年1月至2020年7月国开河南电大期末考试的试题及答案。 对于企业或组织,团队的作用有哪些?[补充资料] 答:(1)提升组织的运行效率,提高组织业绩。 (2)增强组织的民主气氛。 (3)取长补短,应对多方挑战。 (4)具有更强的环境适应性。 何谓领导沟通?领导沟通有哪些作用?[2019年7月试题] 答:(1)领导沟通是指领导活动群体中人与人之间信息的传递和交换过程,既包括领导者与被领导者之间、领导者与领导者之间也包括被领导者与被领导者之间的信息交流。 (2)沟通在领导工作中具有以下几方面的重要作用: 领导沟通是联系和协调各要素的凝聚剂; 沟通是领导者激励下属、提高员工满意度的基本途径; 领导沟通是组织控制的有效保证。 简述领导环境对领导活动的影响。[2019年1月试题] 答:(1)领导环境为领导活动的开展提供资源; (2)领导环境为领导关系的形成提供框架; (3)领导环境为领导成效的实现提供保障; (4)领导环境为领导者提供发展的舞台; (5)领导环境的变化促使领导变革的产生。 简述领导效能的含义及作用。[2019年1月试题] 答:领导效能是指领导活动及其构成要素自身所蕴藏的有效能力,以及这些有效功能在对领导活动发挥有利作用时所获取的有效成果或成效。 (1)领导效能是领导活动的起点和归宿; (2)领导效能是推动领导活动的动力; (3)领导效能是衡量领导活动成败的重要尺度; (4)领导效能是考核领导者的客观依据。 领导变革包括哪些程序?[补充资料] 答:领导变革是一个复杂的程序,从环境扫描分析、信息的处理到形成变革方案、变革实施和反馈与控制,领导变革程序构成一个不断修正的循环系统。 (1)环境扫描和分析。 (2)信息的处理。 (3)形成领导变革方案。 (4)实施领导变革。 (5)领导变革的反馈与控制。 领导变革是一个复杂的程序,如何实现领导变革?[2019年1月试题] 答:(1)环境扫描和分析; (2)信息的处理; (3)形成领导变革方案; (4)实施领导变革; (5)领导变革的反馈与控制。 领导沟通渠道主要包括哪几种类型,各类型有何优劣?[补充资料] 答:(一)正式沟通渠道网络主要包括链式网络、轮式网络和全通道式网络三种。 (1)链式网络严格遵循正式的领导命令系统,信息按高低层次逐级传递,信息可以自上而下或自下而上地交流。该渠道的最大优点是信息传递速度快,适用于领导结构庞大、实行分层授权控制的信息传 1

Windows程序设计复习资料(完整答案)

一、单项选择题: 1.WinMain()函数的工作。 WinMain()函数是Windows程序的入口点 在WinMain中进行:注册窗体类、建立窗体、显示窗体、更新窗体、建立消息循环2.非MFC的Windows程序中,不是处理WM_PAINT消息的时候怎样获得客户区的设备环境句柄。 BeginPaint ----------EndPaint GetDC---------------ReleaseDC(成对出现) 利用GetDC()函数获取设备环境句柄 3.句柄的含义。 句柄是一个(通常为32位的)无符号整数(unsigned int),它代表一个内核对象内核对象在应用层的表示 4.在MM_TEXT映射模式下,什么情况下客户坐标和逻辑坐标可能不同。 当窗口客户区有滚动条时客户坐标和逻辑坐标可能不同 5.Windows程序的控制流程。 Windows程序没有固定的控制流程,事件驱动程序控制流程 6.事件驱动、消息驱动的概念。 事件驱动程序设计是一种全新的程序设计方法,它不是由事件的顺序来控制,而是由事件的发生来控制,而这种事件的发生是随机的、不确定的,并没有预定的顺序,这样就允许程序的的用户用各种合理的顺序来安排程序的流程。 消息是事件到达Windows内部后的称呼 7.对话框、控件的作用。 对话框是程序与用户之间进行交互,接收用户输入、并把数据显示出来的一个窗口; 控件是用户可与之交互以输入或操作数据的对象。控件通常出现在对话框中或工具栏上。 8.MFC中怎样处理WM_PAINT消息。 在OnDraw()函数中处理该消息 9.GetMessage()函数在什么情况下返回0,从而导致消息循环终止,程序结束。 在接收到WM_QUIT消息时返回0 10.Windows中,应用程序的输出是怎样进行的。 通过设备描述表DC(Device Context)来进行应用程序与物理设备之间的交互11.MFC中,大多数类的基类都是什么。 CObject类 12.一个MFC应用程序必须有且只能有一个从哪个类派生的全局应用程序对象,此对象在运行时刻控制应用程序中所有其他对象的活动。 CWinApp类 13.每次当窗口客户区需要重新绘制时,应用程序框架怎么处理。 发送WM_PAINT消息,调用OnDraw()函数进行重绘 14.CDC类的作用。 CDC是设备描述表类的基类,除了一般的窗口显示外,还用于基于桌面的全屏幕绘制和非屏幕显示的打印机输出。 15.当程序中某个函数改变了数据而需要重新绘制客户区时,OnDraw()函数不会被自动调

大连海事大学C语言与Windows程序设计6道课后题答案

大连海事大学C语言与Windows程序设计6道课后题答案 1.(1)设计具有以下功能的程序:从键盘上输入10个非负整数,统计并输出最大数和最小数,当输入负数时结束输入。 #include void main() { int a, max=-1, min=32767,num=1; cout<<"Please input a number:"<>a; if(a<0) break; //输入负数结束输入 if(a>max) max =a; if(a=0&&num<=10); if(max>=0) cout<<"Max="< void main() { inti,n,sign=1; float sum=0.0; printf("请输入n:"); scanf("%d",&n); for(i=1;i<=n;i+=2) { sum+=sign*(1.0/i); sign=-sign; } printf("\nsum=%f\n",sum); }

2.设计具有以下功能的程序:从键盘输入10个整数,然后排序。(要求:利用函数调用实现并以数组作为函数的参数) 3.编写几何点(二维平面上)的类Point,包括位置属性(二维坐标x,y), 成员函数包括: 点的位置获取函数GetX()和GetY(), 点的位置设置函数SetX()和SetY(), 点的位置移动函数MoveTo() 点的信息打印函数Display()。 void main() { Point p(100,100); p.Display(); p.MoveTo(200,200); cout<<"after moving…"<

Windows程序设计题

《Windows程序设计》模拟题 一.单项选择题 1. 在VC++中,项目文件的扩展名是(B)。 A)exe B)dsp C)dsw D)cpp 2. 在MFC中,利用ClassWizard不能(D)。 A)建立新类B)进行消息映射 C)增加类的成员变量D)插入资源 3. 当滑块滑动时,滑块条控件将发送滚动消息来通知父窗口,垂直滑动条发送(C)消息。 A)WM_CHAR B)WM_HSCROLL C)WM_VSCROLL D)WM_CHANGE 4. 更新菜单状态的消息是( C )。 A)WM_COMMAND B)UPDATE C)UPDATE_COMMAND_UI D)INVALIDATE 5. 对于消息队列描述正确的是( D ) A)在Windows中只有一个消息系统,即系统消息队列。消息队列是一个系统定义的数据结构,用于临时存储消息。 B)系统可从消息队列将信息直接发给窗口。另外,每个正在Windows下运行的应用程序都有自己的消息队列。 C)系统消息队列中的每个消息最终都要被USER模块传送到应用程序的消息队列中去。 应用程序的消息对列中存储了程序的所有窗口的全部消息。 D)以上都正确 6. 在MFC中,所有的控件都是(B)类的派生类,都可以作为一个特殊的窗口来处理。 A)CView B)CWnd C)CWindow D)CDialog 7. 使用GetDC()获取的设备上下文在退出时,必须调用(A)释放设备上下文。 A)ReleaseDC() B)delete() C)DeleteDC() D)Detach() 8. 希望菜单无效,应该用CCmdUI类的(A)成员函数。 A)Enable B)SetRadio C)SetCheck D)SetText 9. 希望菜单前出现一个“√”,应该用CCmdUI类的(C)成员函数。 A)Enable B)SetRadio C)SetCheck D)SetText 10. 下面(A)不是MFC设备环境类CDC类的派生类。 A)GDI B)CPaintDC C)CClientDC D)CWindowDC 11. 在MFC中,所有的文档类都派生于(C),所有的视图类都派生于(A)。 A)CView B)CWindow C)CDocument D)CFormView 12. 采用C++进行绘图时,(B)用于指定图形的填充样式,(A)用于指定图形的边框样式。

相关文档
相关文档 最新文档