VC程序设计考试题型
一、 考试题型:
? 填空(每空1分,共20分)
? 单项选择题(每小题1.5分,共30分) ? 程序填空(3小题,每空2分,共28分) ? 程序设计题(2小题,共22分)
二、考试试题样题
1. Windows应用程序的入口函数为: 2. MFC的类的公共基类是:
3. MFC AppWizard(应用向导)可以创建3类应用程序,分别是: 4.使用GetWindowDC( )和GetDC( )获取的设备上下文在退出时,必须调用( )释放设备上下文。
A、DeleteDC( ) B、delete( ) C、ReleaseDC( ) D、Detach( ) 5. 为应用程序添加一个快捷菜单(右键菜单),应该对下面哪个消息作出相应的响应( )。
A WM_CONTEXTMENU B WM_RBUTTONDOWN C WM_LBUTTONDOWN D WM_POPUPMENU
6. 定时器的创建函数是?定时器的销毁函数是?定时器消息宏的名称是WM_XXX? 7. 常用的键盘消息有哪些?常用的鼠标消息有哪些?
8. 当一个控件绑定(或称映射)到一个数据变量后,如何让控件中的值传送到变量?反过来传呢?
9. 视图对象通过什么函数获取他所对应的文档对象?文档数据改变时如何通知视图更新显示?
10. 补充程序,将40个学生的信息(已存于数组studs[]中)和班级名称(已存于变量szClassName中)写到文件 d:\\classinfo\\class1.txt中,用程序中的f对象实现。
……
typedef struct{ char name[20]; char address[200]; char phone[20]; }STUD_INFO;
STUD_INFO studs[40];
…… /* 对studs的赋值代码 */
char zClassName[60] = \计算机应用(一)班\CFile f;
/* 在这里补充代码 */
11. 补充完成函数功能,在pDC上绘制一条绿色、宽度为3像素的虚线,要求从坐标(20,40)到(300,30)。
void CxxView::OnDraw(CDC* pDC) {
CxxDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc);
// TODO: add draw code for native data here /* 在这里补充代码 */
}
/* 一下是部分参考信息 */ /* Pen Styles */
#define PS_SOLID 0
#define PS_DASH 1 /* ------- */ #define PS_DOT 2 /* ....... */ #define PS_DASHDOT 3 /* _._._._ */ #define PS_DASHDOTDOT 4 /* _.._.._ */ #define PS_NULL 5 #define PS_INSIDEFRAME 6 #define PS_USERSTYLE 7 #define PS_ALTERNATE 8
#define PS_STYLE_MASK 0x0000000F
class CPen : public CGdiObject {
DECLARE_DYNAMIC(CPen) public:
static CPen* PASCAL FromHandle(HPEN hPen); // Constructors CPen();
CPen(int nPenStyle, int nWidth, COLORREF crColor);
CPen(int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0, const DWORD* lpStyle = NULL);
BOOL CreatePen(int nPenStyle, int nWidth, COLORREF crColor);
BOOL CreatePen(int nPenStyle, int nWidth, const LOGBRUSH* pLogBrush, int nStyleCount = 0, const DWORD* lpStyle = NULL); BOOL CreatePenIndirect(LPLOGPEN lpLogPen); // Attributes
operator HPEN() const;
int GetLogPen(LOGPEN* pLogPen);
int GetExtLogPen(EXTLOGPEN* pLogPen); // Implementation public:
virtual ~CPen(); };
12. 补充代码,(1)将数据库文件d:\\database\\db.mdb 配置到ODBC数据源中;(2)获
取表tbl_song中第5条记录的第2个字段值,赋给变量val;(3)删除表tbl_song的第5条记录。
……
CDatabase db; CRecordset *pset; /* 配置ODBC数据源 */ SQLConfigDataSource(
NULL,
ODBC_REMOVE_DSN, );
SQLConfigDataSource(
NULL, ODBC_ADD_DSN,
\ );
/* 连接ODBC数据源 */ db.OpenEx(\pset = new CRecordset(&db);
pset->Open(CRecordset::dynaset,\/* 获取表tbl_song中第5条记录的第2个字段值 */ CString val;
/*删除表tbl_song的第7条记录*/
13. MFC中提供socket通信功能的类有几个?类名是什么?用示意图简述socket的TCP(有连接的)通信过程模型。
14 设计一个基于对话框的应用程序,如图2所示。要求:单击Color按钮,能
弹出通用颜色对话框选取颜色,并用该颜色显示:This is a color example。如图3所示。(12分)
Color按钮的BN_CLICKED消息处理函数:void CxxDlg::OnColor() { }
图 2
图 3