【计算机类职业资格】二级C++笔试-247及答案解析.doc
《【计算机类职业资格】二级C++笔试-247及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试-247及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试-247 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.对下面的程序,说法正确的是( )。#includeiostreamusing namespace std;void sum(float m, float n)float sum=m+n; main()coutsum(5.3,6.5)endl;(分数:2.00)A.该程序是错误的,错误之处在于没有对 sum()函数进行说明B.程序书写规整,无语法错误,是正确的C.该程序语法无错误,但在调用函数 sum()时出错,因为 sum()函数被定义为 viod类型,但却被主函数调用
2、,因而是错误的D.虽然 sun()函数被定义为 void类型,但调用时也不会出错,程序能够编译通过2.关于析构函数的说法,正确的是( )。(分数:2.00)A.析构函数用来释放构造函数为对象分配的内存空间。它可以被系统自动调用B.析构函数没有数据类型,其返回值为 void型C.析构函数可以没有参数,也可有多个参数D.析构函数与构造函数不一样,它可以有多个,以方便使用3.下面正确的是( )。(分数:2.00)A.4.1/2B.3.2%3C.3/2=1 结果为 2D.5.2/3 结果是 14.下列语句中正确的是( )。(分数:2.00)A.int * p;i=8; p=B.int * p,i; p
3、=C.float * p;int i;p=D.float * p;cout* p;5.下列数据结构中,按“先进后出”原则组织数据的是( )。(分数:2.00)A.线性链表B.栈C.循环链表D.顺序表6.需求分析阶段的任务是确定( )。(分数:2.00)A.软件开发方法B.软件开发工具C.软件开发费用D.软件系统功能7.循环链表的主要优点是( )。(分数:2.00)A.不再需要头指针了B.从表中任一结点出发都能访问到整个链表C.在进行插入、删除运算时,能更好地保证链表不断开D.已知某个结点的位置后,能够容易地找到它的直接前趋8.char c=/41;printf(“%o“,c); 的结果为( )
4、。(分数:2.00)A.0101B.101C.41D.659.下面程序的执行结果是( )。#includeiostreamusing namespace std;class building public:building() building(unsigned stories, float breadths, float lengths)story = stories; breadth = breadths; length = lengths;void getstory(void)cout“story is:“storyendl;void getarea(void)area = length
5、*breadth*story;cout“area is:“areaendl;private:unsigned story;float length;float breadth;float area;void main(void)building b1,b2;building b3(10u,16.6,58.8);b1.getstory();b1.getarea();b2.getstory();b2.getarea();b3.getstory();b3.getarea();(分数:2.00)A.story is:0area is:0story is:0area is:0story is:10are
6、a is:9760.8B.story is:nullarea is:nullstory is:nullarea is:nullstory is:10area is:9760.8C.前两个对象输出的结果是不定的,后一个对象的结果正确D.前两个对象没有初值,因此程序编译时出错10.下列关于数组初始化的说法,正确的是( )。(分数:2.00)A.对于 int a5;它的数组元素初值为 0B.int a5=1,3,5,7,8,9;是可以的,这时数组长度自动变为 6C.static int a5;的数组元素初值为 0D.int a5=1.3,5;是不合法的,因为数组长度为 5,而仅有 3个数据,不知赋给
7、哪个元素11.数据库的故障恢复,一般是由( )。(分数:2.00)A.数据流图完成B.数据字典完成C.DBA完成D.PAD图完成12.关于输入流的提取符“”、提取函数 get()的说法不正确的是( )。(分数:2.00)A.提取符“”能提取空白字符B.提取函数 get()能够提取空白字符C.提取函数 get()可以带参数,用以存储从流中得到的字符D.提取函数 get()的返回值为所提取的字符13.在软件测试设计中,软件测试的主要目的是( )。(分数:2.00)A.实验性运行软件B.证明软件正确C.演示软件的正确功能D.发现软件错误而执行程序14.最常用的一种基本数据模型是关系数据模型,它的表示
8、应采用( )。(分数:2.00)A.树B.网络C.图D.二维表15.有如下程序:#includeiostreamusing namespace std;long fib(int n)if(n2) return(fib(n-1)+fib(n-2);else return(n);void main()int i;cout“请输入一个整数:“;cini;coutendl;coutfib(i)endl;当输入 4、2 时,该程序的输出结果是( )。(分数:2.00)A.5B.4C.5D.61 2 2 216.有以下定义:“int t3)2”,能正确标识 t数组元素地址的表达式是( )。(分数:2.00
9、)A.B.float sum(float x,float y);C.float sum(float x,float y)D.float sum(floatx,floaty)18.关于派生类的说法,不正确的是( )。(分数:2.00)A.派生类能够通过继承关键字改变对基类的函数成员的存取权限B.派生类可以拥有自己的新成员C.派生类可重载已有的函数成员D.派生类无法给基类的数据成员初始化19.下面程序的输出结果是( )。#includeiostreamusing namespace std;void main()int a,b;for(a=1,b=l;a=100;a+)if(b=10) break
10、;if(b%3= =1)b+=3;continue; couta;(分数:2.00)A.101B.6C.5D.420.下面程序的运行结果是( )。#includeiostreamusing namespace std;class Aint a;public:A()a=0;1A(int a(分数:2.00)A.a )a=aa;virtual void show()couta“;class B:public Aint b:public:B()b=0:B(int bB.b=bb;void show()coutb“ “;class C:public Bint c;public:C(int cC.c21
11、.下列说法不正确的是( )。(分数:2.00)A.基类指针可以指向它的公有派生类的对象B.指向基类的对象的指针可以指向派生类的对象,因而可以访问派生类的对象的成员C.基类指针不能指向其私有派生类的对象D.指向派生类对象的指针不可以指向基类的对象22.根据数据结构中各数据元素之间前后关系的复杂程度,一般将数据结构分成( )。(分数:2.00)A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构23.当一个函数无返回值时,函数的类型应为( )。(分数:2.00)A.任意B.voidC.intD.char24.关于类的继承的特性,不正确的是( )。(分数:2.
12、00)A.子类对父类具有数据和程序代码的共性特征B.子类与父类间有所差别C.会增加代码的冗余D.类间具有层次结构25.下面程序的输出结果是( )。#includeiostreamusing namespace std;templateclass TT max(T x,T y)return(x= y ? x:y);templateclass TT max(T x,T y,T z)T t; t=(x=y ? x:y);return(t=z ? t:z);void main()int x = 10,y=18,maxi;float a = 1.2,b = 3.2,c = 2,max2;max1 = m
13、ax(x,(int)c);max2 = max(a,b,(float)y);coutmaxiendl;coutmax2endl;(分数:2.00)A.183.2B.1018C.103.2D.编译出错26.在 C+语言里,一条语句以( )字符作为结束符。(分数:2.00)A.,B.;C.D.无符号27.下列关于对象的描述,不正确的是( )。(分数:2.00)A.对象只能描述有形的东西B.对象具有属性和服务两个主要因素C.现实世界中的一切事物都可以看作对象,但只有在具体的系统中加以论述才有意义D.对象的属性是对象的静态特征,服务是动态特征。并且对象的属性只能由本对象的服务来操作28.下列叙述中,正
14、确的是( )。(分数:2.00)A.软件就是程序清单B.软件就是存放在计算,机中的文件C.软件应包括程序清单及运行结果D.软件包括程序、文档和数据29.MyClock为一个类,则指向“MyClock a,* p;”语句时,调用该类构造函数( )次。(分数:2.00)A.1B.2C.3D.430.用链表表示线性表的优点是( )。(分数:2.00)A.便于随机存取B.花费的存储空间较顺序存储的大C.便于插入和删除操作D.数据元素的物理顺序与逻辑顺序相同31.对中断语句的说法,不正确的是( )。(分数:2.00)A.用户可以指定中断的位置B.用户可以指定转移的位置C.break 语句可以跳出本循环D
15、.continue 语句可以结束本次循环32.下面程序输出的结果是( )。#includeiostreamusing namespace std;void main()char ch8=“good“,“better“,“best“;for(int i=1;i3;+i)coutchiendl;(分数:2.00)A.goodbetterB.betterbestC.goodbestD.good33.一个函数为 void f(int,char=a),另一个函数为 void f(int),则它们( )。(分数:2.00)A.不能在同一程序中定义B.可以在同一程序中定义并可重载C.可以在同一程序中定义,但
16、不可以重载D.以上说法均不正确34.链表不具有的特点是( )。(分数:2.00)A.不必事先估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比35.下列字符数组的初始化,正确的是( )。(分数:2.00)A.char ch5=“a“,“b“,“c“,“d“,“e“;B.char ch=a,b;C.char ch15=“welcome to china“;D.char ch14=“I am a student“;二、填空题(总题数:15,分数:30.00)36.冒泡排序算法在最好的情况下的元素交换次数为 【1】 。(分数:2.00)填空项 1:_37.当线
17、性表采用顺序存储结构实现存储时,其主要特点是 【2】 。(分数:2.00)填空项 1:_38.为了克服软件危机提出了 【3】 概念。(分数:2.00)填空项 1:_39.常用的黑箱测试有等价分类法、边值分析法、错误推测法和 【4】 等 4种。(分数:2.00)填空项 1:_40.在最坏情况下,堆排序需要比较的次数为 【5】 。(分数:2.00)填空项 1:_41.执行语句:int result=100;cout(result= 60)结果是 【6】 。(分数:2.00)填空项 1:_42.对于嵌套的 ifelse语句,C+语法规定 else总是与 【7】 匹配。(分数:2.00)填空项 1:_
18、43.以下程序的输出是 【8】 。#includeiostreamusing namespace std;fun(intm)static int n=1;n=m*n;return(n);void main()int i;for(i=1;i=3;i+) coutfun(i);(分数:2.00)填空项 1:_44.当用数组元素作函数参数时,这属于 【9】 传递。(分数:2.00)填空项 1:_45.请填写空格:#includeiostreamusing namespace std;void fun(int x,int y,int * z)*2 = x + y;void main()int a=10
19、0,b=100,c,*p=fun(a,b,p);【10】 ; /输出调用 fun函数后返回 a、b 的和。(分数:2.00)填空项 1:_46.在类中定义和实现的函数称为 【11】 。(分数:2.00)填空项 1:_47.重载函数的函数名称相同,但函数的实现和功能不同,系统是靠 【12】 来决定采用哪个函数。(分数:2.00)填空项 1:_48.设置虚基类的目的是解决二义性问题,可通过 【13】 标识虚基类。(分数:2.00)填空项 1:_49.如果一个类中含有纯虚函数,则该类称为 【14】 。(分数:2.00)填空项 1:_50.模板是实现代码重用机制的一种工具,其中使一个函数可以定义成对许
20、多不同数据类型完成同一个任务的是指 【15】 模板。(分数:2.00)填空项 1:_二级 C+笔试-247 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.对下面的程序,说法正确的是( )。#includeiostreamusing namespace std;void sum(float m, float n)float sum=m+n; main()coutsum(5.3,6.5)endl;(分数:2.00)A.该程序是错误的,错误之处在于没有对 sum()函数进行说明B.程序书写规整,无语法错误,是正确的C.该程序语法无错误,但在调用函
21、数 sum()时出错,因为 sum()函数被定义为 viod类型,但却被主函数调用,因而是错误的 D.虽然 sun()函数被定义为 void类型,但调用时也不会出错,程序能够编译通过解析:解析 void 类型的函数的返回值类型是不确定的,不能使用函数的返回值。2.关于析构函数的说法,正确的是( )。(分数:2.00)A.析构函数用来释放构造函数为对象分配的内存空间。它可以被系统自动调用 B.析构函数没有数据类型,其返回值为 void型C.析构函数可以没有参数,也可有多个参数D.析构函数与构造函数不一样,它可以有多个,以方便使用解析:解析 析构函数没有数据类型,也没有参数,没有返回值,一个类只能
22、有一个析构函数。3.下面正确的是( )。(分数:2.00)A.4.1/2 B.3.2%3C.3/2=1 结果为 2D.5.2/3 结果是 1解析:解析 选项 B的%要求是整型;选项 C关系运算值为 1;选项 D结果为 1.7333。4.下列语句中正确的是( )。(分数:2.00)A.int * p;i=8; p=B.int * p,i; p= C.float * p;int i;p=D.float * p;cout* p;解析:解析 选项 A中的变量 i没有定义就使用了;选项 C(float)i把 i中的数据取出后变为 float型,就是一个数值,“printf(“%o“,c); 的结果为(
23、)。(分数:2.00)A.0101B.101C.41 D.65解析:解析 printf(“%o“,c);以八进制输出 c,而/41就是八进制表示的字符。9.下面程序的执行结果是( )。#includeiostreamusing namespace std;class building public:building() building(unsigned stories, float breadths, float lengths)story = stories; breadth = breadths; length = lengths;void getstory(void)cout“stor
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 247 答案 解析 DOC
