【计算机类职业资格】二级C++笔试-221及答案解析.doc
《【计算机类职业资格】二级C++笔试-221及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-221及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-221 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是(分数:2.00)A.一元成员运算符B.二元成员运算符C.一元友元运算符D.选项 B)和选项 C2.已知有定义const int D=5;int i=1;double f=0.32;char c=15;则下列选项错误的是(分数:2.00)A.+i;B.D-;C.c+;D.-f3.以下叙述中正确的是(分数:2.00)A.构成 C+语言程序的基本单位是类B.可以在一个函数中定义另一个函数C.main()函数必须放
2、在其他函数之前D.所有被调用的函数一定要在调用之前进行定义4.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是(分数:2.00)A.showbase()和 eof()B.showpoint()和 eof()C.showpoint()和 bad()D.showpoint()和 good()5.以下程序的输出结果是#includeiostreamhvoid main()int x=1,y=3;cout x+ “ , “;int x=0;X+=y*2;coutx“ ,“y“ ;“;coutx“ ,“y;(分数:2.00)A.1,6,3,1,3B.1,6,3,6,3C.1,6,3,2,3D
3、.1,7,3,2,36.以下程序的输出结果是#includeiostreamhvoid reverse(int a,int n)int i ,t;for(i=0;n/2;i+)t=ai=ai =an-1-i;an-1-i=t;void main()int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;couts;(分数:2.00)_7.下面程序的结果为#includeiostreamhint C;class Aprivate:int a;static int b;public:A() a=0;c=0;v
4、oid seta()a+;voidsetb()b+;voidsetc()c+;void display() cout a “ “ b “ ” c;int Ab=0;void main()A a1,a2;a1seta();a1setb();a1setc();a2seta();a2seth();a2setc();a2display();(分数:2.00)A.1 2 1B.1 2 2C.1 1 2D.2 2 28.一个类的友元函数能够访问该类的(分数:2.00)A.私有成员B.保护成员C.公有成员D.所有成员9.索引属于(分数:2.00)A.模式B.内模式C.外模式D.概念模式10.软件工程的理论和
5、技术性研究的内容主要包括软件开发技术和(分数:2.00)A.消除软件危机B.软件工程管理C.程序设计自动化D.实现软件可重用11.有以下结构体说明和变量的定义,且指针 p 指向变量 a,指针 q 指向变量 b。则不能把结点 b 连接到结点 a 之后的语句是struct nodechar data;struct node * next;a,b,*p=(分数:2.00)A.fun();B.Basefun();C.Basefun();D.Base- fun();15.下面程序的功能是把 316 表示为两个加数的和,使两个加数分别能被 13 和 11 整除,在划线处应填入的选项是#includeios
6、treamhVoid main()int i=0,j,k;doi+;k=316-13*i; while( );j=k/11;cout “316=13*“i“+11*“j;(分数:2.00)_16.若某二叉树的前序遍历访问顺序是 abdgcefh,中序遍历访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是(分数:2.00)A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca17.下列关于构造函数说法不正确的是(分数:2.00)A.构造函数必须与类同名B.构造函数可以省略不写C.构造函数必须有返回值D.在构造函数中可以对类中的成员进行初始化18.C+语言中,表示
7、一条语句结束的标号是(分数:2.00)A.#B.;C./D.19.若定义 int k=7,x=12;,则能使值为 3 的表达式是(分数:2.00)A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)20.数据处理的最小单位是(分数:2.00)A.数据B.数据元素C.数据项D.数据结构21.下面程序的输出结果是#includeiostreamh#includestringhvoid main()char p110,P210;strcpy(p1,“abc“);strcpy(p2,“ABC“);char str50=“xyz“;strcpy(str+2,s
8、trcat(P1,p2);coutsix;(分数:2.00)A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC22.下列描述中哪个是正确的?(分数:2.00)A.私有派生的子类无法访问父类的成员B.类 A 的私有派生子类的派生类 C 无法初始化其祖先类 A 对象的属性,因为类 A 的成员对类 C 是不可访问的C.私有派生类不能作为基类派生子类D.私有派生类的所有子孙类将无法继续继承该类的成员23.开发软件时对提高开发人员工作效率至关重要的是(分数:2.00)A.操作系统的资源管理功能B.先进的软件开发工具和环境C.程序人员的数量D.计算机的并行处理能力24.下面程
9、序输出的结果是#includeiostreamhvoid main()int i;int a33=1,2,3,4,5,6,7,8,9;for(i=0;3;i+)couta2-ii“ “;(分数:2.00)A.1 5 9B.7 5 3C.3 5 7D.5 9125.下述关于数据库系统的叙述中正确的是(分数:2.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据26.下面程序段的运行结果是void main()int t,a,b,c;a=1;b=2;C=2;while(abc)t=a;a=b;b=t;c
10、-;cout a “ ,“ b “ ,“ c;(分数:2.00)A.1,2,0B.2,1,0C.1,2,1D.2,1,127.在位运算中,操作数每右移一位,其结果相当于(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数乘以 4D.操作数除以 428.下列关于 C+语言类的描述中错误的是(分数:2.00)A.类用于描述事物的属性和对事物的操作B.类与类之间通过封装而具有明确的独立性C.类与类之间必须是平等的关系,而不能组成层次结构D.类与类之间可以通过一些方法进行通信和联络29.数据库系统的核心是(分数:2.00)A.数据库B.数据库管理系统C.模拟模型D.软件工程30.若已定义:
11、int a=0,1,2,3,4,5,6,7,8,9,*p=a,i;其中 0i9,则对 a 数组元素不正确的引用是(分数:2.00)A.ap-aB.*(d=(abC) ;coutd;(分数:2.00)填空项 1:_43.设 i,j,k 均为 int 型变量,则执行完 for(i=0,j=10;i=j; i+,j-)k=i+j;语句后,k 的值为 【8】 。(分数:2.00)填空项 1:_44.如果要把返回值为 void 的函数 A 声明为类 B 的友元函数,则应在类 B 的定义中加入的语句是 【9】 。(分数:2.00)填空项 1:_45.如果类 B 继承了类 A,则称类 A 为类 B 的基类,
12、类 B 称为类 A 的 【10】 。(分数:2.00)填空项 1:_46.将 x+y 中的+运算符用友元函数重载应写为 【11】 。(分数:2.00)填空项 1:_47.已知程序的结果为 1 2 3,请填空。#includeiostreamhtemplateclass Tclass Apublic:T x,y,z;void display() cout x “ “ y “ “ z;void main()Ainta1;【12】 【13】 【14】 a1display();(分数:6.00)填空项 1:_48.下列程序段的输出结果是 【15】 。coutfixed509.123456789endl
13、;(分数:2.00)填空项 1:_二级 C+笔试-221 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是(分数:2.00)A.一元成员运算符B.二元成员运算符C.一元友元运算符D.选项 B)和选项 C 解析:解析 C+语言中用成员函数重载时,重载一目运算符没有参数,重载二目运算符要有一个参数。2.已知有定义const int D=5;int i=1;double f=0.32;char c=15;则下列选项错误的是(分数:2.00)A.+i;B.D-; C.c+;D.-f解析:解
14、析 “+”,“-”运算符不能用于常量。3.以下叙述中正确的是(分数:2.00)A.构成 C+语言程序的基本单位是类 B.可以在一个函数中定义另一个函数C.main()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义解析:解析 关于 C+语言,我们应该了解以下必须要掌握的基础知识:C+程序是由类构成的。一个函数由两部分组成:函数的首部和函数体。一个类由两部分组成:类成员变量和类成员函数。一个 C+程序总是从 main 函数开始执行的,而不论 main 函数在整个程序中的位置如何(main 函数可以放在程序最前头,也可以放在程序最后,或写在一些函数之前,在另 一些函数之后)。C
15、+程序在书写上,表现形式比较自由,一行内可以写几个语句,一个语句可以分写在几行上。每个语句和数据定义的最后必须有一个分号。可以用*/和/对 C+语言的程序的任何部分作注释。4.表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是(分数:2.00)A.showbase()和 eof()B.showpoint()和 eof() C.showpoint()和 bad()D.showpoint()和 good()解析:解析 表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是 showpoint()和 eof()。5.以下程序的输出结果是#includeiostreamhvoid ma
16、in()int x=1,y=3;cout x+ “ , “;int x=0;X+=y*2;coutx“ ,“y“ ;“;coutx“ ,“y;(分数:2.00)A.1,6,3,1,3B.1,6,3,6,3C.1,6,3,2,3 D.1,7,3,2,3解析:解析 coutx+;语句中,程序先输出 x 的值,然后再加 l,所以结果为 1,此时 x 的值为2;布 int x=0;x+=y*2;语句中,将 0 的值赋给 x,然后再运算 x+=y*2 的值,结果为 x=6(此时 x 的值为局部变量),y 的值不变,在最后在执行了 x 语句后的值,所以应为 2。6.以下程序的输出结果是#includeio
17、streamhvoid reverse(int a,int n)int i ,t;for(i=0;n/2;i+)t=ai=ai =an-1-i;an-1-i=t;void main()int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;couts;(分数:2.00)_解析:解析 在 main 函数中,调用 reverse 函数将 b 数组中的前 8 个成员进行互置,执行完毕后,b 数组中的成员为8,7,6,5,4,3,2,l,9,107.下面程序的结果为#includeiostreamhint C;c
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 221 答案 解析 DOC
