【计算机类职业资格】二级C++笔试-417及答案解析.doc
《【计算机类职业资格】二级C++笔试-417及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-417及答案解析.doc(32页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-417 及答案解析(总分:85.00,做题时间:90 分钟)一、选择题(总题数:34,分数:60.00)1.有以下程序:#includeiostreamusing namespace std;class Aprivate:int a;public:A(int i)a=i;void disp()couta“,“;class Bprivate:int b;public:B(int j)b=j;void disp()coutb“,“;class C:public B,public Aprivate:int c;public:c(int k):A(k-2),B(k+2)c=k;void
2、 disp()a:disp();B:disp();coutcendl;int main()C obj(10);obj.disp();return 0;程序执行后的输出结果是( )。A) 10,10,10 B) 10,12,14 C) 8,10,12 D) 8,12,10(分数:2.00)A.B.C.D.2.以下程序的输出结果是 _。#includeiostream.hvoid main()int i,j;for(j=10;j=11;j+)for(i=9;ij:j+) if(!(j%i)break;if(ij1)coutj“ “ ;A) 11 B) 10C) 10 11 D) 9(分数:2.00
3、)A.B.C.D.3.数据的逻辑独立性是指( )。A) 存储结构与物理结构的逻辑独立性 B) 数据与存储结构的逻辑独立性C) 数据与程序的逻辑独立性 D) 数据元素之间的逻辑独立性(分数:2.00)A.B.C.D.4.有如下程序段:int i=1;while(1)i+;if(i=10) break;if(i%2=0) cout*;执行这个程序段输出字符*的个数是( )。A) 10 B) 3 C) 4 D) 5(分数:2.00)A.B.C.D.5.下列程序的输出结果是( )。#includeiostreamusing namespace std;class TestClassstatic int
4、 i;public:TestClass()i+;TestClass()i-;static int getVal()retum i;int TestClassi=0;void fun()TestClass ob2;coutob2.getVal();int main()TestClass obi;fun();TestClass*ob3=new TestClass;coutob3-getVal();delete ob3;coutTestClassgetVal();retum 0;A) 111 B) 121 C) 211 D) 221(分数:2.00)A.B.C.D.6.已知:int n=10;那么下
5、列语句中错误的是A) int*p=new longn;B) int pn;C) int*p=new long(n);D) int p10;(分数:1.00)A.B.C.D.7.下列符号中不属于 C+关键字的是( )。A. friend B. namespace C. continue D. byte(分数:2.00)A.B.C.D.8.有以下类定义class Pointpublic:Pointint x = 0, int y=0) _x = x; _y = y;void Move int xoff, int yoff)_x +=xoff;_y+=yoff;void Print() constc
6、out(_x,_y) end1;private:int_x,_y;下列语句中会发生编译错误的是A) Point pt;pt.Print();B) const Point pt;pt.Print();C) Point pt;pt.Move(1, 2);D) const Point pt;pt.Move(1, 2)(分数:2.00)A.B.C.D.9.对二叉树从 1 开始进行连续编号,要求每个结点的编号大于其左右孩子的编号,同一个结点的左右孩子中,其左孩子的编号小于其右孩子的编号,则可采用 _ 遍历实现编号。A) 无序 B) 中序C) 后序 D) 从根开始的层次遍历(分数:2.00)A.B.C.D
7、.函数模板:templateT add(T x,T y) return x+y;下列对 add 函数的调用不正确的是A) add(1,2)B) add(1,2)C) add(10,2)D) add(10,20)(分数:2.00)A.B.C.D.A.B.C.D.10.设有定义:class Cpublic:int ValUe;int X,*p;则以下引用形式中,正确的是( )。A) xvalue; B) xC:value;C) ppublic:Base(char n) :c(n) Base ( )coutc; class Derived : public Baseprivate:char c;pu
8、blic:Derived(char n):Base(n+1),c(n) Derived()coutc;int main()Derived obj(x);return 0;执行后的输出结果是A) xy B) yx C) x D) y(分数:2.00)A.B.C.D.12.如果利用 C+流进行输入输出,下面的叙述中正确的是A) 只能借助于流对象进行输入输出。B) 只能进行格式化输入输出。C) 只能借助于 cin 和 cout 进行输入输出。D) 只能使用运算符和进行输入输出。(分数:2.00)A.B.C.D.13.C+语言类体系中,不能被派生类继承的有A) 转换函数 B) 构造函数 C) 虚函数
9、D) 静态成员函数(分数:1.00)A.B.C.D.14.函数定义为 fun(int 的输出结果为( )。Aiiiimmmmmmm BiiiimmmmmmCiiiimmm Diiiiimm(分数:2.00)A.B.C.D.22.虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用。有如下程序: #include iostream using namespaee std; class Base public: virtual void f( )cout“f0+“; void g( )cout“gO+
10、“; ; class Derived:public Base public: void f( )cout“f+“; void g( )cout“g+“; ; int main( ) Derived d; Base*P=d: p-f( );p-g( ); return 0; 程序的输出结果是 A) f+g+ B) f0+g+ C) f+g0+ D) f0+g0+(分数:2.00)A.B.C.D.23.在软件生产过程中,给出需求信息的是( )。A) 程序员 B) 项目管理者C) 软件分析设计人员 D) 软件用户(分数:2.00)A.B.C.D.24.将:x+y*z 中的“+”用成员函数重载,“*”
11、用友元函数重载应写为( )。A) operator+(operator*(y, z) B) x.operator+(operator*(y, z)C) x.operator+(x*(y, z) D) x+(operator*(y, z)(分数:2.00)A.B.C.D.25.下列关于派生类构造函数和析构函数的说法中,错误的是( )。A) 派生类的构造函数会隐含调用基类的构造函数B) 如果基类中没有缺省构造函数,那么派生类必须定义构造函数C) 在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D) 在撤销派生类对象时,先调用基类的析构函数,再调用派生类的析构函数(分数:2.00)A
12、.B.C.D.26.关于数据库系统三级模式的说法,下列( )是正确的。A) 外模式、概念模式、内模式都只有一个B) 外模式有多个,概念模式和内模式只有一个C) 外模式只有一个,概念模式和内模式有多个D) 3 个模式中,只有概念模式才是真正存在的(分数:2.00)A.B.C.D.27.定义如下变量:char one_char,则语句 cinone_char 等价于 C 语言中的( )语句。A) printf(one_char); B) prinft(“%c“,one_char);C) scanf(one_char); D) scanf(“%c“,x=y;y=t;int main ()int a2
13、=23,42;fun(a1,a0);std:couta0“,“a1std:endl;return 0;执行后的输出结果是A) 42,42 B) 23,23C) 23,42 D) 42,23(分数:2.00)A.B.C.D.29.有以下程序:#includeiostreamusing namespace std;int f(int,int);int main()int i:1,x;x=f(i,i+1);coutxend1;return 0;int f(int a,int b) int c;c = a;if(ab) c = 1;else if(a=b) c = 0;elsec = -2;retur
14、n c;运行后的输出结果是( )。A) 1 B) 0 C) -1 D) -2(分数:1.00)A.B.C.D.30.下列程序的输出结果是#includeiostream.hvoid main()char*str“12123434“;int x10,x20,x30,x40,i;for(i0;stri!/0;i+)switch(stri)case1:x4+;case2:X3+;case3:X2+;case4:X1+;coutX1“,“X2“,“X3“,“X4;A) 8,6,4,1 B) 8,6,3,2 C) 8,8,4,1 D) 8,6,4,2(分数:2.00)A.B.C.D.31.下面描述正确的
15、是( )。A) 类的普通成员函数可以操作常对象 B) 类的成员函数可以修改常对象C) 只有常成员函数才可以操作常对象 D) 常对象可以被常函数更新(分数:2.00)A.B.C.D.32.下列关于构造函数的描述中,错误的是( )。A) 构造函数可以设置默认参数B) 构造函数在定义类对象时自动执行C) 构造函数可以是内联函数D) 构造函数不可以重载(分数:1.00)A.B.C.D.33.模板参数表中参数使用的分隔符号是 _。A) , B) ;C) / D) 以上都不是(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:25.00)34.在下面的程序的横线处填上适当的语句,使该程序的输
16、出为 12。#include iostreamusing namespace std;class Basepublic:int a;Base(int i) a=i;;class Derived : public Baseint a;public:Derived(int x) : Base(x),b(x+1) void show()_; /输出基类数据成员 a 的值coutbend1;int main()Derived d(1);d.show();return 0;(分数:1.00)填空项 1:_35.已有函数 fun(a,b),为了使函数指针变量 P 指向函数 fun,则使用的赋值语句是 1。
17、(分数:2.00)填空项 1:_36.在面向对象方法中,属性与操作相似的一组对象称为 1。(分数:1.00)填空项 1:_37.在内存中,存储字符X要占用 1 个字节,存储字符串“X“要占用 1 个字节。(分数:1.00)填空项 1:_38.在最坏情况下,堆排序需要比较的次数为 1。(分数:2.00)填空项 1:_39.带一个 long 类型参数的流成员函数 1 按参数值设置 flags 状态变量,并返回以前设置的标志值。(分数:1.00)填空项 1:_40.在下面程序的横线处填上_,使程序执行后的输出结果为 1/2005。#includeiostream.husing namespace s
18、td;class DatePublic:Date(int m=1,int y=0): month(m),year(y)void Print()coutmonth“/“yearend1;_operator+(const Dateprivate:int month, year;Date operator+(const Dateyear=d1.year+d2.year;month=d1.month+d2.month;year+=(month-1)12;month=(month-1)%12+1;return Date(month,year);void main()Date d1(3,2004),d2,
19、d3(10);d2=d3+d1;d2.Print();(分数:2.00)填空项 1:_41.请分析下面的程序并给出该程序的执行结果_。#include iostreamclass AA int a;public:AA() cout“ Initializing AA!/n“ ; AAM() cout“ Destroying AA!/n“ ;class BB int b;AA p;public:BB() cout“Initializing BB!/n“ ;BB() cout“Destroying BB!/n“ ;void main() BB X;cout“Ending main!/n ;(分数:2
20、.00)填空项 1:_42.在链表的运算过程中,能够使空表与非空表的运算统一的结构是 1。(分数:2.00)填空项 1:_43.下列程序的输出结果是_。#include iostreamusing namespace std;class base public:int n;base(int x) n=x;virtual void set(int m) n=m; coutn ;class deriveA :public base public:deriveA(int x):base(x) void set(int m) n+=m; coutn ;class derive B: public ba
21、se public:derive B(int x):base(x) void set(int m) n+=m; coutn ;int main()derive A, d1(1);derive B, d2(3);base *pbase;pbase=pbase-set(1);pbase=phase-set(2);return 0;(分数:2.00)填空项 1:_44.软件生命周期包括 8 个阶段。为了使各时期的任务更明确,又可分为 3 个时期:软件定义期、软件开发期、软件维护期。编码和测试属于 1 期。(分数:2.00)填空项 1:_45.下列 for 语句的循环次数为_。For(nt a=0,b
22、=1;b;class Derived:public Baseint a;public:Derived(int x):Base(x),b(x+1);void show()_;/输出基类数据成员 a 的值。coutbendl;void main()Derived d(1);d.show();return 0;(分数:2.00)填空项 1:_二级 C+笔试-417 答案解析(总分:85.00,做题时间:90 分钟)一、选择题(总题数:34,分数:60.00)1.有以下程序:#includeiostreamusing namespace std;class Aprivate:int a;public:
23、A(int i)a=i;void disp()couta“,“;class Bprivate:int b;public:B(int j)b=j;void disp()coutb“,“;class C:public B,public Aprivate:int c;public:c(int k):A(k-2),B(k+2)c=k;void disp()a:disp();B:disp();coutcendl;int main()C obj(10);obj.disp();return 0;程序执行后的输出结果是( )。A) 10,10,10 B) 10,12,14 C) 8,10,12 D) 8,12
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 417 答案 解析 DOC
