[计算机类试卷]国家二级(C++)笔试模拟试卷12及答案与解析.doc

上传人:postpastor181 文档编号:502584 上传时间:2018-11-29 格式:DOC 页数:17 大小:46.50KB
下载 相关 举报
[计算机类试卷]国家二级(C++)笔试模拟试卷12及答案与解析.doc_第1页
第1页 / 共17页
[计算机类试卷]国家二级(C++)笔试模拟试卷12及答案与解析.doc_第2页
第2页 / 共17页
[计算机类试卷]国家二级(C++)笔试模拟试卷12及答案与解析.doc_第3页
第3页 / 共17页
[计算机类试卷]国家二级(C++)笔试模拟试卷12及答案与解析.doc_第4页
第4页 / 共17页
[计算机类试卷]国家二级(C++)笔试模拟试卷12及答案与解析.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、国家二级( C+)笔试模拟试卷 12及答案与解析 1 从工程管理角度,软件设计一般分为两步完成,它们是 ( )。 ( A)概要设计与详细设计 ( B)数据设计与接口设计 ( C)软件结构设计与数据设计 ( D)过程设计与数据设计 2 下列叙述中正确的是 ( )。 ( A)线性链表是线性表的链式存储结构 ( B)栈与队列是非线性结构 ( C)双向链表是非线性结构 ( D)只有根结点的二叉树是线性结构 3 在设计程序时,应采纳的原则之一是 ( )。 ( A)不限制 goto语句的使用 ( B)减少或取消注解行 ( C)程序越短越好 ( D)程序结构应有助于读者理解 4 编制一个好的程序首先要确保它

2、的正确性和可靠性,还应强调良好的编程风格。在选择标识符的名字时应考虑 ( )。 ( A)名字长度越短越好,以减少源程序的输入量 ( B)多个变量共用一个名字,以减少变量名的数目 ( C)选择含义明确的名字,以正确提示所代表的实体 ( D)尽量用关键字作名字,以使名字标准化 5 在数据库系统中,把具有以下两个特征的模型称为网状模型。 允许有一个以上的结点没有双亲 有且仅有一 个结点无双亲 根以外的结点有且仅有一个双亲 一个结点可以有多个双亲 以下各项组合中符合题意的是 ( )。 ( A) 和 ( B) 和 ( C) 和 ( D) 和 6 软件开发离不开系统环境资源的支持,其中必要的测试数据属于

3、( )。 ( A)硬件资源 ( B)通信资源 ( C)支持软件 ( D)辅助资源 7 下列叙述中正确的是 ( )。 ( A)一个算法的空间复杂度大,则其时间复杂度也必定大 ( B)一个算法的空间复杂度大,则其时间复杂度必定小 ( C)一 个算法的时间复杂度大,则其空间复杂度必定小 ( D)上述三种说法都不对 8 在长度为 64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )。 ( A) 63 ( B) 64 ( C) 6 ( D) 7 9 对如下二叉树 进行后序遍历的结果为 ( )。 ( A) ABCDEF ( B) DBEAFC ( C) ABDECF ( D) DEBFCA 1

4、0 下列描述中正确的是 ( )。 ( A)程序就是软件 ( B)软件开发不受计算机系统的限制 ( C)软件既是逻辑实体,又是物理实体 ( D)软件是程序、数据与相关文档的集合 11 设以下变量均为 int类型,则值不等于 7的表达式是 ( )。 ( A) (x=y=6, x+ y, x+1) ( B) (x=y=6, x +y, y+1) ( C) (x=6, x+1, y=6, x +y) ( D) (y=6, y+1, x=y, x+1) 12 若调用一个函数,且此函数中没有 return语句,则正确的说法是该函数 ( )。 ( A)没有返回值 ( B)返回若干个系统默认值 ( C)有返回

5、值,但返回一个不确定的值 ( D)返回一个用户所希望的函数值 13 下列对基类和派生类关系的描述中,错误的是 ( )。 ( A)派生类是基类的具体化 ( B)派生类是基类的子集 ( C)派生类是基类定义的延续 ( D)派生类是基类的组合 14 下列关于运算符重载的叙述中,正确的是 ( )。 ( A)通过运算符重载,可以定义新的运算符 ( B)有的运算符只能作为成员函数重载 ( C)若重载运算符 +,则相应的运算符函数名是 + ( D)重载一个二元运算符时,必须声明两个形参 15 下列对模板的声明中正确的是 ( )。 ( A) template T ( B) template class T1,

6、T2 ( C) template classT1,class T2 ( D) template class T1; class T2 16 下面程序的输出结果是 ( )。 #include iostream.h void main()int x=-1, y=5,z; z=(x+ 0) a=10;y=1 do a+=2; y+=a; cout “a“ =“ a “,“ “y=“ y“n“; if(y 20) break; while(a = 14); ( A) a=12,y=12 a=14,y=16 a=16,y=20 ( B) a=12,y=12 a=14,y=26 ( C) a=12,y=1

7、2 a=14,y=26 a=14,y=44 ( D) a=12,y=12 19 C+语言类体系中,不能被派生类继承的有 ( )。 ( A)转换函数 ( B)构造函数 ( C)虚函数 ( D)静态成员函数 20 要定义一个具有 5个元素的一维数组 vect,并使其各元素的初值依次是 30,50, -88, 0和 0,则下 列定义语句中错误的是 ( )。 ( A) int vect=30,50,-88; ( B) int vect=30,50,-88, 0, 0); ( C) int vect5=30,50,-88; ( D) int vect5=30,50,-88,0,0; 21 在一个派生类对

8、象结束其生命周期时 ( )。 ( A)先调用派生类的析构函数后调用基类的析构函数 ( B)先调用基类的析构函数后调用派生类的析构函数 ( C)如果基类没有定义析构函数,则只调用派生类的析构函数 ( D)如 果派生类没有定义析构函数,则只调用基类的析构函数 22 关于关键字 class和 typename,下列描述正确的是 ( )。 ( A)程序中所有的 class 都可以替换为 typename ( B)程序中所有的 typename都可以替换为 class ( C) A和 B都可以 ( D) A和 B都不可以 23 下列关于保护成员的说法中,正确的是 ( )。 ( A)保护的成员只能被类本身

9、的成员函数及友元类的成员函数访问 ( B)保护成员可以被程序中的任何代码访问 ( C)保护的成员与私有成员是完全一样的 ( D)保护成员访问权限和公有成员是一样的 24 继承具有 ( ),即当基类本身也是某一个类的派生类时,底层的派生类也会自动继承间接基类的成员。 ( A)规律性 ( B)传递性 ( C)重复性 ( D)多样性 25 下面对于友元函数描述正确的是 ( )。 ( A)友元函数的实现必须在类的内部定义 ( B)友元函数是类的成员函数 ( C)友元函数破坏了类的封闭性和隐藏性 ( D)友元函数不能访问类的私有成员 26 已知在一个类体中包含如下函数原型: VOLUME operato

10、r-(VOLUME)const;,下列关于这个函数的叙述中,错误的是 ( )。 ( A)这是运算符 的重载运算符函数 ( B)这个函数所重载的运算符是一个一元运算符 ( C)这是一个成员函数 ( D)这个函数不改变类的任何数据成员的值 27 下列虚基类的声明中正确的是 ( )。 ( A) class virtual B: public A ( B) virtual class B: public A ( C) class B: public A virtual ( D) class B: virtual public A : 28 语句 ofstream f(“DATA.DAT“, ios _

11、base: applios_lios_bfise: binary);的功能是建立流对象 f,并试图打开文件 DATA.DAT并与之连接,而且 ( )。 ( A)若文件存在,将文件指针定位于文件首,若文件不存在,建立一个新文件 ( B)若文件存在,将其截为空文件;若文件不存在,打开失败 ( C)若文件存在,将文件指针定位于文件尾:若文件不存在,建立一个新文件 ( D)若文件存在,打开失败;若文件在,建立一个新文件 29 有 以下程序: #include iostream.h #include void main() double d= 123.456789; cout setprecision(

12、3) d “,“; cout setprecision(4) d “,“; coutsetprecision(5 ) d end1;程序执行后的输出结果是 ( )。 ( A) 123, 123.4, 123.45 ( B) 123, 123.5, 123.46 ( C) 123, 123, 123.4 ( D) 123.456789, 123.456789, 123.456789 30 下列程序中划线处正确的语句是 ( )。 #include iostream using namespace std;class Basepublic:void fun() cout “Base: fun“ en

13、d1; ;class Derived: public Base void fun() _ /显试调用基类的函数 fun() cout “Derived: fun“ end1; ( A) fun(); ( B) Base. fun(); ( C) Base: fun(); ( D) Base- fun(); 31 类模板的模板参数 ( )。 ( A)只可作为数据成员的类型 ( B)只可作为成员函数的返回类型。 ( C)只可作为成员函数的参数类型 ( D)以上三者皆是 32 在表达式 x+ y*z中, +是作为成员函数重载的运算符, *是作为非成员函数重载的运算符。下列叙述中正确的是 ( )。 (

14、 A) operator+有两个参数, operator*有两个参数 ( B) operator+有两个参数, operator*有一个参数 ( C) operator+有一个参数, operator*有两个参数 ( D) operator+有一个参数, operator*有一个参数 33 一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本,此虚函数又称为 ( )。 ( A)虚析构函数 ( B)虚构造函数 ( C)纯虚函数 ( D)静态成员函数 34 下面程序的运行结果是 ( )。 #include iostream.h void main()static i

15、nt a4= 1,2,3,4,5,6,7,8,9,10,11,12;int i, j, sum=0;for(i=0;i 3;i+)for(j=0;j 4;j+)if(j i)sum+=aij;cout sum end1; ( A) 24 ( B) 30 ( C) 36 ( D) 40 35 有如下程序 #include iostream using namespace std;class Apublic:virtual void func1 () cout “A1“; void func2() cout “A2“; ;class B: public Apublic:void func l()

16、cout “B1“; void func2() cout “B2“; ;int main() A *p=new B;p-func1();p- func2();return 0;运行此程序,屏幕上将显示输出 ( )。 ( A) B1B2 ( B) A1A2 ( C) B1A2 ( D) A1B2 36 在数据库的概念结构设计中,常用的描述工具是【 】。 37 数据库系统中实现各种数据管理功能的核心软件称为【 】。 38 数组是有序数据的集合,数组中的每个元素具有相同的【 】。 39 按照逻辑结构分类,数据结构可分为线性结构和非线性结构,栈属于【 】。 40 在程序设计阶段应该采取【 】和逐步求精

17、的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。 41 在一个 C+程序中,每个变量都必须遵循【 】的原则。 42 多态性分为两类:编译时的多态性和【 】。 43 语句 cout setprecision (3) 3.1415926 end1;的输出为【 】。 44 非成员函数应声明为类的【 】函数才能访问这个类的 private 成员。 45 下面程序的运行结果为【 】。 #include iostream.h void main() char a=3; switch(a) case3: cout “3“; case2: cout “2“; brea

18、k; default: cout “ 1“; 46 下列程序的输出结果为 Object id=0 Object id=1 请将程序补充完整。 #include iostream using namespace std; class Point public: Point(int xx=0,int yy=0) X=xx; Y=yy; countP+; Point()countP-; int GetX()retum X; int GetY()return Y; static void GetC() cout “Object id=“ countP end1; private: int X,Y; s

19、tatic int countP; ; 【 】 /静态数据成员的初始化 int main() Point: GetC(); Point A(4,5); A. GetC(); retum 0; 47 以下程序执行后的输出结果是【 】。 #include iostream.h main() int i, m=0,n=0,k=0; for(i=9;i = 11 ;i+) switch(i/10) case 0: m+; n+; break; case 10: n+; break; default: k+; n+; cout m n k; 48 下列程序的输出结果是【 】。 #include iost

20、ream using namespace std; int main() int data=1; int data+=5; r+=5; cout data end1; return 0; 49 分析以下程序的执行结果【 】。 #include iostream.h class Sample int x, y; public: Sample() x=y=0; Sample(int a, int b) x=a; y=b; Sample() if(x=y) cout “x=y“ end1; else cout “x!=y“ end1; void disp() cout “x=“ x “,y=“ y

21、end1; ; void main() Sample s 1 (2,3); s1.disp(); 50 在析构函数中调用虚函数时,采用【 】联编。 国家二级( C+)笔试模拟试卷 12答案与解析 1 【正确答案】 A 2 【正确答案】 A 3 【正确答案】 D 4 【正确答案】 C 5 【正确答案】 C 6 【正确答案】 D 7 【正确答案】 D 8 【正确答案】 B 9 【正确 答案】 D 10 【正确答案】 D 11 【正确答案】 C 12 【正确答案】 C 13 【正确答案】 B 14 【正确答案】 B 15 【正确答案】 C 16 【正确答案】 C 17 【正确答案】 A 18 【正确

22、答案】 B 19 【正确答案】 B 20 【正确答案】 A 21 【正确答案】 A 22 【正确答案】 B 23 【正确答案】 A 24 【正确答案】 B 25 【正确答案】 C 26 【正确答案】 B 27 【正确答案】 D 28 【正确答案】 C 29 【正确答案】 B 30 【正确答案】 C 31 【正确答案】 D 32 【正确答案】 C 33 【正确答案】 C 34 【正确答案】 C 35 【正确答案】 C 36 【正确答案】 E-R 图 37 【正确答案】 数据库管理系统 38 【正确答案】 数据类型 39 【正确答案】 线性结构 40 【正确答案】 自顶而下 41 【正确答案】 先定义后使用 42 【正确答案】 运行时的多态性 43 【正确答案】 3.14 44 【正确答案】 友元 45 【正确答案】 32 46 【正确答案】 int Point:countP=0; 47 【正确答案】 132 48 【正确答案】 11 49 【正确答案】 x=2,y=3 x!=y 50 【正确答案】 静态

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1