【计算机类职业资格】二级C++笔试-298及答案解析.doc
《【计算机类职业资格】二级C++笔试-298及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-298及答案解析.doc(26页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-298 及答案解析(总分:104.00,做题时间:90 分钟)一、选择题(总题数:35,分数:76.00)1.有如下程序#includeiostreamh#define N2#define M N+1#define NUM 2 * M+1void main( )int i;for(i=1;i =NUM;i+)cout i 该程序中的 for循环执行的次数是(分数:2.00)A.5B.6C.7D.82.以下程序的输出结果是#includeiostreamhvoid main( )inti,j,x=0;for(i=0;i 2;i+)x+;for(j=0;j 3;j+)if (j%
2、2)continue;x+;x+;cout “x=“ x;(分数:2.00)A.x=4B.x=8C.x=6D.x=123.面向对象程序设计思想的主要特征中不包括(分数:2.00)A.继承性B.功能分解,逐步求精C.封装性和信息隐藏D.多态性4.下列不属于结构化分析的常用工具的是(分数:2.00)A.数据流图B.数据字典C.判定树D.PAD图5.下面程序的结果是#includeiostreamhclass Apublic:A( ) cout “construtA“ end1;virtual A( ) cout “destructA“ end1; ;class B:public A;class C
3、:public A;class D:public B,public C;void main( )Dd;(分数:2.00)A.constructAdestructAB.constructAconstructAdestructAdestructAC.constructAconstructAconstructAdestructAdestructAdestructAD.constructAconstructAconstructAconstructAdestructAdestructAdestructAdestructA6.数据库的故障恢复一般是由(分数:2.00)A.数据流图完成的B.数据字典完成的C
4、.DBA完成的D.PAD图完成的7.下列说法中,不属于数据模型所描述的内容的是(分数:2.00)A.数据结构B.数据操作C.数据查询D.数据约束8.下列程序是用来判断数组中特定元素的位置所在,则输出结果为#include#includeint fun(in *s,int t,int *k)int i;* k=0;for(i=0;i t;i+)if(s *k si) *k=i;return S *k;void main( )int a10= 876,675,896,101,301,401,980,431,451,777 ,k;fun(a,10,& k);cout k , ak;(分数:2.00)
5、A.7,431B.6C.980D.6,9809.有以下语句,则对 a数组元素的引用不正确的是(0i9)int a10= 0,1,2,3,4,5,6,7,8,9 , *p=a;(分数:2.00)A.ap-aB.*(&a i)C.piD.* ( *(a+i)10.有如下程序:#includeiostreamhlong fib(int n)if(n 2) return(fib(n-1)+fib(n-2) );else return(2);void main( )cout fib(3);该程序的输出结果是(分数:2.00)A.2B.4C.6D.811.若执行下面的程序时,从键盘上输入 5和 2,则输出
6、结果是#includeiostreamh:void main( )inta,b,k;cin a b;k=a;if(a B) k=a%b;elsek=b% a;cout k end1;(分数:2.00)A.5B.3C.2D.012.下列工具中为需求分析常用工具的是(分数:2.00)A.PADB.PFDC.N-SD.DFD13.有以下程序#includestringh#includeiostreamhvoid main( )char *p=“abcde/0fghjik/0“;cout strlen(p);程序运行后的输出结果是(分数:2.00)A.12B.15C.6D.514.非空的循环单链表 h
7、ead的尾结点(由 p所指向),满足(分数:2.00)A.pnext=NULLB.p=NULLC.pnext=headD.p=head15.下列程序的运行结果是#include iostreamhclass Location private:int X,Y;public:void init(int=0,in=0);Void valueX(int val) X=val;int valueX( ) return X;void valueY(int val) Y=val;int valueY( ) return Y; ;void Location:init(int initX,int initY)X
8、=initX;Y=initY;void main( )Location A,B;Ainit( );AvalueX(5);cout AvalueX( ) end1 AvalueY( ) end1;Binit(6,2);BvaleY(4);cout BvalueX( ) end1 BvalueY( ) end1;(分数:2.00)A.5064B.0064C.5062D.006216.下列叙述中正确的是(分数:2.00)A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构17.要想使 2378965421 的输出为 237887 应用的语句是(分数:2.00)A.
9、cout 2378965421;B.cout fixed 2378965421:C.cout 2378965421 -0001:D.cout fixed 2378965421 -0001;18.关于虚函数下面说的正确的是(分数:2.00)A.若在重定义虚函数时使用了 virtual,则该重定义函数还是虚函数B.虚函数不能声明为友元C.子类必须重定义父类的虚函数D.虚函数不能是 static的以下程序的运行结果是#includeiostreamhvoid sub(int x,int y,int *z)*z=y-x;void main( )int a,b,c;sub(10,5,&(分数:6.00)
10、A.;sub(7,a,&B.;sub(a,b,&C.;cout a “,/D.5,-2,-7A.B.C.D.A.B.C.D.19.下列程序的输出结果是#include iostreamhint b=2;int func(int *(分数:2.00)A.b + = *a;return(B.;void main( )iC.8D.1020.如果表达式+x/y 中,+是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为(分数:2.00)A.(operator+(x) )operator/(y)B.(operator+(0) )operator/(y)C.operator/( (operato
11、r+(x,0) ),y)D.operator/( (operator+(0) ),y)21.关于 this指针的说明不正确的是(分数:2.00)A.不能在程序中修改 this指针B.this指针可以给其他指针赋值,但不能修改 this指针C.静态成员函数中没有 this指针D.this指针可以被赋值22.若有说明语句char a =“It is mine“;char *p=“It is mine“;则以下不正确的叙述是(分数:2.00)A.a+1表示的是字符 t的地址B.p指向另外的字符串时,字符串的长度不受限制C.p变量中存放的地址值可以改变D.a中只能存放 10个字符23.在软件生产过程中
12、,需求信息的给出是(分数:2.00)A.程序员B.项目管理者C.软件分析设计人员D.软件用户24.对建立良好的程序设计风格,下面描述正确的是(分数:2.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无25.在 C+语言中,封装是借助于什么达到的?(分数:2.00)A.结构B.类C.数组D.函数26.能正确表示逻辑关系:“a10 或 a0”的 C+语言表达式是(分数:2.00)A.a =10 or a =0B.a =0 | a =10C.a =10 & a =0D.a =10,a =027.在位运算中,操作数每左移一位,其结果相当于
13、(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4D.操作数乘以 428.执行下列程序段,结果是#includevoid main( )int x=40;char y=C;int n;n=(x&0xff)&c(y B);cout n;(分数:2.00)A.0B.1C.2D.3C+语言是以哪种语言为基础逐渐发展演变而成的一种程序设计语言(分数:4.00)A.ASPB.CC.VBD.JavaA.B.C.D.29.已知数据表 A中每个元素距其最终位置不远,为节省时间,应采用的算法是(分数:2.00)A.堆排序B.直接插入排序C.快速排序D.直接选择排序30.有以下程序#incl
14、udeiostreamhfloat fun(int x,int y)return(x+y);void main( )int a=2,b=5,c=8;tout fun( (int)fun(a+c,B) ,a-C) ;程序运行后的输出结果是(分数:2.00)A.编译出错B.9C.21D.9031.NULL是指(分数:2.00)A.0B.空格C.未知的值或无任何值D.空字符串32.设变量 a是 int型,f 是 double型,i 是 float型,则表达式 10 + a + i * f 值的数据类型(分数:2.00)A.intB.floatC.doubleD.不确定33.所有在函数中定义的变量,连
15、同形式参数,都属于(分数:2.00)A.全局变量B.局部变量C.静态变量D.寄存器变量二、填空题(总题数:13,分数:28.00)34.冒泡排序算法在最好的情况下的元素交换次数为 【1】 。(分数:2.00)填空项 1:_35.在最坏情况下,堆排序需要比较的次数为 【2】 。(分数:2.00)填空项 1:_36.若串 s=“MathTypes“,则其子串的数目是 【3】 。(分数:2.00)填空项 1:_37.软件开发环境是全面支持软件开发全过程的 【4】 集合。(分数:2.00)填空项 1:_38.关系数据库的关系演算语言是以 【5】 为基础的 DML语言。(分数:2.00)填空项 1:_3
16、9.C+语言中关键字运算符有 new,delete 和 【6】 。(分数:2.00)填空项 1:_40.将以下程序写成三目运算表达式是 【7】 。if(a B) max=a;else max=b;(分数:2.00)填空项 1:_41.以下程序的输出结果是 【8】 。#includeiostreamhclass objectprivate:int va1;public:object1;object(int i)object2; ;object:Object3va1=0;cout “Default constructor for object“ end1;object:object(int i)v
17、a1=icout “Constructor for object“ va1 end1;object:object4cout “Destructor for object“ va1 end1;class container private:object one;object two;int data;public:container5;container(int i,int j,int k);container6; ;container:container7data=0;cout “Default constructor for container“ end1;container:contain
18、er(int i,int j,int k):two(i),one(j)data=k;cout “Constructor for container“ end1;container:container8cout “Destructor for container“ end1;void main9container anObj(5,6,10);(分数:2.00)填空项 1:_42.下面程序的功能是将字符数组 a中下标值为偶数的元素从小到大排列,其他元素不变,请填空。#includeiostreamh#includestringhvoid main1char a =“clanguage“,t;int
19、 i,j,k;k=strlen(A) ;for(i=;0 i =k-2;i+=2=for(j=i+2;j =k; 【9】 =if ( 【10】 )t=ai;ai=aj;aj=t;cout a;cout end1;=(分数:2.00)填空项 1:_43.静态成员函数可以直接访问类的 【11】 成员,不能直接访问类的 【12】 成员。(分数:4.00)填空项 1:_44.请定义一个函数名为 A,返回值为 int,没有参数的纯虚函数的定义是 【13】 。(分数:2.00)填空项 1:_45.表达式 xoperator+(yoperator+(0) )还可以写成 【14】 。(分数:2.00)填空项
20、1:_46.假设 fin是一个文件流对象,则关闭文件的语句是 【15】 。(分数:2.00)填空项 1:_二级 C+笔试-298 答案解析(总分:104.00,做题时间:90 分钟)一、选择题(总题数:35,分数:76.00)1.有如下程序#includeiostreamh#define N2#define M N+1#define NUM 2 * M+1void main( )int i;for(i=1;i =NUM;i+)cout i 该程序中的 for循环执行的次数是(分数:2.00)A.5B.6 C.7D.8解析:解析:这是一种简单的情况:不带参数的宏。关键要注意在对 2 * M+1进
21、行宏替换时,要将宏名 M原样替换,得到 NUM的形式为 2 * N+l+1(千万不要随意把给 N/1加上小括号,使 NUM变为 2 * (N+1)+1,这就是宏名和变量名之间的区别)。2.以下程序的输出结果是#includeiostreamhvoid main( )inti,j,x=0;for(i=0;i 2;i+)x+;for(j=0;j 3;j+)if (j% 2)continue;x+;x+;cout “x=“ x;(分数:2.00)A.x=4B.x=8 C.x=6D.x=12解析:解析:该题是一个 for循环嵌套语句,第一层 for循环循环 2次,第二层循环 3次,但当 j等于 O和
22、1时,将执行 ontinue语句,不执行 x+运算,所以每次执行完内循环后,x 的增量为 1。最后一个 x+运算将每次累加起来就是 x的值。3.面向对象程序设计思想的主要特征中不包括(分数:2.00)A.继承性B.功能分解,逐步求精 C.封装性和信息隐藏D.多态性解析:解析:面向对象程序设计的主要特征是继承性,封装性和信息隐藏,多态性。4.下列不属于结构化分析的常用工具的是(分数:2.00)A.数据流图 B.数据字典C.判定树D.PAD图解析:解析:结构化分析的常用工具有数据流图、数据字典、判定树和判定表。而 PAD图是常见的过程设计工具中的图形设计。5.下面程序的结果是#includeios
23、treamhclass Apublic:A( ) cout “construtA“ end1;virtual A( ) cout “destructA“ end1; ;class B:public A;class C:public A;class D:public B,public C;void main( )Dd;(分数:2.00)A.constructAdestructAB.constructAconstructAdestructAdestructA C.constructAconstructAconstructAdestructAdestructAdestructAD.construct
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 298 答案 解析 DOC
