【计算机类职业资格】二级C++笔试70及答案解析.doc
《【计算机类职业资格】二级C++笔试70及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试70及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 70及答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.有如下函数模板定义: templatetypename T1,int a2,int a3 T1 sam(T1 a1) return(al+a2+a3); 则以下调用中正确的是(分数:2.00)A.sumint,4,3(5);B.sum4,3(5);C.sumint,int,int(5);D.sam(5);2.下面不属于软件工程 3个要素的是(分数:2.00)A.工具B.过程C.方法D.环境3.以下运算符中不能重载的运算符是(分数:2.00)A.newB.sizeofC*
2、D.+4.下列数组的定义中,会产生错误的是(分数:2.00)A.int a=0,1,2,3,4,5,6;B.int a10=0,1,2,3,4,5,6;C.char a5=“hello“;D.char a5=h,e,l,l,o;5.数据库设计包括两个方面的设计内容,它们是(分数:2.00)A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计6.若有以下程序: #includeiostream usingnamespacestd; classA private: int x; public: int x; void setx(int i) x=i;
3、 int getx() return x; ; class B:public A private: int m; public: int p; void setvalue (int a,int b,int C) setx(A) ; z=b; m=c; void display() coutgetx()“,“z“,“mend1; ; int main() B obj; obj.setvalue(2,3,4); objdisplay(); return 0; 程序运行以后的输出结果是(分数:2.00)A.产生语法错误B.2,3,4C.2,2,2D.4,3,27.有如下程序: #includeios
4、tream using namespace std; class sample private: int x,y; public: sample(int i,int j) x=i; y=j; void disp() cout“disp1“end1; void disp()const cout“disp2“end1; ; int main() const sample a(1,2); a.disp(); return 0; 该程序运行后的输出结果是(分数:2.00)A.disp1B.disp2C.disp1 disp2D.程序编译时出错8.实现运行时的多态性要使用(分数:2.00)A.重载函数B
5、.析构函数C.构造函数D.虚函数9.已知枚举类型定义语句为: enum Token NAME,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列说法中错误的是(分数:2.00)A.枚举常量 NAME的值为 1B.枚举常量 NUMBER的值为 1C.枚举常量 MINUS的值为 6D.枚举常量 PRINT的值为 1010.有以下程序: #includeiostream using namespace std; class sample private: int n; public: sample() sample(int m) n=m; sample add(sample s1,s
6、ample s2) this-n=s1.n+S2.n; return(*this); void disp() cout“n=“nend1; ; int main() sample s1(10),s2(5),s3; s3.add(s1,s2); s3.disp(); retyrn 0; 程序运行后,输出的结果是(分数:2.00)A.n=10B.n=5C.n=20D.n=1511.执行语句序列 ofstream outfile(“data.dat“); if()cout“ok“;else cout“fail“; 后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面 if语句的“
7、” 处的表达式是(分数:2.00)A.outfilfail()或 outfileB.outfilgood()或!outfileC.outfilgood()或 outfileD.outfilfail()或!outfile12.对建立良好的程序设计风格,下面描述正确的是(分数:2.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无13.设有下列二叉树: (分数:2.00)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA14.有以下程序: #includeiostrearn using namespace std; cla
8、ss sample private: int x; static int y; public: sample (int A) ; static void print (sample s); ; sample:sample(int A) x=a; y+=x; void sample:print(sample s) cout“x“s.x“,y=“yend1; int sample:y=0; int main() sample s1(10); sample s2(20); sample:print(s2); return 0; 程序运行后的输出结果是(分数:2.00)A.x=10,y=20B.x=2
9、0,y=30C.x=30,y=20D.x=30,y=3015.下列关于关系运算的叙述中正确的是(分数:2.00)A.投影、选择、连接是从二维表的行的方向来进行运算B.并、交、差是从二维表的列的方向来进行运算C.投影、选择、连接是从二维表的列的方向来进行运算D.以上三种说法都不对16.有如下程序: #includeiostream using namespace std; int main() cout.fill(*); cout.width(5); coutscientific314.15926535end1; return 0; 程序运行后,输出的结果是(分数:2.00)A.3.141593
10、e+002B.3.1416e+002C.*3.14e+002D.314.1617.若有定义:int k,*q;,则下列各选项中赋值表达式正确的是(分数:2.00)A.q=(那么表达式 x+a%3*(int)(x+y)%2/4的值为U 【6】 /U。(分数:2.00)填空项 1:_42.函数 swap(arr,n)可完成对 arr数组从第 1个元素到第 n个元素两两交换。在运行调用函数中的语句后,a0和 a1的值分别为上U 【7】 /U。 a0=1;a1=2;swap(a,2);(分数:2.00)填空项 1:_43.下列程序的输出结果是U 【8】 /U #includeiostream usin
11、g namespace std; int main() int Bum=500; int public: sample(int i,int j) x=i; y=j; void disp() cout“disp1“end1; void disp()const cout“disp2“end1; ; int main() const sample a(1,2); a.disp(); return 0; 该程序运行后的输出结果是(分数:2.00)A.disp1B.disp2 C.disp1 disp2D.程序编译时出错解析:解析 本题考核常对象、常数据和常函数。C+中,在定义常对象时必须进行初始化,而
12、且不能被更新。如果将一个对象说明为常对象,则通过该对象只能调用它的常成员函数。题中,对象 a被定义成类sample的常对象,所以通过对象 a只能调用其常成员函数 disp()。所以程序最后输出 disp2。8.实现运行时的多态性要使用(分数:2.00)A.重载函数B.析构函数C.构造函数D.虚函数 解析:解析 本题考核虚函数的应用。动态联编一直要到程序运行时才能确定调用哪个函数。虚函数是实现动态联编的必要条件之一。没有虚函数一定不能实现动态联编,但有虚函数存在时,必须同时满足下列条件,才能实现动态联编:类之间满足子类型关系:调用虚函数操作的是指向对象的指针或对象引用,或者是由成员函数调用虚函数
13、。9.已知枚举类型定义语句为: enum Token NAME,NUMBER,PLUS=5,MINUS,PRINT=10; 则下列说法中错误的是(分数:2.00)A.枚举常量 NAME的值为 1 B.枚举常量 NUMBER的值为 1C.枚举常量 MINUS的值为 6D.枚举常量 PRINT的值为 10解析:解析 本题考核 C+数据类型中枚举。枚举类型定义了一些整型符号常量的集合,使用枚举类型时应该注意以下几点:枚举类型的第一个常量默认值是 0;枚举类型常量的值允许彼此相同;虽然枚举类型常量是整数类型,但是不允许使用整数直接赋值给枚举类型变量,也不允许与整数进行运算,只可以与整数进行比较。由此可
14、知枚举常量 NAME的值应为 0。所以 A) 选项是错误的。10.有以下程序: #includeiostream using namespace std; class sample private: int n; public: sample() sample(int m) n=m; sample add(sample s1,sample s2) this-n=s1.n+S2.n; return(*this); void disp() cout“n=“nend1; ; int main() sample s1(10),s2(5),s3; s3.add(s1,s2); s3.disp(); re
15、tyrn 0; 程序运行后,输出的结果是(分数:2.00)A.n=10B.n=5C.n=20D.n=15 解析:解析 本题考核 this指针的应用。上述程序中,sample 类的 add成员函数中使用了 this 指针,this指针指向当前对象自身,该成员函数中的语句:this-n=s1.n+s2.n;,用于修改当前对象的数据成员 n的值,语句:return(*this);用于返回当前对象自身,即对当前对象进行了修改。 对于 main()函数调用 add成员函数语句“s3add(s1,s2);”。此时,this 指针指向的是对象 s3,执行该语句前,s3的数据成员 n未赋值,执行完该语句后,就
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 70 答案 解析 DOC
