【计算机类职业资格】二级C++-240及答案解析.doc
《【计算机类职业资格】二级C++-240及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-240及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-240 及答案解析(总分:67.50,做题时间:90 分钟)一、选择题(总题数:36,分数:67.50)1.有如下程序段: int *a=new int2; a0=0; a1=1; int *b= cout*b; 运行这个程序段将输出_。(分数:2.50)A.整数 1B.a0的地址C.a1的地址D.整数 02.有如下程序: #includeiostream using namespace std; class Instrument public: virtual void Display()=0; ; class Piano:public Instrument public: vo
2、ld Display()/*函数体程序略*/ ; int main() Instrument s; Instrument*p=0; /.; return 0; 下列叙述中正确的是_。(分数:2.50)A.语句“Insturment*p=0;”编译时出错B.语句“Instrument s;”编译时出错C.类 Piano 中的 Display 函数不是虚函数D.类 Instrumen 是一个虚基类3.字符串“a+b=12/n/t”的长度为_。(分数:2.50)A.12B.10C.8D.64.下面程序的运行结果为 # include iostreamh void main( ) for(int a
3、= 0,x =0;! xa = 10;a+) a+; cout a endl; (分数:1.00)A.10B.11C.12D.05.有如下 4 个语句: coutAsetfill(*)1eftsetw(7)Bendl; coutsetrill(*)(1eftsetw(7)ABendl; coutAserfill(*)rightsetw(7)Bendl; coutsetfill(x)rightsetw(7)ABendl; 其中能显示 A* * * * * *B 的是 _ 。(分数:2.00)A.和B.和C.和D.和6.下面关于常成员函数的说法中正确的是_。(分数:2.50)A.常成员函数不能修改
4、任何的数据成员B.常成员函数只能修改一般的数据成员C.常成员函数只能修改常数据成员D.常成员函数只能通过常对象来调用7.下列有关运算符重载的叙述中,正确的是_。(分数:1.00)A.运算符重载是多态性的一种表现B.C+中可以通过运算符重载创造新的运算符C.C+中所有运算符都可以作为非成员函数重载D.重载运算符时可以改变其结合性8.下列叙述中正确的是(分数:2.00)A.所有形态的二叉树都只能采用链式存储结构B.循环队列是队列的一种存储方式C.栈只能采用顺序存储结构D.循环队列与循环链表都属于链式存储结构9.算法的空间复杂度是指_。(分数:2.50)A.算法在执行过程中所需要的计算机存储空间B.
5、算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数10.关键字 unsigned 不能修饰的类型是_。(分数:2.00)A.charB.intC.floatD.long int11.不能作为重载函数的调用的依据是(分数:1.00)A.参数个数B.参数类型C.函数类型D.函数名称12.下列关于运算符重载的叙述中,正确的是_。(分数:2.50)A.可以通过重载创造出新的运算符B.可以为重载运算符函数的参数设置默认值C.可以将部分运算符函数重载为非成员函数D.可以将任意运算符函数重载为静态成员函数13.下列语句段将输出字符“*“的个数为_。 int i=100
6、; while(1) i-; if(i=0) break; cout“*“; (分数:2.50)A.98 个B.99 个C.100 个D.101 个14.下列叙述中正确的是_。(分数:2.50)A.C 程序中的注释只能出现在程序的开始位置和语句的后面B.C 程序书写格式严格,要求一行内只能写一个语句C.C 程序书写格式自由,一个语句可以写在多行上D.用 C 语言编写的程序只能放在一个程序文件中15.下列程序的运行结果为_。 # includeiostream.h templateclass TT class FF TT a1,a2,a3; public: FF(TT b1,TT b2,TT b
7、3)a1=b1;a2=b2;a3=b3; TT Sum()return a1+a2+a3;); void main() FFintx(int(1.1),2.3),y(int(4.2),5,6); coutx.Sum()“y.Sum()encIl;(分数:2.50)A.6.1 15.2B.6 15C.6 15.2D.6.1 1516.下面程序的运行结果是 #includeiostream,h void fun(int*a,int*b) int X= *a; * a= *b; *b=X; cout *a *b“ “; void main() int x=1, y=2; fun(B.MyClock
8、operator+(MyClock, MyClock);C.MyClock operator+(long, long);D.MyClock operator+(long, MyClock);20.有如下类定义: class Person public: void SetAge(double val); private: double Age; ; 若要在类体外给出对成员函数 SetAge 的定义,下列选项中正确的是_。(分数:1.00)A.Person:SetAge(double val) Age=val;B.void Person:SetAge(double val)Age=val;C.Pe
9、rson:void SetAge(double val)Age=val;D.void:SetAge(double val)Age=val;21.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为(分数:1.00)A.publicB.protectedC.privateD.static22.以下关键字不能用来声明类的访问权限的是_。(分数:1.00)A.publicB.staticC.protectedD.private23.下面程序的输出是 main() int x=100, a=10, b=20, ok1=5, ok2=0; if(ab) if(b! =15
10、) if( ! ok1) else if(ok2) x= 10 x=-1 coutxend1; (分数:2.00)A.-1B.0C.1D.不确定的值24.下列程序的运行结果为 #includeiostream.h void main( ) int a2; int ba1; cout a/b endl; (分数:2.00)A.0.66667B.0C.0.7D.0.6666666625.有如下类定义: class B public:void funl() private:void fun2() protected:void fun3() ; class D:public B protected:v
11、oid fun4() ; 若 obj 是类 D 的对象,则下列语句中不违反访问控制权限的是_。(分数:2.50)A.obj.fun1()B.obj.fun2()C.obj.fun3()D.obj.fun4()26.执行以下程序时,输入一行字符串为“Thank you very much!”,程序的输出结果为_。 #includeiostream using namespace std; int main() char a100; cina; couta“/n“; return 0;(分数:2.00)ATB.ThankC.Thank you very much!D.Thank you27.有如下
12、程序: #includeiostream using namespace std; int main() int*p; *p=9; cout“the value at p:“*p; return 0; 编译运行程序将出现的情况是_。(分数:1.00)A.编译时出现语法错误,不能生成可执行文件B.运行时一定输出:The value at p:9C.运行时一定输出:The value at p:*9D.运行时有可能出错28.下列情况中,不会调用拷贝构造函数的是 _ 。(分数:2.00)A.用一个对象去初始化同一类的另一个新对象时B.将类的一个对象赋值给该类的另一个对象时C.函数的形参是类的对象,调
13、用函数进行形参和实参结合时D.函数的返回值是类的对象,函数执行返回调用时29.对于语句 coutendlx;中的各个组成部分,下列叙述中错误的是(分数:2.00)A.“cout“是一个输出流对象B.“endl“的作用是输出回车换行C.“x“是一个变量D.“称作提取运算符30.在对函数进行原型声明时,下列语法成分中不需要的是_。(分数:1.00)A.函数返回类型B.函数参数列表C.函数名D.函数体31.下列关于数据库设计的叙述中,正确的是_。(分数:1.00)A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典32.有如下类声明
14、: class SAMPLE int n; public: SAMPLE(int i=0):n(i) void setValue(int n0); ; 下列关于 getValue 成员函数的定义中,正确的是_。(分数:1.00)A.SAMPLE: setValue(int n0) n=n0; B.void SAMPLE: setValue(int n0) n=n0;C.void setValue(int n0) n=n0;D.setValue(int n0) n=n0;33.有如下类定义: class A char*a: public: A():a() A(char*aa)/把 aa 所指字符
15、串拷贝到 a 所指向的存储空间 a=_; strcpy(a,aa); A()deletea; ; 横线处应填写的表达式是_。(分数:2.50)A.Dew charstrlen(aa)+1B.charstrlen(aa)+1C.charstrlen(aa)D.new charsizeof(aa)-134.下列选项中不全是 C+语言关键字的是(分数:2.00)A.const,break,defaultB.long,void,usingC.virtual,exterm,includeD.try,throw,this35.下列关于析构函数的描述中,错误的是_。(分数:2.50)A.析构函数可以重载B.
16、析构函数由系统自动调用C.每个对象的析构函数只被调用一次D.每个类都有析构函数36.下列是模板声明的开始部分,其中正确的是(分数:2.00)A.templateTB.templateclassT1,T2C.templateclassT1,classT2D.templateclassT1;classT2二级 C+-240 答案解析(总分:67.50,做题时间:90 分钟)一、选择题(总题数:36,分数:67.50)1.有如下程序段: int *a=new int2; a0=0; a1=1; int *b= cout*b; 运行这个程序段将输出_。(分数:2.50)A.整数 1B.a0的地址C.a
17、1的地址D.整数 0 解析:解析 本题考查的是程序执行相关知识。int*a=new int2的意思是从堆里申请一个 int 空间,里面存的值为 2,并将 a 指针指向那个 int 空间。 class Instrument public: virtual void Display()=0; ; class Piano:public Instrument public: vold Display()/*函数体程序略*/ ; int main() Instrument s; Instrument*p=0; /.; return 0; 下列叙述中正确的是_。(分数:2.50)A.语句“Insturme
18、nt*p=0;”编译时出错B.语句“Instrument s;”编译时出错 C.类 Piano 中的 Display 函数不是虚函数D.类 Instrumen 是一个虚基类解析:解析 抽象类只能作为别的类的基类,不能生成对象。3.字符串“a+b=12/n/t”的长度为_。(分数:2.50)A.12B.10C.8 D.6解析:解析 /n 表示回车,/t 是制表符。4.下面程序的运行结果为 # include iostreamh void main( ) for(int a = 0,x =0;! xa = 10;a+) a+; cout a endl; (分数:1.00)A.10B.11C.12
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C240 答案 解析 DOC
