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
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( )
20.在MFC中,(B)代表窗口客户区的显示设备上下文,( 上下
文。
A)CPaintDC B) CClientDC C) CWindowDC
21.对话框的功能被封装在(B)类中。
A)CWnd B) CDialog
C) CObject D ) CCmdTarget
22.( C)包括键盘和鼠标的输入。这一类消息首先放在系统消息队列中,然后由Win dows
将它们送入应用程序消息队列中,由程序来处理消息;(D)用来与 Windows的控制对象,如列表框、按钮、复选框等进行双向通信。当用户在列表框中改动当前选择或改变了复选框的状态时发出此类消息。
A )系统消息B)用户消息C)输入消息 D )控制消息
23.生成 1 个只具有确定和取消按钮的消息框,其参数为( C )。
A ) MB_OK B) MB_YESNO
C) MB_OKCANCEL D) MB_RETRYCANCEL
24.在Windows程序设计中如果加入了滚动条。设置滚动条的范围使用(C)函数,设置滚
动条的位置使用(巳函数,获得滚动块的当前位置使用( F )函数。
A) SetPos()
C) SetScrollRange() E)SetScrollPos () B ) SetRange()
D ) GetPos()
F)GetScrollPos()
D ) Detach()
C)代表整个窗口的显示设备
D) CMetaFileDC
G)GetScrollRange ()
25.消息循环的处理过程如下
(A)函数不断侦察应用程序的消息队列,若队列为空,该函数一直运行,不返回;-
发现队列不为空,便取出一条消息,把它拷贝到msg 结构变量中,同时该函数返回得到消息msg后,(B)把来自键盘的命令翻译成 WM_XXX 消息命令形式。( 知 Windows 把每个消息分发给相应的窗口函数。应用程序并不直接调用窗口函数,而由
Windows 根据消息去调用窗口函数,因此,窗口函数经常被称为回调函数。
A) GetMessage( ) B) translateMessage( )
D) SendMessage( ) E) DispatchMessage( )
26.如果要严格按照匈牙利命名法命名 1 个局部窗口句
柄,
A ) g_hWnd
B ) m_hWnd C) g_pWnd D )
27.在 Windows 编程约定中,应用程序接口的英文缩写是(
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 )。
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.菜单编辑器中,如果要设置某个项为分隔线,那么这个项的哪个属性为
A ) Visible
B ) Grayed
C ) Enable
D ) Separator
37.在 Windows 消息机制中,菜单消息类型是:( B )
C) WM_CREATE D) WM_CLOSE
38.在Windows编程中,代表键盘的” f "键的虚拟键值是(A )。
A ) VK_UP
B ) WM_KEYDOWN TRUE;函数通
C) PostMessage( )
以下变量命名正确的是
m_pWnd
A )。
B )。
A ) g_
B ) m_
C ) c_
32.如果要严格按照匈牙利命名法命名
A ) g_hWnd
B ) m_hWnd
C )
D ) d_
1 个全局窗口句柄,以下变量命名正确的是
g_pWnd D ) m_pWnd
A )。
true。
A ) WM_PAINT
B ) WM_COMMAND
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 ) 没有绘制任何图形C)从窗口的任意一点开始至坐标(100,100)绘制1条直线
D)从鼠标在窗口的位置至坐标(100, 100)绘制一条直线
50.以下函数中不受画刷影响的函数是:(C)
A)Rectangle B)Ellipse
C)LineTo D) Polygon
51.如果要创建一个宋体字体,那么字体描述中哪个属性为“宋体”?(C)
A)IfCharSet B)IfQuality
C)lfFaceNameD)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)窗口移动后部分区域由不可见变为可见
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 中得到