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

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

1、国家二级( C+)笔试模拟试卷 207及答案与解析 1 算法的时间复杂度是指 ( )。 ( A)执行算法程序所需要的时间 ( B)算法程序的长度 ( C)算法执行过程中所需要的基本运算次数 ( D)算法程序中的指令条数 2 下列叙述中正确的是 ( )。 ( A)线性链表是线性表的链式存储结构 ( B)栈与队列是非线性结构 ( C)双向链表是非线性结构 ( D)只有根结点的二叉树是线性结构 3 下列特征中不是面向对象方法的主要特征的是 ( )。 ( A)多 态性 ( B)继承 ( C)封装性 ( D)模块化 4 为了使模块尽可能独立,要 ( )。 ( A)模块的内聚程度要尽量高,且各模块间的耦合

2、程度要尽量强 ( B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 ( C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 ( D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 5 有下列二叉树,对此二又树前序遍历的结果为 ( )。 ( A) ACBEDGFH ( B) ABDGCEHF ( C) HGFEDCBA ( D) ABCDEFGH 6 某二叉树共有 60个叶子结点与 50个度为 1的结点,则该二叉树中的总结点数为( )。 ( A) 148 ( B) 169 ( C) 182 ( D) 198 7 以下关于数据的逻辑结构的叙述中,不正确的是 ( )。 ( A)数

3、据的逻辑结构是数据问关系的描述 ( B)数据的逻辑结构不仅反映数据间的逻辑关系,而且反映其在计算机中的存储方式 ( C)数据的逻辑结构分为线性结构和非线性结构 ( D)树形结构是典型的非线性结构 8 以下不是结构化程序 设计方法的技术是 ( )。 ( A)自顶向下,逐步求精 ( B)自底向上,逐步求精 ( C)从整体到局部 ( D)结构清晰,层次分明 9 设有如下关系表: 则下列操作正确的是 ( )。 ( A) T=R S ( B) T=RS ( C) T=RS ( D) T=R S 10 数据字典是数据库设计需求分析阶段的重要工具之一,其最基本的方法是( )。 ( A)数据库定义 ( B)数

4、据通信 ( C)数据定义 ( D)数据维护 11 假定 MyClass为一个类,则 该类的拷贝构造函数的声明语句为 ( )。 ( A) MyClass(MyClass x); ( B) MyClass(MyClass&x); ( C) MyClass(&x); ( D) MyClass(x); 12 下列函数的功能是判断字符串 str是否对称,对称则返回 true,否则返回 false,则横线处应填上 ( )。 Bool fun(char*str) int i=0,j=0: while(strj)j+; for(j-; i= ( B) | ( C) & ( D) using namespace

5、 std; class Complex public: Complex(double r=0, double i=0): re(r), ira(i) double realoconstreturn re; double imagoconstreturn im; Complex operator+(Complex c)const return Complex(re+c re, im+c im); private: dOuble re im; ; int main() Complex a=Complex(1, 1)+Complex(5); cout #define MAX(x, y)(x)(y)?

6、(x): (y) void main() int ij, k; i=10; j=15; k=MAX(i,j)*10; cout void main() char a=“abbcabbcabbc”; int i=0,j=0, k=0; while(ai) if(ai=a) j+; if(ai=b) k+: i+; cout intfun(intn); void main() couta; result=fun(a); tout void main() intx; hat&y=x;变量引用 Y=99; cout void fun(int a,int b) int temp; temp=a: a=b

7、: b=temp; void main() int m, n; m=1; n=2; fun(m, n); cout using namespace std; voidfun(int&r) r*=2: int main() int n=50; fun(n); cout class A1 public: void show1() cout #inc!ude using namespace std; class point private: double x; double y; public: point(double a, double b) x=a: y=b; friend double di

8、stances(point a,point b); ; double distances(point a,point b) return sqrt(a x-b x)*(a x-b x)+(a, y-b.y)*(a y-b y); int main() point p1(1, 2); point p2(5, 2); cout using namespace std; classR public: R(int r1, int r2) R1=r1l; R2=r2; void print(); void print()const; private: int R1 R2; ; void R: print

9、() cout using narnespace std; template T fun(T a, T b)return(a class Sample intx, y; public: Sample0x=y=0; Sample(int a, int b)x=a; y=b; Sample() if(x=y) cout using namespace std; class Foo public: Foo(int x)cout using namespace std; class TlestClass int value; public: TestClass(): value(0); void se

10、tValue(int value) _=value; 给 TestClass的数据成员 value赋值 void print()cout using namespace std; class TestClass1 public: TestClass1() TestClass1(int i) xl=i; void dispa() cout using namespace std; class Date public: Date(int m=1, int y=0): month(m), year(y) void Print()cout using namespace std; classA pub

11、lic: A()couty)?(x): (y)是当 x大于 y时取 x,否则取 y。当 i=10, j=15时, “MAX(ij)”的值为 15,所以 “k=MAX(ij)*10; ”答案为: 150。 15 【 正确答案】 B 【试题解析】 enum;其中:关键词 “enum”表示定义的是枚举类型,枚举类型名由标识符组成,而枚举元素表由枚举元素或枚举常量组成。本题中的枚举类型中的数据值 Wednesday为 2,而 Friday的值赋值为2,所以判断 Wednesday等于 Friday的表达式值为真,即 true。 16 【正确答案】 D 【试题解析】 程序中首先定义字符数组 a,然后在

12、while循环中统计字符 a和 b的个数。其中 j记录 a的个数, k记录 b的个数。第一个 if语句是当第 i个字符为a时, j加 1;第二个 if语句是当第 i个字符为 b时, k加 1。 17 【正确答案】 C 【试题解析】 由程序 main主函数入手,调用 fun函数获得返回值 result输出。题目中假定 a=3,即调用语句 fun(a)中的输入参数为 a,进入 fun函数,在。 for循环中当 i小于等于 n,即输入参数 3时,循环 3次执行 “p*=i; result+=p; ”语句。即执行三次 p=p*i, result=result+p, result的结果为 9。返回的 f

13、un函数结果为9,即 “coatvalue 或 Testclass: valuc 【试题解析】 为了指明是给本类中的 value变量赋值,所以利用每一个成员函数中的指针 this指向该变量,或者说明是该类域中的 value, TbstClass: value。 45 【正确答案】 x1=12 x2=2 【试题解析】 由主函数 main入手,首先定义类 TegtClass2的对象 b,成员数据为 2。然后调用 dispb函数。 dispb中首先执行 dispa函数, TestClass2为TestClass1的派生类, “TestClass2(int i): TestClass1(i+10)”所以 Testclass1中的x1=12,所以 dispa输出的结果为 x1=12。在 TestClass1中 x2=2,所以 dispb中的输出语句 “cout执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明的顺序 -执行自身的构造函数。析构顺序与之相反。此题中, B类没有基类,但是有一个 A类的成员 a。所以构造 B类对象时,先构造成员 a再构造自身。因此,构造时输出的结果是 AB,析构与构造顺序相反会输出 BA。所以程序最终输出结果是ABBA。

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

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

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