[计算机类试卷]国家二级(C++)笔试模拟试卷135及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷135及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷135及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 135及答案与解析 1 下面叙述正确的是 ( A)算法的执行效率与数据的存储结构无关 ( B)算法的空间复杂度是指算法程序中指令 (或语句 )的条数 ( C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 ( D)以上三种描述都不对 2 以下数据结构中不属于线性数据结构的是 ( A)队列 ( B)线性表 ( C)二叉树 ( D)栈 3 下列关于栈的描述正确的是 ( A)在栈中只能插入元素而不能删除元素 ( B)在栈中只能删除元素而不能插入元素 ( C)栈是特殊的 线性表,只能在一端插入或删除元素 ( D)栈是特殊的线性表,只能在一端插入元素,而在另一端删除元
2、素 4 下列叙述中正确的是 ( A)在模块化程序设计中,一个模块应尽量多的包括与其他模块联系的信息 ( B)在自顶向下、逐步细化的设计过程中,首先应设计解决问题的每一个细节 ( C)在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则 ( D)在程序设计过程中,不能同时采用结构化程序设计方法与模块化程序设计方法 5 下列描述中正确的是 ( A)软件工程只是解决软件项目的管理问题 ( B)软件工程主 要解决软件产品的生产率问题 ( C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 ( D)软件工程只是解决软件开发中的技术问题 6 在软件设计中,不属于过程设计工具的是 ( A
3、) PDL(过程设计语言 ) ( B) PAD图 ( C) N-S图 ( D) DFD图 7 在软件开发中,下面任务不属于设计阶段的是 ( A)数据结构设计 ( B)给出系统模块结构 ( C)定义模块算法 ( D)定义需求并建立系统模型 8 下列描述中正确的是 ( A)程序就是软件 ( B)软件开发不受计算机系统的限制 ( C)软件既是逻辑实体,又是物理实体 ( D)软件是程序、数据与相关文档的集合 9 用树形结构来表示实体之间联系的模型称为 ( A)关系模型 ( B)层次模型 ( C)网状模型 ( D)数据模型 10 下列关于 E-R图的描述中正确的是 ( A) E-R图只能表示实体之间的联
4、系 ( B) E-R图只能表示实体和实体之间的联系 ( C) E-R图只能表示实体和属性 ( D) E-R图能表示实体、属性和实体之间的联系 11 下列关于 C+函数的叙述中,正确的是 ( A)每个函数至少要具有一个参数 ( B) 每个函数都必须返回一个值 ( C)函数在被调用之前必须先声明 ( D)函数不能自己调用自己 12 以下非法的赋值表达式是 ( A) n (i 2, +i); ( B) j+; ( C) +(i+1); ( D) x j 0; 13 下列关于虚函数的描述中,正确的是 ( A)虚函数是一个 static类型的成员函数 ( B)虚函数是一个非成员函数 ( C)基类中采用
5、virtual说明一个虚函数后,派生类中定义相同原型的函数时可不必加 virtual说明 ( D)派生类中的虚函数与基类中相同原型的虚函数具有不同 的参数个数或类型 14 下面有关重载函数的描述中正确的是 ( A)重载函数必须具有不同的返回值类型 ( B)重载函数形参个数必须不同 ( C)重载函数必须具有不同的形参列表 ( D)重载函数名可以不同 15 下列对模板的声明中正确的是 ( A) template T ( B) template class T1, T2 ( C) template class T1,class T2 ( D) template class T1; class T2
6、16 对于语句 cin x;中的各个组成部分,下列叙 述中错误的是 ( A) “cin”是一个输出流对象 ( B) “; ”的作用是表示语句结束 ( C) “x”是一个变量 ( D) “ ”称作提取运算符 17 下列字符串中,正确的 C+标识符是 ( A) foo-1 ( B) 2b ( C) new ( D) _256 18 已知程序中已经定义了函数 test,其原型是 int test(int, int, int);,则下列重载形式中正确的是 ( A) char test(int,int,int); ( B) double test(int,int,double); ( C) int te
7、st(int,int,int=0); ( D) float test(int,int,float=3.5F); 19 执行语句序列 int i=0; while(i 25)i+ 3; cout i; 输出结果是 ( A) 24 ( B) 25 ( C) 27 ( D) 28 20 已知函数 f的原型是: void f(int*a,long ; class Derived:public Base public: void fun() _/显式调用基类的 fun函数 cout “Derived:fun“ end1; ; 42 有如下程序 : #include iostream using name
8、space std; class Con char ID; public: Con():ID(A) cout 1; Con(char ID) :ID(ID) cout 2; Con(Con char get1D()constreturn ID; ; void show(Con c) cout c.getID(); int main() Con c1; show(c1); Con c2(B); show(c2); return 0; 执行上面程序的输出是 _。 43 将 x+y*z中的 “+”用成员函数重载, “*”用友元函数重载应写为 _。 44 执行下列程序后,输出 “*”号的个数是 _。
9、#include iostream.h main() int i,j; for(i=1;i 5;i+) for(j=2;j i;j+) cout *; 45 指针变量所保存的不是一般的数据值,而是程序中另一个对象的 _。 46 阅读下面程序: #include iostream.h void fun1(char a,char b) char c; c=a;a=b;b=c; void fun2(char c=a;a=b;b=c; void main() char a,b; a=x;b=y; fun1(a,b);cout a b; a=x;b=y; fun2(a,b);cout a b; 则该程序
10、的输出为 _。 47 己知下列程序的输出结果是 42,请将横线处缺失的部分补充完整。 #include iostream using namespace std; class TestClass int value; public: TestClass():value(0); void setValue(int value) _=value;/给 TestClass的数据成员 value赋值 void print()cout value; ; int main() TestClass f; f.setValue(42); f.print(); return 0; 48 若下列程序运行时输 出结
11、果为 1,A,10.1 2,B,3.5 请将程序补充完整。 #include iostream using namespace std; int main() void test(int,char,double_); test(1,A,10.1); test(2,B); return 0; void test(int a,char b,double c) cout a , b , c end1; 49 非成员函数应声明为类的 _函数才能访问这个类的 private成员。 50 下列类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函数的声明完整。 class
12、myClass private: int data; public: myClass(int value);/构造函数 myClass(const_another Object);/拷贝构造函数 国家二级( C+)笔试模拟试卷 135答案与解析 1 【正确答案】 C 【试题解析】 A选项错误,因为算法的执行效率与算法执行过程中所需基本运算的执行次数有关; B 选项错误,原因是算法的空间复杂度是指执行这个算法所需要的内存空间; C选项正确,故 D选项不正确。 2 【正确答案】 C 【试题解析】 所谓的线性结构是指:如果一个非空的数据结构满足下列两个条件,即 有且只有一个根结点; 每一个结点最多有
13、一个前驱,也最多有一个后继。同时满足两个 条件的有队列、线性表和栈,而二叉树的结点可能存在两个后继,所以不是线性结构。 3 【正确答案】 C 【试题解析】 栈是一种特殊的线性表,其插入与删除运算都只在线性表的一端进行。 由此可见,选项 A、选项 B和选项 D错误,正确答案是选项 C。 4 【正确答案】 C 【试题解析】 选项 A错误,在模块化设计中,要求将一个大程序按人们能理解的大小规模进行分解,使每个模块都能易于理解,各模块的功能尽量单一,各模块之间的联系尽量的少。选项 B 错误,自顶向下、逐步细化的设计过程,土要包括两个方面:将复杂问题 的解法分解和细化成由若干模块组成的层次结构:将一个模
14、块的功能逐步分解细化为一系列的处理步骤,直到某种程序设计语言的语句或某种机器指令。即在自顶向下、逐步细化的设计过程中,是按照先全局后局部、先整体后细节、先抽象后具体的方法设计程序。选项 D错误,由于在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则,所以,在程序设计过程中,结构化程序设计方法与模块化程序设计方法是要同时采用的。选项 C为正确答案。 5 【正确答案】 C 【试题解析】 软件工程学是研究软件开发和维护的普遍原理与技术的一门工程学科。所谓软件工程是指,采用工程的概念、原理、技术和方法指导软件的开发与维护。软件工程学的主要研究对象包括软件开发与维护的技术、方法、工具和管理等方
15、面。由此可见,选项 A、 B和 D的说法均不正确,选项 C正确。 6 【正确答案】 D 【试题解析】 数据流图 DFD,是结构化分析方法最主要的一种图形工具,不属于过程设计工具。 7 【正确答案】 D 【试题解析】 数据结构设计、给出系统模块结构以及定义模块算法都属于设计阶段,而定义需求并建立系统模型属于分析阶段。 8 【正确答案】 D 【试题 解析】 计算机软件是计算机系统中与硬件相互依存的另一部分,包括程序、数据及相关文档的完整集合。选项 D的描述正确。 9 【正确答案】 B 【试题解析】 在数据库系统中,由于采用的数据模型不同,相应的数据库管理系统 (DBMS)也不同。目前常用的数据模型
16、有 3种:层次模型、网状模型和关系模型。在层次模型中,实体之间的联系是用树结构来表示的,其中实体集 (记录型 )是树中的结点,而树中各结点之间的连线表示它们之间的关系。所以,本题的正确答案是 B。 10 【正确答案】 D 【试题解析】 E-R图中,用 3种图框分别表示实体、属性和实体之间的联系:矩形框表示实体,框内标明实体名;椭圆状框表示实体的属性,框内标明属性名;菱形框表示实体间的联系,框内标明联系名;实体与其属性之间以无向边连接,菱形框与相关实体之间也用无向边连接,并在无向边旁标明联系的类型。综上所述,用 E-R图不仅可以简单明了地描述实体及其相互之间的联系,还可以方便地描述多个实体集之间
17、的联系和一个实体集内部实体之间的联系。选项 A、 B、 C的说法都错误,本题的正确答案是 D。 11 【正确答案】 C 【试题解析】 本题考核函数的声明和调用。定义 一个函数就是为了以后的调用,但如果函数定义在后面而调用在前,就会产生编译错误。为此,必须将函数定义在前或在调用前进行 “函数的说明 ”。函数说明消除了函数定义的位置影响。 C选项的描述是正确的。函数可以没有参数,可以没有返回值。递归函数就是自己调用自己。所以 A、 B 和 D选项的描述都是错误的。 12 【正确答案】 C 【试题解析】 对于任何一种赋值运算,其赋值号或复合赋值号左边必须是一个左值。左值是指具有对应的可由用户访问的存
18、储单元,并且能够由用户改变其值的量。而在 C选项中赋值号对应的是表达式 “i+1”,不 是一个左值,因此是非法的赋值表达式。 13 【正确答案】 C 【试题解析】 本题考核对虚函数的了解。在成员函数声明的前面加上 virtual 关键字修饰,即把该函数声明为虚函数。虚函数可以是另一个类的友元函数,但不是静态成员函数。所以 A、 B 选项的描述都是错误。在派生类中可以重新定义从基类继承下来的虚函数,在派生类中重定义虚函数时,函数名、形参表和返回值类型必须保持不变,所以 D选项是错误的。 14 【正确答案】 C 【试题解析】 所谓函数重载,是指同一个函数名可以对应多个函数的实现。进行函数重 载时,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 135 答案 解析 DOC
