[计算机类试卷]国家二级(C++)笔试模拟试卷65及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷65及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷65及答案与解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 65及答案与解析 1 算法的空间复杂度是指 ( )。 ( A)算法程序的长度 ( B)算法程序中的指令条数 ( C)算法程序所占的存储空间 ( D)算法执行过程中所需要的存储空间 2 一个满二叉树其深度为 4,则其叶子节点的个数为 ( )。 ( A) 8 ( B) 16 ( C) 32 ( D) 4 3 下列关于队列的叙述中,正确的是 ( )。 ( A)在队列中只能插入数据 ( B)在队列中只能删除数据 ( C)队列是先进先出的线性表 ( D)队列是先进后出的线性 表 4 编制好的程序,首先要确保它的正确性和可靠性,还应强调良好的编程风格。在书写功能性注解时应考
2、虑 ( )。 ( A)仅为整个程序作注解 ( B)仅为每个模块作注解 ( C)为程序段作注解 ( D)为每个语句作注解 5 在一个单链表中,若 q节点是 p节点的前驱节点,若在 q与 p之间插入节点 s,则执行 ( )。 ( A) sqink=plink ; plink=s ( B) plink=s ; sqink=q ( C) plink=slink ; slink=p ( D) qlink= s; slink=p 6 下面几种调试方法中,不适合调试大规模程序的是 ( )。 ( A)强行排错法 ( B)回溯法 ( C)原因排除法 ( D)静态调试 7 在进行单元测试时,常用的方法是 ( )。
3、 ( A)采用白盒测试,辅之以黑盒测试 ( B)采用黑盒测试,辅之以白盒测试 ( C)只使用白盒测试 ( D)只使用黑盒测试 8 以下内容属于存储在计算机内有结构的数据集合的是 ( )。 ( A)数据库系统 ( B)数据库 ( C)数据库管理系统 ( D)数据结构 9 利用 ER模 型进行数据库的概念设计,可以分成 3步:首先设计局部 ER模型,然后把各个局部 ER模型综合成一个全局的模型,最后对全局 ER模型进行 ( )。 ( A)简化 ( B)结构化 ( C)最小化 ( D)优化 10 设有关系 R及关系 S,它们分别有 p、 q个元组,则关系 R与 S经笛卡儿积后所得新关系的元组个数是
4、( )。 ( A) p ( B) q ( C) p+q ( D) p*q 11 以下说法中,不正确的是 ( )。 ( A) C+程序中必须有一个主函数 main(),而且是从 main()的第 1条语句开始执行 的 ( B)非主函数都是在执行主函数时,通过函数调用或嵌套调用而得以执行的 ( C)主函数可以在任何地方出现 ( D)主函数必须出现在固定位置。 12 下面各选项中,属于非法的 C+整型常量的是 ( )。 ( A) 1 ( B) 0x11 ( C) 81 ( D) -32768 13 下列各程序段中,不是死循环的是 ( )。 ( A) int j=100; ( B) for(; ) w
5、hile(1) j=j%100+1; if(j 1000) break; ( C) int n=0; ( D) int m=36; do while(m)-m; +n; while(n =0); 14 若有以下定义: int a =1, 2, 3, 4, 5, 6, 7; char c1=b, C2=2; 则数值不为 2的表达式是 ( )。 ( A) a1 ( B) d-c1 ( C) a3-c2 ( D) c2-0 15 设有以下程序段 : int a5=0, *p, *q; p=a; q=a; 则下列选项中,合法的运算是 ( )。 ( A) p+q ( B) p-q ( C) p*q (
6、D) p%q 16 不能作为函数重载的判断依据的是 ( )。 ( A) const ( B)返回类型 ( C)参数个数 ( D)参数类型 17 下列关于类的访问权限的描述中, ( )是错误的。 ( A)类中说明为公有的成员可以被程序中的任何代码访问 ( B)类中说明为私有的成员只能被类的成员函数和说明为友元类的成员函 数访问 ( C)类中说明为保护的成员可以被该类的派生类的成员访问 ( D)类的对象和类成员函数一样可以访问类的所有成员 18 派生类的构造函数的成员初始化列表中,不能包含 ( )。 ( A)基类的构造函数 ( B)派生类中子对象的初始化 ( C)基类的子对象初始化 ( D)派生类
7、中一般数据成员的初始化 19 下列各函数的说明中, ( )是表示纯虚函数。 ( A) virtual int vf(int); ( B) void vf(int)=0; ( C) virtual void vf()=0; ( D) virtual void vf(int) 20 模板函数的真正代码是在 ( )时候产生。 ( A)源程序中声明函数时 ( B)源程序中定义函数时 ( C)源程序中调用函数时 ( D)运行执行函数时 21 有如下程序: #include iostream using namespace std; int b=3; int fun(int *k) int b=2; b=
8、*(k+)*b; return(B) ; int main() int a ; 11, 12, 13, 14, 15, 16); b=fun( return (10*A); 其程序运行后的输出结果是 ( )。 ( A) 100 ( B) 10 ( C) 1000 ( D) 10000 24 若有以下程序: #include iostream using namespace Std; class sample int i; publiC: sample() void setvalue(int m) i=m; void fun(int m) i+=m; void disp() cout i end
9、1; ; int main() sample *ps; ps=new sample; ps- setvalue(20); ps- fun(5); ps- disp(); return 0; 程 序运行后,输出的结果是 ( )。 ( A) 15 ( B) 20 ( C) 25 ( D) 30 25 若有如下程序: #include iostream using namespaces std; int s=0; class sample, static int n; public: sample(int i) n=i; static void add() s+=n; ; int sample: s
10、=0; int main() sample a(2), b(5); sample: add(); cout s end1; return 0; 程序运行后的输出结果是 ( )。 ( A) 2 ( B) 5 ( C) 7 ( D) 3 26 若有以下程序: #include iostream using namespace std; class sample private: int x; public: sample() void setx(int i) x=i; friend int fun(sample B,int n) int m=O; for (int i=O; i n; i+) if
11、(Bi.x m) m=B i.x; return m; ; int main ( ) sample A10; int arr=90,87,42,78,97,84,60,55,78,65; for (int i=O;i10;i+) Ai. setx (arri); cout fun(A, 10) end1; return 0; 该程序运行后的输出结果是 ( )。 ( A) 97 ( B) 84 ( C) 90 ( D) 78 27 若有以下程序: #include iostream using namespace std; class data public: int x; data (int
12、x) data: :x=x; ; class A private: data d1; public: A(int x) : d1 (x) void dispa() cout d1, x “, “; ; class B: public A private: data d2; public: B(int x) : A(x-1),d2(x) void dispb() cout d2.xend1; ; class C : public B public: C(int x) : B(x-1) void disp () dispa ( ); dispb (); ; int main ( ) C obj (
13、5); obj.disp(); return 0; 程序执行后的输出结果是 ( )。 ( A) 5,5 ( B) 4,5 ( C) 3,4 ( D) 4,3 28 若有以下程序 : #include iostream using namespace std; class Base private: int a,b; public: Base(int x, int y) a=x; b=y; void show() cout a “, “ b end1; ; class Derive : public Base private: int c, d; public: Derive(int x,int
14、 y, int z,int m):Base(x,y) c=z; d=m; void show() cout c “, “ d end1; ; int main () Base b(50,50),*pb; Derive d(10,20,30, 40); pb= pb- show (); return 0; 招待程序后的输出结果是 ( )。 ( A) 10,20 ( B) 30,40 ( C) 20,30 ( D) 50,50 29 若 有以下程序: #include iostream using namespace std; class Base public: Base ( ) x=0; in
15、t x; ; class Derivedl : virtual public Base public: Derivedl () x=10; ; class Derived2 : virtual public Base public: Derived2 () x=20; ; class Derived : public Derivedl,protected Derived2 ; int main ( ) Derived obj; cout obj .x end1; return 0; 该程序运行后的输出结果是 ( )。 ( A) 20 ( B) 30 ( C) 10 ( D) 0 30 下列打开
16、文件的表达式中,错误的是 ( )。 ( A) ofstream ofile; ofile.open(“C:vcabc.txt“,ios: :binary); ( B) fstream iofile; iofile.open(“abc.txt“,ios:ate); ( C) ifstream ifile(“C:vcabc.txt“); ( D) cout.open(“C:vcabc.txt“,ios: :binary); 31 在算法正确的前提下,评价一个算法的两个标准是【 】。 32 将代数式 z= 转换成程序设计中的表达式为【 】。 33 软件危机出现于 60年代末,为了解决软件危机,人们提
17、出了【 】的原理来设计软件,这就是软件工程诞生的基础。 34 【 】是数据库设计的核心。 35 在关系模型中,把数据看成一个二维表,每一个二维表称为一个【 】。 36 在 C+语言的面向对象程序设计框架中,【 】是程序的基本组成单元。 37 C+语言程序的注释可以出现在程序中的任何地方,一个注释以【 】作为开始和结束的标记。 38 以下程序的输出结果是【 】。 #include iostream h void fun() static int a=0; a+=2; cout a “ “; void main() int cc; for(cc=1; cc 4; CC+) fun(); cout
18、endl; 39 用以下语句调用库函数 malloc,使字符指针 st指向具有 11个字节的动态存储空间,请填空。 st=(char*)【 】; 40 以下程序的输出结果是【 】。 #include iostream h unsigned frn(ullsigned num) unsi9ned k=1; dok*=num%10; num/=10; while(num); return k; void main() unsigned n=26; cout fun(n) endl; 41 将 x+y*z中的 “+”用成员函数重载, “ *”用友元函数重载应写为【 】。 42 【 】是一系列相关函数
19、的模型或样板,这些函数的【 】形式相同,只是所针对的【 】不同。 国家二级( C+)笔试模拟试卷 65答案与解析 1 【正确答案】 D 【试题解析】 本题考查算法的空间复杂度,是重点之一。算法的空间复杂度一般是指这个算法执行时所需要的内存空间,其中包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行过程中 所需要的额外空间,其中额外空间还包括算法程序执行过程的工作单元以及某种数据结构所需要的附加存储空间。 2 【正确答案】 A 【试题解析】 若深度为 k,则叶子节点的个数为 2k-1,这是满二叉树的性质之一。 3 【正确答案】 C 【试题解析】 队列是指允许在一端进行插入,而在另一
20、端进行删除的线性表。允许插入的一端称为队尾,允许删除的一端称为队头,所以在队列中既可以插入数据,也能删除数据,所以选项 A、 B是错误的。在这种数据结构中,最先插入的元素最先能够被删除,因此队列又称为先进先出的线性表。答 案是 C。 4 【正确答案】 C 【试题解析】 首先应该知道功能性注释是嵌在源程序体中的,用以描述其后的语句或程序段是在做什么工作,或是执行了下面的语句会怎么样。所以它描述的是一段程序,而不是每一个语句,是为程序段作注解。 5 【正确答案】 D 【试题解析】 在单链表中插入一个元素需要执行以下步骤:首先将待插入节点的前驱节点的指针域指向待插入节点,然后将待插入节点的指针域指向
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 65 答案 解析 DOC
