1、专升本面向对象程序设计-试卷-答案(同名21629) 专升本面向对象程序设计一、 (共75题,共150分)1. 的值为()。 (2分)A.1 B.2 C.3 D.4 .标准答案:B2. 调用C+的标准函数exit(0)退出程序,将()。 (2分)A.析构全局对象,不析构局部对象B.析构全局对象,析构局部对象C.不析构全局对象,不析构局部对象D.不析构全局对象,析构局部对象.标准答案:A3. 对于定义的值为()。 (2分)A.1 B.2 C.3 D.4 .标准答案:A4. 对于定义使用f的正确方法为()。 (2分)A.见图 B.见图 C.见图 D.见图 .标准答案:C5. 对于则调用f(x)的返
2、回值为()。 (2分)A.6 B.7 C.8 D.9 .标准答案:C6. 对于定义正确的叙述为()。 (2分)A.w引用u,v引用w B.w引用u,v引用u C.w未引用u,v引用w D.w未引用u,v未引用w .标准答案:B7. C+的非静态函数成员()。 (2分)A.可以重载,可以省略参数 B.不能重载,不能省略参数 C.可以重载,不能省略参数 D.不能重载,可以省略参数 .标准答案:A8. 对于定义类F定义对象将调用哪一个构造函数()。 (2分)A.F:F(int) B.F:F(int, int) C.F:F(int, int, int) D.F:F(int, int, int, int
3、) .标准答案:D9. 关于类的静态数据成员和非静态数据成员,哪个叙述正确()。 (2分)A.它们存储在一起,为所有对象共用B.它们不存储在一起,为所有对象共用C.它们存储在一起,而静态数据成员为所有对象共用D.它们不存储在一起,而非静态数据成员为所有对象共用.标准答案:C10. 使用cinxy输入,正确的说法是()。 (2分)A.cin是输入函数,一次接受两个实参x和yB.cin是输入函数,每次接受一个实参,因此,cin函数被调用两次C.是输入函数,一次接受两个实参:cin和要输入的变量如x(或者)D.是输入函数,一次接受三个实参:cin、x、.标准答案:C11. 关于C+静态数据成员指针和
4、普通非成员指针的叙述哪个正确()。 (2分)A.它们定义形式相同,都能指向类的静态数据成员B.它们定义形式不同,都能指向类的静态数据成员C.它们定义形式相同,都不能指向类的静态数据成员D.它们定义形式不同,都不能指向类的静态数据成员.标准答案:A12. 在C+的类的构造函数前()。 (2分)A.可以使用static和virtual说明B.不能使用static和virtual说明C.可以使用static说明,不能使用virtual说明D.可以使用virtual说明,不能使用static说明.标准答案:B13. C+的类的析构函数成员()。 (2分)A.可以定义为mutable和virtual的B
5、.不能定义为mutable和virtual的C.可以定义为mutable的,不能定义为virtual的D.不能定义为mutable的,可以定义为virtual的.标准答案:D14. 对于类F定义的只能使用如下定义的变量q的地址初始化p()。 (2分)A.见图 B.见图 C.见图 D.见图 .标准答案:A15. 对于定义 函数调用g.e.f( )调用的函数为()。 (2分)A.见图 B.见图 C.见图 D.见图 .标准答案:B16. 运算符:的左部() (2分)A.可以出现名字空间名称,可以出现类名B.不能出现名字空间名称,可以出现类名C.可以出现名字空间名称,不能出现类名D.不能出现名字空间名
6、称,不能出现类名.标准答案:A17. 当C+的类F定义了非静态数据成员f、以及参数为f的非静态函数成员g,则在函数g中访问数据成员f使用()。 (2分)A.见图 B.见图 C.见图 D.见图 .标准答案:B18. 关于C+的位段叙述哪个正确()。 (2分)A.可以出现在struct中,但不能出现在class中B.可以出现在struct中,也能出现在class中C.不能出现在struct中,也不能出现在class中D.不能出现在struct中,但可以出现在class中.标准答案:B19. 关于抽象类F的应用,下面哪个是正确的()。 (2分)A.见图 B.见图 C.见图 D.见图 .标准答案:D2
7、0. 关于+运算符函数重载,正确的叙述为()。 (2分)A.前置运算重载为单目,后置运算重载为双目B.前置运算重载为单目,后置运算重载为单目C.前置运算重载为双目,后置运算重载为双目D.前置运算重载为双目,后置运算重载为单目.标准答案:A21. 类F缺省的构造函数的原型为()。 (2分)A.F( ) B.F(const F&) C.F(int x) D.F(const double&) .标准答案:A,B22. virtual保留字可以用于()。 (2分)A.说明基类 B.说明普通成员函数 C.说明非成员函数 D.说明静态成员函数 .标准答案:A,B23. 对于定义如下
8、那种调用是正确的()。 (2分)A.f(m) B.f(n) C.f(p) D.f(q) .标准答案:A,B24. C+的union类型可以定义()。 (2分)A.静态数据成员 B.非静态数据成员 C.静态函数成员 D.非静态函数成员 .标准答案:B,C,D25. C+的运算符“&”可以重载为如下哪些类型的函数()。 (2分)A.单目函数 B.双目函数 C.三目函数 D.四目函数 .标准答案:A,B26. sizeof(printf(16)/sizeof(int)的值为()。 (2分)A.1 B.2 C.3 D.4 .标准答案:A27. 调用C+的函数abort( )退出程序,将()。 (2分)
9、A.析构全局对象,不析构局部对象B.析构全局对象,析构局部对象C.不析构全局对象,不析构局部对象D.不析构全局对象,析构局部对象.标准答案:C28. 对于定义double x=1; double &y=x; sizeof(y)的值为()。 (2分)A.1 B.4 C.8 D.16 .标准答案:C29. 对于定义int *const f10,使用f的正确方法为()。 (2分)A.*f5=1; B.(*f)5=1; C.f5+; D.f5=1; .标准答案:A30. 对于则调用f(x)的返回值为()。 (2分)A.6 B.7 C.8 D.9 .标准答案:C31. 对于定义int u=3; int
10、&w=+u; int &v=w+;正确的叙述为()。 (2分)A.w引用u,v引用w B.w引用u,v未引用u C.w未引用u,v引用w D.w未引用u,v未引用w .标准答案:B32. C+的普通函数成员()。 (2分)A.可以重载,可以省略参数 B.不能重载,不能省略参数 C.可以重载,不能省略参数 D.不能重载,可以省略参数 .标准答案:A33. 对于类F定义对象F x=(1,2,3,4);将调用哪一个构造函数()。 (2分)A.见图 B.见图 C.见图 D.见图 .标准答案:A34. 在计算类的存储空间大小时,其大小等于()。 (2分)A.所有数据成员大小之和B.所有数据成员大小之和,
11、但不包括静态数据成员C.所有数据成员、虚函数入口地址表指针大小之和,但不包括静态数据成员D.所有基类、数据成员、虚函数入口地址表指针大小之和,但不包括静态数据成员.标准答案:D35. 使用coutA.cout是输出函数,一次接受两个实参x和yB.cout是输出函数,每次接受一个实参,因此,cout函数被调用两次C.是输出函数,一次接受两个实参:cout和要输出的变量如x(或者)D.是输出函数,一次接受三个实参:cout、x、.标准答案:C36. 关于C+静态数据成员指针和普通指针的叙述哪个正确()。 (2分)A.它们定义形式相同,指向的对象也相同B.它们定义形式不同,但指向的对象相同C.它们定
12、义形式相同,但指向的对象不同D.它们定义形式不同,指向的对象也不同.标准答案:A37. 在C+的类的析构函数前()。 (2分)A.可以使用static和virtual说明B.不能使用static和virtual说明C.可以使用static说明,不能使用virtual说明D.可以使用virtual说明,不能使用static说明.标准答案:B38. C+的类的析构函数成员()。 (2分)A.可以定义为mutable和virtual的B.不能定义为mutable和virtual的C.可以定义为mutable的,不能定义为virtual的D.不能定义为mutable的,可以定义为virtual的.标准
13、答案:D39. 对于类A定义的A (*p) =new A 30,只能使用如下形式释放p的内存()。 (2分)A.delete p;B.delete p;C.delete p30;D.delete *p;.标准答案:B40. 对于在定义时在前面()。 (2分)A.可加static,可加virtualB.可加static,不可加virtualC.不可加static,可加virtualD.不可加static,不可加virtual.标准答案:C41. 运算符“.”的左部() (2分)A.可以出现返回代表对象的函数调用,可以出现对象B.不能出现返回代表对象的函数调用,可以出现对象C.可以出现返回代表对象
14、的函数调用,不能出现对象D.不能出现返回代表对象的函数调用,不能出现对象.标准答案:A42. 强制类型转换,()。 (2分)A.可以将任何类型转换为普通成员指针B.可以将普通成员指针转换为任何类型C.可以实现任何类型之间的转换;D.可以实现任何类型之间的转换,A和B的转换除外;.标准答案:D43. 关于C+的位段叙述哪个正确()。 (2分)A.可以出现在struct中,但不能出现在union中B.可以出现在struct中,也能出现在union中C.不能出现在struct中,也不能出现在union中D.不能出现在struct中,但可以出现在union中.标准答案:B44. 关于双目运算符“/”重
15、载为普通函数成员,下面哪个是正确的()。 (2分)A.参数表里只能有一个参数,且必须是代表对象的类型;B.参数表里只能有一个参数,不必是代表对象的类型C.参数表里可以有多个参数,且必须是代表对象的类型D.参数表里可以有多个参数,不必是代表对象的类型.标准答案:B45. 关于-运算符函数重载,正确的叙述为()。 (2分)A.前置运算重载为单目,后置运算重载为双目B.前置运算重载为单目,后置运算重载为单目C.前置运算重载为双目,后置运算重载为双目D.前置运算重载为双目,后置运算重载为单目.标准答案:A46. 类F缺省的赋值运算符重载函数的原型为()。 (2分)A.见图B.见图C.见图D.见图.标准
16、答案:D47. static保留字可以用于()。 (2分)A.说明普通变量B.说明成员变量C.说明成员函数D.说明普通函数.标准答案:A,B,C,D48. 对于圆括号运算符“()”,可以进行哪些运算符函数的重载()。 (2分)A.强制类型转换运算符重载B.一目以上的普通函数成员重载C.一目以上的静态函数成员重载D.都不对.标准答案:A,B49. C+的union类型可以定义()。 (2分)A.私有数据成员B.保护数据成员C.公有数据成员D.静态数据成员.标准答案:A,B,C50. C+的运算符“+”可以重载为如下哪些类型的函数()。 (2分)A.单目函数B.双目函数C.三目函数D.四目函数.标
17、准答案:A,B51. 函数的所有缺省值参数应()。 (2分)A.出现在参数表的右部,其中不能参杂非缺省值参数B.出现在参数表的左部,其中不能参杂非缺省值参数C.出现在参数表的右部,其中可以参杂非缺省值参数D.出现在参数表的左部,其中可以参杂非缺省值参数.标准答案:A52. 内联函数通常()。 (2分)A.函数体较小,且应该有分支类型的语句B.函数体较大,且不应有分支类型的语句C.函数体较小,且不应有分支类型的语句D.函数体较大,且应该有分支类型的语句.标准答案:C53. 引用变量()。 (2分)A.逻辑上不分配内存,必须引用分配内存的变量B.逻辑上要分配内存,必须引用分配内存的变量C.逻辑上不
18、分配内存,可以引用不分配内存的变量D.逻辑上要分配内存,可以引用不分配内存的变量.标准答案:A54. 对枚举类型定义的元素()。 (2分)A.可以指定整型值,且整型值不得重复指定给不同枚举元素B.可以指定整型值,且整型值可以重复指定给不同枚举元素C.不能指定整型值,且整型值不得重复指定给不同枚举元素D.不能指定整型值,且整型值可以重复指定给不同枚举元素.标准答案:B55. 5关于.保留字struct和class,正确的叙述为()。 (2分)A.都可以定义类,且可以相互替代B.都可以定义类,且不能相互替代C.只有class可以定义类,因此不能相互替代D.都不对.标准答案:A56. C+的数组元素
19、不可以()。 (2分)A.是数组B.是整数C.是函数D.是指针.标准答案:57. C+指针变量int * const &p表示()。 (2分)A.左边的指针指向右边的引用,且右边的引用不能被修改B.左边的指针指向右边的引用,且左边的指针不能被修改C.右边的引用引用左边的指针,且右边的引用不能被修改D.右边的引用引用左边的指针,且左边的指针不能被修改.标准答案:C58. 关于表达式+(x+),如下哪个叙述正确()。 (2分)A.正确,且最终增加2B.正确,且最终增加1C.错误D.都不对.标准答案:C59. 如果不是释放数组指针指向的内存,delete后面使用的指针的类型为()。 (2分)A.vo
20、id *B.char *C.int *D.double *.标准答案:A60. 一个左值必然不是()。 (2分)A.一个变量B.一个常量C.一个对象D.一个函数调用.标准答案:B61. C+的析构函数()。 (2分)A.可以重载,可以定义返回类型B.可以重载,不能定义返回类型C.不能重载,可以定义返回类型D.不能重载,不能定义返回类型.标准答案:D62. 关于C+的struct,定义的成员()。 (2分)A.缺省都是公有成员,但可以定义私有成员B.缺省都是私有成员,但可以定义公有成员C.缺省都是公有成员,不能定义私有成员D.缺省都是私有成员,不能定义公有成员.标准答案:A63. C+的类F定义
21、的类F的函数成员()。 (2分)A.可以定义为friend和static的B.不能定义为friend和static的C.可以定义为friend的,不能定义为static的D.不能定义为friend的,可以定义为static的.标准答案:D64. 对于类F定义F f1020,可以认为f10()。 (2分)A.是一个10元素数组,每个元素存放1个F类对象;B.是一个10元素数组,每个元素存放20个F类对象;C.是一个指针,指向数组的第10个元素;D.是一个指针,指向数组的第20个元素.标准答案:B65. 对于定义函数f的隐含参数this的类型为()。 (2分)A.const E *volatile
22、B.const E*constC.volatile E*constD.const volatile E*const.标准答案:D66. C+的名字空间不能包含() (2分)A.变量定义B.函数定义C.类型定义D.数值常量.标准答案:D67. 对于如下操作合法的为()。 (2分)A.见图B.见图C.见图D.见图.标准答案:D68. 对于定义成员b-a的类型为()。 (2分)A.intB.const intC.const volatile intD.volatile int.标准答案:C69. 对于定义会()。 (2分)A.先调用缺省析构函数E( )一次,再释放p指向的对象内存B.先调用缺省析构函
23、数F( )一次,再释放p指向的对象内存C.先调用缺省析构函数E( )十次,再释放p指向的对象内存D.先调用缺省析构函数F( )十次,再释放p指向的对象内存.标准答案:C70. 关于运算符函数%的重载,正确的叙述为()。 (2分)A.可以重载为单目运算,但不改变运算符的结合性B.可以重载为双目运算,但不改变运算符的结合性C.可以重载为单目运算,但改变运算符的结合性D.可以重载为双目运算,但改变运算符的结合性.标准答案:B71. C+具有如下特点()。 (2分)A.兼容C语言B.支持多继承C.支持运算符重载D.可自动回收内存.标准答案:A,B,C72. 若类不自定义函数成员,C+编译器会提供缺省的()。 (2分)A.无参构造函数B.拷贝构造函数C.赋值运算符函数D.析构函数.标准答案:A,B,C,D73. 运算符:可以做()。 (2分)A.单目运算符B.双目运算符C.三目运算符D.都不对.标准答案:A,B74. 关于定义int *p,()。 (2分)A.*p是左值B.p是左值C.p+是左值D.+p是左值.标准答案:A,B,D75. C+的运算符“-”可以重载为如下哪些类型的函数()。 (2分)A.单目函数B.双目函数C.三目函数D.四目函数.标准答案:A,B8第8页共8页