【计算机类职业资格】二级C++笔试326及答案解析.doc
《【计算机类职业资格】二级C++笔试326及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试326及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 326 及答案解析(总分:96.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.若有说明语句: char a “It is mine“; char * p“It is mine“; 则以下不正确的叙述是(分数:2.00)A.a1 表示的是字符 t 的地址B.p 指向另外的字符串时,字符串的长度不受限制C.p 变量中存放的地址值可以改变D.a 中只能存放 10 个字符2.有如下程序: #inCludeiostream.h #dehne N 2 #dehne M N1 #denne NUM 2 * M1 Void main( ) int i; fo
2、r(i1;iNUM;i) cout i; 该程序中的 fof 循环执行的次数是(分数:2.00)A.5B.6C.7D.83.非空的循环单链表 head 的尾节点(由 p 所指向) ,满足(分数:2.00)A.p-nextNULLB.pNULLC.p-nextheadD.phead4.下列程序是用来判断数组中特定元素的位置所在,则输出结果为 #includeconio.h #includeiostream.h int fun(int * s,int t,int * k) int i; *k0; for(i0;it;i) if(s * k si ) *ki; retum s * k ; void
3、main( ) int a10 876,675,896,101,301,401,980,431,451,777,k; fun(a,10, cout k , ak ;(分数:2.00)A.7,431B.6C.980D.6,9805.设变量 a 是 int 型,f 是 double 型,i 是 float 型,则表达式 10ai * f 值的数据类型是(分数:2.00)A.intB.floatC.doubleD.不确定6.面向对象程序设计思想的主要特征中不包括(分数:2.00)A.继承性B.功能分解,逐步求精C.封装性和信息隐藏D.多态性7.数据库的故障恢复一般是由(分数:2.00)A.数据流图完
4、成的B.数据字典完成的C.DBA 完成的D.PAD 图完成的8.下列叙述中正确的是(分数:2.00)A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构9.有以下语句,则对 a 数组元素的引用不正确的是(0i9) int a10 0,1,2,3,4,5,6,7,8,9, * pa;(分数:2.00)A.apaB.* ( cin a b; ka; if(ab) ka%b; else kb%a; cout k endl;(分数:2.00)A.5B.3C.2D.012.下列说法中,不属于数据模型所描述的内容的是(分数:2.00)A.数据结构B.数据操作C.数据查询
5、D.数据约束13.所有在函数中定义的变量,连同形式参数,都属于(分数:2.00)A.全局变量B.局部变量C.静态变量D.寄存器变量14.已知数据表 A 中每个元素距其最终位置不远,为节省时间,应采用的算法是(分数:2.00)A.堆排序B.直接插入排序C.快速排序D.直接选择排序15.有如下程序: #includeiostream.h long fib(int n) if(n2) return(fib(n1) fib(n2) ) ; else return(2) ; void main( ) cout nb(3) ; 该程序的输出结果是(分数:2.00)A.2B.4C.6D.816.C语言是以哪
6、种语言为基础逐渐发展演变而成的一种程序设计语言?(分数:2.00)A.ASPB.CC.VBD.Java17.有以下程序: #includestring.h #includeiostream.h void main( ) char * p“abcde/0fghjik/0“; cout strlen(p) ; 程序运行后的输出结果是(分数:2.00)A.12B.15C.6D.518.下列程序的输出结果是 #includeiostream.h int b2; int func(int * a) b * a; return(b) ; void main( ) int a2, res2; resfunc
7、( cout res;(分数:2.00)A.4B.6C.8D.1019.执行下列程序段,结果是 #includeiostream.h void main( ) int x40; char yC; int n; n(x cout n;(分数:2.00)A.0B.1C.2D.320.关于 this 指针的说明不正确的是(分数:2.00)A.不能在程序中修改 this 指针B.this 指针可以给其他指针赋值,但不能修改 this 指针C.静态成员函数中没有 this 指针D.this 指针可以被赋值21.下面程序的输出结果是 #includeiostream.h class A public: A
8、( ) cout “construtA“ endl; VirtualA( ) cout “destructA“ endl; class B: public A ; class C:public A ; class D:public B,public C ; void main( ) D d;(分数:2.00)A.constructAB.constructAC.constructAD.constructA destructA constructA constructA constructA destructA constructA constrnctA destructA destructA c
9、onstructA destructA destructA destructA destrctA destructA destructA22.在位运算中,操作数每左移一位,其结果相当于(分数:2.00)A.操作数乘以 2B.操作数除以 2C.操作数除以 4D.操作数乘以 423.能正确表示逻辑关系:“a10 或 a0”的 C语言表达式是(分数:2.00)A.a10 or a0B.a0 | a10C.a10 void main( ) int a,b,c; sub(10,5, sub(7,a, sub(a,b, cout a “,“ b “,“ C endl;(分数:2.00)A.5,2,3B.5
10、,12,7C.5,12,17D.5,2,725.下列工具中为需求分析常用工具的是(分数:2.00)A.PADB.PFDC.N-SD.DFD26.下列程序的运行结果是 #inClUdeiostream.h class Location private: int X,Y; pubhc: void init(int0,int0) ; void valueX(int val) Xval; int valueX( ) retum X; void valueY(int val) Yval; int valueY( ) retum Y;void Location: :init(int initX,int i
11、nitY) XinitX; YinitY; Void main( ) Location A,B; A. init( ) ; A. valueX(5) ; cout A. valueX( ) endl A. valueY( ) endl; B. init(6,2) ; B. valueY(4) ; cout B. valueX( ) endl B. valueY( ) endl;(分数:2.00)A.5B.0C.5D.0 0 0 0 0 6 6 6 6 4 4 2 227.关于虚函数,下面说的正确的是(分数:2.00)A.若在重定义虚函数时使用了 virtual,则该重定义函数还是虚函数B.虚函
12、数不能声明为友元C.子类必须重定义父类的虚函数D.虚函数不能是 static 的28.下列不属于结构化分析的常用工具的是(分数:2.00)A.数据流图B.数据字典C.判定树D.PAD 图29.对建立良好的程序设计风格,下面描述正确的是(分数:2.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无30.要想使 23.78965421 的输出为 23.7887,应用的语句是(分数:2.00)A.cout 23.78965421;B.cout fixed 23.78965421;C.cout 23.789654210.001;D.cout
13、 fixed 23.789654210.001;31.有以下程序: #includeiostream.h Float fun(int x, int y) return(xy) ; void main( ) int a2,b5,c8; cout fun(int) fun(ac, b) ,ac) ; 程序运行后的输出结果是(分数:2.00)A.编译出错B.9C.21D.9.032.在软件生产过程中,需求信息的给出是(分数:2.00)A.程序员B.项目管理者C.软件分析设计人员D.软件用户33.以下程序的输出结果是 #includeiostream.h void main( ) int i, j,
14、x0; for(i0;i2;i) x; for(j0;j3;j) if(j%2) continue; x; x; cout “X“ x;(分数:2.00)A.x4B.x8C.x6D.x1234.NULL 是指(分数:2.00)A.0B.空格C.未知的值或无任何值D.空字符串35.在 C语言中,封装是借助于什么达到的?(分数:2.00)A.结构B.类C.数组D.函数二、B填空题/B(总题数:13,分数:26.00)36.冒泡排序算法在最好的情况下的元素交换次数为U /U。(分数:2.00)填空项 1:_37.在最坏情况下,堆排序需要比较的次数为U /U。(分数:2.00)填空项 1:_38.若串
15、 s“MathTypes“,则其子串的数目是U /U。(分数:2.00)填空项 1:_39.软件开发环境是全面支持软件开发全过程的U /U集合。(分数:2.00)填空项 1:_40.关系数据库的关系演算语言是以U /U为基础的 DML 语言。(分数:2.00)填空项 1:_41.C语言中关键字运算符有 new、delete 和U /U。(分数:2.00)填空项 1:_42.将以下程序写成三日运算表达式是U /U。 if(ab) maxa; else maxb;(分数:2.00)填空项 1:_43.以下程序的输出结果是U /U。 #includeiostream.h class object p
16、rivate: int val; public: object( ) ; object(int i) ; object( ) ; object: :object( ) val0; cout “Default constructor for object“ endl; object: :object(int i) vali; cout “Constructor for object“ val endl; object: :object( ) cout “Destructor for object“ val endl; class container private: object one; ob
17、ject two; int data; public: container( ) ; container(int i,int j,int k) ; container( ) ; container: :container( ) data0; cout “Default constructor for container“ endl; container: :container(int i,int j,int k) :two(i) ,one(j) datak; cout “Constructor for container“ endl; container: :container( ) cout
18、 “Destructor for container“ endl; void main( ) container anObj(5,6,10) ;(分数:2.00)填空项 1:_44.下面程序的功能是将字符数组 a 中下标值为偶数的元素从小到大排列,其他元素不变,请填空。 #includeiostream.h #includestring.h void main( ) char a “clanguage“, t; int I ,j, k; kstrlen(a) ; for(i0;ik2;i2) for(ji2;jk;U 9 /U) if(U 10 /U) tai ;ai aj ;aj t; co
19、ut a; cout endl;(分数:2.00)填空项 1:_45.静态成员函数可以直接访问类的U 11 /U成员,不能直接访问类的U 12 /U成员。(分数:2.00)填空项 1:_46.请定义一个函数名为 A,返回值为 int,没有参数的纯虚函数的定义是U /U。(分数:2.00)填空项 1:_47.表达式 x. operator(y. operator(0) ) 还可以写成U /U。(分数:2.00)填空项 1:_48.假设 fin 是一个文件流对象,则关闭文件的语句是U /U。(分数:2.00)填空项 1:_二级 C+笔试 326 答案解析(总分:96.00,做题时间:90 分钟)一
20、、B选择题/B(总题数:35,分数:70.00)1.若有说明语句: char a “It is mine“; char * p“It is mine“; 则以下不正确的叙述是(分数:2.00)A.a1 表示的是字符 t 的地址B.p 指向另外的字符串时,字符串的长度不受限制C.p 变量中存放的地址值可以改变D.a 中只能存放 10 个字符 解析:解析 本题考查字符串数组和指针的引用方式。在 C语言中,系统在每个字符串或数组的最后自动加入一个字符/0,作为字符的结束标志,在本题中,char a “It is mine”;所表示的 a字符串实际含有 11 个字符。2.有如下程序: #inClude
21、iostream.h #dehne N 2 #dehne M N1 #denne NUM 2 * M1 Void main( ) int i; for(i1;iNUM;i) cout i; 该程序中的 fof 循环执行的次数是(分数:2.00)A.5B.6 C.7D.8解析:解析 这是一种简单的情况:不带参数的宏。关键要注意在对 2 * M1 进行宏替换时,要将宏名M 原样替换,得到 NUM 的形式为 2 * N11(千万不要随意给 N1 加上小括号,使 NUM 变为 2 * (N 1) 1,这就是宏名和变量名之间的区别) 。3.非空的循环单链表 head 的尾节点(由 p 所指向) ,满足(
22、分数:2.00)A.p-nextNULLB.pNULLC.p-nexthead D.phead解析:解析 循环链表就是将链表的最后一个节点指向链表头节点(或第一个节点) ,即 p- nexthead。4.下列程序是用来判断数组中特定元素的位置所在,则输出结果为 #includeconio.h #includeiostream.h int fun(int * s,int t,int * k) int i; *k0; for(i0;it;i) if(s * k si ) *ki; retum s * k ; void main( ) int a10 876,675,896,101,301,401,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 326 答案 解析 DOC
