【计算机类职业资格】二级C++笔试88及答案解析.doc
《【计算机类职业资格】二级C++笔试88及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++笔试88及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+笔试 88及答案解析(总分:96.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.软件开发离不开系统环境资源的支持,其中必要的测试数据属于(分数:2.00)A.硬件资源B.通信资源C.支持软件D.辅助资源2.以下叙述正确的是(分数:2.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定义3.下面有关 for循环的正确描述是(分数:2.00)A.for循环只能用于循环次数已经确定的情况B.for循环是先执行循环体语句,后判断表达式C.在 for循环中,不
2、能用 break语句跳出循环体D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5.在单链表中,增加头结点的目的是(分数:2.00)A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现6.有如下程序 #includeiostreamh int func(int a,int b) return(a+b); void main() int x=2,y=5,z=8,r; r=func (func (x,y),z); coutr; 该程序的输出的结果是(分数:2.00)A.12B.13C.14D.157.下面程序的结果是 #in
3、cludeiostreamh class A int a; public: A():a(1) void showa()couta; ; class B int a; public: B():a(2) void showa()couta; ;class C:public A,public B int a; public: C():a(3) voidshowa()couta; ; voidmain() C c; cshowa(); (分数:2.00)A.1B.2C.3D.程序有错误8.在数据流图(DFD)中,带有名字的箭头表示(分数:2.00)A.模块之间的调用关系B.程序的组成成分C.控制程序的
4、执行顺序D.数据的流向9.下列程序的输出结果是 #includeiostreamh class Myclass public:My class(inti=0,int j=0) x=i; y=j; void show()cout“x=“ x“ “ “y=“ yendl; void show()constcout“x=“y=“yendl; privated: int x; int y; ; void main() Myclassmy1(3,4); const my2(7,8); mylshow();my2show();(分数:2.00)A.x=4,y=3;x=7,y=8B.x=3,y=4;X=7,
5、y=8C.x=7,y=8;x=4,y=3D.x=8,y=7;x=7,y=810.下列描述中,抽象类的特性是(分数:2.00)A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象11.关于 C+语言与 C语言关系描述中错误的是(分数:2.00)A.C+语言是 C语言的超集B.C+语言对 C浯言进行了扩充C.C+语言包含 C语言的全部语法特征D.C+语言与 C语言都是面向对象的程序设计语言12.下列数据模型中,具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.关系模型D.以上 3个都是13.假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为
6、(分数:2.00)A.log2nB.n2C.O(n1.5)D.n(n1)/214.关于二义性的描述错误的是(分数:2.00)A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性D.一个子类是从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出现二义性15.分布式数据库系统不具有的特点是(分数:2.00)A.数据分布性和逻辑整体性B.位置透明性和复制透明性C.分布性D.数据冗余16.有以下程序 #includeiostreamh void fun(int
7、a,int b,int c) a=456,b=567,c=678; void main() int x=10,y=20,z=30; fun(x,y,2); cout X , y , z endl; 输出结果是(分数:2.00)A.30,20,10B.10,20,30C.456,567,678D.678,567,45617.下列程序的运行结果是 #includeiostreamh void fun(int*a,int*b) int*k; k=a;a=b;b=k; void main() int a=3,b=6,*x=B.int* const p;C.const int*const p;D.int
8、*p;30.以下程序中调用 cin函数给变量 a输人数值的方法是错误的,其错误原因是 #includeiostreamh void main() int*p,*q,a,b; p= void show()cout“x=“ x“ “ “y=“ yendl; void show()constcout“x=“y=“yendl; privated: int x; int y; ; void main() Myclassmy1(3,4); const my2(7,8); mylshow();my2show();(分数:2.00)A.x=4,y=3;x=7,y=8 B.x=3,y=4;X=7,y=8C.x=
9、7,y=8;x=4,y=3D.x=8,y=7;x=7,y=8解析:解析 在 Myclass类中定义了两个同名函数 show,其中一个是常成员函数。在 main函数中定义了两个对象 myl,my2,其中对象 my2是常对象。这两个对象调用成员函数 show时,通过对象 myl调用的是没有用,const 修饰的一般成员函数,而通过对象 my2调用的是 const修饰的常成员函数。10.下列描述中,抽象类的特性是(分数:2.00)A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象 解析:解析 带有纯虚函数的类称为抽象类,抽象类中的纯虚函数没有具体的定义,所以不能说明抽象
10、类的对象。11.关于 C+语言与 C语言关系描述中错误的是(分数:2.00)A.C+语言是 C语言的超集B.C+语言对 C浯言进行了扩充C.C+语言包含 C语言的全部语法特征D.C+语言与 C语言都是面向对象的程序设计语言 解析:解析 C 语言是一种面向过程的程序设计语言,而 C+语言是一种面向对象的设计语言,C +语言是 C语言的超集,它包含了 C语言的所有语言特性,并进行了扩充。12.下列数据模型中,具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.关系模型 D.以上 3个都是解析:解析 关系模型较之格式化模型(网状模型和层次模型)有以下方面的优点,即数据结构比较简单、具有
11、很高的数据独立性、可以盲接处理多对多的联系,以及有坚实的理论基础。13.假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为(分数:2.00)A.log2nB.n2C.O(n1.5)D.n(n1)/2 解析:解析 假设线性表的长度为 n,则在最坏情况下,冒泡排序要经过 n/2遍的从前往后的扫描和 n/2遍的从后往前的扫描,需要的比较次数为 n(n- 1)/2。14.关于二义性的描述错误的是(分数:2.00)A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性 D.一个子类是
12、从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出现二义性解析:解析 基类和其继承类同时出现同名函数,则在继承类中实现对象中调用该函数是使用继承类中的定义,这种情况下是不会产生二义性的。15.分布式数据库系统不具有的特点是(分数:2.00)A.数据分布性和逻辑整体性B.位置透明性和复制透明性C.分布性D.数据冗余 解析:解析 分布式数据库系统具有数据分布性、逻辑整体性、位置透明性和复制透明性的特点,其数据也是分布的;但分布式数据库系统中数据经常重复存储,数据也并非必须重复存储,主要视数据的分配模式而定。若分配模式是一对多,即一个片段分配到多个场地存放,则是冗余
13、的数据库,否则是非冗余的数据库。16.有以下程序 #includeiostreamh void fun(int a,int b,int c) a=456,b=567,c=678; void main() int x=10,y=20,z=30; fun(x,y,2); cout X , y , z endl; 输出结果是(分数:2.00)A.30,20,10B.10,20,30 C.456,567,678D.678,567,456解析:解析 本题:考查函数中变量的作用范围,在主函数中给变量 x,y,z 赋值,然后将其作为实参传递给了函数 fun(),虽然在函数 fun()中改变了这 3个变量的值
14、,但只是同名的局部变量,不影响函数中变量的值,所以在凋用函数 fun()结束后,主函数 3个变量的值未改变。17.下列程序的运行结果是 #includeiostreamh void fun(int*a,int*b) int*k; k=a;a=b;b=k; void main() int a=3,b=6,*x= t=x; x=y; y=t 如果在 main函数中用 swap(a,b),会有什么结果呢?在函数调用开始时,a 的值传送给 x,b 的值传递给 y。执行完 swap()函数后,x 和 y的值是互换了,但 main()函数中的 a和 b并未互换。也就是说由于“单向传递”的“值传递”方式,形
15、参值的改变无法传递给实参。 为了使在函数中改变了的变量值能被main()函数所闻,不能采取上述办法,而应该用指针变量做函数参数。布函数执行过程中使指针变量所指向的变量值发生变化,函数调用结束后,这些变量值的变化被保留下来,这样就实现了调用函数改变变量的值,在主凋函数中使用这些改变了的值的目的。 swap(int*p1,int*p2) int p; p= *p1; *p1 =*P2; *p2=p; 注意交换*P1 和*p2 的值是如何实现的,如果写成下面这样就有问题了! swap(int*P1,int*p2) int*P; *p=*P1;/*此语句有问题*/ *p1=*p2; *p2=*p: *
16、p1 就是 a,是整型变量。而*p 是指针变量 p所指向的变量,但 p中并无确切地址,用*p 可能会造成破坏系统的正常工作状态。应该将*p1 的值赋给一个整型变量,用整型变量作为过渡变量实现*P1 和*p2 的交换。18.软件工程的出现是由于(分数:2.00)A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现 D.计算机的发展解析:解析 软件工程概念的出现源自于软件危机。为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向了程科学的途径,逐步形成了软件工程的概念。19.下列语句的输出结果 coutstrlen(“/t/,/065/xff/n“);(分数
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 笔试 88 答案 解析 DOC
