分享
2005年9月全国计算机等级考试二级C++笔试试题.pdf
下载文档

ID:3425110

大小:159.39KB

页数:20页

格式:PDF

时间:2024-04-29

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
2005 全国 计算机等级考试 二级 C+ 笔试 试题
2005年9月全国计算机等级考试二级C+笔试试题(每小题2分,共70分)(1)下列叙述中正确的是()A:程序设计就是编制程序 B:程序的测试必须由程序员自己去完成 C:程序经调试改错后还应进行再测试 D:程序经调试改错后不必进行再测试答案:C解析:(2)下列数据结构中,能用二分法进行查找的是()A:顺序存储的有序线性表 B:线性链表 C:二叉链表 D:有序线性链表答案:A解析:(3)下列关于栈的描述正确的是()A:在栈中只能插入元素而不能删除元素 B:在栈中只能删除元素而不能插入元素 C:栈是特殊的线性表,只能在一端插入或删除元素 D:栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素答案:D解析:(4)下列叙述中正确的是()A:一个逻辑数据结构只能有一种存储结构 B:数据的逻辑结构属于线性结构,存储结构属于非线性结构 C:一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 D:一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率答案:D解析:(5)下列描述中正确的是()A:软件工程只是解决软件项目的管理问题 B:软件工程主要解决软件产品的生产率问题 C:软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D:软件工程只是解决软件开发中的技术问题答案:C解析:(6)在软件设计中,不属于过程设计工具的是()A:PDL(过程设计语言)B:PAD图 C:N-S图 D:DFD图答案:D解析:(7)下列叙述中正确的是()A:软件交付使用后还需要进行维护 B:软件一旦交付使用就不需要再进行维护 C:软件交付使用后其生命周期就结束 D:软件维护是指修复程序中被破坏的指令答案:A解析:(8)数据库设计的根本目标是要解决()A:数据共享问题 B:数据安全问题 C:大量数据存储问题 D:简化数据维护答案:A解析:(9)设有如下关系表:则下列操作中正确的是()A:TR S B:TR*S C:TRS D:TR/S答案:B解析:(10)数据库系统的核心是()A:数据模型 B:数据库管理系统 C:数据库 D:数据库管理员答案:B解析:(11)下列关于C+函数的叙述中,正确的是()A:每个函数至少要具有一个参数 B:每个函数都必须返回一个值 C:函数在被调用之前必须先声明 D:函数不能自己调用自己答案:C解析:(12)下列关于类和对象的叙述中,错误的是()A:一个类只能有一个对象 B:对象是类的具体实例 C:类是对某一类对象的抽象 D:类和对象的关系是一种数据类型与变量的关系答案:A解析:(13)在C+中,用于实现运行时多态性的是()A:内联函数 B:重载函数 C:模板函数 D:虚函数答案:D解析:(14)下列关于运算符重载的叙述中,正确的是()A:通过运算符重载,可以定义新的运算符 B:有的运算符只能作为成员函数重载 C:若重载运算符+,则相应的运算符函数名是+D:重载一个二元运算符时,必须声明两个形参答案:B解析:(15)下列关于模板的叙述中,错误的是()A:模板声明中的第一个符号总是关键字template B:在模板声明中用 括起来的部分是模板的形参表 C:类模板不能有数据成员 D:在一定条件下函数模板的实参可以省略答案:C解析:(16)对于语句 cout()A:“cout”是一个输出流对象 B:“endl”的作用是输出回车换行 C:“x”是一个变量 D:“25)i+=3;cout输出结果是()A:24 B:25 C:27 D:28答案:C解析:(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;答案:A解析:(21)有如下程序:#includevoid fun(int&x,int y)int t=x;x=y;y=t;int main()int a2=23,42;fun(a1,a0);std:cout a0 ,a1 std:endl;return 0;执行后的输出结果是()A:42,42 B:23,23 C:23,42 D:42,23答案:B解析:(22)有如下类声明:class Foo int bar;则Foo类的成员bar是()A:公有数据成员 B:公有成员函数 C:私有数据成员 D:私有成员函数答案:C解析:(23)有如下类声明:class MyBASEint k;public:void set(int n)k=n;int get()const return k;class MyDERIVED:protected MyBASEprotected:int j;public:void set(int m,int n)MyBASE:set(m);j=n;int get()const return MyBASE:get()+j;则类MyDERIVED中保护的数据成员和成员函数的个数是()A:4 B:3 C:2 D:1答案:B解析:(24)已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误的是()A:这是运算符-的重载运算符函数 B:这个函数所重载的运算符是一个一元运算符 C:这是一个成员函数 D:这个函数不改变类的任何数据成员的值答案:B解析:(25)有如下函数模板定义:templateT func(T x,T y)return x*x+y*y;在下列对func的调用中,错误的是()A:func(3,5);B:func(3.0,5.5);C:func(3,5.5);D:func(3.0,5.5);答案:C解析:(26)有如下程序:#includeusing namespace std;int main()cout.fill(*);cout.width(6);cout.fill(#);cout 123 endl;return 0;执行后的输出结果是()A:#123 B:123#C:*123 D:123*答案:A解析:(27)在下列函数原型中,可以作为类AA构造函数的是()A:void AA(int);B:int AA();C:AA(int)const;D:AA(int);答案:D解析:(28)下列关于this指针的叙述中,正确的是()A:任何与类相关的函数都有this指针 B:类的成员函数都有this指针 C:类的友元函数都有this指针 D:类的非静态成员函数才有this指针答案:D解析:(29)有如下程序:#include using namespace std;class Test public:Test()n+=2;Test()n-=3;static int getNum()return n;private:static int n;int Test:n=1;int main()Test*p=new Test;delete p;cout n=Test:getNum()endl;return 0;执行后的输出结果是()A:n=0 B:n=1 C:n=2 D:n=3答案:A解析:(30)有如下程序:#includeusing namespace std;class A public:A()cout A;class B public:B()cout B;class C:public A B b;public:C()cout C;int main()C obj;return 0;执行后的输出结果是()A:CBA B:BAC C:ACB D:ABC答案:D解析:(31)有如下类声明:class XAint x;public:XA(int n)x=n;class XB:public XAint y;public:XB(int a,int b);在构造函数XB的下列定义中,正确的是()A:XB:XB(int a,int b):x(a),y(b)B:XB:XB(int a,int b):XA(a),y(b)C:XB:XB(int a,int b):x(a),XB(b)D:XB:XB(int a,int b):XA(a),XB(b)答案:B解析:(32)有如下程序:#includeusing namespace std;class BASEpublic: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答案:D 解析:(33)在表达式 x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()A:operator+有两个参数,operator*有两个参数 B:operator+有两个参数,operator*有一个参数 C:operator+有一个参数,operator*有两个参数 D:operator+有一个参数,operator*有一个参数答案:C解析:(34)下面关于C+流的叙述中,正确的是()Acin是一个输入流对象B可以用ifstream定义一个输出流对象C执行语句序列char*y=PQMN;coutD执行语句序列char x80;cin.getline(x,80);时,若键入Happy new year则x中的字符串是 Happy答案:A解析:(35)有如下程序:#includeusing namespace std;class AAint n;public:AA(int k):n(k)int get()return n;int get()const return n+1;int main()AA a(5);const AA b(6);cout=(42)执行语句序列int x=10,&r=x;cout-输出结果为(8)。答案:解析:10-10(43)下列程序的输出结果为Object id=0Object id=1请将程序补充完整。#includeusing namespace std;class Pointpublic: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=private:int X,Y;static int countP;(9)/静态数据成员的初始化int main()Point:GetC();Point A(4,5);A.GetC();return 0;答案:解析:int point:count p=0(44)非成员函数应声明为类的(10)函数才能访问这个类的private成员。答案:解析:友元(45)派生类中的成员不能直接访问基类中的(11)成员。答案:解析:私有(46)下列程序的输出结果为2,请将程序补充完整。#includeusing namespace std;class Basepublic:(12)void fun()cout 1;class Derived:public Basepublic:void fun()cout fun();delete p;return 0;答案:解析:virtual(47)请将下列类定义补充完整。class Base public:void fun()coutBase:funclass Derived:public Base public:void fun()(13)/显式调用基类的fun函数cout Derived:fun;答案:解析:Base:fun()(48)多数运算符既能作为类的成员函数重载,也能作为类的非成员函数重载,但 运算符只能作为类的(14)函数重载。答案:解析:成员(49)下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stacktop-1中,在下面横线处填上适当语句,完成栈类模板的定义。templateclass Tstackenum size=1000;T stacksize;int top;public:Tstack():top(0)void push(const T&i)if(topstacktop+=i;T pop()if(top=0)exit(1);/栈空时终止运行return(15);答案:解析:stack-top

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开