windows编程测试题含答案.docx
《windows编程测试题含答案.docx》由会员分享,可在线阅读,更多相关《windows编程测试题含答案.docx(19页珍藏版)》请在冰豆网上搜索。
![windows编程测试题含答案.docx](https://file1.bdocx.com/fileroot1/2023-7/23/8a07be9c-98a9-44e0-8def-29844657d78f/8a07be9c-98a9-44e0-8def-29844657d78f1.gif)
windows编程测试题含答案
一.单选题1.在Windows编程约定中,应用程序接口的英文缩写是(A)。
A.APIB.SDIC.GDID.MDI2.在Windows编程约定中,软件开发包的英文缩写是(C)。
A.APIB.SDIC.SDKD.MDI3.在Windows编程约定中,图像设备接口的英文缩写是(C)。
A.APIB.SDIC.GDID.MDI4.以下对应于unsignedlong的数据类型为:
(B)A.WORDB.DWORDC.INTD.BYTE5.下列选项中,不属于匈牙利命名法属性部分的是(D)。
A.g_B.m_C.c_D.d_6.如果要严格按照匈牙利命名法命名1个全局窗口句柄,以下变量命名正确的是(A)。
A.g_hWndB.m_hWndC.g_pWndD.m_pWnd
7.下列Windows数据格式中,代表设备句柄的是(B)。
A.HWNDB.HDCC.HINSTANCED.HFONT8."在一个窗口的正常运行的Windows程序中,把主窗口创建语句做如下改动:
hWnd=CreateWindow(NULL,szTitle,WS_OVERLAPPEDWINDOW,i.CW_USEDEFAULT,0,CW_USEDEFAULT,0,NULL,NULL,ii.hInstance,NULL);则下列说法正确的是(C)。
"B.程序仍然正常运行,与改动前相比没有变化C.程序出现编译错误D.程序编译通过,但没有窗口显示E.程序正常运行,窗口标题变为NULL9.典型的Windows窗口程序的流程为:
(A)A.注册窗口类->创建窗口->显示窗口->更新窗口->消息循环B.创建窗口->注册窗口类->显示窗口->更新窗口->消息循环C.创建窗口->注册窗口类->显示窗口->更新窗口->消息循环D.注册窗口类->创建窗口->更新窗口->显示窗口->消息循环10.菜单编辑器中,如果要设置某个项为分隔线,那么这个项的哪个属性为true。
(D)A.VisibleB.GrayedC.EnableD.Separator11.在Windows消息机制中,菜单消息类型是:
(B)A.WM_PAINTB.WM_COMMANDC.WM_CREATED.WM_CLOSE
12.在Windows编程中,代表键盘的"↑"键的虚拟键值是(A)。
A.VK_UPB.WM_KEYDOWNC.WM_KEYUPD.VK_DOWN13.在Windows编程中,响应键盘按键按下消息的Windows消息是(B)。
A.VK_UPB.WM_KEYDOWNC.WM_KEYUPD.VK_DOWN14.在Windows编程中,按下键盘的"A"键后,返回的Windows消息是(B)。
A.VK_AB.WM_KEYDOWNC.AD.DIK_A15.在Windows编程中,按下鼠标左键产生的Windows消息是(B)。
A.WM_KEYDOWNB.WM_LBUTTONDOWNC.WM_LEFTD.WM_RBUTTONDOWN16.在Windows编程中,标准鼠标的按键数是(C)。
A.1B.2C.3D.4
17.Windows编程中,定时器消息是(B)A.WM_TIMEB.WM_TIMERC.WM_ON_TIMED.WM_COMMAND18.GDI环境中,窗口的坐标系是如何构成的?
(D)A.左上角为原点,x轴正方向为水平向右,y轴正方向为竖直朝上B.中间为原点,x轴正方向为水平向右,y轴正方向为竖直朝上C.左下角为原点,x轴正方向为水平向右,y轴正方向为竖直朝下D.左上角为原点,x轴正方向为水平向右,y轴正方向为竖直向下19.以下选项中,GDI不能支持的是:
(B)A.位图B.Flash动画C.直线和曲线D.文字20.设备环境DC的全称为:
(B)A.DeviceContentB.DeviceContextsC.DeviceConfigD.DeviceConter21.InvalidateRect的作用是(B)A.删除一个矩形B.使一个矩行区域变为无效,从而可以重绘C.使一个矩形区域变为无效,从而释放部分GDI资源D.擦除一个矩形区域
22."已知窗口为缺省状态,有如下代码:
HDChdc=GetDC(hWnd);HPENhpen=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个红色的椭圆形,填充为红色,无边框23."已知有如下代码:
HDChDC=GetDC(hWnd);LineTo(hDC,100,100);则这段代码的执行效果是(A)。
"A.从窗口的左上角至坐标(100,100)绘制1条直线B.没有绘制任何图形C.从窗口的任意一点开始至坐标(100,100)绘制1条直线D.从鼠标在窗口的位置至坐标(100,100)绘制一条直线24.以下函数中不受画刷影响的函数是:
(C)A.RectangleB.EllipseC.LineToD.Polygon25.如果要创建一个宋体字体,那么字体描述中哪个属性为“宋体”?
(C)A.lfCharSetB.lfQualityC.lfFaceNameD.lfStrikeOut
26.在Windows编程约定中,位图句柄为(B)。
A.HGDIB.HBITMAPC.HDCD.HPEN27.下面哪个步骤能实现透明贴图(模板位图为单色的1位位图)?
(A)A.位图和背景像素作异或操作->使用模板位图作与操作->原位图与背景作异或操作B.使用模板位图作与操作->原位图与背景作异或操作->位图和背景像素作异或操作C.位图和背景像素作异或操作->原位图与背景作异或操作->使用模板位图作与操作D.位图与背景作异或操作->位图和背景像素作异或操作->使用模板位图作与操作28.在BitBlt函数中进行光栅化处理方式中,哪1个值说明是要进行或运算?
(D)A.SRCANDB.SRCCOPYC.SRCINVERTD.SRCPAINT29.关于用于透明贴图的透明色,下面说法正确的是(D)。
A.一定为白色B.一定为黑色C.只能是绿色D.可以是任意颜色,但不透明部分不应该包含该颜色。
30.进程最常见和最理想的结束方式为:
(A)A.主线程的入口函数返回B.进程中的一个线程调用ExitProcess函数C.另一个进程中的线程调用TerminateProcess函数D.进程中的所有线程自行终止运行31.线程正常结束的方式是:
(A)A.线程函数返回B.调用ExitThread函数C.TerminateThreadD.包含线程的进程终止运行
32.两个没有任何安全措施的线程同时对一个数作自增(++)运算,以下说法正确的是:
(D)A.自增(++)是原子操作,不会出现错误B.自增(++)是原子操作,但是两个加法先后顺序未知C.自增(++)不是原子操作,最后结果是加2D.自增(++)不是原子操作,最后结果不一定是233.以下选项中,能触发WaitForSingleObject返回的事件为?
(A)A.特定的内核对象变为已通知状态B.特定的内核对象变为未通知状态C.对象被锁定■对象解除锁定A34.创建互斥体的函数为:
(A)A.CreateMutexB.OpenMutexC.CreateEventD.CreateSemaphore35.SetWaitableTimer的参数lPeriod如果为正值,单位是什么?
(C)A.分钟(m)B.秒(s)C.毫秒(ms)D.纳秒(ns)36.定义动态链接库时,模块定义文件确定函数f的导出顺序,下列语法正确的是(A)。
A.f@1B.f1C.@f1D.@1f37.动态链接库文件的后缀名为(B)。
A.libB.dllC.exeD.obj
38.下列说法中,不属于动态链接库的显式链接的好处的是(C)。
A.程序可以随时加载动态链接库B.显式链接的动态链接库的函数地址发生变化时,程序不需要重新编译C.动态链接库如果出现错误,程序能够正常运行D.动态链接库的载入语句可以出现在程序的任意位置39.下列哪个缩写是微软提供的C++语言的帮助库?
(B)A.MFCB.MSDNC.APID.SDK40.在MFC类库中,CWnd类的基类是(A)。
A.CObjectB.HWNDC.CWindowD.CDialog41.下列关于MFC框架说法错误的是(D)。
A.MFC框架中,类按照层次结构组织起来B.MFC中,系统API被封装在类中C.MFC类库中包含了一些全局函数和变量D.所有的MFC框架中的类有1个共同的基类42.在下列的MFC类中,哪1个不是从CObject类派生的?
(A)A.CTimeB.CWndC.CViewD.CDialog43.在MFC中,最顶层的窗口一定属于哪个类或其子类的实例?
(B)A.CMenuB.CWndC.CView
D.CDialog44.在MFC框架中,CButton类的基类是(A)。
A.CWndB.CStaticC.CButtonD.CCheckBox45.在MFC编程中,如果要显示1个树型视图,那么适合选用的视图类是(B)。
A.CFormViewB.CTreeViewC.CRecordViewD.CListView46.在MFC类库中,代表整个窗口的设备上下文的类是(A)。
A.CWindowDCB.CClientDCC.CPaintDCD.CMetaFileDC47.在MFC编程中,应用对象派生自类(A)。
A.CWinAppB.CTheAppC.CMyAppD.Capplication48.下列几个MFC类中,不属于应用和线程支持类的是(C)。
A.CWinThreadB.CEventC.CWndD.CMuteX
49.关于文档-视图结构,以下说法错误的是(C)。
A.文档代表后台的数据B.视图是窗口的显示C.单文档界面(SDI)只能有1个视图D.多文档界面(MDI)可以有多个视图50.在MFC程序中,头文件的后缀是(A)。
A.hB.hhC.cD.cpp51.在MFC程序中,类的函数的定义通常被放在类文件中,文件后缀为:
(D)A.hB.hhC.cD.cpp52.在由MFCAppWizzard生成的MFC程序中,后缀名为sln的文件表示(C)。
A.头文件B.类文件C.解决方案文件D.资源文件53.下列哪个函数不是由CWinApp提供的函数?
(C)A.RunB.InitInstanceC.OnPaintD.OnIdle
54.在CWinApp类的关键函数中,负责消息循环的函数是(A)。
A.RunB.InitInstanceC.OnPaintD.WndProc55.在MFC编程中,资源的ID取值范围最小值为(B)。
A.0B.1C.32D.102456.下列关于控件消息通知码的前缀说法错误的是(C)。
A.BN表示是按键消息B.CB表示是组合框消息C.LB表示是大型按钮消息D.EN表示是编辑控件消息57.在MFC编程中,标准的窗口消息其前缀是(A)。
A.WMB.NMC.HMD.EN58.关于MFC消息的产生,以下说法错误的是(A)。
A.当鼠标在窗口缓慢移动时,会产生1个WM_MOVE消息B.当窗口被缩放后,会产生1个WM_SIZE消息C.鼠标单击控件,会产生1个控件通知消息D.程序启动时,也会产生MFC消息59.MFC的消息机制中,最初的消息接收者是(A)。
A.主框架窗口B.控件C.应用D.视图
60.在MFC消息机制中,1个单文档视图应用程序的消息处理优先级顺序是(A)。
A.视图、文档、主框架、应用程序B.文档、视图、主框架、应用程序C.应用程序、视图、文档、主框架D.主框架、视图、文档、应用程序61.下列哪个宏用于处理用户自定义消息?
(B)A.ON_COMMANDB.ON_MESSAGEC.ON_CONTROLD.ON_NOTIFY62.下列关于Windows消息机制,说法正确的是(C)。
A.具体的应用程序截获相应的消息,并进行处理B.窗口截获消息,并处理所有的消息C.窗口截获消息,按照消息类型进行传递,由具体的对象处理D.在Windows中,消息会传递到所有窗口63.下列哪个MFC中的宏与消息映射无关?
(A)A.DECLARE_DYNAMICB.ON_CONTROLC.ON_COMMAND_RANGED.ON_UPDATE_COMMAND_UI_RANGE64.在MFC中,定义消息映射架构的基类是(D)。
A.CWndB.CViewC.CWinAppD.CCmdTarget
65.在MFC中,标准消息宏ON_CONTROL参数中不包括。
(D)A.控件IDB.消息类型C.消息处理函数指针D.窗口句柄66.在菜单资源编辑界面中,选择菜单属性Separator为true,则该菜单项(A)。
A.不能提供命令,只有1个分割线B.在命令行下方添加1个分割线C.在命令行上方添加1个分割线D.外观没有变化67.在菜单资源编辑界面中,要为菜单添加子菜单,需要设置的属性是(C)。
A.SeparatorB.GrayedC.PopupD.Break68.在响应菜单的消息时,消息类型应该是(A)。
A.命令(COMMAND)消息B.UPDATE_COMMAND_UI消息C.WINDOWS消息D.KEYDOWN消息69.下列关于菜单消息响应,说法正确的是(C)。
A.一旦两个消息被设置了范围映射,则原有的消息映射函数会失去作用B.两个消息被设置了范围映射,原有的消息映射函数仍然有作用C.在设置范围映射时,如果参数表中第1个消息ID值大于最后一个消息的值(不为0),则消息不能被响应D.在设置范围映射时,如果参数表中第1个消息ID值大于最后一个消息的值(不为0),则只能响应第1个消息
70.要获取1个菜单的子菜单,应该选用的函数是(B)。
A.GetMenuB.GetSubMenuC.InsertMenuD.AppendMenu71."已知如下程序片断:
voidCMFCDemoView:
:
OnRButtonUp(UINTnFlags,CPointpoint){A.1ClientToScreen(point);B.2CMenumenu;C.3menu.LoadMenu(IDR_POPMENU);D.4menu.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN,point.x,point.y,this);}72.则4条编号的语句中有错误的是:
(A)A.1B.2C.3D.473.关于快捷键的设置,下列说法正确的是(C)。
A.只要在菜单的资源编辑菜单中添加了“&P”的标识符,就可以在程序运行中使用Ctrl+P的组合按键来调用菜单B.两个快捷键不能同时对应1个消息函数C.如果1个快捷键同时对应两个消息ID,则只有前1个起作用,能够正常运行D.如果1个快捷键同时对应两个消息ID,程序将不能正常运行74.关于工具栏,下列说法正确的是(B)。
A.工具栏中只能显示位图B.工具栏可以同时显示文字和位图C.工具栏中只能显示文字D.工具栏中的按钮可以显示文字,也可以显示位图,但不能同时显示
75.在按钮的Prompt属性中添加“绘制椭圆\n椭圆”,则鼠标停留在此按钮上,窗口中显示为(D)。
A.状态栏显示和鼠标提示都显示“绘制椭圆”B.状态栏显示和鼠标提示都显示“椭圆”C.状态栏显示“椭圆”,鼠标提示“绘制椭圆”D.状态栏显示“绘制椭圆”,鼠标提示“椭圆”77.则下列要设置“剪切”按钮的文字提示的语句正确的是(A)。
A.m_wndToolBar.SetButtonText(4,"剪切");B.m_wndToolBar.SetButtonText(3,"剪切");C.m_wndToolBar.SetButtonText(0,"剪切");D.m_wndToolBar.SetButtonText(1,"剪切");78.已知1个工具栏m_wndToolBar和1个Rebar:
m_wndReBar,则要添加该工具栏到ReBar中的语句正确的是(A)。
A.m_wndReBar.AddBar(&m_wndToolBar);B.m_wndReBar.AddBar(m_wndToolBar);C.m_wndReBar.AddBar(1,&m_wndToolBar);D.m_wndReBar.AddBar(0,&m_wndToolBar);79.关于对话栏,下列说法正确的是(B)。
A.对话栏的消息响应函数被添加在该对话栏的类中B.对话栏的消息响应函数被添加在主框架中C.对话栏(DialogBar)和ReBar都是工具栏(ToolBar)的派生类D.对话栏不能任意停靠80.关于状态栏,下列说法正确的是(A)。
A.使用AppWizzard创建MFC应用程序时,可以创建默认的状态栏B.状态栏中只能显示系统定义好的几种有限的信息C.状态栏中只能显示1种信息D.状态栏不是1种窗口
81.标识符ID_SEPARATOR的含义是(A)。
A.没有任何字符串与这个状态栏单元关联B.该状态栏单元只显示1个分隔符C.该状态栏单元只显示数字D.该状态栏单元只显示字符串82.自定义状态栏中,改变状态栏文字的函数是(B)。
A.SetTextB.SetPaneTextC.TextOutD.sprintf83.自定义状态栏中,要获取状态栏的风格,使用的系统函数是(A)。
A.GetPaneInfoB.GetPaneTextC.GetPaneD.CommandToIndex84.在对话框的编辑器中,表示控件左对齐的按钮是界面的第几个按钮(不计分隔栏)(A)。
■2A.3B.6C.785.在对话框的编辑器中,表示控件水平居中的按钮是界面的第几个按钮(不计分隔栏)(D)。
A.4B.5C.6D.7
86.在对话框的编辑器中,最左边的按键的作用是(B)。
A.激活对话框编辑功能B.测试对话框C.控件左对齐D.控件垂直居中87.在MFC类中,访问对话框的编辑框中的文本的函数是(C)。
A.GetTextB.GetItemC.GetDlgItemTextD.GetDlgText88.MFC框架中,用AppWizzard生成对话框模板框架,调整控件的位置的方式可以是(C)。
■只能在资源编辑器中编辑A.只能在对话框类中编辑代码B.既能在资源编辑器中,也能在对话框类中用MFC提供的函数修改C.使用应用程序对象进行编辑89.MFC编程中,有模式对话框的创建函数是(B)。
A.CreateB.DoModalC.CreateDialogD.Initilize90.下列创建有模式对话框的流程,哪一项是正确的?
(A)A.加载资源->CreateDlgIndirect->OnInitDialog->UpdateDataB.OnInitDialog->UpdateData->加载资源->CreateDlgIndirectC.加载资源->UpdateData->OnInitDialog->CreateDlgIndirectD.加载资源->OnInitDialog->CreateDlgIndirect->UpdateData91.在Windows操作系统中,最常见的系统错误提示对话框属于(A)。
A.有模式对话框B.无模式对话框C.通用对话框D.固定对话框
92.关于对话框运行机制,下列说法错误的是(B)。
A.对话框的初始化中,必须初始化父类对象B.在对话框的DoModal函数中,应该进行资源释放的操作C.有模式对话框中,直到对话框关闭后函数DoModal才返回D.对话框的OnInitDialog函数并没有消息映射体93.下列关于对话框中数据交换的说法正确的是(C)。
A.只能交换基本数据类型,不能交换类类型的数据B.可以交换任何C++中合法的数据类型C.可以交换基本数据类型和一些特定的类类型的数据D.可以对所有的数据的大小范围进行限制94.在MFC编程中,从对话框中取得数据的系统函数是(A)。
A.DoDataExchangeB.InitDialogC.CreateD.DoModal95.下列哪1种功能没有被封装为通用对话框?
(C)A.颜色选择B.字体选择C.时间选择D.打印设置96.关于颜色对话框,以下说法错误的是(C)。
A.颜色对话框是模式对话框B.颜色对话框的DoModal函数能够返回1个选择的颜色值C.颜色对话框设定颜色后,程序需要调用窗口重绘消息来更新颜色D.颜色对话框可以自定义颜色97.在创建了颜色对话框后,调用设定的颜色需要使用函数(A)。
A.GetColorB.OnColorOKC.SetCurrentColorD.etColor
98.在MFC中,设置颜色值为(255,255,255)表示(B)。
A.黑色B.白色C.红色D.蓝色99.关于文件对话框的系统函数,以下说法正确的是(D)。
A.文件对话框可以得到1个文件的数据B.文件对话框可以得到1个文件指针(FILE*)C.文件对话框可以得到文件的句柄(后缀)D.文件对话框可以得到文件名的字符串(CString)100.如果要1个文件对话框只能显示文件夹中的bmp文件,则建立对话框时应该设置的参数是(B)。
A.lpszFileNameB.lpszFilterC.lpszDefExtD.dwFlags101.关于文件对话框,以下说法正确的是(C)。
A.文件对话框只能打开单个文件B.文件对话框可以设置默认的打开文件C.文件对话框可以限制访问的文件类型D.文件对话框是无模式对话框102.关于查找和替换对话框,以下说法正确的是(D)。
A.查