专升本《面向对象程序设计》考试答案.docx
《专升本《面向对象程序设计》考试答案.docx》由会员分享,可在线阅读,更多相关《专升本《面向对象程序设计》考试答案.docx(18页珍藏版)》请在冰豆网上搜索。
![专升本《面向对象程序设计》考试答案.docx](https://file1.bdocx.com/fileroot1/2022-11/26/603172f8-fb84-4027-b1ef-8c65c788919c/603172f8-fb84-4027-b1ef-8c65c788919c1.gif)
专升本《面向对象程序设计》考试答案
[试题分类]:
专升本《面向对象程序设计》_08023050
[题型]:
单选
[分数]:
2
1.
对于
如下操作合法的为()。
A.见图
B.见图
C.见图
D.见图
答案:
A
2.C++指针变量int*const&p表示()。
A.右边的引用引用左边的指针,且右边的引用不能被修改
B.左边的指针指向右边的引用,且左边的指针不能被修改
C.左边的指针指向右边的引用,且右边的引用不能被修改
D.右边的引用引用左边的指针,且左边的指针不能被修改
答案:
A
3.
对于定义
函数调用g.e.f()调用的函数为()。
A.见图
B.见图
C.见图
D.见图
答案:
C
4.
的值为()。
A.1
B.3
C.4
D.2
答案:
D
5.关于C++的位段叙述哪个正确()。
A.可以出现在struct中,但不能出现在class中
B.不能出现在struct中,但可以出现在class中
C.不能出现在struct中,也不能出现在class中
D.可以出现在struct中,也能出现在class中
答案:
D
6.如果不是释放数组指针指向的内存,delete后面使用的指针的类型为()。
A.void*
B.int*
C.char*
D.double*
答案:
A
7.对于定义
函数f的隐含参数this的类型为()。
A.volatileE*const
B.constE*const
C.constE*volatile
D.constvolatileE*const
答案:
D
8.C++的类F定义的类F的函数成员()。
A.不能定义为friend的,可以定义为static的
B.可以定义为friend的,不能定义为static的
C.可以定义为friend和static的
D.不能定义为friend和static的
答案:
A
9.运算符“.”的左部()
A.不能出现返回代表对象的函数调用,不能出现对象
B.可以出现返回代表对象的函数调用,可以出现对象
C.可以出现返回代表对象的函数调用,不能出现对象
D.不能出现返回代表对象的函数调用,可以出现对象
答案:
B
10.引用变量()。
A.逻辑上要分配内存,可以引用不分配内存的变量
B.逻辑上不分配内存,必须引用分配内存的变量
C.逻辑上不分配内存,可以引用不分配内存的变量
D.逻辑上要分配内存,必须引用分配内存的变量
答案:
B
11.C++的析构函数()。
A.不能重载,不能定义返回类型
B.可以重载,不能定义返回类型
C.可以重载,可以定义返回类型
D.不能重载,可以定义返回类型
答案:
A
12.对于
在定义时在前面()。
A.可加static,可加virtual
B.可加static,不可加virtual
C.不可加static,可加virtual
D.不可加static,不可加virtual
答案:
C
13.关于C++的位段叙述哪个正确()。
A.不能出现在struct中,也不能出现在union中
B.不能出现在struct中,但可以出现在union中
C.可以出现在struct中,也能出现在union中
D.可以出现在struct中,但不能出现在union中
答案:
C
14.
当C++的类F定义了非静态数据成员f、以及参数为f的非静态函数成员g,则在函数g中访问数据成员f使用()。
A.见图
B.见图
C.见图
D.见图
答案:
B
15.C++的非静态函数成员()。
A.不能重载,不能省略参数
B.可以重载,可以省略参数
C.不能重载,可以省略参数
D.可以重载,不能省略参数
答案:
B
16.关于表达式++(x++),如下哪个叙述正确()。
A.正确,且最终增加2
B.正确,且最终增加1
C.都不对
D.错误
答案:
D
17.
关于抽象类F的应用,下面哪个是正确的()。
A.见图
B.见图
C.见图
D.见图
答案:
B
18.C++的类的析构函数成员()。
A.不能定义为mutable和virtual的
B.可以定义为mutable和virtual的
C.可以定义为mutable的,不能定义为virtual的
D.不能定义为mutable的,可以定义为virtual的
答案:
D
19.调用C++的标准函数exit(0)退出程序,将()。
A.不析构全局对象,析构局部对象
B.不析构全局对象,不析构局部对象
C.析构全局对象,析构局部对象
D.析构全局对象,不析构局部对象
答案:
D
20.对于定义intu=3;int&w=++u;int&v=w++;正确的叙述为()。
A.w未引用u,v未引用w
B.w未引用u,v引用w
C.w引用u,v未引用u
D.w引用u,v引用w
答案:
C
21.关于C++的struct,定义的成员()。
A.缺省都是公有成员,不能定义私有成员
B.缺省都是私有成员,但可以定义公有成员
C.缺省都是私有成员,不能定义公有成员
D.缺省都是公有成员,但可以定义私有成员
答案:
D
22.对于定义
的值为()。
A.1
B.4
C.2
D.3
答案:
A
23.关于.保留字struct和class,正确的叙述为()。
A.只有class可以定义类,因此不能相互替代
B.都不对
C.都可以定义类,且可以相互替代
D.都可以定义类,且不能相互替代
答案:
C
24.在计算类的存储空间大小时,其大小等于()。
A.所有数据成员大小之和
B.所有数据成员、虚函数入口地址表指针大小之和,但不包括静态数据成员
C.所有基类、数据成员、虚函数入口地址表指针大小之和,但不包括静态数据成员
D.所有数据成员大小之和,但不包括静态数据成员
答案:
C
25.
A.见图
B.见图
C.见图
D.对于定义
使用f的正确方法为()。
见图
答案:
B
26.函数的所有缺省值参数应()。
A.出现在参数表的左部,其中可以参杂非缺省值参数
B.出现在参数表的右部,其中不能参杂非缺省值参数
C.出现在参数表的左部,其中不能参杂非缺省值参数
D.出现在参数表的右部,其中可以参杂非缺省值参数
答案:
B
27.对于
则调用f(x)的返回值为()。
A.9
B.6
C.8
D.7
答案:
C
28.关于双目运算符“/”重载为普通函数成员,下面哪个是正确的()。
A.参数表里只能有一个参数,且必须是代表对象的类型;
B.参数表里只能有一个参数,不必是代表对象的类型
C.参数表里可以有多个参数,不必是代表对象的类型
D.参数表里可以有多个参数,且必须是代表对象的类型
答案:
B
29.对于定义doublex=1;double&y=x;sizeof(y)的值为()。
A.1
B.16
C.8
D.4
答案:
C
30.关于类的静态数据成员和非静态数据成员,哪个叙述正确()。
A.它们存储在一起,而静态数据成员为所有对象共用
B.它们不存储在一起,为所有对象共用
C.它们存储在一起,为所有对象共用
D.它们不存储在一起,而非静态数据成员为所有对象共用
答案:
A
31.C++的普通函数成员()。
A.可以重载,可以省略参数
B.不能重载,不能省略参数
C.可以重载,不能省略参数
D.不能重载,可以省略参数
答案:
A
32.使用cin>>x>>y输入,正确的说法是()。
A.>>是输入函数,一次接受三个实参:
cin、x、y
B.cin是输入函数,每次接受一个实参,因此,cin函数被调用两次
C.>>是输入函数,一次接受两个实参:
cin和要输入的变量如x(或者y)
D.cin是输入函数,一次接受两个实参x和y
答案:
C
33.C++的类的析构函数成员()。
A.可以定义为mutable和virtual的
B.不能定义为mutable的,可以定义为virtual的
C.可以定义为mutable的,不能定义为virtual的
D.不能定义为mutable和virtual的
答案:
B
34.在C++的类的构造函数前()。
A.可以使用static和virtual说明
B.可以使用static说明,不能使用virtual说明
C.不能使用static和virtual说明
D.可以使用virtual说明,不能使用static说明
答案:
C
35.C++的名字空间不能包含()
A.变量定义
B.函数定义
C.数值常量
D.类型定义
答案:
C
36.
对于类F定义的
只能使用如下定义的变量q的地址初始化p()。
A.见图
B.见图
C.见图
D.见图
答案:
B
37.对于
则调用f(x)的返回值为()。
A.9
B.8
C.6
D.7
答案:
B
38.使用cout<A.cout是输出函数,每次接受一个实参,因此,cout函数被调用两次
B.cout是输出函数,一次接受两个实参x和y
C.>>是输出函数,一次接受两个实参:
cout和要输出的变量如x(或者y)
D.>>是输出函数,一次接受三个实参:
cout、x、y
答案:
C
39.关于C++静态数据成员指针和普通非成员指针的叙述哪个正确()。
A.它们定义形式相同,都能指向类的静态数据成员
B.它们定义形式不同,都不能指向类的静态数据成员
C.它们定义形式不同,都能指向类的静态数据成员
D.它们定义形式相同,都不能指向类的静态数据成员
答案:
A
40.在C++的类的析构函数前()。
A.可以使用static说明,不能使用virtual说明
B.不能使用static和virtual说明
C.可以使用virtual说明,不能使用static说明
D.可以使用static和virtual说明
答案:
B
41.对于定义
正确的叙述为()。
A.w未引用u,v未引用w
B.w未引用u,v引用w
C.w引用u,v引用w
D.w引用u,v引用u
答案:
D
42.关于C++静态数据成员指针和普通指针的叙述哪个正确()。
A.它们定义形式相同,但指向的对象不同
B.它们定义形式不同,指向的对象也不同
C.它们定义形式相同,指向的对象也相同
D.它们定义形式不同,但指向的对象相同
答案:
C
43.关于运算符函数%的重载,正确的叙述为()。
A.可以重载为单目运算,但改变运算符的结合性
B.可以重载为单目运算,但不改变运算符的结合性
C.可以重载为双目运算,但不改变运算符的结合性
D.可以重载为双目运算,但改变运算符的结合性
答案:
C
44.运算符:
:
的左部()
A.不能出现名字空间名称,可以出现类名
B.可以出现名字空间名称,可以出现类名
C.可以出现名字空间名称,不能出现类名
D.不能出现名字空间名称,不能出现类名
答案:
B
45.
对于类F定义对象Fx=(1,2,3,4);将调用哪一个构造函数()。
A.见图
B.见图
C.见图
D.见图
答案:
B
46.强制类型转换,()。
A.可以实现任何类型之间的转换,A和B的转换除外;
B.可以将任何类型转换为普通成员指针
C.可以实现任何类型之间的转换;
D.可以将普通成员指针转换为任何类型
答案:
A
47.对于类F定义Ff[10][20],可以认为f[10]()。
A.是一个指针,指向数组的第10个元素;
B.是一个10元素数组,每个元素存放20个F类对象;
C.是一个10元素数组,每个元素存放1个F类对象;
D.是一个指针,指向数组的第20个元素
答案:
B
48.对枚举类型定义的元素()。
A.不能指定整型值,且整型值可以重复指定给不同枚举元素
B.可以指定整型值,且整型值可以重复指定给不同枚举元素
C.不能指定整型值,且整型值不得重复指定给不同枚举元素
D.可以指定整型值,且整型值不得重复指定给不同枚举元素
答案:
B
49.对于定义int*constf[10],使用f的正确方法为()。
A.f[5]++;
B.(*f)[5]=1;
C.*f[5]=1;
D.f[5]=1;
答案:
C
50.对于定义
成员b->a的类型为()。
A.constvolatileint
B.int
C.constint
D.volatileint
答案:
A
51.调用C++的函数abort()退出程序,将()。
A.不析构全局对象,不析构局部对象
B.析构全局对象,析构局部对象
C.不析构全局对象,析构局部对象
D.析构全局对象,不析构局部对象
答案:
A
52.对于类A定义的A(*p)=newA[30],只能使用如下形式释放p的内存()。
A.deletep;
B.delete*p;
C.deletep[30];
D.delete[]p;
答案:
D
53.内联函数通常()。
A.函数体较小,且应该有分支类型的语句
B.函数体较大,且不应有分支类型的语句
C.函数体较小,且不应有分支类型的语句
D.函数体较大,且应该有分支类型的语句
答案:
C
54.一个左值必然不是()。
A.一个对象
B.一个变量
C.一个函数调用
D.一个常量
答案:
D
55.对于定义类F定义对象
将调用哪一个构造函数()。
A.F:
:
F(int,int,int,int)
B.F:
:
F(int,int,int)
C.F:
:
F(int,int)
D.F:
:
F(int)
答案:
A
56.C++的数组元素不可以()。
A.是整数
B.是函数
C.是指针
D.是数组
答案:
B
57.关于++运算符函数重载,正确的叙述为()。
A.前置运算重载为双目,后置运算重载为单目
B.前置运算重载为单目,后置运算重载为双目
C.前置运算重载为单目,后置运算重载为单目
D.前置运算重载为双目,后置运算重载为双目
答案:
B
58.sizeof(printf("16"))/sizeof(int)的值为()。
A.4
B.2
C.1
D.3
答案:
C
59.对于定义
会()。
A.先调用缺省析构函数~F()一次,再释放p指向的对象内存
B.先调用缺省析构函数~F()十次,再释放p指向的对象内存
C.先调用缺省析构函数~E()十次,再释放p指向的对象内存
D.先调用缺省析构函数~E()一次,再释放p指向的对象内存
答案:
C
60.关于--运算符函数重载,正确的叙述为()。
A.前置运算重载为双目,后置运算重载为单目
B.前置运算重载为单目,后置运算重载为双目
C.前置运算重载为双目,后置运算重载为双目
D.前置运算重载为单目,后置运算重载为单目
答案:
B
[试题分类]:
专升本《面向对象程序设计》_08023050
[题型]:
多选
[分数]:
2
1.运算符:
:
可以做()。
A.都不对
B.单目运算符
C.三目运算符
D.双目运算符
答案:
B,D
2.C++的运算符“&”可以重载为如下哪些类型的函数()。
A.三目函数
B.四目函数
C.单目函数
D.双目函数
答案:
C,D
3.C++的union类型可以定义()。
A.保护数据成员
B.公有数据成员
C.私有数据成员
D.静态数据成员
答案:
A,B,C
4.
类F缺省的赋值运算符重载函数的原型为()。
A.见图
B.见图
C.见图
D.见图
答案:
A
5.C++具有如下特点()。
A.支持多继承
B.可自动回收内存
C.兼容C语言
D.支持运算符重载
答案:
A,C,D
6.关于定义int*p,()。
A.p++是左值
B.*p是左值
C.++p是左值
D.p是左值
答案:
B,C,D
7.C++的运算符“+”可以重载为如下哪些类型的函数()。
A.双目函数
B.四目函数
C.三目函数
D.单目函数
答案:
A,D
8.对于定义
如下那种调用是正确的()。
A.f(m)
B.f(n)
C.f(q)
D.f(p)
答案:
A,B
9.C++的union类型可以定义()。
A.静态数据成员
B.非静态函数成员
C.非静态数据成员
D.静态函数成员
答案:
B,C,D
10.若类不自定义函数成员,C++编译器会提供缺省的()。
A.赋值运算符函数
B.无参构造函数
C.析构函数
D.拷贝构造函数
答案:
A,B,C,D
11.C++的运算符“--”可以重载为如下哪些类型的函数()。
A.单目函数
B.三目函数
C.四目函数
D.双目函数
答案:
A,D
12.类F缺省的构造函数的原型为()。
A.F(constdouble&)
B.F(constF&)
C.F(intx)
D.F()
答案:
B,D
13.对于圆括号运算符“()”,可以进行哪些运算符函数的重载()。
A.一目以上的普通函数成员重载
B.一目以上的静态函数成员重载
C.强制类型转换运算符重载
D.都不对
答案:
A,C
14.static保留字可以用于()。
A.说明成员函数
B.说明成员变量
C.说明普通函数
D.说明普通变量
答案:
A,B,C,D
15.virtual保留字可以用于()。
A.说明静态成员函数
B.说明基类
C.说明普通成员函数
D.说明非成员函数
答案:
B,C