已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2012年计算机二级C+第五套笔试模拟试题及答案分析来源: :91UP快学堂 时间:2012/7/31 一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)算法的空间复杂度是指A)算法程序的长度B)算法程序中的指令条数C)算法程序所占的存储空间D)执行过程中所需要的存储空间(2)用链表表示线性表的优点是A)便于随机存取B)花费的存储空间较顺序存储少C)便于插入和删除操作D)数据元素的物理顺序与逻辑顺序相同(3)数据结构中,与所使用的计算机无关的是数据的A)存储结构B)物理结构C)逻辑结构D)物理和存储结构(4)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(5)软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A)模块间的关系B)系统结构部件转换成软件的过程描述C)软件层次结构D)软件开发过程(6)检查软件产品是否符合需求定义的过程称为A)确认测试B)集成测试C)验证测试D)验收测试(7)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是A)控制流B)加工C)数据存储D)源和潭(8)应用数据库的主要目的是A)解决数据保密问题B)解决数据完整性问题C)解决数据共享问题D)解决数据量大的问题(9)在数据库设计中,将E-R图转换成关系数据模型的过程属于A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是)数据库系统)文件系统)人工管理)数据项管理(11)下面关于C+语言的描述错误的是A)C+语言支持数据封装B)C+语言中引入友元没有破坏封装性C)C+语言允许函数名和运算符重载D)C+语言支持动态联编(12)设有定义int a=1;float f=12;char c=a;,则下列表示错误的是A)+a;B)f-;C)c+;D)8+;(13)下列程序的运行结果为#includevoid main()int a=2;int b=a+1;coutA)0.66667B)0C)0.7D)0.66666666(14)设int a=1,b=2;,则(a+)+b和a+b这两个表达式的值分别为A)3,3B)3,4C)4,3D)4,4(15)下面程序的运行结果为#includevoid main()char a=3;switch(a)case 3: cout3;case 2: cout2; break;default:cout1;A)3B)321C)31D)32(16)有如下数组声明:int num10;,下标值引用错误的是A)num10B)num5C)num3D)num0(17)存在定义int a10,x,*pa;,若pa=&a0,下列的哪个选项和其他3个选项不是等价的?A)x=*pa;B)x=*(a+1);C)x=*(pa+1);D)x=a1;(18)下面程序的运行结果为#includevoid swap(int &a,int b)int temp;temp=a+;a=b;b=temp;void main()int a=2,b=3;swap(a,b);couta,b/a,bA)2,3B)3,2C)2,2D)3,3(19)一个函数功能不太复杂但要求被频繁调用,应选用A)内联函数B)重载函数C)递归函数D)嵌套函数(20)下面关于C+语言变量的叙述错误的是A)C+语言中变量分为auto,static,extern和register四种存储类型B)自动变量和外部变量的作用域为整个程序C)内部静态变量的作用域是定义它的函数D)外部静态变量的作用域是定义它的文件(21)为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为A)publicB)protectedC)privateD)static(22)在C+语言程序中,对象之间的相互通信通过A)继承实现B)调用成员函数实现C)封装实现D)函数重载实现(23)类的析构函数是在什么时候调用的?A)类创建时B)创建对象时C)删除对象时D)不自动调用(24)通常拷贝构造函数的参数是A)某个对象名B)某个对象的成员名C)某个对象的引用名D)某个对象的指针名(25)下面程序的运行结果为#includeclass Astatic int n;public:A()n=1;A(int num)n=num;void print()cout;int A:n=2;void main()A a,b (3);a.print();b.print();coutA)11B)13C)23D)33(26)下列不是描述类的成员函数的是A)构造函数B)析构函数C)友元函数D)拷贝构造函数(27)继承机制的作用是A)信息隐藏B)数据封装C)定义新类D)数据抽象(28)C+语言类体系中,不能被派生类继承的有A)转换函数B)构造函数C)虚函数D)静态成员函数(29)下面程序的运行结果是#includeclass baseprotected:int a;public:base()cout0;class base1:virtual basepublic:base1()cout1;class base2:virtual basepublic:base2()cout2;class derived:public base1,public base2public:derived()cout3;void main()derived obj;coutA)0123B)3120C)0312D)3012(30)对于类定义class Apublic:virtual void func1()void func2();class B:public Apublic:void func1()coutclass B func 1virtual void func2()coutclass B func 2;下面正确的叙述是A) A:func2()和B:func1()都是虚函数B) A:func2()和B:func1()都不是虚函数C) B:func1()是虚函数,而A:func2()不是虚函数D) B:func1()不是虚函数,而A:func2()是虚函数(31)下面关于运算符重载的描述错误的是A)运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构B)不是所有的运算符都可以进行重载C)运算符函数的调用必须使用关键字operatorD)在C+语言中不可通过运算符重载创造出新的运算符(32)与语句coutA)coutn;B)cout12;C)coutxA;D)cout0;(33)下面程序的运行结果是#includeint fun(int a,int n)int result=1;for(int i=1;iresult=result*ai;return result;void main()int a3=3,4,5;coutfun(a,3)/fun(a,3)A)12B)15C)20D)60(34)下面程序的运行结果是#includevoid main()int i=1;while(i=8)if (+i%3!=2)continue;else coutA)25B)36C)258D)369(35)下列程序的运行结果为#includetemplateclass FF TT a1, a2, a3;public:FF(TT b1, TT b2, TT b3)a1=b1; a2=b2; a3=b3;TT Sum()return a1+a2+a3;void main() FFx(int(1.1),2,3),y(int(4.2),5,6);coutx.sum()A)6.1 15.2/x.sum()b)|c)couttrueelsecoutfalse(8)下列for语句的循环次数为 8 。for(int a=0,b=1;b&a5;a+);(9)下面程序的输出结果是 9 。#includevoid main()int a6=1,2,3,4,5,6;for(int i=0;i5;i+)coutai /ai参考答案及分析一、选择题(1)D解析: 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。(2)C解析: 链式存储结构克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。故链式存储结构下的线性表便于插入和删除操作。(3)C解析: 数据结构概念一般包括3个方面的内容,数据的逻辑结构、存储结构及数据上的运算集合。数据的逻辑结构只抽象的反映数据元素之间的逻辑关系,而不管它在计算机中的存储表示形式。(4)D解析: 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化及限制使用goto语句,总的来说可使程序结构良好、易读、易理解、易维护。(5)B解析: 软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各主要部件之间的关系;数据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。(6)A解析: 确认测试的任务是验证软件的功能和性能,以及其他特性是否满足需求规格说明中确定的各种需求;集成测试的主要目的是发现与接口有关的错误。(7)A解析: 数据流图包括4个方面,即加工(转换)(输入数据经加工变换产生输出)、数据流(沿箭头方向传送数据的通道,一般在旁边标注数据流名)、存储文件(数据源)(表示处理过程中存放各种数据的文件)、源和潭(表示系统和环境的接口,属系统之外的实体)。不包括选项中的控制流。(8)C解析: 数据库中的数据具有集成与共享的特点,亦即是数据库集中了各种应用的数据,进行统一构造与存储,而使它们可以被不同应用程序所使用,故选项C)正确。(9)B解析: E-R模型即实体-联系模型,是将现实世界的要求转化成实体、联系、属性等几个基本概念,以及它们之间的两种联接关系。数据库逻辑设计阶段包括以下几个过程:从E-R图向关系模式转换,逻辑模式规范化及调整、实现规范化和RDBMS,以及关系视图设计。(10)A解析: 人工管理阶段是在20世纪50年代中期以前出现的,数据不独立,完全依赖于程序;文件系统是数据库系统发展的初级阶段,数据独立性差;数据库系统具有高度的物理独立性和一定的逻辑独立性。(11)B解析: 数据封装就是数据抽象;友元可以访问类中的所有成员,是面向对象的一个重要特征,但是破坏了封装性;重载和动态联编都是面向对象的另一个特点-多态性。(12)D解析: +,-运算符不能用于常量表达式。(13)B解析: 表达式值的类型是由操作数的类型决定的,因为本题的两个数都是int型的,所以得出的结果也为int型,即去掉小数点后的部分,只取商的整数部分。(14)A解析: 单目的+运算优先级高于双目的+运算,不过+的结合性是自右向左的,而+是自左至右的,所以上面的两个表达式都是先计算a+b的值之后,a再自加1。(15)D解析: 本题主要考察的是switch语句的使用,在第一个case处,因为满足条件所以输出字符3,但这个分支没有break语句终止,所以会继续执行下面的分支语句,即输出字符2,这时出现break语句,结束整个语句,即输出32。(16)A解析: 数组定义中的数字指的是数组的大小,而下标是从0开始的,所以题中数组的最后一个元素是num9。(17)A解析: 本题考察的是数组和指向数组的指针之间的关系,选项A)中x是被数组a的第一个元素赋值,其余的都是被数组a的第二个元素赋值。(18)D解析: 本题考察的是引用调用,因为函数swap引用调用参数a,所以在swap函数中a的变化会改变主函数中a的值,即a自加1,但b的值并未改变。(19)A解析: 本题考察的是内联函数的使用,它的引入是为了解决程序中函数调用的效率问题,在编译时,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体来替换。(20)B解析: 自动变量是函数体或分程序内定义的变量,它的作用域在所定义的函数体内或分程序体内。(21)A解析: 本题考察点为类成员的访问权限,public关键字修饰的类成员可以被类的对象通过成员操作符.直接访问,protected和private则不能,而static不能单独修饰类的成员。(22)B解析: 对象属于某个已知的类,是类的实例,对象之间通信实际上就是通过函数传递信息,封装是把数据和操作结合在一起,继承是对于类的方法的改变和补充,重载是多态性之一。(23)C解析: 析构函数可以被函数调用,也可以系统调用:函数体内的对象在函数结束时调用析构函数和使用delete释放对象所占有用的资源。(24)C解析: 拷贝初始化构造函数的作用是用一个已知的对象来初始化一个被创建的同类的对象,该函数只有一个参数,并且是对同类的某个对象的引用。(25)D解析: 本题考察的是静态数据成员的使用,n为类A的静态成员,即为类A的所有对象共有的成员,所以,当对象b把n初始化为3时,对象a的成员n的值也为3(这两个n实际上是同一个)。(26)C解析: 友元函数是独立于当前类的外部函数,但它可以访问该类的所有对象的成员;拷贝构造函数是使用已存在的对象初始化正在生成的对象时调用的成员函数。(27)C解析: 数据封装就是数据抽象,即信息隐藏;而继承是实现程序复用的基础。(28)B解析: 派生类对象的数据结构是由基类中说明的数据成员和派生类中说明的数据成员共同构成,所以不能继承基类的构造函数,必须重新定义。(29)A解析: 本题考察的是含有虚基类的继承中构造函数的调用顺序,应该先调用基类的构造函数,接着是按照派生类继承列表的顺序依次调用虚基类的构造函数,最后调用派生类自己的构造函数。(30)C解析: 基类中说明的虚函数,在派生类中自然就是虚函数,所以类B中func1()是虚函数;而类A中的func2没有被关键字virtual修饰,所以不是虚函数。(31)C解析: 例如:运算符就不能被重载;通过重载可以创造新的运算方式,但是不能臆造新的运算符;定义的时候必须使用关键字operator,而调用时可直接使用运算符。(32)D解析: 题干表示的是回车换行,选项A),B)和C)都表示回车换行。而D)是字符串的结尾标志。(33)C解析: for循环执行2次,所以第一次for循环为result=1*a1=4,第二次for循环为result=4*a2=20。(34)C解析: 应该先做+运算,然后进行%运算,最后比较不等式,实际上最后输出的结果就是被3除,余数为2的不大于8的数。(35)B解析: 本题考察模板函数的应用,表达式int(1.1)和int(4.2)是将1.1和4.2强制转换为整型。二、填空题(1)非线性结构解析: 数据的逻辑结构有线性结构和非线性结构两大类。(2)相邻解析: 常用的存储表示方法有4种,顺序存储、链式存储、索引存储、散列存储。其中,顺序存储方法是把逻辑上相邻的结点存储在物理位置也相邻的存储单元中。(3)可重用性解析: 本题考查了继承的优点:相似的对象可以共享程序代码和数据结构,从而大大减少了程序中的冗余,提高软件的可重用性。(4)软件开发解析: 基于软件工程的目标,软件工程的理论和技术性研究的内容主要包括:软件开发技术和软件工程管理。软件开发技术包括:软件开发方法学、开发过程、开发工具和软件工程环境,其主体内容是软件开发方法学。软件工程管理包括:软件管
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国液体化工物流行业应急响应与危机管理机制研究
- 体育中考演讲稿
- 2026年中国手术超声刀项目经营分析报告
- 商标协议书有用
- 初中感恩父母演讲稿
- 我的爱好英语演讲稿
- 2026年中国软木制品项目经营分析报告
- 低碳校园演讲稿
- 2026年中国土豆项目经营分析报告
- 2026年中国速冻鱼糜制品制造项目经营分析报告
- 风险评估标准作业流程表合规风险管理版
- 全国大学生职业规划大赛《卫星通信与导航技术》专业生涯发展展示【高职(专科)】
- 2025外研版新教材英语七年级上册单词表(复习必背)
- 凭什么让学生服你:读书分享技巧
- 四级手术术前多学科讨论制度(2025年)
- 血友病预防知识培训课件
- 沙石料销售知识培训内容课件
- 人教版六年级数学上册第一单元测试卷(含解析)
- 2025云南昆明元朔建设发展有限公司第一批收费员招聘20人备考考试题库附答案解析
- 2025年微生物专升本习题库(含答案)
- 互联网医院在线医疗培训方案
评论
0/150
提交评论