烟台南山学院期末考试试卷(A)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
烟台南山学院
2005—2006学年第1学期期末考试试卷(A)
04计算机应用 (专业) VC++ 6.0 程序设计(课程名称)
一、选择题(每小题1分,共15分)
1、使用______命令可以使设备播放多媒体文件。
(A)MCI_SET (B)MCI_STATUS (C)MCI_PLAY (D)MCI_STOP
2、下列类中,________类为用户提供了对表记录进行查询记录、添加记录、删除记录、修改记
录的操作的功能。
(A)CDatabase(B)CRecordset (C)CRecordView (D)CDialog
3、目名为:EX_SDIHello的单文档VC++程序,MFC为用户自动创建了4个主要的类,请选择:
(1)视图类_____ (2)应用程序类_____
(3)主框架窗口类_____ (4)文档类____
(A) CEx_SDIHelloApp (B) CEx_SDIHelloDoc
(C) CEx_SDIHelloView (D) CmainFrame
4、可以将一些绘图有关的代码添加到项目视图类的虚函数OnDraw (CDC *pDC)中,_______。
(A)能在文档中进行图形的绘制
(B)能在主框架中进行图形的绘制
(C)能在应用程序中进行图形的绘制
(D)能在视图中进行图形的绘制
5、项目名为:EX_SDIHello的单文档Vc++程序中的视图类OnDraw (CDC *pDC)虚函数中,有以
下代码:
CEx_SDIHelloDoc *pDoc = GetDocument ( );
其功能是_______。
(A)获取视图类指针(B)获取应用程序类指针
(C)获取文档类指针(D)获取主框架类指针
6、项目名为:EX_SDIHello的单文档Vc++程序中的主框架头文件中的保护模式下,有两个系
统自动定义的变量,它们分别是:
CStatusBar m_wndStatusBar; _________ CToolBar m_wndToolBar; _________ (A)工具栏类变量(B)资源类变量
(C)状态栏类变量(D)对话框类变量
7、项目名为:EX_SDIHello的单文档VC++程序中的主框架执行文件中,有以下代码
static UINT indicators [ ] = {
ID_SEPARATOR,
ID_INDICATOR_CAPS,
ID_INDICATOR_NUM,
ID_INDICATOR_SCAL,
};
其用来表示:________。
(A)工具栏窗格的静态数据(B)资源栏窗格的静态数据
(C)对话框窗格的静态数据(D)状态栏窗格的静态数据
8、MFC提供的菜单类CMenu可在程序运行时处理有关菜单的操作,其函数:BOOL DeleteMenu
( )是______。
(A)创建菜单(B)装入菜单
(C)添加菜单(D)删除菜单
9、MFC的CView类是_________。
(A)视图的基类(B)对话框的基类
(C)文档的基类(D)主框架的基类
10、当对话框被弹出,用户必须在对话框中作出相应的操作,在退出对话框之前,对话框所在
的应用程序能继续执行,这样的对话框是______。
(A)无模式对话框(B)消息对话框
(C)模式对话框(D)通用对话框
11、下面的函数声明中,那一个是“void BC(int a, int b);”的重载函数?
(A)int BC(int a, int b) (B)int BC(int a, char b)
(C)int BC(int a, int b, int c=0)(D) int BC(int a, int b=0)
二、填空题(每空1分,共25分)
1、Visual C++6.0为用户提供了______(开放数据库连接)、______(数据访问对象)及
______(OLE数据库)三种数据库方式,使用户的应用程序从特定的数据库管理系统
(DBMS)脱离出来。
2、View菜单中的命令主要用来______窗口和工具拦的显示方式,______调试时所用的各个窗口
等。
3、用户的______类是负责用户数据的读取和保存的;______类是负责显示用户文档的;______
类是负责创建和控制菜单、工具栏和状态栏等界面元素的最主要的类。
4、一个色彩像素的显示需要颜色空间的支持,常用的颜色空间有______和______两种。
5、类中包括三种模式,他们分别是:(1) ______ (2) ______ (3) ______。
6、对象是其相应类的______,也就是说类的各种操作都是在对象这种______上发生的。
7、构造函数是一种特殊的类成员函数,当程序创建______时,首先会自动执行类的构造函数。
构造函数与类拥有______的名字,在构造函数中,用户可以执行初始化类成员______,
______内存空间等操作。
8、C++语言在重载函数的使用方面有一个重大的突破,那就是允许具有相同函数名的函数在同
一个______中出现,这些函数可以完成不同的功能,带有不同数目、不同类型的______,这
就叫函数的重载。
9、创建填充样式画刷的函数为_______,创建填充色画刷的函数为_______ 。
10、所谓虚拟函数,就是指某个函数在基类中被声明为______函数,而该函数又在______中被重
新定义。
三、择以下的类名,添在相应的________处(每小题2分,共24分)
CDialog CDatabase CRecordset CRecordView CMenu CWnd CStatic
CButton CView CListView CTreeView CBrush CMaimFrm CEdit CDC
CPen CPaintDC CListBox CSize CFont CComboBox CRect CPoint
1、窗口类 _________
其主要派生类为:
CFrameWnd 框架窗口类,SDI应用程序主框架窗口的基类
CMDIFrameWnd 多文档框架窗口类,MDI应用程序主框架窗口的基类
CMDIChildWnd 多文档框架窗口类,MDI应用程序文档框架窗口的基类
2、视图类 __________
其主要派生类为:
CScrollView 具有滚动功能的视图的基类
CFormView 其布局在对话框资源中定义的视图类
CEditView 具有文本编辑、查找、替换和滚动功能的视图
3、菜单类 __________
4、对话框类_________
5、静态文本控件窗口类__________
6、按钮控件窗口类_______________
7、编辑控件窗口类____________
8、列表框控件窗口类___________
9、组合框控件窗口类___________
10、画刷类______________
11、字体类______________
12、画笔类______________
四、理解题(每小题2分,共14分)
1、下面是滚动条水平滚动的消息处理函数原型:
afx_msg void OnHScroll (UINT nSBCode , UINT nPos , CScrollBar *pScrollBar) ;
其中的三个参数:
nSBCode表示:_____________
nPos表示:_____________
CScrollBar表示:_____________
2、CRecordSet 类封装了数据库对表记录进行操作的许多功能,请说出其下列成员函数的名
字:
(1)检索记录 __________ (2)增加记录 __________ (3)修改记录 __________ (4)删除记录 __________
五、项目分析(每空2分,共22分)
1、下面是滚动字幕应用程序的建立步骤,在有____的空白处,添上遗掉的代码
(1)建一个单文档(SDI)应用程序,名字为:滚动字幕
(2)添加一个菜单,在“查看”下面加一个“启动”项,ID为:ID_TEST
(3)在CMyView.h里加:
________________;
__________;
(4)在CMyView.cpp的构造函数里加:
________________;
(5)在CMyView.cpp里找到:
void CMyView::OnDraw(CDC *pDC)
{ ………………….
pDC→ ___________ (x , 100 , “中国人民有志气,在不远的将来,赶上和超过
世界先进水平“);
_____________;
RECT re;
GetClientRect (&re);
If (x>re.right – re.left)
x = 0 ;
}
(6) 运用Class Wizard将菜单“启动“项 ID_TEST连到视图类中:
void CMyView::OnTest ( )
{ SetTimer (1 , 200 , NULL ); }
(7) 将___________的消息映射连到CMyView.cpp中:
void CMyView::OnTimer (UINT nIDEVent)
{ Invalidate ( ); }
(8) 运行,点“启动”菜单,便有上面写入的一行字在屏幕上滚动。
2、下面是建立一个非模式对话框的操作步骤,在有____的空白处,添上遗掉的代码。
(1)建1个单文档(SDI)应用程序,名为:非模式对话框
(2)创建对话框摸板
_______→Resource→点黑Dialog→________→加一个静态文本,对准它并右键单击,改名为:非模式对话框
(3)对话框ID设为缺省:IDD_DIALOG1
(4)创建菜单Mnu→IDR_MAINFRAME→双击空白菜单,名字写:非模式对话框→关闭→再双击下面空白菜单,名字写“显示非模式对话框”ID为ID_DLG
(5)为对话框创建类双击对话框摸板的任何位置→选中Create a new class→OK→名字写Dlg,基类为________。
(6)添加菜单命令消息View→Class Wizard→Message Maps→Class name是View类
→Object IDS里找到ID_DLG点黑→________→OK,在视图类文件里添加了消息命令函
数OnDlg( ) (7)在CMyView.h里加:#include “Dlg.h”
在CMyView.h的public:里加:Dlg *dlg ;
(8) CMyView.cpp的菜单命令函数中添代码
CMyView::OnDlg ( )
{
dlg = new Dlg (this ) ;
dlg→_______ (IDD_DIALOG1) ;
dlg→ShowWindow(SW_RESTORE);
}
(9)编译运行,点菜单“非模式对话框”便弹出一个非模式对话框
注意:答题过程中,必须准确应用英文字母的大小写。