【计算机类职业资格】全国计算机等级考试二级C++模拟题一2012年3月及答案解析.doc
《【计算机类职业资格】全国计算机等级考试二级C++模拟题一2012年3月及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】全国计算机等级考试二级C++模拟题一2012年3月及答案解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、全国计算机等级考试二级 C+模拟题一 2012 年 3 月及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为(分数:2.00)A.log2nB.n2C.O(n1.5)D.n(n-1)/22.算法分析的目的是(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进3.线性表 L=(a1,a2,a3,ai,an),下列说法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元
2、素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件4.在单链表中,增加头结点的目的是(分数:2.00)A.方便运算的实现B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现5.软件工程的出现是由于(分数:2.00)A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现D.计算机的发展6.软件开发离不开系统环境资源的支持,其中必要的测试数据属于(分数:2.00)A.硬件资源B.通信资源C.支持软件D.辅助资源7.在数据流图(DFD. 中,带有名字的箭头表示(分数:2.0
3、0)A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向8.分布式数据库系统不具有的特点是(分数:2.00)A.数据分布性和逻辑整体性B.位置透明性和复制透明性C.分布性D.数据冗余9.关系表中的每一横行称为一个(分数:2.00)A.元组B.字段C.属性D.码10.下列数据模型中,具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.关系模型D.以上 3 个都是11.下列字符串中可以用作 C+语言标识符的是(分数:2.00)A._1234B.foobarC.virtualD.34var12.关于 C+语言与 C 语言关系描述中错误的是(分数:2.00)A.C
4、+语言是 C 语言的超集B.C+语言对 C 语言进行了扩充C.C+语言包含 C 语言的全部语法特征D.C+语言与 C 语言都是面向对象的程序设计语言13.下列语句的输出结果 coutstrlen(“/t/“/065/xff/n“);(分数:2.00)A.5B.14C.8D.输出项不合法,无正常输出14.在 C+语言中,不合法的实型数据的是(分数:2.00)A.0.123B.123e3C.2.1e3.5D.123.015.若有如下语句 #include void main() int x=3; do x=x-2; coutx; while(!(-x); 则上面程序段(分数:2.00)A.输出的是
5、 1B.输出的是 1 和-2C.输出的是 3 和 0D.是死循环16.下面有关 for 循环的正确描述是(分数:2.00)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在 for 循环中,不能用 break 语句跳出循环体D.for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来17.以下程序中调用 cin 函数给变量 a 输入数值的方法是错误的,其错误原因是 #include void main() int *p,*q,a,b; p= cout“input a:“; cinp; (分数:2.00)A.*p 表示的是指针变量 p
6、的地址B.p 表示的是变量 a 的地址,而不是变量 a 的值C.*p 表示的是指针变量 p 的值D.*p 只能用来说明 p 是一个指针变量18.假定 int 类型变量占用两个字节,其有定义 int x10=0,2,4;,则数组 x 在内存中所占字节数是(分数:2.00)A.3B.6C.10D.2019.有以下程序 #include 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,z); coutx,y,zendl; 输出结果是(分数:2.00)A.30,20,10B.1
7、0,20,30C.456,567,678D.678,567,45620.以下叙述正确的是(分数:2.00)A.函数可以嵌套定义但不能嵌套调用B.函数既可以嵌套调用也可以嵌套定义C.函数既不可以嵌套定义也不可以嵌套调用D.函数可以嵌套调用但不可以嵌套定义21.下列定义中 p 指向的地址可更改,但*p 不能够更改的是(分数:2.00)A.const int *p;B.int * const p;C.const int * const p;D.int *p;22.下面的语句中错误的是(分数:2.00)A.int a=5; int xa;B.const int a=5; int xa;C.int n=
8、5; int *p=new int a;D.const int n=5; int *p=new int a;23.下面程序的结果是 #include 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) void showa()couta; ; void main() C c; c.showa(); (分数:2.00)A.1B.2C
9、.3D.程序有错误24.关于二义性的描述错误的是(分数:2.00)A.一个子类的两个父类中都有某个同名成员,在子类中对该成员访问可能出现二义性B.解决二义性可以用对成员名的限定法C.父类和子类中同时出现同名函数,也可能存在二义性D.一个子类是从两个父类派生出来的,而这两个父类又有一个共同的父类,对该父类成员进行访问时,可能出现二义性25.如果表达式 x*y+z 中,“*“是作为友元函数重载的,“+“是作为友元函数重载的,则该表达式还可为(分数:2.00)A.operator+(operator*(x, y),z)B.x.operator+(operator*(x, y),z)C.y.opera
10、tor*(operator+(x, y),z)D.x.operator+(operator*(x, y)26.函数模板:template T add(T x,T y)return x+y; 下列对 add 函数的调用不正确的是(分数:2.00)A.add(1,2)B.add(1,2)C.add(1.0,2)D.add(1.0,2.0)27.对于语句 coutsetfill(*)setw(10)1setfill(*)setw (2)2;的输出结果是(分数:2.00)A.*1*2B.*12C.*1*2D.12*28.this 指针是 C+语言实现什么的一种机制?(分数:2.00)A.抽象B.封装C
11、.继承D.重载29.有如下程序 #include 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.1530.有如下程序: #include using namespace std; class Media public: void Name(); void Show(); protected: int page; ; class Book:private Media public: void
12、 Print()coutpageA.语句B.语句C.语句D.语句31.下列描述中,抽象类的特性是(分数:2.00)A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象32.在 C+语言中,打开一个文件就是将这个文件与一个什么建立关联?(分数:2.00)A.流B.类C.结构D.对象33.下列程序的运行结果是 #include void fun(int *a, int *b) int *k; k=a; a=b; b=k; void main() int a=3, b=6, *x= fun(x,y); couta“ “b; (分数:2.00)A.6 3B.3 6C.编译出
13、错D.0 034.执行语句 for(i=1;i+4;);,后变量 i 的值是(分数:2.00)A.3B.4C.5D.不定35.判断 char 型变量 c 是否为小写字母的正确表达式是(分数:2.00)A.a=c=zB.(c=A. i1=1000/s(N); i2=1000/f(N); couti1“ “i2; (分数:2.00)填空项 1:_填空项 1:_填空项 1:_45.友元类的所有成员函数都是另一个类的 1。(分数:2.00)填空项 1:_46. 1 是实现 C+语言编译时多态性的机制, 2 是实现 C+语言运行时多态性的机制。(分数:2.00)填空项 1:_填空项 1:_填空项 1:_
14、48.表达式 x.operator+1 还可写成 2。(分数:2.00)填空项 1:_49.以下程序的输出结果是 1。 #include void main2 int a=0; a+=(a=8); couta; (分数:2.00)填空项 1:_50.若要在 C 盘根目录下作为二进制文件打开文件 test.dat,则应该用的语句是 1。(分数:2.00)填空项 1:_全国计算机等级考试二级 C+模拟题一 2012 年 3 月答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为(分数:2
15、.00)A.log2nB.n2C.O(n1.5)D.n(n-1)/2 解析: 假设线性表的长度为 n,则在最坏情况下,冒泡排序要经过 n/2 遍的从前往后的扫描和 n/2 遍的从后往前的扫描,需要的比较次数为 n(n-1)/2。2.算法分析的目的是(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进 解析: 算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。3.线性表 L=(a1,a
16、2,a3,ai,an),下列说法正确的是(分数:2.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 解析: 线性表可以为空表;第一个元素没有直接前件,最后一个元素没有直接后件;线性表的定义中,元素的排列并没有规定大小顺序。4.在单链表中,增加头结点的目的是(分数:2.00)A.方便运算的实现 B.使单链表至少有一个结点C.标识表结点中首结点的位置D.说明单链表是线性表的链式存储实现解析: 头结点不仅标识了表中首结点的位置,而且根据单链表(包
17、含头结点)的结构,只要掌握了表头,就能够访问整个链表,因此增加头结点目的是为了便于运算的实现。5.软件工程的出现是由于(分数:2.00)A.程序设计方法学的影响B.软件产业化的需要C.软件危机的出现 D.计算机的发展解析: 软件工程概念的出现源自于软件危机。为了消除软件危机,通过认真研究解决软件危机的方法,认识到软件工程是使计算机软件走向工程科学的途径,逐步形成了软件工程的概念。6.软件开发离不开系统环境资源的支持,其中必要的测试数据属于(分数:2.00)A.硬件资源B.通信资源C.支持软件D.辅助资源 解析: 软件测试过程中,辅助资源包括测试用例(测试数据)、测试计划、出错统计和最终分析报告
18、等。7.在数据流图(DFD. 中,带有名字的箭头表示(分数:2.00)A.模块之间的调用关系B.程序的组成成分C.控制程序的执行顺序D.数据的流向 解析: 数据流相当于一条管道,并有一级数据(信息)流经它。在数据流图中,用标有名字的箭头表示数据流。数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。8.分布式数据库系统不具有的特点是(分数:2.00)A.数据分布性和逻辑整体性B.位置透明性和复制透明性C.分布性D.数据冗余 解析: 分布式数据库系统具有数据分布性、逻辑整体性、位置透明性和复制透明性的特点,其数据也是分布的;但分布式数据
19、库系统中数据经常重复存储,数据也并非必须重复存储,主要视数据的分配模式而定。若分配模式是一对多,即一个片段分配到多个场地存放,则是冗余的数据库,否则是非冗余的数据库。9.关系表中的每一横行称为一个(分数:2.00)A.元组 B.字段C.属性D.码解析: 关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为表中的一个属性,对应表中的一个字段;在二维表中凡能惟一标识元组的最小属性集称为该表的键或码。10.下列数据模型中,具有坚实理论基础的是(分数:2.00)A.层次模型B.网状模型C.关系模型 D.以上 3 个都是解析: 关系模型较之格式化模型(网状模型和层次模型)有以下方面的优点,即数据
20、结构比较简单、具有很高的数据独立性、可以直接处理多对多的联系,以及有坚实的理论基础。11.下列字符串中可以用作 C+语言标识符的是(分数:2.00)A._1234 B.foobarC.virtualD.34var解析: C+语言标识符只能由数字,字母和下划线组成,并且只能以字母和下划线为开头。12.关于 C+语言与 C 语言关系描述中错误的是(分数:2.00)A.C+语言是 C 语言的超集B.C+语言对 C 语言进行了扩充C.C+语言包含 C 语言的全部语法特征D.C+语言与 C 语言都是面向对象的程序设计语言 解析: C 语言是一种面向过程的程序设计语言,而 C+语言是一种面向对象的设计语言
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 全国 计算机等级考试 二级 模拟 2012 答案 解析 DOC
