首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2013中考 | 2013高考 | 2013考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 托业 | 雅思 | 专四专八 | 口译笔译 | 博思
GRE GMAT | 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 |
零起点法语 | 零起点德语 | 零起点韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师 | 秘书资格 | 心理咨询师 | 出版专业资格 | 广告师职业水平 | 驾驶员
网络编辑 | 公共营养师 | 国际货运代理人 | 保险从业资格 | 电子商务师 | 普通话 | 企业培训师
营销师
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
化工工程师 | 材料员
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
计算机等级考试
您现在的位置: 考试吧(Exam8.com) > 计算机等级考试 > 计算机二级 > C加加 > 模拟试题 > 正文

2012年全国计算机二级考试C++笔试模拟试题(四)

来源:考试吧Exam8.com) 2012-8-24 15:00:05 考试吧:中国教育培训第一门户 模拟考场
2012年全国计算机二级考试C++笔试模拟试题。

  参考答案及分析

  一、选择题

  (1)A

  解析: 线性表是一种线性结构,数据元素在线性表中的位置只取决于它们自己的序号,即数据元素之间的相对位置是线性的;栈、队列、线性链表实际上也是线性表,故也是线性结构;树是一种简单的非线性结构。

  (2)C

  解析: 循环链表就是将链表的最后一个结点指向链表头结点(或第一个结点),即p->next=head。

  (3)B

  解析: 当数据表A中每个元素距其最终位置不远,说明数据表A按关键字值基本有序,在待排序序列基本有序的情况下,采用插入排序所用时间最少,故答案为选项B)。

  (4)A

  解析: 程序设计应该简单易懂,语句构造应该简单直接,不应该为提高效率而把语句复杂化。

  (5)A

  解析: 结构化分析的常用工具有数据流图、数据字典、判定树和判定表。而PAD图是常见的过程设计工具中的图形设计。

  (6)D

  解析: 软件需求是指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。

  (7)D

  解析: 需求分析中的常用工具有PAD、PFD及N-S等,而DFD(数据流图)为结构化分析工具。

  (8)C

  解析: 此题属于记忆性的题目,NULL是指未知的值或无任何值。

  (9)C

  解析: 一旦数据库中的数据遭受破坏,需要及时进行恢复,RDBMS一般都提供此种功能,并由DBA负责执行故障恢复功能。

  (10)C

  解析: 数据模型所描述的内容有3个部分,它们是数据结构、数据操作和数据约束。其中,数据模型中的数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要是描述在相应数据结构上的操作类型与操作方式。

  (11)B

  解析: 面向对象程序设计的主要特征是继承性,封装性和信息隐藏,多态性。

  (12)B

  解析: C++语言是对C语言进行了扩充,继承了它的语法,并增加了面向对象的设计方法。

  (13)C

  解析: 根据混合运算规则,如果有一个数据是double型,则其他数据类型先转化为double型,运算的结果最终也是double型。为保证精度的不丢失,表达式的数据类型是变量和常量中精确度最高的变量类型。

  (14)D

  解析: 逻辑运算符"||"表示或的意思。

  (15)B

  解析: 该题是一个for循环嵌套语句。第一层for循环循环2次,第二层循环3次,但当j等于0和1时,将执行continue语句,不执行x++运算,所以每次执行完内循环后,x的增量为1。最后一个x++运算将每次累加起来就是x的值。

  (16)C

  解析: 本题考查简单的if…else语句。先执行条件if(a  (17)D

  解析: C++语言规定了一个字符串结束标志,以字符′\0′代表,在遇到′\0′时,表示字符串结束,由它前面的字符组成字符串。

  (18)D

  解析: 本题考查字符串数组和指针的引用方式。在C++语言中,系统在每个字符串或数组的最后自动加入一个字符′\0′,作为字符的结束标志,在本题中,char a[]="It is mine";所表示的a字符串实际含有11个字符。

  (19)B

  解析: 在C++语言中,调用函数不可能改变实参指针变量的值,但可以改变实参指针变量所指变量的值。了解了实参指针变量的改变情况,本题只剩下简单的"加减法"了。

  (20)D

  解析: 本题中直接使用指针变量k,但在使用时要注意对k的指针运算,此外,一开始应认为*k的值为数组中的某一下标值,即*k=0。

  (21)B

  解析: 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。逻辑与运算符"&&"需要两边的结果都为1时,其结果才为1。

  (22)D

  解析: C++的this指针是系统默认产生的一个指针,它是const的,所以是不能够被改变,不能够被赋值的。

  (23)B

  解析: 类D继承了类C和类B,所以在构造的时候分别构造类B和类C。

  (24)D

  解析: 虚函数一定不能定义为静态的。虚函数可以声明为友元,子类也不是必须重定义父类的虚函数,若在重定义虚函数时使用了virtual,则该重定义函数不一定还是虚函数。

  (25)A

  解析: C++中用成员函数重载++x为:x. operator++(),用友元函数重载++x为:operator++(x),用成员函数重载x/y为:x. operator/(y),用友元函数重载x/y为:operator/(x,y)。

  (26)C

  解析: C++语言中默认小数的输出位一共是6位,fixed的意义是在小数点后保留6位。

  (27)D

  解析: 选项D)第一层括号中为数组a中第i项元素的值,外面再加指针运算符没有意义。

  (28)B

  解析: 本题的运算过程是fun((int)fun(a+c,b),a-c),fun((int)fun(10,5),2-8),fun((int)15.000000,-6),fun(15,-6)=9。

  (29)A

  解析: 本题中有成员函数和它的重载函数,要注意它们的不同,在本题中先调用了init函数,初始化了X,Y,都为0,valueX(5);又将X变为5,所以输出5和0,然后初始化init(6,2),接着又valueY(4);将X,Y设为6和4,所以输出6和4。

  (30)B

  解析: C++基本的性质就是它的封装性,而封装性主要是靠类来实现的。

  (31)A

  解析: 左移运算符"<<"是双目运算符。其功能把"<<"左边的运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。左移1位,相当于该数乘以2。

  (32)B

  解析: 这是一种简单的情况:不带参数的宏。关键要注意在对2*M+1进行宏替换时,要将宏名M原样替换,得到NUM的形式为2*N+1+1(千万不要随意把给N+1加上小括号,使NUM变为2*(N+1)+1,这就是宏名和变量名之间的区别)。

  (33)B

  解析: 在函数体语句中的b+=*a;的*是指针运算符(也称间接访问运算符),*a就是main函数中a的值。

  (34)B

  解析: C++语言函数中定义的变量都是属于这个函数的局部变量。

  (35)B

  解析: fib(3)=fib(2)+ fib(1),而fib(2)的返回值为2,fib(1)的返回值也为2,故输出的fib(3)的值为4。

  二、填空题

  (1)0

  解析: 根据冒泡排序算法思想可知,若待排序的初始序列为"正序"序列,则只需进行一趟排序,在排序过程中进行n-1次关键字间的比较,且不移动和交换记录,这种情况是冒泡排序的最好情况,故冒泡排序算法在最好的情况下的元素交换次数为0。

  (2)O(nlog2n)

  解析: 在最坏情况下,冒泡排序所需要的比较次数为n(n-1)/2;简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为O(n15);堆排序所需要的比较次数为O(nlog2n)。

  (3)46

  解析: 串s中共有9个字符,由于串中字符各不相同,则其子串中有0个字符的1个(空串),1个字符的9个,2个字符的8个,3个字符的7个,4个字符的6个,5个字符的5个,6个字符的4个,7个字符的3个,8个字符的2个,9个字符的1个,共有1+2+3+4+5+6+7+8+9+1=46。

  (4)软件工具

  (5)谓词演算

  解析: 关系数据库中的关系演算包括元组关系演算和域关系演算。二者都是由原子公式组成的公式。而这些关系演算都是以数理逻辑中的谓词演算为基础的。

  (6)sizeof

  解析: C++语言中关键字运算符有3个分别new,delete和sizeof。new 是申请内存,delete是释放内存,sizeof是求字节数。

  (7)max=(a>b)?a:b;

  解析: 条件运算符要求有三个操作对象,称三目(元)运算符,它是C++语言中惟一的一个三目运算符。条件表达式的一般形式为:表达式1?表达式2:表达式3。所以我们可以写成(a>b)?a:b,它是一个"条件表达式"。执行顺序是如果(a>b)条件为真,则条件表达式取值a作为整个表达式的值,否则取值b作为整个表达式的值。

  (8)defg

  解析: 本题中,给数组s中的第5个元素s[4]赋以′\0′,则s数组中只有前4个元素有效,输出结果为defg。

  (9)j+=2~a[i]>=a[j]`a[i]>a[j]

  解析: strlen函数是测试字符串长度的函数,函数的值为字符串中的实际长度,不包括′\0′在内。

  (10)静态~非静态

  解析: 静态成员函数可以直接访问该类中的静态数据成员,而不能访问该类中的非静态数据成员。

  (11)virtual int A()= 0;

  解析: C++语言中的纯虚函数是一种特殊的函数,它没有自己的定义,只有声明,纯虚函数与虚函数声明的不同就在于在函数后面加上了"=0"。

  (12)x+y++`x+(y++)

  解析: 因为y.operator++(0)是对成员y重载运算符,所以是成员重载,在参数表中又有一个参数,是重载后缀++,即是x+(y++)。

  (13)fin

  解析: 如果程序没有用close()主动关闭文件,则在文件流对象退出作用域时,被调用的析构函数会关闭对象所联系的文件。但应及时关闭,以便尽早释放占用的系统资源并将文件置于更安全的状态。

上一页  1 2 3 4 5 6 7  下一页

  相关推荐:

  2012年计算机三级考试PC技术模拟试题考答案汇总

  2012年计算机等级考试二级VB重点知识汇总

  2012年下半年计算机等级考试报名时间及入口汇总

文章搜索
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。