c考试题.docx
- 文档编号:15617443
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:30
- 大小:163.59KB
c考试题.docx
《c考试题.docx》由会员分享,可在线阅读,更多相关《c考试题.docx(30页珍藏版)》请在冰点文库上搜索。
c考试题
VC习题1
1.1下列对于WinMain函数的描述中,错误的是()。
A)WinMain函数的名称是固定的
B)WinMain函数是Windows程序的入口点
C)WinMain函数不能有参数
D)窗口函数与WinMain的关联是通过窗口类的注册实现的
1.2以下四个特性中哪一个不属于面向对象的三大特性()。
A)封装性B)多态性C)抽象性D)继承性
1.3下列关键字中哪一个不是用于类的访问控制的()。
A)publicB)friendC)privateD)protected
1.4下面四个MFC类中哪一个是管理MFC应用程序的()。
A)CWinAppB)CMainFrameC)CDocumentD)CView
1.5下列类中不属于MFC框架基本类的是()。
A)CWinAppB)CFrameWndC)CViewD)CObject
1.6传统的软件开发主要采用过程驱动的方法,而Windows程序的开发使用消息驱动模型,该模型靠事件机制来实现其功能。
1.7主框架类是应用程序中负责控制菜单、工具栏和状态栏等界面元素的最主要的类。
命令→视图类→文档类→文档模板类→框架窗口类→应用程序类
VC习题2
VC开发环境可以生成的基于MFCappwizard的应用程序类型有单文档/视图结构、多文档/视图结构和基本对话框。
2.1包含类定义的文件称为头文件,包含类中成员函数实现代码的文件称为源文件,包含资源信息的文件称为资源文件。
2.2ResourceView的主要功是编辑当前工程中的资源。
2.3应用程序向导的主要功能是帮助生产应用程序。
2.4类向导的主要功能是管理各个类中的消息。
2.5项目工作区窗口一般在开发环境的左侧,它包含工程的多个方面,分别是classview、fileview和resourceview。
2.6项目工作区文件的扩展名为.dsw。
VC习题3
3.1下列选项中哪一个不是命令消息的触发途径:
单击对话框中的按钮。
3.2Windows应用程序的消息来源主要包括输入消息、控制消息和系统消息、用户消息。
3.3发送消息可以采用的两个函数是postmessage和sendmessage。
3.4CCmdUI类的主要功能是主要用来更新命令用户接口的状态。
如子菜单。
工具栏上的按钮等。
3.5代码ON_UPDATE_COMMAND_UI(ID_TEST,OnUpdateTest)的功能是:
映射标记号ID为ID_TEST的CN_UPDATE_COMMAND_UI消息到OnUpdateTest函数上。
功能是:
将对ID_TEST的更新命令接口消息的处理映射到OnUpdateTest函数上。
VC习题4
4.1CString类的功能是处理字符串,其Format函数的功能是格式化字符串。
4.2CTime类的功能是处理日期时间,其Format函数的功能是将时间对象格式化为字符串。
4.3MessageBox函数的第一个参数表示消息文字,第二个参数表示标题文字,第三个参数表示图标与按钮组合。
VC习题5
5.1在Windows中,按下一个字符键,会依次触发WM_KEYDOWN、WM_CHAR和WM_KEYUP三个消息。
5.2当Windows窗口内部需要重新绘制时,会得到一个WMPAINT消息,当释放鼠标右键时,会得到一个WM_RBUTTONUP消息。
5.3WM_LBUTTONDOWN表示鼠标左键按下消息,WM_MOUSEMOVE表示鼠标移动消息。
5.4OnMouseMove(UINTnFlag,CPointpoint)消息处理函数中的point表示鼠标移动到的坐标位置。
5.5OnChar(UINTnChar,UINTnRepCnt,UINTnFlags)消息处理函数中的nChar表示当前按下的字符键。
VC习题6
6.1VisualC++提供的资源编辑器不能编辑下列哪个资源(C)。
A)菜单B)工具栏C)状态栏D)位图
6.2MFC应用程序框架为状态栏定义的静态数组indicators放在哪个文件中(A)。
A)MainFrm.cppB)MainFrm.hC)stdafx.cppD)stdafx.h
6.3deletemenu用来删除某个菜单项,如果被删除的菜单项有相关的弹出菜单,则该弹出菜单的句柄也要被删除并释放内存。
6.4appendmenu用来追加某个菜单项,trackpopupmenu用来在一个POINT结构所指定的位置显示一个上下文菜单。
6.5工具栏上的按钮能触发的消息command和update_command_ui。
6.6状态栏上的窗格可以分为信息行窗格和指示器窗格两类。
6.7getsubmenu可以得到指向某列菜单的指针。
6.8用户可以通过项目工作区窗口的资源视图来查看资源。
6.9在MFC中,工具栏的功能由CToolBar类实现。
6.10在MFC中,状态栏的功能由CStatusBar类实现。
VC习题7
7.1下列函数中,可以实现画圆功能的是()。
A)RectangleB)EllipseC)CircleD)Line
7.2CDC类为用户提供了下列四个文本输出函数,其中,能使输出的文本呈现一个多列列表格式的是()。
A)TextOutB)ExtTextOutC)TabbedTextOutD)DrawText
7.3下列类中哪一个不是GDI对象类()。
A)CPenB)CWndC)CBrushD)CRgn
7.4下面哪个不是CDC类的派生类()。
A)GDI类)CPaintDC类C)CClientDC类D)CWindowDC类
7.5CDC类中实现绘制矩形功能的函数是Rectangle,实现绘制椭圆功能的函数是Ellipse,改变文本颜色的函数是SetTextColor,改变文本背景颜色的函数是SetBkcolor,在指定位置显示字符串的函数是Textout。
7.6MFC绘图要素主要分为两大类,即设备场景和基本绘图工具。
7.7Windows引入图形设备接口的目的是屏蔽底层硬件的绘图细节,使编程更加容易。
7.8Windows用COLORREF类型的数据存放颜色,它采用3个参数表示红、绿、蓝三元基本色的分量值,这3个值的取值范围为0~255。
7.9创建画笔后,必须调用CDC类的成员函数SelectObject将新画笔选进当前的绘图环境。
VC习题8
8.1MFC中的CDialog类封装了对话框的显示、关闭等常用功能,其中,用来显示模态对话框的是函数()。
A)CreateWindowB)ShowWindowC)DoModalD)UpdateWindow
8.2对话框创建后,还没显示前就会触发()消息。
A)WM_PAINTB)WM_INITDIALOGC)WM_CREATED)WM_SIZE
8.3通用对话框中,属于非模态对话框的是()。
A)文件对话框B)颜色对话框C)打印对话框D)查找对话框
8.4要打开文件,应该使用哪个通用对话框()。
A)CFileDialogB)CColorDialogC)CPrintDialogD)CFontDialog
8.5通常将对话框的初始化工作放在下列哪个函数中进行()。
A)OnOKB)OnCancelC)OnInitDialogD)DoModal
8.6所有通用对话框都是由公共基类CCommonDialog派生出来的,CColorDialog实现了标准的颜色对话框。
8.7MFC中,与属性对话框相关的两个类是CPropertyPage和CPropertySheet。
VC习题9
9.1下列控件中不属于按钮的是()。
A)下压按钮B)列表框C)单选框D)复选框
9.2如果在输入时采用选择的方法进行,以下哪个控件不能实现()。
A)列表框控件B)单选按钮C)复选框D)编辑框
9.3下面对UpdateData函数的描述中错误的是()。
A)CWnd:
:
UpdateData函数实现对控件中数值的输入和读取
B)UpdateData只有一个为TRUE或FALSE的参数
C)当调用UpdateData(FALSE)时,数据由控件关联的变量向控件传输
D)当调用UpdateData(TRUE)时,数据由控件关联的变量向控件传输
9.4有两种方法可以创建静态文本控件,一种是使用资源编辑器添加,另一种是使用create函数动态创建。
9.5ShowWindow函数的功能是显示或隐藏窗口。
9.6使用滚动条控件一般要用到控件所在对话框类的WM_HSCROLL和WM_VSCROLL消息。
9.7判断一组单选按钮中哪一个被选中了,要应用GetCheckedRadioButton函数。
9.8GetScrollpos函数可以得到滚动条的滑块位置,SetScrollpos函数可以设置滚动条的滑块位置,Getpos可以得到滑动条的当前位置,Setpos函数可以设置滑动条的当前位置。
9.9滚动条有垂直滚动条和水平滚动条两种,它们触发的滚动消息分别是WM_VSCROLL和WM_HSCROLL。
9.10CListBox类中的InsertString函数可以为列表框插入一个新的字符串,ResetContent函数可以清空所有列表项内容。
9.11GetCheck函数可以得到单选框的选中状态。
9.12当程序需要与界面交换数据时,应该调用UpdataData函数。
VC习题10
10.1有两种类型的文档/视结构程序:
单文档应用程序和多文档应用程序。
10.2GetDocument是视图类的成员函数,调用它可以得到指向与之关联的文档对象的指针,文档的串行化在Serialize函数中进行。
10.3在程序的任何一个类中访问应用程序类的函数为AfxGetApp,在程序的任何一个类中访问框架窗口类的函数为AfxGetMainWnd()。
10.4基于单文档/视图结构的框架程序中包含的类有CWinApp、CFrameWnd、CDocument和CView。
VC习题11
11.1ODBC体系结构中不包括下列哪个组件()。
A)ODBC管理器B)数据源C)驱动程序管理器D)数据库管理系统DBMS
11.2记录集可以分为Dynaset(动态集)和Snapshot(快照)两种。
11.3MFC的ODBC类主要包括5个类,分别是CDatabase、CRecordset、CRecordView、CDBException和CFieldExchange。
11.4可以利用CRecordset类的AddNew函数添加一条新记录,利用CRecordset类的MoveFirst函数将记录指针移动到第一条记录上,利用CRecordset类的Update函数实现数据库记录的保存。
VC习题12
1、下列说法中错误的是(B)
A)一个windows应用程序通常有许多源代码文件以及菜单等资源文件,这些文件都将纳入应用程序的项目中,通过对项目工作区的操作,可以编辑这些文件。
项目工作区可以管理多个项目。
B)控制台应用程序是指那些需要与传统的dos操作系统保持兼容,同时又需要为用户提供完善界面的程序。
C)Stdafx.h是VisualC++为每个项目配置的用来预编译的文件。
D)Window总是要求每个应用程序都要有WinMain函数。
2、下列说法中错误的是(C)
A)在文档/视图结构中,视图可以看作一个窗口,能将文档的某个局部显示出来。
B)视图类的OnDraw函数是个非常有用的虚函数,当应用程序中的窗口状态或大小发生改变时,系统会调用此函数重新绘制文档窗口的客户区。
C)状态栏中的ID_SEPARATOR表示指示器窗格,是VisualC内部已经定义好的。
D)主框架是应用程序中负责创建和控制菜单、工具栏和状态栏等界面元素的最主要的类。
3、MFC中的CDialog类封装了用于对话框的显示、关闭等常用的功能函数,其中用于显示模式对话框的是(C)
a)CreateWindowb)ShowWindowc)DoModald)UpdateWindow
4、对话框创建后,还没显示前就会发出(B)消息
a)WM_PAINTb)WM_INITDIALOGc)WM_CREATEd)WM_SIZE
5、下列控件不属于按钮的是(A)
a)命令按钮b)组框c)单选框d)复选框
6、通用对话框中,属于非模式对话框的是(D)
a)文件对话框b)颜色对话框c)打印对话框d)查找对话框
7、下列函数中,能为状态栏第二个信息格设定文字的是(A)
a)SetPaneTextb)SetWindowTextc)SetPaneInfod)SetText
8、下列函数中,可以实现画圆功能的是(B)
a)Rectangelb)Ellipsec)Circled)Line
9、下列对UpdateData的描述错误的是(D)
a)CWnd:
:
UpdateData函数实现对控件中数值的输入和读取。
b)UpdateData只有一个为TRUE或FALSE的参数。
c)当调用UpdateData(FALSE)时,数据由控件关联的成员变量向控件传输。
d)当调用UpdateData(TRUE)时,数据由控件关联的成员变量向控件传输。
10、CDC为用户提供了下列四个输出文本的函数,其中能使输出的文本呈现一个多列列表格式的是(C)
a)TextOutb)ExtTextOutc)TabbedTextOutd)DrawText
简答题:
1、定义和使用消息映射表的步骤:
①在头文件的类声明中添加DECLARE_MESSAGE_MAP宏声明消息映射;
②在类的定义文件(.cpp)定义消息映射表,方法是在文件的开始处添加BEIGN_MESSAGE_MAP和END_MESSAGE_MAP这一对宏,在它们之间放置消息映射宏,定义并初始化消息映射表,在消息与处理消息的函数之间建立联系;
③在类的定义文件(.cpp)中添加消息处理函数。
所谓消息映射,简单地讲,就是让程序员指定要某个MFC类(有消息处理能力的类)处理某个消息。
MFC提供了工具ClassWizard来帮助实现消息映射,在处理消息的类中添加一些有关消息映射的内容和处理消息的成员函数。
程序员将完成消息处理函数,实现所希望的消息处理能力。
如果派生类要覆盖基类的消息处理函数,就用ClassWizard在派生类中添加一个消息映射条目,用同样的原型定义一个函数,然后实现该函数。
这个函数覆盖派生类的任何基类的同名处理函数。
2、创建一个完整的窗口需要经过下面四个操作步骤:
●设计一个窗口类;
●注册窗口类;
●创建窗口;
●显示及更新窗口。
3、什么是模态对话框?
所谓“模态对话框”是指对话框被弹出后用户必须在对话框中作出相应的操作;在退出对话框之前,会阻止其他应用程序的运行(包括它所在的应用程序)。
4、什么是非模态对话框?
所谓“非模态对话框”是指当对话框被弹出后,将一直保留在屏幕上,但不影响其他应用程序的运行,用户可以继续在对话框所在的应用程序中进行其他操作;当需要使用对话框时,只需像激活一般窗口一样单击对话框所在的区域即可。
例如在MicrosoftWord中的“查找”和“替换”对话框。
5、文档/视图结构的工作机制
●视图通过GetDocument成员函数获得指向相关联的文档对象的指针
●通过该指针调用文档类的成员函数来从文档中读取数据
●视图把数据显示于计算机屏幕上
●用户通过与视图的交互来查看数据并对数据进行修改
●视图通过相关联的文档类的成员函数将经过修改的数据传递给文档对象
●文档对象获得修改过的数据之后,对其进行必要的修改,最后保存到永久介质(如磁盘文件)中
6、从CDocument类派生新的文档类的一般过程如下:
●为每一个文档类型从CDocument类派生一个相应的文档类。
●为文档类添加成员变量,这些变量主要用来保存文档的数据,并使其它的对象(如视图对象)可以访问这些成员变量,从而实现文档和视图的相互搭配使用。
●重载Serialize成员函数,实现文档数据的串行化。
7、使用串行化的好处:
是不需要重载文件打开、文件保存之类的方法,MFC框架会自动完成这些任务,并自动调用文档类的Serialize方法来完成串行化过程。
如果文档的抽象数据只有一个字符串,那么你只需要在Serialize中添加相映语句就可以完成串行化过程。
8、简述在MFCWindows应用程序中使用CBrush对象的基本步骤。
●创建画刷(可调用画刷创建函数CreateSolidBrush、CreateHatchBrush)
●将画刷选入设备环境(调用SelectObject)
●使用该刷子进行绘画
●删除画刷
9、简述文档/视图结构中包含的主要的类及各个类之间的相互关系。
包括CWinApp、CDocument、CView、CDocTemplate、CFrameWnd类
一个App可以包含多个文档模版(CDocTemplate),但是MFCAppWizard(无论是SDI还是MDI)都只是默认生成一个。
但是在实际开发中一个文档模版不够,需要自己手工添加。
这个结构是通过MFC中CWinApp的成员变量CDocManager*m_pDocManager实现的。
CDocTemplate拥有3个成员变量,分别保存着Document、View、Frame的CRuntimeClass指针,另外持有成员变量m_nIDResource,用来指定这个Document显示时候采用的菜单资源。
一个文档可以有多个视图,由Document中成员变量CPtrListm_ViewList维护。
CFrameWnd拥有一个成员变量CView*m_pActiveView指向当前活动的View。
CView中拥有一个成员变量CDocument*m_pDocument指向该视图相关的Document。
10、写出按钮Show和ShowtheAge响应单击消息的函数OnEnable()、OnShow()和OnShowage()。
函数OnShow()使编辑框IDC_EDIT1和IDC_EDIT2处于显示状态,函数OnShowage()要能够判断出单选按钮IDC_RADIO1、IDC_RADIO2和IDC_RADIO3哪个被选中,并将被选中单选按钮的标题添加到组合框IDC_COMBO1中,设为组合框的默认选项。
CMyDialog:
:
OnEnable()
{
GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_EDIT2)->ShowWindow(SW_HIDE);
}
CMyDialog:
:
OnShow()
{
GetDlgItem(IDC_EDIT1)->ShowWindow(SW_SHOW);
GetDlgItem(IDC_EDIT2)->ShowWindow(SW_SHOW);
}
CMyDialog:
:
Onshowage()
{
CStringstrText;
inti=-1;
i=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO3);
if(i==IDC_RADIO1)
strText=">20";
elseif(i==IDC_RADIO2)
strText="15-20";
elseif(i==IDC_RADIO3)
strText="<15";
GetDlgItem(IDC_COMBO1)->SetWindowText(strText);
}
11、下面左图为菜单结构,右图为运行结果,写出弹出菜单的代码。
voidCPopupmenuView:
:
OnContextMenu(CWnd*pWnd,CPointpoint)
{
CMenumenuPopup;
if(menuPopup.LoadMenu(IDR_MAINFRAME))
menuPopup.GetSubMenu(4)->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);
}
VC习题13
1.将MFC应用程序的命令处理路径补充完整:
命令—(视图类)—(文档类)—文档模板类—(框架窗口类)—应用程序类
2.传统的软件开发主要采用(过程)驱动的方法,而WINDOWS程序的开发使用(消息)驱动模型,该模型靠(事件)机制来实现其功能。
3.(主框架类)是应用程序中负责控制菜单、工具栏和状态栏等界面元素的最主要的类。
4.VC++开发环境可以生成的基于MFCAppWizardexe的应用程序类型有(对话框)(单文档/视图结构)和(多文档/视图结构)。
5.包含类定义的文件称为(头文件),包含类中成员函数的实现代码的文件称为(源文件),包含资源信息的文件称为(资源文件)。
6.ResourceView的主要功能是(编辑当前工程中的资源)。
7.应用程序向导的主要功能是(帮助生成应用程序)。
8.导的主要功能是(管理各个类中的消息)。
9.工作区窗口一般在开发环境的左侧,它包含工程的多各方面,分别是(ClassView)、(ResourceView)和(FileView)。
10.项目工作区的文件扩展名为(dsw)。
11.WINDOWS应用程序的消息来源主要包括(输入消息)、(控制消息)、(系统消息)和(用户消息)。
12.发送消息可以采用的两个函数是(PostMessage)和(SendMessage)。
13.CCmdUI类的主要功能是(主要用来更新命令用户接口的状态,如子菜单、工具栏上的按钮等)。
14.代码ON_UPDATE_COMMAND_UI(ID_TEST,OnUpdateTest)的主要功能是(将对ID_TEST的更新命令接口消息的处理映射到OnUpdateTest函数上)。
15.CString类的功能是(处理字符串),其Format函数的功能是(格式化字符串)。
16.Ctime类的功能是(处理日期时间),其Format函数的功能是(将时间对象格式化为字符串)。
17.MessageBox函数的第一个参数表示(消息文字),第二个参数表示(标题文字),第三个参数表示(图标与按钮组合).
18.在windows中,按下一个字符键,会依次触发(WM_KEYDOWN)、(WM_CHAR)和(WM_KEYUP)3个消息
19.windows窗口内部需要重新绘制时,会得到一个(WM_PAINT)消息,当
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试题
![提示](https://static.bingdoc.com/images/bang_tan.gif)