欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    计算机二级C++真题及答案(共33页).doc

    • 资源ID:13495286       资源大小:299.50KB        全文页数:33页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    计算机二级C++真题及答案(共33页).doc

    精选优质文档-倾情为你奉上 全国计算机等级考试二级笔试试卷(2004年9月)公共基础知识及C+语言程序设计(考试时间90分钟,满分100)分)一、选择题(1)(35)每小题2分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1) 下面叙述正确的是_ A)算法的执行效率与数据的存储结构无关 B)算法的空间复杂度是指算法程序中指令(或语句)的条数 C)算法的有穷性是指算法必须能在执行有限个步骤之后终止 D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是_ A)队列 B)线性表 C)二叉树 D)栈(3)在一棵二叉树上第5层的结点数最多是_ A)8 B)16 C)32 D)15(4)下面描述中,符合结构化程序设计风格的是_ A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑 B)模块只有一个入口,可以有多个出口 C)注重提高程序的执行效率 D)不使用goto语句(5)下面概念中,不属于面向对象方法的是_ A)对象 B)继承 C)类 D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是_ A)可行性分析 B)需求分析 C)详细设计 D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是_ A)数据结构设计 B)给出系统模块结构 C)定义模块算法 D)定义需求并建立系统模型(8)数据库系统的核心是_ A)数据模型 C)软件工具 B)数据库管理系统 D)数据库(9)下列叙述中正确的是_ A)数据库系统是一个独立的系统,不需要操作系统的支持 B)数据库设计是指设计数据库管理系统 C)数据库技术的根本目标是要解决数据共享的问题 D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是_A)内模式 B)外模式 C)概念模式 D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是 A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理 B)“多态性”指的是对象的状态会根据运行时要求自动变化C)基类的私有成员在派生类的对象中不可访问,也不占内存空间 D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(12)判断字符型变量ch是否为大写英文字母,应使用表达式_A ) ch>='A' & ch<='Z' B ) ch<='A' |ch>='Z'C ) 'A'<=ch<='Z' D ) ch>='A' && ch<='Z'(13)已知下列语句中的x和y都是int型变量,其中错误的语句A ) x=y+; B ) x=+y; C ) (x+y)+; D ) +x=y;(14)执行语句序列int n;cin >> n;switch(n) case 1: case 2: cout << '1' case 3: case 4: cout << '2' break;default: cout << '3'时,若键盘输入1,则屏幕显示_A)1 B)2 C)3 D)12(15)下列程序的输出结果是_#include <iostream>using namespace std;int main() char a = "Hello, World" char *ptr = a; while (*ptr) if (*ptr >= 'a' && *ptr <= 'z') cout << char(*ptr + 'A' -'a'); else cout << *ptr; ptr+; return 0;A ) HELLO, WORLD B ) Hello, WorldC ) hELLO, wORLD D ) hello, world(16)已知:int m=10;在下列定义引用的语句中,正确的是_A ) int &x=m; B )int y=&m; C )int &z; D ) int &t=&m;(17)下列函数原型声明中错误的是_A ) void Fun(int x=0, int y=0); B ) void Fun(int x, int y);C ) void Fun(int x, int y=0);D ) void Fun(int x=0, int y);(18)已知程序中已经定义了函数test,其原型是int test(int, int, int);,则下列重载形式中正确的是_A ) char test(int,int,int);B ) double test(int,int,double);C ) int test(int,int,int=0);D ) float test(int,int,float=3.5F);(19)有以下程序#include<iostream>int i = 0;void fun() static int i = 1; std:cout<<i+<<','std:cout<<i<<','int main()fun(); fun(); return 0;程序执行后的输出结果是_A)1,2,1,2, B)1,2,2,3, C)2,0,3,0, D)1,0,2,0,(20)已知函数f的原型是:void f(int *a, long &b); 变量v1、v2的定义是:int v1;long v2;,正确的调用语句是_A) f(v1, &v2); B) f(v1, v2); C) f(&v1, v2); D) f(&v1, &v2);(21)有以下类定义class MyClasspublic: MyClass()cout<<1;则执行语句MyClass a, b2, *p2;后,程序的输出结果是_A)11 B)111 C)1111 D)11111(22)关于友元,下列说法错误的是_A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员 C)友元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(23)关于动态存储分配,下列说法正确的是_A)new和delete是C+语言中专门用于动态内存分配和释放的函数 B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#include<iostream>using namespace std;class MyClasspublic:MyClass(int n)number = n;/拷贝构造函数MyClass(MyClass &other) number=other.number;MyClass()private: int number;MyClass fun(MyClass p)MyClass temp(p);return temp;int main()MyClass obj1(10), obj2(0);MyClass obj3(obj1);obj2=fun(obj3);return 0;程序执行时,MyClass类的拷贝构造函数被调用的次数是_A)5 B)4 C)3 D)2(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的_ A)公有成员和私有成员 B)私有成员和保护成员 C)公有成员和保护成员 D)私有成员、保护成员和公有成员(26)在C+中用来实现运行时多态性的是_ A)重载函数 B)析构函 C)构造函数 D)虚函数(27)一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是_ A)每个派生类的构造函数都要为虚基类构造函数提供实参 B)多继承时有可能出现对基类成员访问的二义性问题 C)使用虚基类可以解决二义性问题并实现运行时的多态性 D)建立最派生类对象时,虚基类的构造函数会首先被调用(28)在一个类体的下列声明中,正确的纯虚函数声明是_A) virtual void vf()=0; B) void vf(int)=0;C) virtual int vf(int); D) virtual void vf(int) (29)在下面的运算符重载函数的原型中,错误的是_A) Volume operator - (double, double);B) double Volume:operator- (double);C) Volume Volume: :operator - (Volume);D) Volume operator - (Volume, Volume);(30)下列是模板声明的开始部分,其中正确的是_A) template<T>B) template<class T1,T2>C) template<class T1, class T2>D) template<class T1;class T2>(31)执行语句序列ofstream outfile("DATA.DAT");if(.) cout << "OK" else cout << "FAIL"后,如果文件打开成功显示“OK”,否则就显示“F厶n。”。由此可知,上面if语句的处的表达式应是_A )outfile.fail() 或 outfile B )outfile.good() 或 !outfileC )outfile.good() 或 outfile D )outfile.fail() 或 !outfile(32)C+流中重载的运算符>>是一个( ) A)用于输出操作的非成员函数 B)用于输入操作的非成员函数 C)用于输出操作的成员函数 D)用于输入操作的成员函数(33)有以下类定义class Point public: Point(int x = 0, int y = 0) _.x = x; _.y = y; void Move(int xOff, int yOff) _x += xOff; _.y += yOff; void Print() const cout << '(' << _x << ',' << _y << ')' << endl; private: int _x, _y;下列语句中会发生编译错误的是_A) Point pt; pt.Print();B) const Point pt; pt.Print();C) Point pt; pt.Move(l, 2); D) const Point pt; pt.Move(l, 2);(34)有以下类定义class MyClassprivate: int id; char gender, char *phone;public: MyClass():id(0),gender('#'),phone(NULL) MyClass(int no, char ge='#', char *ph= NULl.) id=no;gende=ge;phone=ph; ;下列类对象定义语句中错误的是_A) MyClass myObj;B) MyClass myObj(11, "");C) MyClass myObj(12, 'm');D) MyClass myObj(12);(35)有以下程序#include <iostream>using namespace std;class Complexpublic: Complex(double r =0, double i =0):re(r), im(i) double real() const return re; double imag() const return im; Complex operator +(Complex c) const return Complex(re+c.re, im+c.im); private: double re, im;int main() Complex a = Complex(l, 1) + Complex(5);cout << a.real() << '+' << a.imag() <<'i' << endl;return 0;程序执行后的输出结果是_A) 6+6i B) 6+1i C) 1+6i D) 1+1i二、填空题(每空2分,共30分) 请将每一个空的正确答案写在答题卡1-15序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。(1)算法的复杂度主要包括1 复杂度和空间复杂度。(2)数据的逻辑结构在计算机存储空间中的存放形式称为数据的 2 。(3)若按功能划分,软件测试的方法通常分为白盒测试方法3_ _测试方法。(4)如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在4 的联系。(5)关系数据库管理系统能实现的专门关系运算包括选择、连接和 5 。(6)设有定义语句:int a=12;,则表达式a*=2+3的运算结果是 6 。(7)从实现的角度划分,C+所支持的两种多态性分别是7 _时的多态性和运行时的多态性。(8)将个函数声明为一个类的友元函数必须使用关键字 8 。(9)请按下面注释的提示,将类B的构造函数定义补充完整。class A int a;public: A(int aa=0) a=aa; ;class B: public A int b; A c;public:/用aa初始化基类A,用aa+1初始化类对象成员cB(int aa): 9 b=aa+2; ;(10)下列程序的输出结果是 10 。#include <iostream>using namespace std;int main() int i = 5; int &r = i; r = 7; cout << i << endl; return 0;(11)下列程序的输出结果是 11 。#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:Count0 <<' ' Test tl, t2; Test* pT3 = new Test; Test* pT4 = new Test; cout << Test:Count0 <<' ' delete pT4; delete pT3; cout << Test:Count() << endl;return 0;(12)下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!=n*(n-1)*.*2*1)unsigned fact(unsigned n) if ( n<= 1)return 1; return 12 ; (13)下列程序的输出结果是 13 。#include <iostream>using namespace std;template<tytename T>T fun(T a, T b) return (a<=b)?:b;int main() cout << fun(3, 6) << ',' << fun (3.14F, 6.28F) << endl; return 0;(14)与成员访问表达式p->name等价的表达式是14 。(15)下列程序的输出结果是 15 。#include <iostream>using namespace std;class base public: int n; base(int x) n = x; virtual void set(int m) n = m; cout << n <<' 'class deriveA:public base public: deriveA(int x):base(x) void set(mt m) n += m; cout << n <<' 'class deriveB:public base public: deriveB(int x):base(x) void set(int m) n +=m; cout <<n << ' 'int main() deriveA dl(1); deriveB d2(3); base *pbase; pbase = &dl; pbase->aet(1); pbase = &d2; pbase->set(2); return 0;计算机等级考试二级C+笔试试题(2010年3月)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。(1)下列叙述中正确的是_A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n log2n)(2)算法的时间复杂度是指_A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是_A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是_A)诊断和改正程序中的错 B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误 D)确定程序中错误的性质(5)数据流程图(DFD图)是_A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于_A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是_A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是_A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的_A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系R得到关系T的操作是_A)选择B)投影C)交D)并(11)下列关于函数的描述中,错误的是_A)函数可以没有返回值B)函数可以没有参数C)函数可以是一个类的成员D)函数不能被定义为模板(12)若MyClass是一个类名,且有如下语句序列MyClass c1,*c2;MyClass *c3=new MyClass;MyClass &c4=c1;上面的语句序列所定义的类对象的个数是_A)1B)2C)3D)4(13)下列关于继承方式的描述中,错误的是_A)如果不显式地指定继承方式,缺省的继承方式是私有(private)B)采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员C)采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员D)采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员(14)将前缀运算符“-”重载为非成员函数,下列原型中,能正确用于类中说明的是_A)Decr& operator -(int);B)Decr operator -( Decr&,int);C)friend Decr& operator -(Decr&);D)frlend Decr operator -(Decr&,int);(15)若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列MyTempp2;MyTempp32;编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是_A)1B)2C)3D)0(16)在C+中,cin是个_A)类B)对象C)模板D)函数(17)在下列字符中,不允许作为C+标识符的是_A)bB)BC)_D)2(18)下列叙述中,错误的是_A)false是一个逻辑型常量 B)"b"是一个字符型常量C)365是一个int常量D)3.是一个double常量(19)若x和y是程序中的两个整型变量,则下列if语句中正确的是_A)if(x=0) y=1; else y=2;B)if(x=0) then y=1 else y=2;C)if(x=0) y=1 else y=2;D)if x=0 y=1; else y=2;(20)要定义整型数组x,使之包括初值为O的三个元素,下列语句中错误的是_A)int x3=0,0,0;B)int x=0;C)static int x3=0;D)int x=0,0,0;(21)关于函数中的<返回类型>,下列表述中错误的是A)<返回类型>中有可能包含关键字intB)<返回类型>中有可能包含自定义标识符C)<返回类型>中有可能包含字符*D)<返回类型>中可能包含(22)要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是_A)MyClass p=MyClass;B)MyClass p=new MyClass;C)MyClass &p=new MyClass;D) MyClass a,&p=a;(23)有如下两个类定义class XXprivate:double x1;protected:double x2;public:double x3;class YY:protected XXprivate:double y1;protected:double y2;public:double y3;在类YY中保护成员变量的个数是_A)1B)2C)3D)4(24)下列关于运算符重载的描述中,错误的是_A)可以通过运算符重载在C+中创建新的运算符B)赋值运算符只能重载为成员函数C)运算符函数重载为类的成员函数时,第一操作数是该类对象D)重载类型转换运算符时不需要声明返回类型(25)下列关于类模板的描述中,错误的是_A)类模板的成员函数都是模板函数B)可以为类模板参数设置默认值C)类模板描述了一组类D)类模板中只允许有一个类型参数(26)下列控制格式输入输出的操作符中,能够设置浮点数精度的是_A)setprecisionB)setwC)setfillD)showpoint(27)下列程序段中包含4个函数,其中具有隐含this指针的是_int fun1();class Testpublic:int fun2();friend int fun3();static int fun4();A)fun1B)fun2C)fun3D)fun4(28)有如下程序#include using namespace std;class Testpublic:Test() Test(const Test &t) cout<<1;Test fun(Test &u) Test t=u; return t;int main()Test x,y; x=fun(y); return 0;运行这个程序的输出结果是_A)无输出B)1C)11D)111(29)有如下程序#include using namespace std;class Apublic:A(int i=0):r1(i) void print() cout<<'E<<R1<<'-' void print() const cout<<'C'<<R1*R1<<'-' void print(int x) cout<<'P'<<R1*R1*R1<<'-'private:int r1;int main() A a1;const A a2(4);a1.print(2);a1.print();return 0;运行时的输出结果是_A)P8-E4B)P8-C16-C)P0-E4-D)P0-C16-(30)下列代码声明了3个类class Person;class Student:public Person;class Undergraduate:Student;下列关于这些类之间关系的描述中,错误的是_A)类Person是类Undergraduate的基类B)类Undergraduate从类Student公有继承C)类Student是类Person的派生类D)类Undergraduate是类Person的派生类(31)有如下程序#include using namespace std;Class Basepublic:Base(int x=0):valB(x) cout<<VALB; Base() cout<<VALB; private:int valB;class Derived:public Basepublic:Derived(int x=0,int y=0):Base(x),valD(y)cout<<VALD; Derived() cout<<VALD; private:int valD;int main()Derived obj12(2,3);return 0;运行时的输出结果是_A)2332B)2323C)3232D)3223(32)下面是类Shape的定义:class Shapepublic:virtual void Draw()=0;下列关于Shape类的描述中,正确的是A)类Shape是虚基类B)类Shape是抽象类C)类Shape中的Draw函数声明有误D)语句“Shape s;”能够建立Shape的一个对象s(33)将运算符“+”重载为非成员函数,下列原型声明中,错误的是_A)MyClock operator + (MyClock,long);B)MyClock operator + (MyClock,MyClock);C)MyClock operator + (long,long);D)MyClock operator + (long,MyClock);(34)打开文件时可单独或组合使用下列文件打开模式ios_base:app ios_base:binaryios_base:in ios_base:out若要以二进制读方式打开一个文件,需使用的文件打开模式为_A)B)C)D)(35)有如下程序:#include using namespace std;Class Bpublic:B(int xx):x(xx) +cout; x+=10;virtual void show() constcout<<COUNT<<'_'<<X<<ENDL; protected:static int count;private:int x;class D:public Bpublic:D(int xx,int yy):B(xx),y(yy) +count; y+=100;virtual void show() constcout<<COUNT<<'_'<<Y<<ENDL;< p> private:int y;int B:count=0;int main()B *ptr=new D(10,20);ptr->show();delete ptr;return 0;运行时的输出结果是_A)1_120B)2_120C)1_20D)2_20二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【l】【15】序号的横线上,答在试卷上不得分。(1)一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为 【1】 。(2)设某循环队列的容量为50,如果头指针front=45(指

    注意事项

    本文(计算机二级C++真题及答案(共33页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开