考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > C++语言程序设计 > C++模拟试题 > 文章内容
  

全国计算机二级考试C++考前押密试卷(1)

中华IT学院   【 】  [ 2017年8月9日 ]

  一、选择题

  1.D。【解析】对于软件设计中的模壤设计要保证高内聚和低耦合,源程序要有文档说明,同时对程序中数据的说明要规范化。goto语句破坏程序的结构,要尽量避免使用。

  2.B。【解析】对二叉树的中序遍历是指:首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,注意依旧按照“左子树一根结点一右子树”的顺序。

  3.D。【解析】本题主要考查对排序算法的理解。冒泡排序法首先将第一个记录的关键字与第二个记录的关键字进行比较,若逆序则交换,然后比较第二个与第三个,以此类推,直至第n-1个与第n个记录的关键字进行比较。第一趟冒泡排序使最大的关键字元素放到最后。以此类推,进行第2~n次冒泡排序。如果在排序过程中不存在逆序,则排序结束。在最坏情况下,冒泡排序中,若初始序列为“逆序”序列,则需要比较n(D-1)/2次。快速排序是对冒泡排序的一种改进。它的基本思想是:通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字比另一部分记录的关键字小,然后分别对这两部分记录继续进行排序,最终达到整个记录有序。对于快速排序,当初始记录序列按关键字有序或基本有序时,快速排序退化为冒泡排序,最坏情况下比较次数为n(n-1)/2。

  4.B。【解析】耦合是指模块之间的关联程度,而内聚是指模块内部各部分的聚合程度。模块之间的关联程度越小,模块内部的聚合程度越高,越容易维护。在程序设计中应追求高内聚低耦合。

  5.D。【解析】PDL是过程设计语言(ProcedureDesignLanguage)的简写,也称程序描述语言,是硐于描述模块算法设计和处理细节的语言;N-S图是编程过程中常用的一种分析工具,提出了最初分析问题方法;PAD是问题分析圈(ProblemAnalysisDiagram)的简写,它用二维树型结构的图表示程序的控制流,将这种图转换为程序代码比较容易;DFD(数据流图)是描述数据处理过程的工具。

  6.D。【解析】需求分析常用的工具有数据流图(DFD)、数据字典(DD)、判定树和判定袭。PAD(问题分析图)、PFD(程序流程图)、N-S(盒式图)都是详细设计的常用工具,不是需求分析的工具。

  7.C。【解析】软件调试技术包括强行排错法、回溯法和原因排除法。边界值分析、错误推断都是黑盒测试的方法。

  8.A。【解析】耦合性是模块间互相连接的紧密程度的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。

  9.C。【解析】实体是客观存在且可以相互区别的事物。实体可以是具体的对象,如一个人,也可以是抽象的事件,如拔河比赛等。因此,实体既可以是有生命的事物,也可以是无生命的事物,但它必须是客观存在且可以相互区别的。

  10.B。【解析】数据库系统由数据库、数据库管理系统、数据库应用系统、数据库管理员和用户构成。所谓数据库是指长期存储在计算机内的、有组织的、可共享的数据集合,数据库管理系统是位于用户与操作系统之间的一层数据管理软件,是数据库系统的核心组成部分,可以管理数据,并提供用户操作的接口。

  11.D。【解析】本题考查虚函数的概念。虚函数是非静态的成员函数,它不能是友元函数,但可以在另一个类中被声明为友元函数。虚函数必须是类的成员函数,虚函数声明只能出现在类定义的函数原型声明中,而不能在成员函数的函数体实现的地方,一般要求基类中说明了虚函数后,派生类说明的虚函数应该与基类中虚函数的参数个数相等,对应参数的类型相同。如果不相同,则将派生类虚函数的参数类型强制转换为基类中虚函数的参数类型。

  12.A。【解析】本题考查循环语句for的使用。for循环开始时,首先执行初始化操作,然后判断终止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。在for语句中,如果省略了终止条件判断部分,并且在语句中没有break,或终止条件判断部分始终没有终止,都将出现死循环。

  13.C。【解析】本题考查循环语句while的使用。i为3的倍数,当i=24时,i<25,执行while的循环体i+=3,则i=27,不满足i<25的条件,结束循环。

  14.A。【解析】本题很简单,不过考生要注意引用是C++的新特性。只有结构是C语言也有的特性。

  15.B。【解析】引用模板函数和引用一般函数在语法形式上没有任何区别。说明一个函数模板后,当编译系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否匹配函数模板中对应的形参。

  16.B。【解析】本题考核运算符的重载。题中语句为运算符一这是一个二元运算符,且是作为常成员函数来重载的,所以它不能更新对象的数据成员,也不能调用该类中没有用const修饰的成员函数。

  17.B。【解析】内联函数用inline修饰,用于取代C语言中的宏定义。inline是建议机制而不是强制机制,也就是说,程序员可以指定任意函数为inline函数,但是编译器会根据系统情况来决定是否将其inline处理。对于较大的函数,编译器往往会取消其inline特性。inline函数的特点之一就是执行速度快,其实质是在编译时将函数的目标代码插入到每个调用该函数的地方,从而没有出栈入栈、保护现场等开销,提高了效率。在类体内定义的成员函数,自动被编译器当做内联函数处理,在类体外定义的成员函数,如果用inline修饰,则编译器也认为是一种内联建议。

  18.B。【解析】this指针是系统隐含的用于指向当前对象的指针。由于静态函数是同类中所有对象都共享的函数,在内存中只存在一份,不属于某个对象所有,所以静态函数没有this指针。

  19.B。【解析】本题考查cout对象的成员函数put方法和<<操作符的使用方法。

  20.D。【解析】本题考查指针和运算符sizeof的运用。sizeof可以运算出各种数据类型所占内存空间的多少。选项C中,指针P所指向的内存地址中内容是20。在用完申请后的内存应立刻释放。

分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved