VC++A卷答案.docx

上传人:b****1 文档编号:14010199 上传时间:2023-06-20 格式:DOCX 页数:32 大小:657.80KB
下载 相关 举报
VC++A卷答案.docx_第1页
第1页 / 共32页
VC++A卷答案.docx_第2页
第2页 / 共32页
VC++A卷答案.docx_第3页
第3页 / 共32页
VC++A卷答案.docx_第4页
第4页 / 共32页
VC++A卷答案.docx_第5页
第5页 / 共32页
VC++A卷答案.docx_第6页
第6页 / 共32页
VC++A卷答案.docx_第7页
第7页 / 共32页
VC++A卷答案.docx_第8页
第8页 / 共32页
VC++A卷答案.docx_第9页
第9页 / 共32页
VC++A卷答案.docx_第10页
第10页 / 共32页
VC++A卷答案.docx_第11页
第11页 / 共32页
VC++A卷答案.docx_第12页
第12页 / 共32页
VC++A卷答案.docx_第13页
第13页 / 共32页
VC++A卷答案.docx_第14页
第14页 / 共32页
VC++A卷答案.docx_第15页
第15页 / 共32页
VC++A卷答案.docx_第16页
第16页 / 共32页
VC++A卷答案.docx_第17页
第17页 / 共32页
VC++A卷答案.docx_第18页
第18页 / 共32页
VC++A卷答案.docx_第19页
第19页 / 共32页
VC++A卷答案.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

VC++A卷答案.docx

《VC++A卷答案.docx》由会员分享,可在线阅读,更多相关《VC++A卷答案.docx(32页珍藏版)》请在冰点文库上搜索。

VC++A卷答案.docx

VC++A卷答案

)A填空题

1)

2)

3)

VC++程序设计采用了类库。

用C语言编写windows程序,有两个基本的函数,这两个基本函数分别是和。

类具有的三大特性分别是

数实现的。

,其中

特性是由虚函

4)

5)

6)

C++语言中重载可分为两种,分别是和。

C++语言中,函数调用的参数传递有三种方式,分别是、和

C语言采用的动态内存分配方法是malloc()函数,C++采用的动态内存分配方式是

7)

8)

o

Windows的消息结构MSG中有三个重要的成员,它们分别是,它们各自代表的含义分别是、和单文档应用程序框架需要的五个类分别是、

AppWizard是应用程序框架自动生成工具,它能产生的几种应用程序框架分别是、和。

10)文档/视图之间进行数据交换的函数是

的函数是。

二)简述题

1)

9)

,文档和磁盘之间进行数据交换

2)

3)

4)

5)

DoModal()函数是CDialog类中一个很重要的函数,设程序中设计了一个对话框类为CMyDialog,下面的代码将显示对话框CMyDialogmydialog;

mydialog.DoModal(),mydilaog.DoModal()这一代码将引发一系列的函数调用,请写出这一系列函数的调用顺序。

消息WM_LBUTTONDOWN发出时,附带了两个消息附加参数wParam和lParam,这两个消息的附加参数各代表了什么含义?

单击标识为ID_OPEN的菜单,发出什么消息?

设用函数OnOpenO来处理这一消息,

写出其消息映射。

设有一编辑控件其ID号为IDC_EDIT1,让其与一个整型(int)的变量m_Height之间进行数据交换,并验证其数据范围在140-180之间,写出DDX和DDV函数以实现上面的功能。

按钮控件由什么类来支持?

设有一按钮控件的ID为IDC_BUTTON1,用DDX方法和GetDlgItem方法分别实现按钮控件与其支持类的连接。

三)编程题

1)

2)

3)

填空题

1)

2)

3)

4)

5)

6)

7)

编写一个CRect类,代表一个矩形,要求CRect类中有代表矩形的左上角坐标(x1,y1)和右下角坐标(x2,y2)的数据成员,并可以通过构造器为坐标赋初值,还要求CRect

类中有两个成员函数RectHeight()和RectWidth(),通过这两个函数能得到矩形的高和宽。

用简单应用程序框架编写一个完整的程序,实现下面的功能:

当单击鼠标左键时,在整个客户区的范围内画一个椭圆,椭圆的轮廓是宽度为在文挡/视图结构中,设在文档类中有数据成员为实现文档数据的存盘和取盘。

A

VC++所采用的类库为MFC类库。

用C语言编写的Windows程序两个基本函数是:

5像素的红色实心笔。

intx;inty,编写序列化函数,以

WinMain()函数和窗口过程函数。

8)

类具有的三大特性为:

封装性,继承性和多态性,其中多态性是由虚函数实现的。

C++的重载可分为函数重载和运算符重载。

函数的参数传递方式有三种分别为:

值传递,指针传递和引用传递。

C++的动态内存分配采用new运算符进行分配。

MSG的结构中三个成员为:

message,wParam,lParam其中message代表消息的标识

符,wParam和lParam代表消息的附加参数。

单文档应用程序框架所需要的五个类分别为:

 

CDocument,CView,CSingleDocTemplate,CFrameWnd,CWinApp。

9)能产生三种框架分别为:

单文档,多文档和对话框。

10)文档/视图进行数据交换的函数是GetDocument()函数,文档和磁盘进行数据交

换的函数为Serialize()函数。

二)简述题

1)

CButton*p=(CButton*)GetDlgItem(IDC_BUTTON1)的指针。

三)编程题

1)classCRect

{

private:

intx1,y1,x2,y2;

public:

CRect(inta1,intb1,inta2,intb2){x1=a1;y1=b1;x2=a2;y2=b2;}

intRectHeight(){return(y2-y1);}

intRectWidth(){return(x2-x1);}

};

2)#include

classCMyApp:

publicCWinApp

{

public:

virtualBOOLInitInstance();

};

classCMainWnd:

publicCFrameWnd

{

protected:

afx_msgvoidOnLButtonDown(UINTnFlags,CPointpoint);

DECLARE_MESSAGE_MAP()

};

BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd)

ON_WM_LBUTTONDOWN()

END_MESSAGE_MAP()

voidCMainWnd:

:

OnLButtonDown(UINTnFlags,CPointpoint)

{

CRectrect;

GetClientRect(&rect);

CPenmypen;

mypen.CreatePen(PS_SOLID,5,RGB(255,0,0));

CClientDCdc(this);

dc.SelectObject(&mypen);dc.Ellipse(rect);

}

BOOLCMyApp:

:

InitInstance(){CMainWnd*p=newCMainWnd;

p->Create(0,“hello”);p->ShowWindow(SW_SHOWMAXIMIZED);p->UpdateWindow();

this->m_pMainWnd=p;

returnTRUE;

}

3)Serialize(CArchive&ar)

{

if(ar.IsStoring())

{ar<

{ar>>x>>y;}

}

B填空题

1)

2)

3)

构造简单应用程序框架需要的两个类是

多文档应用程序框架中,主框架窗口由

派生,其文档模板类是。

VC++的应用程序的框架可分为四种,分别是_。

和。

类派生,子框架窗口由

、和

4)

5)

当调用DoModal()函数显示对话框时,系统以参数来调用UpdateData()函

数,当单击对话框中的OK按钮关闭对话框时,系统以参数来调用

UpdateDataO函数。

按钮控件可分为三类,分别是类是。

,按钮控件的支持的

6)

7)

8)

在VC++中,工程的概念很重要,当编写简单应用程序框架时,应选用的工程是,当编写基于DOS的应用程序时,应选用的工程是。

文档和视图之间进行数据交换的函数是,文档和磁盘之间进行数据交换的

函数是。

C++语言中,函数调用的参数传递有三种方式,分别是、

O

类具有的三大特性分别是实现的。

10)简单应用程序框架通过函数二)简述题

1)

9)

,类的多态性是由

加载菜单资源。

2)

设对话框中有一按钮控件,其ID号是IDC_BUTTON1,当单击这一控件时,会发出什么消息?

设这一消息的处理函数为OnButton1(),这一处理函数应该位于哪个类中?

写出这一消息的消息映射。

UpdateDataO函数决定了控件和对话框中的数据成员的数据交换方向,和FALSE这两个参数调用此函数,写出各自的数据交换方向。

分别用TRUE

写出单击鼠标左键的消息,缺省的消息映射及消息处理函数,并写出消息处理函数中各个函数参数的含义。

设有一编辑控件其ID号为IDC_EDIT1,让其与一个整型(int)的变量m_Height之间进行数据交换,并验证数据输入的范围在140-180之间,写出实现上面的功能。

三)编程题

1)编写函数OnSelectColor(),其功能是生成并显示一个色彩对话框,

OK按钮关闭对话框后,能把在色彩对话框中选择的色彩存放在

3)

4)

DDX和DDV函数以

当单击对话框的

COLORREF类型

 

的变量cr中。

voidCMainWnd:

:

OnSelectColor()

{

}

2)用简单应用程序框架编写一个完整的程序,实现下面的功能:

当双击鼠标右键时,在客户区中央输出一串红色的文字“欢迎使用本软件”。

1)填空题

主框架窗口由CMDIFrameWnd类派生,子框架窗口由CMDIChildWnd类派生,

1)CWinApp类和CFrameWnd类

2)

其文档模板类为CMultiDocTemplate类

3)

FALSE,TRUE

简单应用程序框架,单文档应用程序框架,多文挡应用程序框架和基于对话框的应用程序框架

4)

CButton类

Win32Application,编写DOS应用程序用Win32

5)普通下压按钮,单选按钮和复选框,其支持类为

6)编写简单应用程序框架用

GetDocument()函数,Serialize()函数值传递,指针传递和引用传递封装性,继承性和多态性,类的多态性是由虚拟函数实现的LoadFrame()函数简述题单击这一控件会发出WM_COMMAND消息,这一消息处理函数应该位于对。

ConsoleApplication

7)

8)

9)

10)

2)1)话框类中,其消息映射为ON_BN_CLICKED(IDC_BUTTON1,OnButton1)

2)当用TRUE调用UpdateDataO函数时,数据从控件传给对话框中的数据成员,当用FALSE调用UpdateDataO函数时,数据从对话框中的数据成员传给控件。

3)鼠标左键单击其消息为WM_LBUTTONDOWN,其缺省的消息映射为ON_WM_LBUTTONDOWN(),缺省的消息处理函数为OnLButtonDown(UINTnFlags,CPointpoint),处理函数中的两个参数的含义分别为:

nFlags代表鼠标左键单击时是否有键盘配合动作或其他鼠标按键操作,point代表左键单击时的鼠标光标的位置坐标,即point.x代表x坐标,point.y代表y坐标。

4)数据交换:

DDX_Text(pDX,IDC_EDIT1,m_Height)数据验证:

DDV_MinMaxInt(pDX,m_Height,140,180)

3)编程题

1)voidCMainWnd:

:

OnSelectColor()

{

COLORREFcr;

CColorDialogmydialog;

if(mydialog.DoModal()==IDOK)cr=mydialog.GetColor();

}

2)#include

classCMyApp:

publicCWinApp

{

public:

virtualBOOLInitInstance();

};

classCMainWnd:

publicCFrameWnd

{

protected:

afx_msgvoidOnRButtonDblClk(UINTnFlags,CPointpoint);

DECLARE_MESSAGE_MAP()

};BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd)ON_WM_RBUTTONDBLCLK()

END_MESSAGE_MAP()

voidCMainWnd:

:

OnRButtonDblClk(UINTnFlags,CPointpoint){

CRectrect;

GetClientRect(&rect);

intx=rect.Width()/2;

inty=rect.Height()/2;

CClientDCdc(this);dc.SetTextColor(RGB(255,0,0));dc.TextOut(x,y,“欢迎使用本软件”);

}

BOOLCMyApp:

:

InitInstance(){CMainWnd*p=newCMainWnd;

p->Create(0,“hello”);p->ShowWindow(SW_SHOWMAXIMIZED);p->UpdateWindow();

this->m_pMainWnd=p;returnTRUE;

}

CMyAppmyapp;

a,b,c键时,在窗口的(20,20)

三、编程题

1)编制程序,要实现的功能是:

当依次按下键盘上的位置分别显示a,b,c字符。

2)用定时器的定时消息实现在窗口内连续绘制不断膨胀和收缩的矩形的功能,要求所画矩

形的中心是(400,300),矩形从最小逐渐膨胀,当矩形充满窗口后又开始收缩,如此反复,(设屏幕分辨率为600*800)。

一、填空题

1)ClassView页面,FileView页面和ResourceView页面

2)

3)

4)

5)

6)

7)

8)

9)

10)

WindowsAPI程序设计

ClassWizard和AppWizarddelete运算符

类的封装性,一般通过公有函数访问私有的数据成员构造器函数

类的三种派生方式分别为Public,private和protected

CObject类

CDC类

CPen类,CBrush和CFont类

二、简述题

1)

2)

基类

成员的模式

1private

Protected

public

派生类的派生方式

(派生权限)

Public

不可见

protected

public

Protected

不可见

protected

protected

private

不可见

private

private

虚拟函数与函数重载的区别是:

函数重载是指函数名相同,在函数调用时,根据函数参数类型或个数的不同而调用正确的函数版本。

而虚拟函数是指在基类中存在,在派生类中进行重定义的函数,无论是函数名还是函数的返回值及函数的参数都完全相同。

3)

classCMyDialog:

publicCDialog

{

public:

enum{IDD=IDD_DIALOG1};

CMyDialog(CWnd*p=NULL):

CDialog(CMyDialog:

:

IDD,p){}

};

4)

三、编程题

1)#includeclassCMyApp:

publicCWinApp

{

public:

virtualBOOLInitInstance();

};

classCMainWnd:

publicCFrameWnd

{

protected:

afx_msgvoidOnChar(UINTnChar,UINTnRepCnt,UINTnFlags);

DECLARE_MESSAGE_MAP();

 

};

BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd)

ON_WM_CHAR()

END_MESSAGE_MAP()

voidCMainWnd:

:

OnChar(UINTnChar,UINTnRepCnt,UINTnFlags){

CDC*pDC=GetDC();

Invalidate();

UpdateWindow();

switch(nChar)

{

case'a':

pDC->TextOut(20,20,"a");break;

case'b':

pDC->TextOut(20,20,"b");break;

case'c':

pDC->TextOut(20,20,"c");break;

default:

break;

}

CFrameWnd:

:

OnChar(nChar,nRepCnt,nFlags);

}

BOOLCMyApp:

:

InitInstance()

{

CMainWnd*p=newCMainWnd;

p->Create(0,"chen");this->m_pMainWnd=p;p->ShowWindow(SW_SHOWMAXIMIZED);p->UpdateWindow();

returnTRUE;

}

CMyAppmyapp;

2)#includeclassCMyApp:

publicCWinApp{public:

virtualBOOLInitInstance();

};

classCMainWnd:

publicCFrameWnd

{protected:

intx1,x2,y1,y2;

intc;

afx_msgvoidOnTimer(UINTnIDEvent);public:

CMainWnd();~CMainWnd();DECLARE_MESSAGE_MAP();

};

BEGIN_MESSAGE_MAP(CMainWnd,CFrameWnd)ON_WM_TIMER()

END_MESSAGE_MAP()CMainWnd:

:

CMainWnd()

{

x1=x2=400;y1=y2=300;

c=10;

}

CMainWnd:

:

~CMainWnd()

{}

voidCMainWnd:

:

OnTimer(UINTnIDEvent)

{

CDC*pDC=GetDC();pDC->Rectangle(x1,y1,x2,y2);x1=x1-c;

y1=y1-c*600/800;

x2=x2+c;

y2=y2+c*600/800;

if(x1<=0||x1>=400)c=-c;

}

BOOLCMyApp:

:

InitInstance()

{

CMainWnd*p=newCMainWnd;p->Create(0,"chen");this->m_pMainWnd=p;p->ShowWindow(SW_SHOWMAXIMIZED);p->UpdateWindow();p->SetTimer(10,50,NULL);

returnTRUE;

}

CMyAppmyapp;

一、D填空题

1)

2)

3)

4)

5)

6)

7)

一般用CFileDialog类和类配合来完成文件的读写,用

函数获取所选文件的全路径。

资源描述文件的后缀是.rc,在简单应用程序框架中,随.rc文件一起生成的是

文件。

对话框类用DoModal()函数显示对话框,这一函数有两种可能的返回值,和。

所有公用对话框类的基类是类。

单文档/视图结构中,主框架窗口由类来管理,客户区窗口由

程序的数据一般由类来管理。

在文档/视图结构中,由视图类的函数来完成数据的展示。

在多文档/视图结构中,主框架窗口没有参与文档/视图结构,

视图结构,视图位于窗口内。

CFileDialog类中的

分别是

类来管理,

窗口参与了文档/

在API程序设计中,其窗口函数为处理不同的消息,其内部应是一个结构。

文档的数据更新后,应该调用视图类中的函数,以便及时让视图重新调用

OnDraw()函数更新数据。

10)要获取设备环境中正在使用的字体信息,应先定义一个字体信息结构体tm,然后调用CDC类的函数把环境中正在使用的字体信息放到

简述题设从CDialog类派生了自己的对话框类CMyDialog类,并重写了其下面的语句CMyDialogmydialog;mydialog.DoModal()将引发一系列函数的调用,用流程图的形式表示构造器函数,OninitDialogO函数和DoDataExchange()函数的执行顺序。

Windows程序的执行思路和API程序设计中WinMain()函数和窗口函数的作

8)

9)

1)

2)

1)

2)

图示说明用。

编程题编制程序,编制程序,本软件”,要求用CFont类的CreateFontIndirect()函数非直接创建字体,字体,字体浓淡是400,字体高度是50,字体采用斜体。

TEXTMETRICtm中。

OnInitDialog()函数,

用函数实现两个数的交换,条件是使用引用函数参数。

单击鼠标左键,在窗口的(100,100)位置输出一串红色的文字“欢迎使用

文字使用“Arial”

 

1)

2)

3)

4)

5)

6)

7)

8)

9)

10)

1)

填空题

CCFile类,GetPathName()函数resource.h文件

IDOK和IDCANCEL

CCommonDialog类

CFrameWnd类,CView类,CDocument类

OnDraw()函数子框架窗口,子框架窗口

switch----case结构

Invalidate()函数

GetTextMetrics()函数

简述题

CMyDialogmydialqg;mydialog.DoModal();

CMyDialog:

:

CMyDialog(CWnd*

pParent/*=NULL*/)

:

CDialog(CMyDialog:

:

IDD,pParent)

{}//构造器函数

对话框显示之前发出WM_INITDIALOG

消息

2)

p1=p2;p2=t;}voidmain()

 

{intx=3,y=4;swap(x,y);cout<<"x="<

}

2)#includeclassCMyApp:

publicCWinApp

{

public:

virtualBOOLInitInstance();

};

classCMainWnd:

publicCFrameWnd

{

protected:

afx_msgvoidOnLButtonDown(UINTnFlags,CPointpoint);DECLARE_MESSAGE_MAP();

};

BEGIN_MES

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 司法考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2