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

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

1、国家二级( C+)笔试模拟试卷 22及答案与解析 1 算法的空间复杂度是指 ( )。 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 在一棵二叉树上第 5层的结点数最多是 ( )。 ( A) 8 ( B) 16 ( C) 32 ( D) 15 3 将 E-R图转换到关系模式时,实体与联系都可以表示成 ( )。 ( A)属性 ( B)关系 ( C)键 ( D)域 4 在创建数据库表结构时,给该表指定了主索引,这属于 数据完整性中的 ( )。 ( A)参照完整性 ( B)实体完整性 ( C)域完整性 ( D)用户定义

2、完整性 5 对关系 S和 R进行集合运算,产生的元组属于 S中的元组,但不属于 R中的元组,这种集合运算称为 ( )。 ( A)并运算 ( B)交运算 ( C)差运算 ( D)积运算 6 以下不是结构化程序设计方法的技术是 ( )。 ( A)自顶向下,逐步求精 ( B)自底向上,逐步求精 ( C)从整体到局部 ( D)结构清晰,层次分明 7 在面向对象设计中,对象有很多基本特点,其中 “一个系统 中通常包含很多类,这些类之间呈树形结构 ”这一性质指的是对象的 ( )。 ( A)分类性 ( B)标识唯一性 ( C)继承性 ( D)封装性 8 所有在函数中定义的变量,连同形式参数,都属于 ( )。

3、 ( A)全局变量 ( B)局部变量 ( C)静态变量 ( D)寄存器变量 9 完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是 ( )。 ( A)黑箱测试法 ( B)白箱测试法 ( C)错误推测法 ( D)安装测试法 10 下列叙述中正确的是 ( )。 ( A)数据库系统是一个独立的系统,不需要操作系统的支持 ( B)数据库设计是指设计数据库管理系统 ( C)数据库技术的根本目标是要解决数据共享的问题 ( D)数据库系统中,数据的物理结构必须与逻辑结构一致 11 下面关于虚函数的描述中正确的是 ( )。 ( A)虚函数是一个静态成员函数 ( B)虚函数是一个非成

4、员函数 ( C)虚函数既可以在函数说明时定义,也可以在函数实现时定义 ( D)派生类的虚函数与基类中对应的虚函数具有相同的参数个数和类型 12 在 C+中,数据封装要解决的问题是 ( )。 ( A)数据的规范化 ( B)便于数据转换 ( C)避免数据丢失 ( D)防止不同模块之间数据的非法访问 13 以下程序中, while循环的循环次数是 ( )。 main() int i=O; while(i 10) if(i 1) continue; if(i=5) break; i+; ( A) 1 ( B) 10 ( C) 6 ( D)死 循环,不能确定次数 14 在 C+语言中, 080是 ( )

5、。 ( A)八进制数 ( B)十进制数 ( C)十六进制数 ( D)非法数 15 下列关于类中成员函数特征的描述中错误的是 ( )。 ( A)类的成员函数一定是内联函数 ( B)类的成员函数可以重载 ( C)成员函数可以设置参数的默认值 ( D)成员函数可以是静态的 16 运算符重载是对已有的运算符赋予多重含义,因此 ( )。 ( A)可以对基本类型 (如 int类型 )的数据,重新定义 “+”运算符的含义 ( B)可以改变一个已有运 算符的优先级和操作数个数 ( C)只能重载 C+中已经有的运算符,不能定义新运算符 ( D) C+中已经有的所有运算符都可以重载 17 C+语言中 while循

6、环和 do-while循环的主要区别是 ( )。 ( A) do-while的循环体至少无条件执行一次 ( B) while的循环控制条件比 do-while的循环控制条件严格 ( C) do-while允许从外部转到循环体内 ( D) do-while的循环体不能是复合语句 18 只能作为成员函数重载的是 ( )。 ( A) = ( B) + ( C) * ( D) new 19 以下程序的输出的结果是 ( )。 #include iostream.h void main( ) int i,k,a10,p3; k=5; for(i=0;i 10;i+) ai=i; for(i=0;i 3 ;

7、i+) pi=ai*(i+1); for(i=0;i 3;i+) k+=pi*2; cout k; ( A) 20 ( B) 21 ( C) 22 ( D) 23 20 对于下面定义的类 MyClass,在函数 f()中将对象成员 n的值修改为 50的语句应该是 ( )。 class MyClass public: MyClass(int x) n=x; void SetNum(int n1) n=n1; private: int n; int f() MyClass *ptr=new MyClass(45); ( A) MyClass(50) ( B) SetNum(50) ( C) ptr

8、- SetNum(50) ( D) ptr- n=50 21 对虚函数的调用 ( )。 ( A)一定使用动态联编 ( B)必须使用动态联编 ( C)一定使用静态联编 ( D)不一定使用动态联编 22 有如下程序: #include iostream using namespace std; int main() void function(double val); double val; function(val); cout val; return 0; void function(double val) val= 3; 编译运行这个程序将出现的情况是 ( )。 ( A)编译出错,无法运行

9、( B)输出: 3 ( C)输出: 3.0 ( D)输出一个不确定的数 23 以下程序执行后的输出结果是 ( )。 #include iostream using namespace std; void try(int,int,int,int); int main() int x,y,z,r; x=1; y=2; try(x,y,z,r); cout r endl; return 0; void try(int x,int y, int z,int r) z = x+y; X = x*x; y = y*y; r = z+x+y; ( A) 18 ( B) 9 ( C) 10 ( D) 不确定

10、24 关于关键字 class和 typename,下列描述正确的是 ( )。 ( A)程序中所有的 class都可以替换为 typename ( B)程序中所有的 typename都可以替换为 class ( C) A和 B都可以 ( D) A和 B都不可以 25 下列关于 C+语言类的描述中错误的是 ( )。 ( A)类用于描述事物的属性和对事物的操作 ( B)类与类之间通过封装而具有明确的独立性 ( C)类与类之间必须是平等的关系,而不能组成层次结构 ( D)类与类之间可以通过一些方法进行通信和联络 26 带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样将对虚

11、基类的子对象初始化 ( )。 ( A)与虚基类下面的派生类个数有关 ( B)多次 ( C)两次 ( D)一次 27 多态性指的是 ( )。 ( A)以任何方式调用一个虚函数 ( B)以任何方式调用一个纯虚函数 ( C)借助于指向对象的基类指针或引用调用一个虚函数 ( D)借助于指向对象的基类指针或引用调用一个纯虚函数 28 若磁盘上已存在某个文本文件,其全路径文件名为 d:shitites.txt,下列语句中不能打开该文件的是 ( )。 ( A) ifstream file(“d:shititest.txt“); ( B) ifstream file(“d:shititest.txt“); (

12、 C) ifstream file;file.open(“d:shititest.txt“); ( D) ifstream* pFile = new ifstream(“d:shititest.txt“); 29 若有以下程序: #include iostream using namespace std; class data public: int x; data(int x) data:x=x; class A private: data dl; public: A(int x): dl(x) void dispaO cout dl.x “,“; ; class B: public A p

13、rivate: data d2; public: B(int x):A(x-1),d2(x) void dispb() cout d2.x endl; ; class C: public B public: C(int x):B(x-1) void disp0 dispa(); dispb(); ; int main() C obj(5); obj.disp(); return 0; 程序执行后的输出结果是 ( )。 ( A) 5,5 ( B) 4,5 ( C) 3,4 ( D) 4,3 30 下列描述正确的是 ( )。 ( A)表示 m n为 false或 m n为 true的达式为 (m

14、n 则下列说法正确的是 ( )。 ( A) a和 b代表的数组内容完全相同,所占存储单元的数目相同 ( B) a和 b代表的数组内容不同,所占存储单元的数目相同 ( C) a和 b代表的数组内容完全相同,所占存储单元的数目不同 ( D) a和 b代表的数组内容不同,所占存储单元的数目不同 32 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 ( )。 ( A)函数调用可以作为独立的语句存在 ( B)函数调用可以无返回值 ( C)函数调用可以出现在表达式中 ( D)函数调用可以作为一个函数的形参 33 C+语言本身没有定义 I/O操作,但 I/O操作包含在 C+实现中。 C+标准库

15、iostream提供了基本的 I/O类。 I/O操作分别由两个类 istream和 ( )提供。 ( A) fstream ( B) iostream ( C) ostream ( D) cin 34 有如下程序: #include iostream using namespace std; class Complex double re, im, public: Complex(double r, double i): re(r), im(i) double real() const return re; double image() const return im, Complex im

16、+=a.im; return *this; ; ostream int main() Complex x(1,-2), y(2,3); cout (x+=y) endl; return 0; 执行这个程序的输出结果是 ( )。 ( A) (1, -2) ( B) (2, 3) ( C) (3, 5) ( D) (3, 1) 35 若有以下程序: #include iostream using namespace std; class A public: A() A(int i) x1=i; void dispa0 cout“x1=“ x1 “,“; private: int x1; ; cla

17、ss B: public A public: B() B(int i):A(i+10) x2=i; void dispb() dispa(); cout “x2=“ x2 endl; private: int x2; ; int main() B b(2); b.dispb(); return 0; 程序运行后的输出结果是 ( )。 ( A) x1=10,x2=2 ( B) x1=12,x2=10 ( C) x1=12,x2=2 ( D) x1=2,x2=2 36 软件生命周期一般可分为这样几个阶段:问题定义、可行性研究、【 】、设计、编码、测试、运行和维护。 37 在长度为 n的有序线性表

18、中进行二分查找。最坏的情况下,需要的比较次数为【 】。 38 浮点数的默认精度值是【 】。 39 在链表的运算过程中,能够使空表与非空表的运算统一的结构是【 】。 40 关系数据库管理系统能实现的专门关系运算包括选择、连接和【 】。 41 operator是运算符重载时必须使用的关键字,它和被重载的运算符连在一起,作为运算符函数的专用函数名,务必把该函数说明为【 】的。 42 在一个函数的定义或声明前加上关键字【 】时,该函数就声明为内联函数。 43 下面程序运行时输出结 果为【 】。 #include iostream.h #include malloc.h class Rect publi

19、c: Rect(int1,int w)(length=1; width=w; ) void Print()cout “Area:“ length *width endl; ) void *operator new(size-t size)return malloc(size); void operator delete(void *p)free(p) private: int length,width; ; void main() Rect*p; p=new Rect(5,4); p- Print(); delete p; 44 表达式 c3=c1 operator+(c2)或 c3=oper

20、ator+(c1, c2)还可以表示为【 】。 45 以下程序输出的结果是【 】。 #include iostream.h void main() int a=5,b=4, c=3, d; d=(a b c); cout d; 46 以下程序的执行结果是【 】。 #include iostream.h int f(int b,int n) int i, r=1; for(i=0; i n; i+) r=r*bi; return r; void main() int x,a=2, 3, 4, 5,6, 7, 8, 9; x=f(a, 3); cout x endl; 47 下列程序运行后的输出结

21、果是【 】。 #include iostream.h void main() int s=0, k; for(k=7; k =0; k-) switch(k) case 1: case 4: case 7: s+; break; case 2: case 3: case 6: break; case 0: case5: S+; 2; break; cout “S=“ S endl; 48 以下程序的输出结果是【 】。 #include iostream.h int add(int x, int y) retum X+y; dOuble add(dOUble x,double y) return

22、 x+y; void main() int a=4, b=6; double c=2 6, d=7.4; cout add(a,b) “,” add(C, d) endl; 49 有如下程序: #include iostream using namespace std; class Con char ID; public: Con(): ID(A)cout 1; ) Con(char ID): ID(ID)cout 2; Con(Coni =10;i+) 【 】 =i; for(i=0;i 5;i+) 【 】 =ai; 国家二级( C+)笔试模拟试卷 22答案与解析 1 【正确答案】 D 2

23、【正确答案】 B 3 【正确答案】 B 4 【正确答案】 B 5 【正确答案】 C 6 【正确答案】 B 7 【正确答案】 C 8 【正确答案】 B 9 【正确答案】 A 10 【正确答案】 C 11 【正确答案】 D 12 【正确答案】 D 13 【正确答案】 D 14 【正确答案】 D 15 【正确答案】 A 16 【正确答案】 C 17 【正确答案】 A 18 【正确答案】 A 19 【正确答案】 B 20 【正确答案】 C 21 【正确答案】 D 22 【正确答案】 D 23 【正确答案】 D 24 【正确答案】 B 25 【正确答案】 C 26 【正确答案】 D 27 【正确答案】

24、C 28 【正确答案】 A 29 【正确答案】 C 30 【正确答案】 D 31 【正确答案】 D 32 【正确答案】 D 33 【正确答案】 C 34 【正确答案】 D 35 【正确答案】 C 36 【正确答案】 需求分析 37 【正确答案】 log2n 38 【正确答案】 6位 39 【正确答案】 循环链表 40 【正确答案】 投影 41 【正确答案】 public 42 【正确答案】 inline 43 【正确答案】 Area:20 44 【正确答案 】 c3=c1+c2 45 【正确答案】 0 46 【正确答案】 24 47 【正确答案】 s=7 48 【正确答案】 10,10 49 【正确答案】 13A23B 50 【正确答案】 T &x, T &y, T &z 51 【正确答案】 =,& 52 【正确答案】 ai-1,a9-i

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

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

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