【计算机类职业资格】二级C++-211及答案解析.doc
《【计算机类职业资格】二级C++-211及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-211及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-211 及答案解析(总分:79.50,做题时间:90 分钟)一、选择题(总题数:35,分数:55.00)1.对于模板定义关键字 class 和 typename 说法不正确的是 _ 。(分数:2.00)A.程序中的 class 并不能都替换为 typenameB.class 和 typename 都可互相替换C.程序中的 typename 都能替换为 classD.程序中的部分 class 可以替换为 typename2.下列有关构造函数的描述错误的是 _ 。(分数:2.00)A.构造函数在说明类变量时自动执行B.构造函数可以重载C.构造函数可以设置默认参数D.构造函数可以对静态数
2、据成员进行初始化3.下列关于 C+预定义流对象的叙述中,正确的是_。(分数:1.00)A.cin 是 C+预定义的标准输入流对象B.cin 是 C+预定义的标准输入流类C.cout 是 C+预定义的标准输入流对象D.cout 是 C+预定义的标准输入流类4.实现运行时的多态性要使用 _ 。(分数:2.00)A.虚函数B.重载函数C.析构函数D.构造函数5.下面程序的运行结果是 #includeiostreamh class base protected: int a; public: base()cout “0“; ; class basel:virtual base public: base
3、l () cout “1“; ; class base2:virtual base public: base2()cout “2“; ; class derived:public basel,public base2 public: derived()cout “3“; ; void main() derived obj; cout end1; (分数:1.00)A.0123B.3120C.0312D.30126.在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是_。(分数:1.00)A.ios_base:curB.ios_base:begC.ios_base:outD.ios_ba
4、se:end7.最简单的交换排序方法是_。(分数:1.00)A.快速排序B.选择排序C.堆排序D.冒泡排序8.将前缀运算符“- -”重载为非成员函数,下列原型中能正确用于类中说明的是_。(分数:1.00)A.DecrB.Decr operator -(DecrC.friend DecrD.friend Decr operator -(Decr9.如果表达式-x/y 中的“-”和“/”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可以表示为_。(分数:2.50)A.operator/(x.operator-(),y);B.operator/(operator-(x),y);C.o
5、pcraior-().operator/(y);D.opcrator/(operator-(x);10.有如下函数定义: void func(int a,intb+; 若执行代码段: int x=0,y=1; func(x,y); 则变量 x 和 y 的值分别是_。(分数:1.00)A.0 和 1B.1 和 1C.0 和 2D.1 和 211.执行下列语句段后,输出字符“*”的个数是_。 for(int i=50; i1; -i) cout “*“;(分数:1.00)A.48B.49C.50D.5112.C+语言类体系中,不能被派生类继承的有(分数:1.00)A.转换函数B.构造函数C.虚函数
6、D.静态成员函数13._ 给出了数据库物理存储结构与物理存取方法(分数:2.00)A.概念模式B.外模式C.子模式D.物理模式14.下列关于队列的叙述中正确的是_。(分数:1.00)A.在队列中只能插人数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表15.数据库管理系统 DBMS 中用来定义模式、内模式和外模式的语言为(分数:1.00)ACB.BasicC.DDLD.DML16.算法的空间复杂度是指(分数:2.00)A.算法程序的长度B.算法程序中的指令条数C.算法程序所占的存储空间D.执行过程中所需要的存储空间17.下列符号中不属于 C+关键字的是_。(分数:
7、2.00)A.friendB.namespaceC.continueD.byte18.若有函数原型声明为“void fun(int*x,int ”,下列叙述中,错误的是_。(分数:2.00)A.调用函数 fun 时必须给出 3 个实参B.函数 fun 中有 1 个指针形参C.函数 fun 中有 1 个形参有默认值D.函数 fun 中有 1 个引用形参19.算法的有穷性是指_。(分数:1.00)A.算法程序的运行时间是有限的B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用20.索引属于_。(分数:2.50)A.模式B.内模式C.外模式D.概念模式21.有如
8、下程序: #includeiostream using namespace std; void function2(int n); void function1(int n) if(n=0)return; function2(n-2); void function2(int n) if(n=0)return; function1(n-1); int main() function1(5); return 0; 下列关于程序运行情况的描述中,正确的是_。(分数:2.00)A.function1 运行 1 次,function2 运行 2 次B.function1 运行 2 次,function2
9、 运行 1 次C.function1 运行 2 次,function2 运行 3 次D.function1 运行 2 次,function2 运行 2 次22.以下关键字不能用来声明类的访问权限的是_。(分数:1.00)A.publicB.staticC.protectedD.private23.下列叙述中正确的是_。(分数:1.00)A.软件测试应该由程序开发者来完成B.程序经调试后一般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对24.下列叙述中正确的是(分数:2.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库技术的根本目的是解决数据的共享问题C
10、.数据库管理系统就是数据库系统D.以上 3 种说法都不对25.有关析构函数的说法中错误的是(分数:2.00)A.析构函数有且只有一个B.析构函数无任何函数类型C.析构函数和构造函数一样可以有形参D.析构函数的作用是在对象被撤销时做清理工作26.函数定义为 Fun(int i),变量定义 n=100,则下面调用正确的是_。(分数:1.00)A.Fun(20);B.Fun(20+n);C.Fun(n);D.Fun(n);27.下列关于运算符重载不正确的是(分数:1.00)A.运算符重载不能改变运算符的操作数个数B.运算符重载不能改变运算符的优先级C.运算符重载不能改变运算符的结合性D.运算符重载能
11、改变对预定义类型数据的操作方式28.设有 int x11;,则表达式(x+*2/3)的值是 _ 。(分数:2.00)A.7B.8C.11D.1229.将前缀运算符“-”重载为非成员函数,下列原型中能正确用于类中说明的是_。(分数:1.00)A.DecrB.Decr operator-(DecrC.friend DecrD.friend Decr operator-(Decr30.下列关于 C+函数的说明中,正确的是_。(分数:2.00)A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是 return 语句C.标准 C+要求在调用一个函数之前,必须先声明其原型D.编译器会
12、根据函数的返回值类型和参数表来区分函数的不同重载形式31.下面关于虚函数的描述,错误的是(分数:1.00)A.在成员函数声明的前面加上 virtual 修饰,就可把该函数声明为虚函数B.基类中说明了虚函数后,派生类中对应的函数也必须说明为虚函数C.虚函数可以是另一个类的友元函数,但不能是静态成员函数D.基类中说明的纯虚函数在其任何派生类中都必须实现32.数据库关系模型中可以有三类完整性约束,下列选项中不属于三类完整性约束的是 _ 。(分数:2.00)A.实体完整性规则B.参照完整性规则C.对象完整性规则D.用户自定义完整性规则33.下列关于模板形参的描述中,错误的是_。(分数:2.50)A.模
13、板形参表必须在关键字 template 之后B.模板形参表必须用括弧()括起来C.可以用 class 修饰模板形参D.可以用 typename 修饰模板形参34.下列关于类和对象的叙述中,错误的是 _ 。(分数:2.00)A.一个类只能有一个对象B.对象是类的具体实例C.类是对某一类对象的抽象D.类和对象的关系是一种数据类型与变量的关系35.下面的函数调用为: fun(x+y,3,min(n-1,y)则 fun 的实参个数是_。(分数:2.50)A.3B.4C.5D.6二、填空题(总题数:15,分数:24.50)36.下面程序的输出结果是 1。 #include iostream.h usin
14、g namespace std; int n 3=10,20,30,40,50,60; int main () int (*p) 3; p=n; cout p0 0 “,“ *(p0+1) “,“ (*p)2endl; return 0; (分数:2.50)37.有以下程序 #include iostream using namespace std; class Base int a; public: Base(int x) a=x; void show() couta; class Derived: public Base int b; public: Defived(int i):Base
15、(i+ 1 ),b(i) void show() coutb; ; int main() Base b(5),*pb; Derived d(1); pb= pb-show(); return 0; 运行后的打印结果是 1。 (分数:2.00)38.数据流图的类型有 1 和事务型。 (分数:2.00)39.数据结构分为逻辑结构和存储结构,循环队列属于 1 结构。 (分数:2.00)40.C+语言支持的两种多态性分别是编译时的多态性和 _ 1_ 的多态性。 (分数:1.00)41.下列函数的功能是判断字符串 str 是否对称,对称则返回 true,否则返回 false。请在画线处填上适当内容,实现
16、该函数。 bool fun(char*str) int i:0,j=0; while(strj) _ 1_ ; for(J-;ij 1 ; (分数:2.00)47.若要在程序文件中进行标准输入输出操作,则必须在开始的# include 命令中使用头文件 _ 1_ 。 (分数:2.00)48.一个类中有 1 个析构函数。 (分数:1.00)49.下列程序编译错误,是由于划线处缺少某个语句,该语句是 1。 #includeiostream.h class A private: int numl; public: A( ):numl(0) A(int i):numl(i) ; class B pri
17、vate: int num2; public: B( ):num2(0) B(int i):num2(i) int my_math(A obj1, B obj2); ; int B:my_math(A obj1,B obj2) return(obj1.numl+obj2.num2); void main(void) A objl(4); B obj,obj2(5); cout“obj1+obj2:“obj.my_math(obj1,obj2); (分数:2.00)50.以下程序的执行结果是 1。 #includeiostream.h class Sample int n; public: Sa
18、mple() Sample(int m)n+m;) intB.Decr operator -(DecrC.friend DecrD.friend Decr operator -(Decr 解析:解析 非成员函数重载用友元函数的形式实现,“- -”运算符重载分为前置和后置两种重载方式。用友元函数来实现“- -”运算符的重载时,前置“- -”运算符的重载的一般格式为:friendtypeoperator- -(ClassNameB.operator/(operator-(x),y); C.opcraior-().operator/(y);D.opcrator/(operator-(x);解析:解析
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C211 答案 解析 DOC
