【计算机类职业资格】二级C++-4-1及答案解析.doc
《【计算机类职业资格】二级C++-4-1及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-4-1及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-4-1 及答案解析(总分:83.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:61.00)1.结构化程序设计的主要特征是U /U。 A.封装和数据隐藏 B.继承和重用 C.数据和处理数据的过程分离 D.把数据和处理数据的过程看成一个整体(分数:2.00)A.B.C.D.2.一个类的友元函数或友元类可以通过成员操作符访问该类的U /U。 A. 私有成员 B. 保护成员 C. 公有成员 D. 所有成员(分数:1.00)A.B.C.D.3.数据的存储结构是指_ 。 A. 存储在外存中的数据 B. 数据所占的存储空间量 C. 数据在计算机中的顺序存储方式 D. 数据的逻
2、辑结构在计算机中的表示(分数:2.00)A.B.C.D.4.下列程序的输出结果是U /U。#includeiostream.hvoid main()char *str=“12123434“;int x1=0,x2=0,x3=0,x4=0,i;for(i=0;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.5.下列关于类定义的说法中,正确的是_。 A.类定义中包
3、括数据成员和函数成员的声明 B.类成员的缺省访问权限是保护的 C.数据成员必须被声明为私有的 D.成员函数只能在类体外进行定义(分数:2.00)A.B.C.D.6.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是_。 A.学生成绩管理系统 B.C 语言编译程序 C.UNIX 操作系统 D.数据库管理系统(分数:1.00)A.B.C.D.7.下列情况中,不会调用拷贝构造函数的是U /U。 A.用一个对象去初始化同一类的另一个新对象时 B.将类的一个对象赋值给该类的另一个对象时 C.函数的形参是类的对象,调用函数进行形参和实参结合时 D.函数的返回值是类的对象,函
4、数执行返回操作时(分数:2.00)A.B.C.D.8.执行下面语句后,输出字符“#“的个数是U /U。for(int i=50;i;-i)cout#; A. 48 B. 49 C. 50 D. 51(分数:2.00)A.B.C.D.9.下列对变量的引用中,错误的是 A. int a; int B. char a; char C. iht a; int p =a; D. float a; float (分数:1.00)A.B.C.D.10.语句 int*p=int main()int *p;*p=9;cout“The value at p:“*p;return 0;编译运行程序将出现的情况是U
5、/U。 A.编译时出现语法错误,不能生成可执行文件 B.运行时一定输出:The value at p:9 C.运行时一定输出:The value at p:*9 D.运行时有可能出错(分数:2.00)A.B.C.D.14.若有以下定义和语句:int a10=1,2,3,4,5,6,7,8,9,10,*ia=a;则不能正确表示 a 数组元素的表达式是 _。 A. *ia B. a10 C. *a D. aia-a(分数:2.00)A.B.C.D.15.某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是_。 A.10 B.8 C.6 D.4(分数:2.00)A.B.C.D.16.在公有
6、派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是 _。 A. 派生类的对象可以赋给基类的对象 B. 派生类的对象可以初始化基类的引用 C. 派生类的对象可以直接访问基类中的成员 D. 派生类的对象的地址可以赋给指向基类的指针(分数:2.00)A.B.C.D.17.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是 A. 选择 B. 连接 C. 投影 D. 并(分数:2.00)A.B.C.D.18.语句 ofstream f(“SALARY.DAT“,ios:appl ios:binary);的功能是建立流对象 f,试图打开文件SALARY.DAT 并与之连接
7、,并且U /U。 A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件 B.若文件存在,将其置为空文件;若文件不存在,打开失败 C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件 D.若文件存在,打开失败;若文件不存在,建立一个新文件(分数:2.00)A.B.C.D.19.在深度为 5 的满二叉树中,叶子结点的个数为 A.32 B.31 C.16 D.15(分数:1.00)A.B.C.D.20.在 C+语言中,形参的缺省存储类型是U /U。 A.auto B.register C.static D.extern (分数:1.00)A.B.C.D.21.在最
8、坏情况下,冒泡排序所需要的比较次数为 A. n/2 B. (n+1)/2 C. n(n-1)/2 D. n(n+1)/2(分数:2.00)A.B.C.D.22.若有以下程序:#includeiostreamusing namespace std;class datapublic:int x;data(int x)data:x=x;class Aprivate:data dl;public:A(int x): dl(x) void dispaOcoutdl.x“,“;class B: public Aprivate:data d2;public:B(int x):A(x-1),d2(x) voi
9、d dispb()coutd2.xendl;class C: public Bpublic:C(int x):B(x-1) void disp0dispa();dispb();int main()C obj(5);obj.disp();return 0;程序执行后的输出结果是U /U。 A.5,5 B.4,5 C.3,4 D.4,3(分数:2.00)A.B.C.D.23.若有以下程序:#include iostreamusing namespace std;class Baseprivate:int a,b;public:Base(int x, int y)a=x;b=y;void show(
10、)couta“, “bend1;class Derive : public Baseprivate:int c, d;public:Derive(int x, int y, int z,int m):Base(x,y)c=z;d=m;void show()coutc“, “dend1;int main ( )Base b(50,50) ,*pb;Derive d(10,20,30,40);pb=pb-show );return 0; A. 10,20 B. 30,40 C. 20,30 D. 50,50(分数:1.00)A.B.C.D.24.下列叙述中正确的是 A. 为了建立一个关系,首先要构
11、造数据的逻辑关系 B. 表示关系的二维表中各元组的每一个分量还可以分成若干数据项 C. 一个关系的属性名表称为关系模式 D. 一个关系可以包括多个二维表(分数:2.00)A.B.C.D.25.有如下语句序列: int k=0: d0k+=5;cout$;wbile(k19); while(k-0)cout*; 执行上面的语句后,序列输出字符$和*的个数分别是 A. 4 和 20 B. 5 和 20 C. 4 和 21 D. 5 和 21(分数:2.00)A.B.C.D.26.有如下类定义:class AAint a;public:int getRef()constreturn 其中的四个函数定
12、义中正确的是 A. B. C. D. (分数:1.00)A.B.C.D.27.下列说法中错误的是U /U。 A. 公有继承时基类中的 public 成员在派生类中仍是 public 的 B. 公有继承时基类中的 private 成员在派生类中仍是 private 的 C. 私有继承时基类中的 public 成员在派生类中是 private 的 D. 保护继承时基类中的 public 成员在派生类中是 protected 的(分数:2.00)A.B.C.D.28.若有以下定义:inta1,2,3,4,5,6,7;char clb,c2=2;则数值不为 2 的表达式是U /U。 A.a1 B.d-
13、c1 C.a3-c2 D.c2-0(分数:2.00)A.B.C.D.29.有如下程序:#include iostream using namespaee std;class MyClass public:MyClass(int x):val(x) void Print( ) const cout “const:val=“ val /t; void Print( ) cout “val=“ val /t; private:int val;int main( ) const MyClass obj1 (10);MyClass obj2 (20);obj1. Print( );obj2. Print
14、( );return 0;执行这个程序的输出结果是_。 A.val=10 const:val=20 B. const:val=10 const:val=20 C.const:val=10 val=20 D. val=10 val=20(分数:2.00)A.B.C.D.30.有如下 4 个语句:coutAsetfill(*)1eftsetw(7)Bendl;coutsetrill(*)(1eftsetw(7)ABendl;coutAserfill(*)rightsetw(7)Bendl;coutsetfill(x)rightsetw(7)ABendl; A.和 B.和 C.和 D.和 其中能显示
15、 A* * * * * *B 的是U /U。(分数:2.00)A.B.C.D.31.下列关于赋值运算符“=”重载的叙述中,正确的是 A. 赋值运算符只能作为类的成员函数重载 B. 默认的赋值运算符实现了“深层复制”功能 C. 重载的赋值运算符函数有两个本类对象作为形参 D. 如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符(分数:2.00)A.B.C.D.32.以下程序的输出结果是intf( )static int i=0;int s=1;s+=i;i+;return s;main( )int i,a=0;for(i=0;i5;i+)a+=f( );coutaendl; A. 20 B
16、. 24 C. 25 D. 15(分数:2.00)A.B.C.D.33.若有说明语句char a=“It is mine“;char*p=“ It is mine“;则以下不正确的叙述是U /U。 A.a+1 表示的是字符 t 的地址 B.p 指向另外的字符串时,字符串的长度不受限制 C.P 变量中存放的地址值可以改变 D.a 中只能存放 10 个字符 (分数:1.00)A.B.C.D.34.已知语句 int m=10;则下列引用的表示中正确的是 A. int B. int C. int D. float(分数:2.00)A.B.C.D.35.下列语句中错误的是U /U。 A. const i
17、nt a; B. const int a=10; C. const int*point=0; D. const int*point=new int(10);(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:22.00)36.软件开发环境是全面支持软件开发全过程的U U /U /U集合。(分数:1.00)填空项 1:_37.将下面的语句段(A) 补充完整,使其和语句段(B) 在功能上完全等价。 (a) double s=0.0; U U /U /U; int k=0; do s+=d; k+; d=1.0/(k*k+1); while(U U /U /U); (b) dou
18、ble s=1.0; for(int k=1;k=10;k+) s+=1.0/(k*(k+1);(分数:1.00)填空项 1:_38.以下程序的功能是输出 1 至 100 之间每位数的乘积大于每位数的和的数,例如对于数字 12,有1*21+2,故不输出该数:对于 27,有 2*72+7,故输出该数。请填空。 #includeiostream.h void main() int n,k=1,s=o,m; for (n=1:n=100:n+= k=1;s=0; _, whileU /U k*=m10;s+=m10; _; if(ks)coutn: (分数:1.00)填空项 1:_39.如果要把返回
19、值为 void 的函数 A 声明为类 B 的友元函数,则应在类 B 的定义中加入的语句是U 【9】 /U。(分数:1.00)填空项 1:_40.虚基类是含有U U /U /U函数的类。(分数:2.00)填空项 1:_41.下列程序输出结果是U U /U /U。 include iostream using namespace std; template typename T T fun(T a, T b) return (a=b)?a:b; int main() coutfun(3,6),fim(3.14F, 6.28F)end 1; return 0; (分数:2.00)填空项 1:_42.
20、定义在类内部的函数被类默认为U U /U /U,在类外部每次调用该函数时,定义的函数代码会在调用函数位置展开。(分数:2.00)填空项 1:_43.在数据库的概念结构设计中,常用的描述工具是 1。(分数:2.00)填空项 1:_44.若有以下程序: #includeiostream using namespace std; class Base public: void who()cout“Base“end1; class Derived1:public Base public: void who()cout“Derived“end1; ; int main() Base *p; Derive
21、d1 obj1; p= virtual float calcTuition( ); protected: int x; ; float Studertt:calcTuition( ) return float(x*x); class GraduateStudent:public Student public: GraduateStudent(int xx):Student(xx) float calcTuition( ); ; float Graduatestudent:calcTuition( ) return float(x*2); void main( ) Student s(20);
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C41 答案 解析 DOC
