[计算机类试卷]国家二级(C++)笔试模拟试卷132及答案与解析.doc
《[计算机类试卷]国家二级(C++)笔试模拟试卷132及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C++)笔试模拟试卷132及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C+)笔试模拟试卷 132及答案与解析 1 下列叙述中正确的是 ( A)数据的逻辑结构与存储结构必定一一对应 ( B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 ( C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 ( D)以上三种说法都不对 2 下列数据结构中,能用二分法进行查找的是 ( A)顺序存储的有序线性表 ( B)线性链表 ( C)二叉链表 ( D)有序线性链表 3 设树 T的度为 4,其中度为 1, 2, 3, 4的结点个数分别 为 4, 2, 1, 1。则 T中的叶子结点数为 ( A) 5 ( B) 6 ( C)
2、 7 ( D) 8 4 对长度为 n的线性表进行顺序查找,在最坏情况下所需要的比较次数为 ( A) log2n ( B) n/2 ( C) n ( D) n+1 5 下列对于线性链表的描述中正确的是 ( A)存储空间不一定是连续,且各元素的存储顺序是任意的 ( B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面 ( C)存储空间必须连续,且前件元素一定存储在后件元素的前面 ( D)存储空间必须连续,且各元素的存储顺序是任意的 6 下列叙述中正确的是 ( A)黑箱 (盒 )测试方法完全不考虑程序的内部结构和内部特征 ( B)黑箱 (盒 )测试方法主要考虑程序的内部结构和内部特征 ( C
3、)白箱 (盒 )测试不考虑程序内部的逻辑结构 ( D)上述三种说法都不对 7 为了使模块尽可能独立,要求 ( A)模块的内聚程序要尽量高,且各模块间的耦合程度要尽量强 ( B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 ( C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 ( D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强 8 下述关于数据库系统的叙述中正确的是 ( A)数据库系统减少了数据冗余 ( B)数据库系统避免了一切冗余 ( C)数据库系统中数据的一致性是指数据类型一致 ( D)数据库系统比文件系统能管理更多的数据 9 数据独立性是数据库技术的重要特点之一。
4、所谓数据独立性是指 ( A)数据与程序独立存放 ( B)不同的数据被存放在不同的文件中 ( C)不同的数据只能被对应的应用程序所使用 ( D)以上三种说法都不对 10 用树形结构表示实体之间联系的模型是 ( A)关系模型 ( B)网状模型 ( C)层次模型 ( D)以上 3个都是 11 下列关于 C+函数的说明中,正确的是 ( )。 ( A)内联函数就是定义在另一个函数体内部的函数 ( B)函数体的最后一条语句必须是 return语句 ( C)标准 C+要求在调用一个函数之前,必须先声明其原型 ( D)编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式 12 下列关于类和对象的叙述中
5、,错误的是 ( )。 ( A)一个类只能有一个对象 ( B)对象是类的具体实例 ( C)类是对某一类对象的抽象 ( D)类和对象的关系是一种数据类型与变量的关系 13 有如下类声明: class MyBASE int k; public: void set(int n)k=n; int get()constreturn k; ; class MyDERIVED:protected MyBASE protected: int j: public: void set(int m,int n)MyBASE:set(m);j=n; int get()constreturn MyBASE:get()+j
6、; ; 则类 MyDERIVED中保护的数据成员和成员函数的个数是( )。 ( A) 4 ( B) 3 ( C) 2 ( D) 1 14 下列关于继承的描述中,错误的是 ( )。 ( A)析构函数不能被继承 ( B)派生类是基类的组合 ( C)派生类的成员除了它自己的成员外,还包含了它的基类的成员 ( D)派生类中继承的基类成员的访问权限到派生类保持不变 15 对基类数据成员的初始化必须在派生类的 ( )中的成员初始化列表 处执行。 ( A)派生函数 ( B)析构函数 ( C)内联函数 ( D)构造函数 16 若有如下程序: #include iostream using namespace
7、std; class A public: A(int i,int j) a=i; b=j; void move(int x,int y) a+=x; b+=y; void show() cout a “,“ b end1; private: int a,b; ; class B:private A public: B(int i,int j):A(i,j) void fun() move(3,5); void f1() A:show(); ; int main() B d(3,4); d.fun(); d.f1(); return 0; 程序执行后的输出结果是 ( )。 ( A) 3,4 (
8、B) 6,8 ( C) 6,9 ( D) 4,3 17 下列程序的输出结果是 _。 #include iostream using namespace std; class Test( public: Test() cnt+; Test() cnt-; static int Count()return cnt; private: static int cnt; ; int Test:cnt=0; int main() cout Test:Count() “; Test t1,t2; Test*pT3=new Test; Test*pT4=new Test; cout Test:Count()
9、“; delete pT4; delete pT3; cout Test:Count() end1; return 0; ( A) 024 ( B) 042 ( C) 420 ( D) 240 18 下列有关拷贝构造函数的描述中错误的是 ( )。 ( A)拷贝构造函数是一种构造函数 ( B)拷贝构造函数与一般的构造函数一样,可以设置多个形参 ( C)每一个类中都必须有一个拷贝构造函数 ( D)拷贝构造函数的功能是用一个已知对象去初始化一个正在创建的对象。 19 下列对静态数据成员的描述中,正 确的是 ( )。 ( A)静态数据成员是类的所有对象共享的数据 ( B)类的每个对象都有自己的静态数据
10、成员 ( C)类的不同对象有不同的静态数据成员值 ( D)静态数据成员不能通过类的对象调用 20 函数 swap(a, n)可完成对 a数组从第 1个元素到第 n个元素两两交换。其中b0=1;b1=2;swap(b,2)。在运行调用函数中的语句后, b0和 b1的值分别为( )。 ( A) 1,1 ( B) 1,2 ( C) 2,2 ( D) 2,1 21 假定 a=3,下列程序的运行结果是 ( )。 #include iostream.h int fun(int n); void main() cout “Please input a number:“; int a,result=0; ci
11、n a; result=fun(a); cout result end1; int fun(int n) int p=1,result=0; for(int i=1;i n;i+) p*=i; result +=p; return result; ( A) 4 ( B) 8 ( C) 9 ( D) 20 22 如果有以下定义及初始化: int a=3, *p= 则由此可以推断, *p的值是( )。 ( A)变量 a的值,即 3 ( B)变量 a的地址值 ( C)变量 p的地址值 ( D)无意义 23 下列程序运行后的输出结果是 ( )。 #include iostream.h void fun
12、(int,int,int*); void main() int x,y,z; fun(5,6, fun(7,x, fun(x,y, cout x “,“ y “,“ z end1; void fun(int a,int b,int *c) b+=a; *c=b-a; ( A) 5, 5, 5 ( B) 6, 6, 6 ( C) 5, 6, 7 ( D) 7, 7, 7 24 下列程序输出的结果是 ( )。 #include stdio.h fun1(char a,char b) char c;c=a;a=b;b=c; fun2 (char*a,char b) char c;c=*a;*a=b;
13、b=c; fun3(char*a,char*b) char c;c=*a;*a=*b;*b=c; void main() char a,b; a=A;b=B; fun1 (a,b);putchar(a);putchar(b); a=A;b=B; fun2 (putchar(a);putchar(b); a=A;b=B; fun3 (putchar(a);putchar(b); putchar(n); ( A) BABBAB ( B) ABBBBA ( C) ABBABA ( D) ABABBA 25 下列程序将 x、 y和 z按从小到大的顺序排列,请将下面的函数模板补充完整。 template
14、 class T void fun (_) T a; if(x y) a=x; x=y;y=a; if(y z) a=y; y=z;z=a; if(x y) a=x; x=y;y=a; ( A) T x,T y,T z ( B) T x;y;z ( C) T TestClass () x=y=0; TestClass (int a,int b)x=a;y=b; void disp() cout “x=“ x “,y=“ y end1; void main() TestClass s1(2,3); s1.disp(); ( A) x=2,y=2 ( B) x=2,y=3 ( C) x=3,y=2
15、 ( D) x=3,y=3 27 若有如下程序: #include iostream using namespaee std; int fun() static int i=0; int s=1; s+=i; i+; return s; int main() int i,a=0; for(i=0;i 5;i+) a+=fun(); cout a end1; return 0; 程序运行后,输出的结果是 ( )。 ( A) 20 ( B) 24 ( C) 25 ( D) 15 28 对虚函数的调用 ( )。 ( A)一定使用动态联编 ( B)必须使用动态联编 ( C)一定使用静态联编 ( D)不
16、一定使用动态联编 29 下列程序的运行结果是 ( )。 #include iostream.h int x=5; int fun(int a) int c; c=x*a; return c; void main() int x=3,a=4; x=x+fun(a); cout “x=“ x end1; ( A) x=15 ( B) x=17 ( C) x=23 ( D) x=25 30 静态数据成员是为 ( )的数据。 ( A)私有 ( B)保护 ( C)所有对象共享 ( D)类成员 31 下列字符串中,正确的 C+标识 符是 ( )。 ( A) foo-1 ( B) 2b ( C) new (
17、 D) 256 32 在下列函数原型中,可以作为类 AA构造函数的是 ( )。 ( A) void AA(int); ( B) int AA(); ( C) AA(int)const; ( D) AA(int); 33 有如下程序: #include iostream using namespace std; class A public: A()cout “A“; ; classBpublic:B()cout “B“; classC:public A B b; public: C()cout “C“; ; int main() C obj; return 0; 执行后的输出结果是 ( )。
18、( A) CBA ( B) BAC ( C) ACB ( D) ABC 34 有如下程序: #include iostream using namespace std; class BASE public: BASE()cout “BASE“; ; class DERIVED:public BASE public: DERIVED()cout “DERIVED“; ; int main()DERIVED x;return 0; 执行后的输出结果是 ( )。 ( A) BASE ( B) DERIVED ( C) BASEDERIVED ( D) DERIVEDBASE 35 关于在调用模板 函
19、数时模板实参的使用,下列表述正确的是 ( )。 ( A)对于虚拟类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略 ( B)对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,则都可以省略 ( C)对于虚拟类型参数所对应的模板实参,若能够省略则必须省略 ( D)对于常规参数所对应的模板实参,任何情况下都不能省略 36 软件生命周期分为软件定义期、软件开发期和软件维护期,详细设计属于_中的一个阶段。 37 结构化分析方法是面向 _进行分析的方法。 38 常用的软件结构设计工具是结构图 (SC) ,也称程序结构图。其中,用矩形表示 _,用带空心圆的箭
20、头表示传递的是数据。 39 在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块,其中 _的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 40 诊断和改正程序中错误的工作通常称为 _。 41 有如下类声明: class MyClass int i; private:int j; protected:int k; public:int m,n; ; 其中,私有成员的数量为 _。 42 对基类数据成员的初始化必须派生类的构造函数中的 _处执行。 43 下列程序输出结果为: #include iostream using namespace std; cl
21、ass TestClass1 public: TestClass1() TestClass1(int i) x1=i; void dispa() cout “x1=“ x1 “,“; private: int x1; ; class TestClass2:public TestClass1 public: TestClass2() TestClass2(int i):TestClass1(i+10) x2=i; void dispb() dispa(); cout “x2=“ x2 endl; private: int x2; ; int main() TestClass2 b(2); b.d
22、ispb(); return 0; 44 下列程序的输出结果为: Objectid=O Obiectid=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()return X; int GetY()return Y; static void GetC()cout “Object id=“ countP endl; private: int X,Y; static int
23、 countP; ; _/静态数据成员的初始化 int main() Point:GetC(); Point A(4,5); A.GetC(); return 0; 45 假定用户没有给一个名为 MyClass的类定义析构函数,则系统为其定义的默认析构函数首部形式为 _。 46 创建对象数组时,对数组的每一个元素都将调用一次构造函数,如果没有显式给出数组元素的初值,则调用缺省构造函数。下列程序涉及对象数组的创建和单个对象 的创建,其输出结果是 _。 #include iostream using namespace std; class Foo public: Foo(int x)cout A
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 笔试 模拟 132 答案 解析 DOC
