计算机可视化编程考前练兵
计算机可视化编程考前练兵1.[单选题] 在一个类中可以对一个操作符进行( )重载。
A.1 种
B.2 种以下
C.3 种以下
D.多种
正确答案:——D——
2.[单选题] 若w=1,x=2,y=3,z=4,则条件表达式w>x?w:z>y?z:x的结果为_______。
A.4
B.3
C.2
D.1
正确答案:——A——
3.[单选题] 文档负责将数据存储到永久存储介质中,通常是磁盘文件或数据库,存取过程称为()。
A.文件访问
B.串行化
C.文件读写
D.格式化
正确答案:——B——
4.[单选题] 更新菜单状态的消息是()。
A.WM_COMMAND
B.UPDATE
C.ON_UPDATE_COMMAND_UI
D.INVALIDATE
正确答案:————
5.[单选题] 有如下类声明:class XA
{ private: int x;
public:XA(int n){ x=n;}};
class XB: public XA
{ private: int y;
public:XB(int a,int b);};
在构造函数XB的下列定义中,正确的是()。
A.XB::XB(int a,int b): x(a),y(b){ }
B.XB::XB(int a,int b): XA(a),y(b){ }
C.XB::XB(int a,int b): x(a),XB(b){ }
D.XB::XB(int a,int b): XA(a),XB(b){ }
正确答案:————
6.[单选题] 有关析构函数的说法,不正确的是( )。
A.析构函数有且仅有一个
B.析构函数和构造函数一样可以有形参
C.析构函数的功能是在系统释放对象之前作一些内存清理工作
D.析构函数无任何函数类型
正确答案:————
7.[单选题] 已知:int m=10; 下列表示引用的方法中,( )是正确的。
A.int &x=m;
B.int &y=10;
C.int &z;
D.float &t=&m;
正确答案:————
8.[单选题] 下面对模板的声明,正确的是( )。
A.template<T>
B.template<class T1, T2>
C.template<class T1, class T2>
D.template<class T1; class T2>
正确答案:————
9.[单选题] 下面关于友元的描述中,错误的是( )。
A.友元函数可以访问该类的私有数据成员
B.一个类的友元类中的成员函数都是这个类的友元函数
C.友元可以提高程序的运行效率
D.类与类之间的友元关系可以继承
正确答案:————
10.[单选题] 关于虚函数的描述中,( )是正确的。
A.虚函数是一个static类型的成员函数
B.虚函数是一个非成员函数
C.基类中说明了虚函数后,派生类中与其对应的函数可不必说明为虚函数
D.派生类的虚函数与基类的虚函数具有不同的参数个数和类型
正确答案:————
11.[单选题] 下面()的叙述不符合赋值兼容规则。
A.派生类的对象可以赋值给基类的对象
B.基类的对象可以赋值给派生类的对象
C.派生类的对象可以初始化基类的对象
D.派生类的对象的地址可以赋值给指向基类的指针
正确答案:————
12.[单选题] 使用GetWindowDC( )和GetDC( )获取的设备上下文在退出时,必须调用()释放设备上下文。
A.ReleaseDC( )
B.delete( )
C.DeleteDC( )
D.Detach( )
正确答案:————
13.[单选题] 下面( )的叙述不符合赋值兼容规则。
A.派生类的对象可以赋值给基类的对象
B.基类的对象可以赋值给派生类的对象
C.派生类的对象可以初始化基类的对象
D.派生类的对象的地址可以赋值给指向基类的指针
正确答案:————
14.[单选题] 下列有关C++类的说法中,不正确的是( )。
A.类是一种用户自定义的数据类型
B.只有类中的成员函数或类的友元函数才能存取类中的私有成员
C.在类中,如果不做特别说明,所有成员的访问权限均为私有的
D.在类中,如果不做特别说明,所有成员的访问权限均为公用的
正确答案:————
15.[单选题] 下列语句中,将函数int sum(int x, int y)正确重载的是( )。
A.float sum(int x, int y);
B.int sum(int a, int b);
C.float sum(float x, float y);
D.double sum(int y, int x);
正确答案:————
16.[单选题] 下列对派生类的描述中错误的说法是:( )。
A.派生类至少有一个基类
B.派生类可作为另一个派生类的基类
C.派生类除了包含它直接定义的成员外,还包含其基类的成员
D.派生类所继承的基类成员的访问权限保持不变
正确答案:————
17.[单选题] 如果是类B在类A的基础上构造,那么,就称( )。
A.类A为基类或父类,类B为超类或子类
B.类A为基类、父类或超类,类B为派生类或子类
C.类A为派生类,类B为基类
D.类A为派生类或子类,类B为基类、父类或超类
正确答案:————
18.[单选题] 关于运算符重载,下列说法正确的是( )。
A.所有的运算符都可以重载。
B.通过重载,可以使运算符应用于自定义的数据类型。
C.通过重载,可以创造原来没有的运算符。
D.通过重载,可以改变运算符的优先级。
正确答案:————
19.[单选题] 关于运算符重载,下列说法正确的是( )。
A.重载时,运算符的优先级可以改变。
B.重载时,运算符的结合性可以改变。
C.重载时,运算符的功能可以改变。
D.重载时,运算符的操作数个数可以改变。
正确答案:————
20.[单选题] 在成员函数中进行双目运算符重载时,其参数表中应带有( )个参数。
A.0
B.1
C.2
D.3
正确答案:————
21.[单选题] 一个类的友元不是该类的成员,与该类的关系密切,所以它( )。
A.有this指针,有默认操作的对象
B.没有this指针,可以有默认操作的对象
C.有this指针,不能执行默认操作
D.没有this指针,也就没有默认操作的对象
正确答案:————
22.[单选题] 静态成员函数对类的数据成员访问( )。
A.是不允许的
B.只允许是静态数据成员
C.只允许是非静态数据成员
D.可允许是静态数据成员或非静态数据成员
正确答案:————
23.[单选题] 假定AB为一个类,则执行“AB *p=new AB(1,2);”语句时共调用该类构造函数的次数为( )。
A.0
B.1
C.2
D.3
正确答案:————
24.[单选题] 假定AB为一个类,则执行“AB a, b(2), c, *p=&a;”语句时共调用该类无参构造函数的次数为( )。
A.5
B.6
C.3
D.4
正确答案:————
25.[单选题] 对于任一个类,用户所能定义的构造函数的个数至多为( )。
A.0
B.1
C.2
D.任意个
正确答案:————
26.[单选题] 假定AB为一个类,则( )为该类的拷贝构造函数的原型说明。
A.AB(AB x);
B.AB(AB& x);
C.void AB(AB& x);
D.AB(int x);
正确答案:————
27.[单选题] 一个类的构造函数通常被定义为该类的( )成员。
A.公用
B.保护
C.私有
D.友元
正确答案:————
28.[单选题] 类的析构函数是一个对象被( )时自动调用的。
A.建立
B.撤消
C.赋值
D.引用
正确答案:————
29.[单选题] 在一个用链表实现的队列类中,假定每个结点包含的值域用elem表示,包含的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,若链队为空,则进行插入时必须把新结点的地址赋给( )。
A.elemHead
B.elemTail
C.elemHead和elemTail
D.elemHead或elemTail
正确答案:————
30.[单选题] 在一个用数组实现的队列类中,假定数组长度为MS,队首元素位置为first,队列长度为length,则队尾的后一个位置为()。
A.length+1
B.first+length
C.(first+length-1)%MS
D.(first+length)%MS
正确答案:————
31.[单选题] 结构中定义的成员默认为( )访问属性。
A.public
B.private
C.protected
D.friend
正确答案:————
32.[单选题] 假定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为( )。
A.a
B.AA::a
C.a()
D.AA::a()
正确答案:————
33.[单选题] 在关键字private后面定义的成员为类的( )成员。
A.私有
B.公用
C.保护
D.任何
正确答案:————
34.[单选题] 面向对象软件开发中使用的OOD表示( )。
A.面向对象分析
B.面向对象设计
C.面向对象语言
D.面向对象方法
正确答案:————
35.[单选题] 下列对引用的陈述中不正确的是( )。
A.每一个引用都是其所引用对象的别名,因此必须初始化
B.形式上针对引用的操作实际上作用于它所引用的对象
C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D.不需要单独为引用分配存储空间
正确答案:————
36.[单选题] 变量s的定义为“char *s=”Hello world!”;”,要使变量p指向s所指向的同一个字符串,则应选取( )。
A.char *p=s;
B.char *p=&s;
C.char *p;p=*s;
D.char *p; p=&s;
正确答案:————
37.[单选题] .假定k是一个double类型的变量,则关于变量p的正确定义语句为( )。
A.double p=&k;
B.int *p=&k;
C.double &p=*k;
D.char *p=”Thank you!”;
正确答案:————
38.[单选题] 当#include后面的文件名用尖括号括起来时,寻找被包含文件的方式是( )。
A.直接按系统设定的标准方式搜索目录
B.先在源程序所在目录搜索,再按系统设定的标准方式搜索目录
C.仅仅搜索源程序所在目录
D.搜索当前逻辑盘上的所有目录
正确答案:————
39.[单选题] 将两个字符串连接起来组成一个字符串时,选用( )函数。
A.strlen()
B.strcap()
C.strcat()
D.strcmp()
正确答案:————
40.[单选题] 以下函数的返回结果是( )。
int function(char *x) {
char *p=x; while(*p++); return(p-x-1);
}
A.求字符串的长度
B.将字符串x连接到字符串p后面
C.将字符串x复制到字符串p中
D.将字符串x反向存放
正确答案:————
41.[单选题] 若定义了函数 double *function(), 则函数function的返回值为( )。
A.实数型
B.实数的地址
C.指向函数的指针
D.函数的地址
正确答案:————
42.[单选题] 在下面的字符数组定义中,哪一个有语法错误。( )。
A.char a=”abcdefg”;
B.char a[]=”x+y=55.”;
C.char a;
D.char a=’5’;
正确答案:————
43.[单选题] 当处理特定问题时的循环次数已知时,通常采用( )来解决。
A.for循环
B.while循环
C.do循环
D.switch语句
正确答案:————
44.[单选题] 循环语句“for(int i=0; i<n; i++) cout<<i*i<<’ ’;”中循环体执行的次数为( )。
A.1
B.n-1
C.n
D.n+1
正确答案:————
45.[单选题] 由C++源程序文件编译而成的目标文件的缺省扩展名为( )。
A.cpp
B.exe
C.obj
D.lik
正确答案:————
46.[单选题] 下面( )可应用于DataReader。
A.它是向前导航道,必须从数据表的开头向后顺序读取其中的数据
B.当DataReader初次打开时,当前的记录指针位于第一行记录之前
C.每一行记录的列使用列第数值索引检索
D.上述都对
正确答案:————
47.[单选题] 下面有关运算符的说法错误的是( )。
A.算术运算符不能对布尔类型、String*和Object*进行算术运算
B.关系运算符中的“==”和赋值运算符中的“=”是相同的
C.sizeof运算符是用来查询某种数据类型或表达式的值在内存中所占的内存空间大小
D.括号()在运算符的优先级中是最高的,它可以改变表达式的运算顺序
正确答案:————
48.[单选题] 下列对于WinMain函数的描述中,错误的是
A.WinMain函数的名称是固定的
B.WinMain函数是Windows程序的入口点(该函数被系统调用,作为一个32位应用程序的入口点)
C.WinMain函数不能有参数(四个参数)
D.窗口函数与WinMain的关联是通过窗口类的注册实现的
正确答案:————
49.[单选题] 下列路径中哪一个不是动态链接库加载时的搜索路径
A.包含可执行文件的目录
B.Windows目录
C.进程的当前目录
D.Windows应用程序目录(Program Files)
正确答案:————
50.[单选题] 下面( )正确描述了随机访问文件。
A.随机访问文件与顺序文件的工作方式相同,读写随机文件的方法与顺序文件也相同
B.当读取随机文件时,必须读取第一个记录,它定义了后续记录的长度
C.随机文件中的每一个记录都有一个前缀来指示记录的长度,允许文件中的记录的长度不同
D.以上都不对
正确答案:————
51.[单选题] 列有个虚函数说法不正确的有( )。
A.虚函数是静态的
B.虚函数声明只能出现在类定义的函数原型声明中
C.一个虚函数无论被公有继承多少次,它仍然保持其虚函数的特性
D.定义了虚函数后,程序中声明的指向基类的指针就可以指向其派生类
正确答案:————
52.[单选题] 下列方法中设置MDI父窗体正确的是( )
A.调用指定为MDI父窗体的Show方法,使用参数的枚举值MdiParent
B.使用“项目”属性对话框,设置IsMdiApplication属性为True,然后设置用作父窗体的窗体的启动对象
C.对于指定为父窗体的窗体设置MdiParent属性为True
D.创建一个MDI应用程序项目,而不是创建Windows窗体应用程序项目
正确答案:————
53.[单选题] 下面选项中,( )正确描述了向DataTable添加新的DataRow的步骤。
A.首选调用DataTable的Add方法,然后在相应当列中保存数据
B.创建DataRow类的新实例,然后向DataTable的Row集合添加新行
C.首选调用内部的DataTable的NewRow创建行,然后在新行的相应列中保存数据,最后向DataTable的Rows集合添加新行
D.上述都对
正确答案:————
54.[单选题] 以下四个关于类的访问控制的描述哪一个是错误的
A.子类不能访问其父类的私有数据成员和成员函数
B.子类的对象不能访问其父类的保护数据成员或者成员函数
C.类的对象不能访问类的保护数据成员或者成员函数
D.类的成员函数不能访问类中的私有数据
正确答案:————
55.[单选题] ODBC体系结构中不包括下列哪个组件
A.ODBC管理器
B.数据源
C.驱动程序管理器
D.数据库管理系统DBMS
正确答案:————
56.[单选题] 函数调用的整个过程就是栈空间操作的过程。下面不属于栈操作过程的是( )
A.把被调函数的栈空间收回
B.保护调用函数的运行状态和返回地址
C.传递参数
D.将控制转交被调用函数
正确答案:————
57.[单选题] 有关跳转语句的说法正确的是( )
A.跳转语句的作用是实现程序执行过程从一处跳转到另外一处
B.break主要用于跳出循环语句
C.continue语句用来终止整个循环
D.continue和break语句都只能用于循环体内
正确答案:————
58.[单选题] Timer控件的( )属性控制Tick事件的触发时间间隔
A.Container
B.Enabled
C.Interval
D.Name
正确答案:————
59.[单选题] 下列关于构造函数的描述中,错误的是
A.构造函数可以设置默认参数
B.构造函数在定义类对象时自动执行
C.默认构造函数可以没有
D.构造函数不可以重载
正确答案:————
60.[单选题] 有关for循环的语法形式:for([表达式1];[表达式2];[表达式3]) <语句>,说法错误的是( )
A.若表达式1省略时,需要在for循环语句前面给控制循环是否继续执行的变量(一般是循环变量)赋值
B.若表达式2省略,则循环语句中必需包含结束循环的跳转语句,如break
C.若表达式3省略时,需要在循环体语句中改变循环变量的值,保证可以形成循环结束的条件,否则回形成死循环
D.表达式1、2、3都可以省略,中间的两个“;”也可以省略
正确答案:————
61.[单选题] 给出如下类定义和函数f
class Date{
private:
int d,m,y;
public:
Date(int dd,int mm,int yy);
void add_year(int yy);
void add_month(int mm);
void add_day(int dd);
}
#include "Date.h"
void f()
{
Date today=Date(15,8,2004); //1
Date this_day(15,8,2004); //2
Date other_da
A.第1行
B.第2行
C.第3行
D.第4行
正确答案:————
62.[单选题] 下列有关Directory类的描述中,( )是正确的。
A.Directory类的方法是静态的,因此要调用其方法,需要创建Directory类的实例
B.要删除一个目录,可以调用Directory类的RemoveDirectory方法
C.要删除一个目录,该目录必须为空
D.以上都不对
正确答案:————
63.[单选题] 下列有关MDI应用程序中窗体间的关系描述正确的是( )
A.DI应用程序中只有一个窗体可以指定为MDI子窗体
B.标准窗体必须出现在MDI父窗体的可视区域之内
C.MDI子窗体总是带有菜单
D.MDI子窗体必须出现在MDI父窗体的可视区域之内
正确答案:————
64.[单选题] OleDbParameter的作用是( )
A.它用来配置要检索道DataSet中的列
B.它用来动态配置OleDbConnection的ConnectionString属性
C.当OleDbCommand使用参数化查询语句时,为参数化查询语句提供参数值
D.上述都对
正确答案:————
65.[单选题] 对GetMessage和PeekMessage的叙述正确的是
A.GetMessage不等待消息到达
B.PeekMessage在无消息时不等待
C.PeekMessage总是从消息队列中删除消息,但WM_PAINT消息除外
D.GetMessage总是从消息队列中删除消息,包括WM_PAINT消息
正确答案:————
66.[单选题] 下列类中不属于MFC框架基本类的是
A.CWinApp
B.CFrameWnd
C.CView
D.CObject
正确答案:————
67.[单选题] 下列类中哪一个不是GDI对象类
A.CPen
B.CWnd
C.CBrush
D.CRgn
正确答案:————
68.[单选题] MFC常规动态链接库中不能导出的是
A.风格函数
B.全局变量
C.资源
D.基于MFC的C++类
正确答案:————
69.[单选题] 下面有关重载函数的说法中正确的是
A.重载函数必须有不同的返回值类型
B.重载函数形参个数必须不同
C.重载函数必须有不同的形参列表
D.重载函数名可以不同
正确答案:————
70.[单选题] 下面选项中,( )正确描述了数据绑定
A.从Binding类创建绑定时指定一个数组作为参数,该数字包含对每一个要绑定的控件实例的引用
B.Binding构造函数创建绑定,通过创建绑定,控件可以和DataSet中数据表的指定列相关联
C.Binding构造函数创建绑定,但是,对于与特定控件实例相关联的绑定,必须添加到该控件的DataBindings集合
D.可以把控件绑定到DataSet中的DataTable,但是绑定不能与其他对象相关联,如ArrayList
正确答案:————
71.[单选题] 定义一个枚举类型如下:
__value enum weekday{Mon=2,Tue,Wed,Thu,Fri,Sat=0,Sun};
enum weekday day1,day2,day3,day4;
下面表达式错误的是( )。
A.day1=Thu
B.day2<SUN< span>
C.day3=Sun=1
D.day4=day2
正确答案:————
72.[单选题] 下列描述正确的是( )。
A.构造函数可以重载,析构函数不能重载
B.构造函数不能重载,析构函数可以重载
C.构造函数和析构函数均可重载
D.构造函数和析构函数均不可重载
正确答案:————
73.[单选题] 抽象类不具有的特点是( )
A.抽象类可以实例化对象
B.抽象类只能作为基类使用
C.抽象类不能定义对象变量
D.可以声明一个抽象类的指针和引用
正确答案:————
74.[单选题] 基类和派生类的说法不正确的是()。
A.派生类的对象可作为基类的对象处理
B.定义的派生类对象可以访问基类的公有成员函数和受保护数据
C.派生类对象不能赋值给基类对象
D.派生类对象的指针可以隐式的转换为基类的指
正确答案:————
75.[单选题] 用来把DataSet中的修改保存回数据库,可以调用OleDbDataAdapter中的什么方法?( )
A.Save
B.GetChanges
C.Update
D.AcceptChanges
正确答案:————
76.[单选题] 下面选项中,( )正确描述了DataSet和DataTable之间的关系。
A.一个DataSet包含一个或者多个DataTable对象
B.一个DataSet只能包含一个DataTable对象
C.一个DataTable包含一个或多个DataSet对象
D.DataTable和DataSet没有任何关系
正确答案:————
77.[单选题] OpenFileDialgo和SaveFileDialog控件的( )属性控制显示的文件类型。
A.Selection
B.Filter
C.Index
D.FileType
正确答案:————
78.[单选题] 下面( )是GroupBox和Panel控件的区别。
A.GroupBox和Panel控件都是容器控件
B.GroupBox控件的Text属性包含描述性提示
C.动态的添加控件
D.动态的删除控件
正确答案:————
79.[单选题] 下列选项中哪一个不是命令消息的产生途径
A.选择菜单项
B.单击工具栏
C.点击对话框的按钮
D.程序产生命令
正确答案:————
80.[单选题] 下面的标识符正确的是( )。
A.student name
B.3type
C._above
D.a>b
正确答案:————
81.[单选题] 下列关键字中哪一个不是用于类的访问控制的
A.public
B.friend
C.private
D.protected
正确答案:————
82.[单选题] 以下四个特性中哪一个不属于面向对象的三大特性
A.封装性
B.多态性
C.抽象性
D.继承性
正确答案:————
83.[单选题] 下面四个MFC类中哪一个是管理MFC应用程序的
A.CWinApp
B.CMainFrame
C.CDocument
D.CView
正确答案:————
84.[单选题] 要使某个菜单项无效变为灰色,应该将其( )属性设置为False
A.Visible
B.Checked
C.RadioCheck
D.Enable
正确答案:————
85.[单选题] 如何向数据集DataSet填充数据?( )
A.创建DataSet对象之后以OleDbDataAdapter实例作为参数,调用Load方法
B.调用其构造函数创建DataSet时使用OleDbDataAdapter为参数
C.调用OleDbDataAdapter的Fill方法,使用DataSet作为方法的参数
D.创建DataSet对象,然后对于DataSet中每一个想生成的表,创建一个DataTable对象
正确答案:————
86.[判断题] 程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。
A.错误
B.正确
正确答案:————
87.[判断题] 当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都可以直接访问类A的所有成员。
A.错误
B.正确
正确答案:————
88.[判断题] 如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。
A.错误
B.正确
正确答案:————
89.[判断题] 当函数的返回值是数组类型的,传递的是数组第一个元素的地址。
A.错误
B.正确
正确答案:————
90.[判断题] 说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。
A.错误
B.正确
正确答案:————
91.[判断题] 字符串’hello,world”在内存中存放时,占用11个字节的空间。
A.错误
B.正确
正确答案:————
92.[判断题] 基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问。
A.错误
B.正确
正确答案:————
93.[判断题] 用new动态申请的内存空间,必须用delete来释放 。
A.错误
B.正确
正确答案:————
94.[判断题] 所有的表达式都有值。
A.错误
B.正确
正确答案:————
95.[判断题] 类的静态数据成员需要在定义每个类的对象时进行初始化。
A.错误
B.正确
正确答案:————
页:
[1]