专升本《面向对象程序设计》教学文稿.docx
《专升本《面向对象程序设计》教学文稿.docx》由会员分享,可在线阅读,更多相关《专升本《面向对象程序设计》教学文稿.docx(11页珍藏版)》请在冰点文库上搜索。
专升本《面向对象程序设计》教学文稿
专升本《面向对象程序设计》
一、单选(共20题,每题2分,共40分)
1.对于定义
成员b->a的类型为()。
A.int
B.volatileint
C.constint
D.constvolatileint
2.一个左值必然不是()。
A.一个对象
B.一个函数调用
C.一个变量
D.一个常量
3.如果不是释放数组指针指向的内存,delete后面使用的指针的类型为()。
A.int*
B.char*
C.double*
D.void*
4.对于定义
会()。
A.先调用缺省析构函数~E()一次,再释放p指向的对象内存
B.先调用缺省析构函数~E()十次,再释放p指向的对象内存
C.先调用缺省析构函数~F()十次,再释放p指向的对象内存
D.先调用缺省析构函数~F()一次,再释放p指向的对象内存
5.内联函数通常()。
A.函数体较小,且不应有分支类型的语句
B.函数体较小,且应该有分支类型的语句
C.函数体较大,且应该有分支类型的语句
D.函数体较大,且不应有分支类型的语句
6.C++的名字空间不能包含()
A.函数定义
B.类型定义
C.变量定义
D.数值常量
7.C++指针变量int*const&p表示()。
A.右边的引用引用左边的指针,且左边的指针不能被修改
B.左边的指针指向右边的引用,且左边的指针不能被修改
C.右边的引用引用左边的指针,且右边的引用不能被修改
D.左边的指针指向右边的引用,且右边的引用不能被修改
8.对于
如下操作合法的为()。
9.引用变量()。
A.逻辑上要分配内存,必须引用分配内存的变量
B.逻辑上不分配内存,必须引用分配内存的变量
C.逻辑上要分配内存,可以引用不分配内存的变量
D.逻辑上不分配内存,可以引用不分配内存的变量
10.C++的类F定义的类F的函数成员()。
A.不能定义为friend和static的
B.可以定义为friend的,不能定义为static的
C.不能定义为friend的,可以定义为static的
D.可以定义为friend和static的
11.关于C++的struct,定义的成员()。
A.缺省都是公有成员,不能定义私有成员
B.缺省都是私有成员,但可以定义公有成员
C.缺省都是公有成员,但可以定义私有成员
D.缺省都是私有成员,不能定义公有成员
12.C++的数组元素不可以()。
A.是整数
B.是函数
C.是数组
D.是指针
13.对于类F定义Ff[10][20],可以认为f[10]()。
A.是一个指针,指向数组的第20个元素
B.是一个10元素数组,每个元素存放1个F类对象;
C.是一个10元素数组,每个元素存放20个F类对象;
D.是一个指针,指向数组的第10个元素;
14.对枚举类型定义的元素()。
A.可以指定整型值,且整型值可以重复指定给不同枚举元素
B.不能指定整型值,且整型值不得重复指定给不同枚举元素
C.可以指定整型值,且整型值不得重复指定给不同枚举元素
D.不能指定整型值,且整型值可以重复指定给不同枚举元素
15.C++的析构函数()。
A.可以重载,不能定义返回类型
B.可以重载,可以定义返回类型
C.不能重载,可以定义返回类型
D.不能重载,不能定义返回类型
16.关于.保留字struct和class,正确的叙述为()。
A.只有class可以定义类,因此不能相互替代
B.都可以定义类,且不能相互替代
C.都可以定义类,且可以相互替代
D.都不对
17.关于表达式++(x++),如下哪个叙述正确()。
A.错误
B.都不对
C.正确,且最终增加1
D.正确,且最终增加2
18.关于运算符函数%的重载,正确的叙述为()。
A.可以重载为单目运算,但改变运算符的结合性
B.可以重载为双目运算,但不改变运算符的结合性
C.可以重载为双目运算,但改变运算符的结合性
D.可以重载为单目运算,但不改变运算符的结合性
19.函数的所有缺省值参数应()。
A.出现在参数表的左部,其中可以参杂非缺省值参数
B.出现在参数表的左部,其中不能参杂非缺省值参数
C.出现在参数表的右部,其中可以参杂非缺省值参数
D.出现在参数表的右部,其中不能参杂非缺省值参数
20.对于定义
函数f的隐含参数this的类型为()。
A.constE*volatile
B.constvolatileE*const
C.constE*const
D.volatileE*const
二、多选(共5题,每题2分,共10分)
1.关于定义int*p,()。
A.++p是左值
B.*p是左值
C.p是左值
D.p++是左值
2.C++的运算符“--”可以重载为如下哪些类型的函数()。
A.双目函数
B.三目函数
C.四目函数
D.单目函数
3.若类不自定义函数成员,C++编译器会提供缺省的()。
A.赋值运算符函数
B.无参构造函数
C.析构函数
D.拷贝构造函数
4.C++具有如下特点()。
A.支持运算符重载
B.兼容C语言
C.可自动回收内存
D.支持多继承
5.运算符:
:
可以做()。
A.单目运算符
B.都不对
C.三目运算符
D.双目运算符
一、单选(共20题,每题2分,共40分)
1.标准答案:
D
2.标准答案:
D
3.标准答案:
D
4.标准答案:
B
5.标准答案:
A
6.标准答案:
D
7.标准答案:
C
8.标准答案:
D
9.标准答案:
B
10.标准答案:
C
11.标准答案:
C
12.标准答案:
B
13.标准答案:
C
14.标准答案:
A
15.标准答案:
D
16.标准答案:
C
17.标准答案:
A
18.标准答案:
B
19.标准答案:
D
20.标准答案:
B
二、多选(共5题,每题2分,共10分)
1.标准答案:
A,B,C
2.标准答案:
A,D
3.标准答案:
A,B,C,D
4.标准答案:
A,B,D
5.标准答案:
A,D
一、单项选择题(本大题共20小题,每小题2.0分,共40分)
1.函数成员的晚期绑定是由()执行的。
A.编辑程序B.编译程序C.操作系统D.程序自身
2.面向对象的封装是将()包装在一起。
A.类型、属性、方法B.电子元件器件C.数值类型常量D.文字类型常量
3.C或C++的标准函数scanf的返回值为()。
A.长整型且等于输入的变量个数B.长整型且等于输入的字符个数
C.整型且等于输入的变量个数D.整型且等于输入的字符个数
4.枚举类型定义的枚举元素的类型可看作是()。
A.constdouble类型B.constfloat类型C.constbool类型D.constint类型
5.枚举类型定义的元素必须是()。
A.标识符且个数无限B.变量名且个数无限
C.标识符且个数有限D.变量名且个数有限
6.使用cin>>x>>y输入,正确的说法是()。
A.cin是输入函数,一次接受两个实参x和y
B.cin是输入函数,每次接受一个实参,因此,cin函数被调用两次
C.>>是输入函数,一次接受两个实参:
cin和要输入的变量x(或者y)
D.>>是输入函数,一次接受三个实参:
cin、x、y
7.C或C++的标准函数printf的返回值为()。
A.长整型且等于打印的值的个数B.长整型且等于打印的字符个数
C.整型且等于打印的值的个数D.整型且等于打印的字符个数
8.C++的数组变量不可以用()。
A.类型名初始化B.变量名初始化C.函数名初始化D.常量名初始化
9.表达式sizeof(char)+sizeof(printf("3"))/sizeof(int)的值为()。
A.1B.2C.3D.4
10.对于定义“double*x;”,则sizeofx/sizeof(void*)的值为()。
A.1B.2C.3D.4
11.指向类ABC的一个对象的指针是()。
A.简单类型B.数组类型C.ABC类型D.void类型
12.对于void*p定义的指针变量p,将5.23赋值到p所指向的整型存储单元的正确形式为()。
A.*p=5.23B.*p=(int)5.23C.*(int*)p=5.23D.(int)*p=5.23
13.使用类F定义变量“Ff[10][20];”,可以认为f[8]()。
A.是一个10元素数组,每个元素存放1个F类对象;
B.是一个20元素数组,每个元素存放1个F类对象;
C.是一个对象指针,指向数组f的第8个元素;
D.是一个对象指针,指向数组f的第10个元素
14.对于“intx=3;intf(int&y){++y;return:
:
x+y;}”,调用f(x)的返回值为()。
A.6B.7C.8D.9
15.对于定义“intu=3;int&w=++u;int&v=++w;”,正确的叙述为()。
A.w引用u,v引用wB.w引用u,v引用u
C.w未引用u,v引用wD.w未引用u,v未引用w
16.C++的数组元素不可以是()。
A.int类型B.long类型C.引用类型D.char类型
17.对于定义“intf(){registerintx=1;int*p=&x;return*p;}”,正确的理解为()。
A.x是寄存器变量,所以不能有取地址运算即&x
B.x是register变量,不会转化为auto变量
C.因对x取地址&x,故x被自动编译为auto类型的变量
D.返回的是对寄存器变量x的引用
18.C++指针参数int*const&p表示()。
A.左边的指针指向右边的引用,且右边的引用不能被修改
B.左边的指针指向右边的引用,且左边的指针不能被修改
C.右边的引用引用左边的指针,且右边的引用不能被修改
D.右边的引用引用左边的指针,且左边的指针不能被修改
19.关于引用变量的描述,下面哪个正确()。
A.逻辑上不分配内存,必须引用其它分配内存的变量
B.逻辑上要分配内存,必须引用其它分配内存的变量
C.逻辑上不分配内存,可以引用不分配内存的变量
D.逻辑上要分配内存,可以引用不分配内存的变量
20.对于定义“intx=3;int&y=x;constint&z=y;”,正确的说法是()。
A.z引用y,由于y是左值,所以z也是左值B.z引用x,由于x是左值,所以z也是左值
C.z只读引用y,所以z是右值D.z只读引用x,所以z是右值
二、多项选择题(本大题共5小题,每小题2.0分,共10分)
1.对于全局对象数组变量,关于开工与收工正确的理解包括()。
A.它在main执行前就多次调用构造函数初始化每个元素
B.它在main结束后才多次调用析构造函数销毁每个元素
C.它在main执行时才多次调用构造函数初始化每个元素
D.它在main结束前就多次调用析构造函数销毁每个元素
2.关于cin>>x>>y正确的理解包括()。
A.cin是istream类的一个全局对象或变量
B.istream类重载双目运算符>>用于输入变量x
C.operator>>返回cin的引用以便“cin>>x”的返回值可用以继续输入y
D.全局对象cin在main返回前不会被析构,所以cin总是可用
3.定义一个全局变量的要素包括()。
A.说明其类型B.说明其是否为virtual的
C.说明其名称D.说明其初始值
4.若派生类非静态函数成员不是其基类的友元,则该函数()。
A.能够访问基类的私有成员B.能够访问基类的保护成员
C.能够访问基类的公有成员D.能够访问基类的名字空间成员
5.对于定义“intf(Ax);classA{inta;protected:
intb;public:
intc,d;};”,函数f可以访问()。
A.x.aB.x.bC.x.cD.x.d
一、单项选择题(本大题共20小题,每小题2.0分,共40分)
在每小题列出的备选项中只有一个符号合题目要求的,请将其选出并将“答题卡”的相应代码涂黑,错涂、多涂或未涂均无分
1.D
2.A
3.C
4.D
5.C
6.C
7.D
8.A
9.B
10.A
11.A
12.C
13.B
14.C
15.B
16.C
17.C
18.D
19.A
20.D
二、多项选择题(本大题共5小题,每小题2.0分,共10分)
在每小题列出的备选项中有一个或多个符号合题目要求的,请将符合项选出并将“答题卡”的相应代码涂黑
1.A,B
2.A,B,C,D
3.A,C,D
4.B,C
5.C,D