【计算机类职业资格】二级C++-204及答案解析.doc
《【计算机类职业资格】二级C++-204及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-204及答案解析.doc(23页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-204 及答案解析(总分:87.00,做题时间:90 分钟)一、选择题(总题数:35,分数:62.00)1.有如下程序: #include iostream using namespace std; int main() cout.fill(“*“); cout.width(6); cout.fill(“#“); cout123end1; return 0; 执行后的输出结果是(分数:2.00)A.#123B.123#C.*123D.123*2.控制格式输入/输出的操作子中,设置域宽的函数是(分数:2.00)A.wsB.octC.setfill(int)D.setw(int)3.下
2、面关于类概念的描述中 _ 是错误的。(分数:1.00)A.类是抽象数据类型的实现B.类是具有共同行为的若干对象的统一描述体C.类是创建对象的样板D.类就是 C 语言中的结构体类型4.对于模板定义关键字 class 和 typename 说法不正确的是_。(分数:1.00)A.程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替换C.程序中的 typename 都能替换为 classD.程序中的部分 class 可以替换为 typename5.有如下程序: #includeiostream using namespace std; class T
3、lestClass int n; public: TestClass(int k):n(k) int get()return n; int get()constreturn n+1; ; int main() TestClass p(5); colast TestClass q(6); coutp.get()q.get(); return 0; 执行后的输出结果是 _ 。(分数:2.00)A.55B.57C.75D.776.下列叙述中正确的是(分数:1.00)A.接口复杂的模块,其耦合程度一定低B.耦合程度弱的模块,其内聚程度一定低C.耦合程度弱的模块,其内聚程度一定高D.上述三种说法都不对7
4、.下列关于类模板的描述中,错误的是_。(分数:1.00)A.类模板的成员函数都是模板函数B.可以为类模板参数设置默认值C.类模板描述了一组类D.类模板中只允许有一个类型参数8.负责数据库中查询操作的数据库语言是_。(分数:2.50)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言9.有函数模板声明和一些变量定义如下: templateclass T1,class T2,class T3T1 sum(T2,T3); double d1,d2; 则下列调用中,错误的是_。(分数:3.00)A.sumdouble,double,double(d1,d2);B.sumdouble,do
5、uble(d1,d2);C.sumdouble(d1,d2);D.sum(d1,d2);10.C+流中重载了运算符,它是一个_。(分数:2.50)A.用于输出操作的成员函数B.用于输入操作的成员函数C.用于输入操作的非成员函数D.用于输出操作的非成员函数11.下列叙述中错误的是_。(分数:2.50)A.gets 函数用于从终端读人字符串B.getchar 函数用于从磁盘文件读入字符C.fputs 函数用于把字符串输出到文件D.fwrite 函数用于以二进制形式输出数据到文件12.要定义一个引用变量 p,使之引用类 MyClass 的一个对象,正确的定义语句是 _ 。(分数:2.00)A.MyC
6、lass p=MyClass;B.MyClass p=new MyClass;C.MyClass p=new MyClassD.MyClass a,p=a;13.有如下程序; #includeiostream using namespace std; clas Basel public: Basel(int d)coutd; Basel() ; class Base2 public: Base2(int d)outd; Base2() ; class Derived:public Base1,Base2 public: Derived(int a,int b,int c,intd): Base
7、1(b),Base2(a),b1(d),b2(c) private: int b1; int b2; ; int main() Derived d(1,2,3,4); return 0; 运行时的输出结果是_。(分数:1.00)A.1234B.2134C.12D.2114.在设计程序时,应采纳的原则之一是 _ 。(分数:2.00)A.不限制 goto 语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理解15.下列叙述中正确的是_。(分数:1.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链
8、表是非线性结构16.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于_。(分数:1.00)A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段17.下列关于赋值运算符“=”重载的叙述中,正确的是_。(分数:2.50)A.赋值运算符只能作为类的成员函数重载B.默认的赋值运算符实现了“深层复制”功能C.重载的赋值运算符函数有两个本类对象作为形参D.如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符18.没有如下三个关系表: (分数:1.00)A.T=RSB.T=RSC.T=RSD.T=R/S19.下面关于 break 语句的描述中,不正确的是(分数:1.00)A.bre
9、ak 可以用于循环体内B.break 语句可以在 for 循环语句中出现多次C.break 语句可以在 switch 语句中出现多次D.break 语句可用于 if 条件判断语句内20.面向对象程序设计思想的主要特征中不包括_。(分数:2.50)A.继承性B.功能分解,逐步求精C.封装性和信息隐藏D.多态性21.设有以下程序段: int a5=0,*p,*q; p=a; q=a; 则下列选项中,合法的运算是 _ 。(分数:1.00)A.p+qB.p-qC.p*qD.p%q22.下面程序的结果为 _ 。 #include“iostream.h“ void change (int a,int b)
10、 int temp; temp=a; a=b; b=temp: void main() int m,n; m=8; n=9; change(m,n): cout m“ “ n endl; (分数:1.00)A.89B.98C.程序有错误D.9923.已知主函数中通过如下语句序列实现对函数模板 swap 的调用: int a10,b10; swap(a,b,10); 下列对函数模板 swap 的声明中,会导致上述语句序列发生编译错误的是_。(分数:2.50)A.templatetypename Tvoid swap(T a,T b,int size);B.templatetypename Tvo
11、id swap(int size,T a,T b);C.templatetypename T1,typename T2void swap(T1 a,T2 b,int size);D.templateclass T1,class T2void swap(T1 a,T2 b,int size);24.已知 Value 是一个类,value 是 Value 的一个对象。下列以非成员函数形式重载的运算符函数原型中,正确的是_。(分数:1.00)A.Value operator+(Value v, int i);B.Value operator+(Value v=value, int i);C.Valu
12、e operator+(Value v, int i=0);D.Value operator+(Value v=value, int i=0);25.有下列程序: # include stdio.h void fun(int*s,int n1,int n2) int i,j,t; i=n1;j=n2 while(ij)t=si;si=sj;sj=t;i+;j-; void main() int a10=1,2,3,4,5,6,7,8,9,0,k; fun(a,0,3);fun(a,4,9);fun(a,0,9); for(k=0;k10;k+)printf(“%d“, ak);printf (
13、“/n“); 程序的运行结果是_ 。(分数:2.50)A.0987654321B.4321098765C.5678901234D.098765123426.有如下程序: #includeiostream #includeiomanip using namespace std; int main() cOUtsetw(10)serfill(“x“)setprecision(8)left; cout12.3456793_98765; return 0; 若程序的输出是 12.345679x98765xxxxx,则划线处缺失的部分是_。(分数:2.50)A.setw(10)B.setfill(“x“
14、)C.setprecision(8)D.right27.下列关于 C+函数的说明中,正确的是_。(分数:2.50)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值数型和参数表来区分函数的不同重载形式28.关于抽象类,下列表述中正确的是_。(分数:2.50)A.抽象类的成员函数中至少有一个是没有实现的函数(即无函数体定义的函数)B.派生类必须实现作为基类的抽象类中的纯虚函数C.派生类不可能成为抽象类D.抽象类不能用来定义对象29.下列选项中,_不属于软件设计的基本原理。
15、(分数:2.50)A.抽象B.模块化C.信息公开D.模块独立性30.下列关于信息和数据的叙述不正确的是 _ 。(分数:2.00)A.信息是数据的符号表示B.信息是数据的内涵C.信息是现实世界事物的存在方式或运动状态的反映D.数据是描述现实世界事物的符号记录31.关于在调用模板函数时模板实参的使用,下列表述中正确的是_。(分数:1.00)A.对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略B.对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略C.对于虚拟类型参数所对应的模板实参,若能够省略则必须省略D.对于常规参数所对应的模
16、板实参,任何情况下都不能省略32.有下列程序: #include stdio.h void fun(int*a,int*b) int*c; c=a;a=b;b=c; void main() int x=3,y=5,*p=,*q=y; fun(p,q);printf(“%d,%d,“,*p,*q); fun(x,y);printf(“%d,%d/n“,*p,*q) 程序运行后的输出结果是_。(分数:2.50)A.3,5,5.3B.3,5,3,5C.5,3,3,5D.5,3,5,333.下列叙述中正确的是_。(分数:1.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据
17、结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构34.有如下程序: classBase public: int data: ; class Derived1:public Base; class Derived2:protected Base; int main() Derived1 d1; Derived2 d2; d1.data=0; / d2.data=0; / return 0; 下列关于程序编译结果的描述中,正确的是_。(分数:2.00)A.皆无编译错误B.有编译错误,无编译错误C.无编译错误,有编译错误D.皆有编译错误35.决定 C+语言中函数的返回值类型的是(
18、分数:1.00)A.return 语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型二、填空题(总题数:15,分数:25.00)36.以下程序运行后的输出结果是 1。 #include iostream.h void main() char a=“abcdabcabfgacd“; int i1=0,i2=0,1=0; while(ai) if(ai=“a“) i1+; if(ai=“b“) i2+; i+; couti1“i2endl; (分数:2.00)37.使用如 setw()的操纵符对数据进行格式输出时,应包含 1 文件
19、。 (分数:2.00)38.数据库系统中实现各种数据管理功能的核心软件称为 _ 1_ 。 (分数:1.00)39.关系数据库的关系演算语言是以 1 为基础的 DML 语言。 (分数:2.00)40.下面程序的输出结果是 _ 1_ 。 #include iostream using namespace std; class base protected: int a; public: base()cout“0“: ; class basel: virtual public base public: base1() cout“1“; ; class base2 : virtual public b
20、ase public: base2()cout“2“; ; class derived : public base1,public base2 public: derived () cout“3“; int main () derived obj; coutend1; return 0; (分数:2.00)41.在 C+语言中每个类都有一个 1 指针,该指针指向正在调用成员函数的对象。 (分数:2.00)42.如果不能使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基数继承的成员,下列程序没有使用多态机制,其输出结果是 1。 #includeiostream using
21、namespaee std; class Base public: void print( )tout“B“; class Derived:publie Base public: void print( )tout“D“; int main( ) Derived*pd=new Derived( ); Base*pb=pd: pb-print( ); pd-print( ); delete pd; return 0; (分数:2.00)43.阅读下列程序: #includeiostream.h void fun(int n) int x(5); static int y(10); if(n0)
22、+x; +y; coutx“,“yendl; void main() int m(1); fun(m); 则该程序的输出结果是 1。 (分数:2.00)44.根据程序中的注释将下列缺失部分补充完整。 class Point int x,y; /点的 x 和 y 坐标 public: Point(int xx=0,int yy=0):x(xx),y(yy) ; class Circle Point center;/圆心位置 int radius;/半径 public: /利用 cx 和 cy 分别初始化圆心的 x 和 y 坐标 Circle(int cx;int cy,int r): 1,rad
23、ius(r) void area()cout3.14159*radius*radiusendl; ; (分数:2.00)45.根据下面的主程序,完成类的一种构造函数的最简单形式。 #includeiostream. h class base private: int num; public: 1; ; void main() base try(6); (分数:2.00)46.C+是一种面向对象的程序设计语言,它充分支持面向对象思想中的三个主要特征是 1 性; 2 性和 3性。 (分数:1.00)47.在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为 _ 1_ 。 (分数:2.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C204 答案 解析 DOC
