有关Visual C++的一些选择题及答案

类别:VC语言 点击:0 评论:0 推荐:

1, 要运行一个C语言编写的应用程序如下: 

       main() {

          printf("hello world");

       }

在VC6的开发环境中,应该建立哪种类型的工程?B   

A, Win32 Application    

B, Win32 Console Application      

C, MFC AppWizard (exe)     

D, Utility Project   

 

2, 在VC6环境中,把应用程序输入后,编译链接后出现如下错误, 

mytest.cpp(192) : fatal error C1010: unexpected end of file while looking for precompiled header directive   

应该如何解决:    C

A, 检查编写程序中的大小写问题  

B, 检查编写程序中是否有未闭合的大括号

C, 检查是否在程序最开始包含了预编译头文件

D, 检查是否有未定义的变量名

 

3, 关于VC6建立的工程的说法,正确的是:C

A,工程只能包含.cpp和.h类型的文件

B,工作区文件的后缀是.dsp

C, 用鼠标双击工作区文件可以打开整个工程

D,在VC的FileView中可以看到工程中所有的文件,包括工作区文件,项目文件等

 

4,下面关于在VC6环境下调试运行的说法错误的是  A

A,设置合适的断点(F9),按Ctrl+F5开始调试运行

B,设置合适的断点,按F5开始运行

C,调试时,可以随时观察断点处的变量值

D,在调试运行过程中,可随时按下Stop Debugging(Shift+F5)结束调试运行

 

5,在VC6中提供了成员方法的自动列表和方法参数的自动提示功能,但有时不能正常显示,这是应该删除

该工程目录下那种后缀类型的文件后,再次打开工程,就可以正常提示了。B

A, clw

B, ncb

C, opt

D, aps

 

6,有关句柄(handle)的说法,下列不正确的是:C        

A  句柄是一个4字节长的整数值           

B  句柄用来标识应用程序中不同的对象或同类对象中的不同实例           

C  消息是句柄的一种       

D  画笔的句柄类型是HPEN,画刷的句柄类型是HBRUSH        

 

7, 在一个Windows API的基本应用程序框架中,有如下的消息循环:            

       while( GetMessage(&Msg, NULL, 0, 0))    

       {    

              TranslateMessage( &Msg) ;

              DispatchMessage( &Msg) ;

       }    

下面哪个消息使得该消息循环退出运行,从而终止整个应用程序的运行。B           

A  WM_DESTROY            

B  WM_QUIT

C  WM_CLOSE

D  WM_CREATE

 

8, ①是Windows应用程序的基本操作单元,提供应用程序与用户之间交互

的接口环境;Windows程序设计是一种事件驱动的编程方法,它使用②描述

事件发生的信息;Windows应用程序使用③标识应用程序中不同对象的不同

对象和同类对象中不同的实例,如按钮、图标、滚动条、控件或文件等;

Windows应用程序设计中变量名的命名一般遵循④,它将变量的数据类型作为前

缀,后接表示其意义或功能的名称,如lpszFacename。 B

A  消息,窗口,指针,匈牙利表示法

B  窗口,消息,句柄,匈牙利表示法

C  窗口,消息,句柄,前缀表示法

D  消息,窗口,指针,前缀表示法

 

9,RegisterClass这个Windows API函数的作用是:A

A  注册一个窗口类

B  窗口的显示

C  创建一个窗口类的实例

D  窗口类的定义

 

10,关于Windows API编程时的窗口函数(WndProc)的说法,不正确的是:D

A  它是一个回调函数

B  它内部的switch…case分支判断用于不同类型消息的处理

C  它有四个入口参数,其意义和消息结构体MSG的意义相同

D  如果使用全空的窗口函数(内部没有代码),Windows也会负责按照缺省方法处理消息

 

11, Windows窗口对刷新请求的相应,下列哪种情况下不需要应用程序考虑:D

A,窗口移动后的刷新

B,被覆盖区域的刷新

C,通过滚动条滚动窗口时

D,图标或光标穿越窗口时

 

12,下列关于BeginPaint和GetDC两个函数的说法,不正确的是:C

A,前者一般和EndPaint成对出现,后者与ReleaseDC成对出现

B,前者获得的设备环境的操作区域有可能不是整个客户区;后者获得的设备环境的操作区域为整个客户区

C,只能够通过这两种方法获得设备环境句柄

D,前者调用后可获得无效区域的坐标,后者无法获得无效区域的坐标

 

13,下列有关Windows绘图中映像模式的说法,不正确的是:D

A,缺省的映像模式是MM_TEXT

B,只有MM_ANISOTROPIC模式下,X,Y轴的比例可以不是1:1

C,在所有的映像模式下,缺省时窗口左上角的坐标都是(0,0)

D,MM_HIMETRIC模式下,X轴正方向向右,Y轴正方向向下

 

14, 有关Windows文本与字体的说法,错误的是:D

A,设置字体的前景和背景色分别使用SetTextColor和SetBkColor

B,使用CreateFont创建字体时可以改变字体的大小,字体的类型等

C,字体句柄的数据类型是HFONT

D,字体输出函数TextOut参数中用到的坐标是设备坐标

 

15,能够同时获取当前使用的字体的高度,宽度,字符集等信息的Windows API函数是:B

A,GetTextExtentPoint32

B,GetTextMetrics

C,GetObject

D,GetTextInfo

 

16, 下列关于Windows应用程序对键盘响应的说法,正确的是:D

A,键盘的扫描码不依赖于具体设备

B,Windows应用程序不使用消息来处理键盘响应

C,按下键盘上的一个键,不可能同时产生按键消息和字符消息

D,WinMain函数的消息循环中的TranslateMessage函数用于把按键消息转换为字符消息

 

17,下列关于Windows应用程序对鼠标响应的说法,正确的是:B

A,只有活动窗口才能接受鼠标事件

B,可以调用函数SetCapture()实现对鼠标的捕捉,且捕捉鼠标后系统的键盘功能暂时失效

C,用户只能调用系统定义的鼠标的光标形状,不能自定义光标

D,可以通过相应单一类型的鼠标消息来响应鼠标的拖动事件

 

18,在Windows API开发的应用程序框架中,下列哪种方法不能加载菜单:D

A,在窗口类的定义时,把结构体WNDCLASS的lpszMenuName设置为合适的菜单名

B,在创建窗口时,首先调用LoadMenu获得菜单句柄,然后调用函数CreateWindow加载该菜单

C,在应用程序中调用LoadMenu获得菜单句柄后,调用函数SetMenu动态加载菜单

D,在窗口处理函数中,针对菜单消息设置合适的消息响应

 

19, 菜单资源定义如下,现已获得该“文件”子菜单的句柄hsubmenu

MENU1 MENU DISCARDABLE

BEGIN

    POPUP "文件(&F)"

    BEGIN

        MENUITEM "新建(&N)\t Ctrl+N",           IDM_NEW

        MENUITEM "打开(&O)\t Ctrl+O",           IDM_OPEN

        MENUITEM "关闭(&C)",                    IDM_CLOSE

        MENUITEM SEPARATOR

        MENUITEM "保存(&S)\t Ctrl+S",           IDM_SAVE

        MENUITEM "退出(&X)",                    IDM_EXIT

    END

END

要把菜单ID为IDM_OPEN的菜单设置为禁止状态并变灰,下列哪个API函数及其参数设置是正确的:    A

A、EnableMenuItem( hsubmenu, 1, MF_BYPOSITION| MF_GRAYED);     

B、EnableMenuItem( hsubmenu, 2, MF_BYPOSITION| MF_GRAYED);

C、DisableMenuItem( hsubmenu, 2, MF_BYPOSITION | MF_GRAYED);   

D、EnableMenuItem( hsubmenu, IDM_OPEN, MF_BYPOSITION|MF_GRAYED)。

 

20,给菜单ID为IDM_SAVE的菜单命令增加一个Ctrl+S的加速键资源,正确的写法是:A

A,ACCE1 ACCELERATORS {

       "^S", IDM_SAVE

   }

B,ACCE1 ACCELERATORS {

       "^S", IDM_SAVE, VIRTKEY

   }

C,ACCE1 ACCELERATORS {

       "S", IDM_SAVE, ASCII,CONTROL

   }

D,ACCE1 ACCELERATORS {

       "^S", IDM_SAVE, CONTROL

   }

 

21,下面有关Windows API开发中,模态对话框的说法,错误的是:D

A,模态对话框通过调用DialogBox函数显示

B,模态对话框通过调用EndDialog函数关闭

C,模态对话框打开时,不能够切换到其父窗口上进行任何操作

D,模态对话框必须设置WS_VISIBLE显示样式才能正常显示

 

22,如何获得一个位图的尺寸(高度和宽度),调用下面那个Windows API函数 A

A,GetObject

B,LoadBitmap

C,SelectObject

D,CreateCompatibleBitmap

 

23,VC6中如何改变按钮上显示的名称?A

A,在资源编辑器中,选择该按钮,在右键菜单中选择属性(Properties),改变属性框的标题(Caption)字段的值

B,在资源编辑器中,选择该按钮,在右键菜单中选择属性(Properties),改变属性框的ID字段的值

C,在类向导中,选择"Message Map"选项卡,为按钮指定合适的名称和相应函数

D,在类向导中,选择"Member Variables"选项卡,为按钮指定合适的名称和变量

 

24,给一个应用程序添加了一个对话框,又在对话框加入了一个编辑框,需要把该编辑框的值初始设置为"test",

应该把该操作加入到:(假设应用程序主窗口的窗口处理函数是WndProc,对话框处理函数是DlgProc) B

A,窗口处理函数WndProc中对WM_CREATE消息的处理中

B,对话框处理函数DlgProc中对WM_INITDIALOG消息的处理中

C,对话框处理函数DlgProc中对WM_CREATE消息的处理中

D,窗口处理函数WndProc中对WM_NEXTDLGCTL消息的处理中

 

25,为应用程序添加一个快捷菜单(右键菜单),应该对下面哪个消息作出相应代码:A

A,WM_CONTEXTMENU

B,WM_RBUTTONDOWN

C,WM_LBUTTONDOWN

D,WM_POPUPMENU

 

26,让简单的静态控件能够接受输入,应该:A

A,给它加上SS_NOTIFY的风格

B,给它加上SS_COMMAND的风格

C,在静态文字上加上"&"字符

D,在静态文字上加上"%"字符

 

27, 对于非模态对话框,要使其能够在其对话框处理函数中响应用户输入,在消息循环中应该:B

A, 和一般消息循环无不同之处

B, 必须调用IsDialogMessage截获消息

C, 必须调用TranslateAccelerators翻译消息

D, 必须调用SendMessage发送消息

 

28,以下有关MFC中的类的说法,不正确的是:A

A,CObject类是MFC所有类的基类

B,CView类是CWnd类的子类

C,CDialog类是CWnd类的子类

D,CArchive类可以支持串行化操作

 

29,以下哪个操作是CObject类不具有的:D

A,对象的建立和删除

B,为对象诊断输出

C,提供运行时信息

D,创建应用程序窗口

 

30,在VC6开发环境中,双击工作区文件,就能打开该工作区及其包含的工程,其后缀是:A

A,.dsw

B,.dsp

C,.rc

D,.clw

 

31,以下哪个函数能够实现由整型到字符型的转换:A

A itoa

B atoi

C sprintf

D strtol

 

32,下列有关编辑框风格的说法,错误的是:B

A, 可以通过设置编辑框风格来自动转换字符

B,如果设置了ES_READONLY风格,在应用程序中也无法设置编辑框的文本

C,只有设置了ES_MULTILINE风格,才能显示多行文本框

D,只有设置了ES_WANTRETURN风格,按下Enter键时才能插入回车符(\n)

 

33,下面有关CMenu类的说法,错误的是:A

A,CMenu类是CWnd类的子类

B,由CMenu类对象可以得到菜单句柄HMENU,由菜单句柄HMENU也可以得到对应的CMenu类对象

C,实现带有图形的自绘菜单的CMenu类成员方法是DrawItem和MeasureItem

D, 用于实现快捷菜单(右键菜单)的CMenu类的成员方法是TrackPopupMenu

 

34,有关滚动条的说法,错误的是:B

A,滚动条可分为滚动条控件和属于窗口的滚动条

B,滚动条发送WM_COMMAND消息

C,滚动条控件创建后必须对其动作标识进行编程才能使其正确动作

D,滚动条控件创建后需要设置变化范围和初始位置才能正确动作

 

35,关于滚动条类CScrollBar的说法不正确的是:A

A,CScrollBar是CControlBar的子类

B,CScrollBar类的成员方法SetScrollInfo和SetScrollRange都能够设置滚动条的变化范围

C,CScrollBar的成员方法ShowScrollBar可以控制滚动条的显示和隐藏

D,CSCrollBar的成员方法GetScrollLimit可以获得滚动条的变化的最大值加1

 

36,有关按钮控件的说法,错误的是:A

A,普通按钮、单选按钮、多选按钮、分组框都是不同风格的按钮

B,按钮的标题(Caption)就是显示在按钮上的文本

C,图形按钮的类是CBitmapButton

D,按钮控件的通知消息类型是WM_COMMAND,其参数(lParm和wParm)含义和命令消息(WM_COMMAND)相同

 

37,有关工具条的说法,错误的是:C

A,工具条上按钮的ID可以和菜单ID相同

B,工具条的命令提示、工具提示,大小可变等特性可以通过设置相应的风格实现

C,工具条的显示和隐藏可以通过CToolBar的SetStyle成员函数设置合适的属性实现

D,一个窗口可以同时显示多个工具条

 

38,有关文档/视图类的说法,正确的是:D

A,文档类不能处理WM_COMMAND消息

B,一个文档可以有多个视图,一个视图可以有多个文档

C,MFC的单文档(SDI)应用程序框架和多文档(MDI)应用程序框架中的CMainFrame类都是CFrameWnd的子类

D,视图类的OnDraw成员方法在窗口需要重绘时被调用

 

39,下面那个方法不是CDocument类的成员方法 C

A,AddView

B,UpdateAllViews

C,GetDocument

D,GetDocTemplate

 

40,下面那个方法是CDocTemplate类的成员方法 D

A,GetNextDoc

B, GetDocument

C, GetDocTemplate

D,UpdateAllViews
(个人原创,引用请指明出处,谢谢。yanqlv)

本文地址:http://com.8s8s.com/it/it318.htm