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

  • 格式:doc
  • 大小:152.52 KB
  • 文档页数:17

第1页 《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 第2页

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) CObject 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() 第3页

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) HINSTANCE 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) Separator 37. 在Windows消息机制中,菜单消息类型是:( B ) A) WM_PAINT B) WM_COMMAND C) WM_CREATE D) WM_CLOSE 38. 在Windows编程中,代表键盘的"↑"键的虚拟键值是( A )。 A) VK_UP B) WM_KEYDOWN 第4页

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) Device 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) 没有绘制任何图形