全国计算机等级考试二级C++历年真题及答案讲课稿.doc
《全国计算机等级考试二级C++历年真题及答案讲课稿.doc》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C++历年真题及答案讲课稿.doc(187页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Good is good, but better carries it.精益求精,善益求善。全国计算机等级考试二级C+历年真题及答案-公共基础知识及C+语言程序设计(考试时间90分钟,满分100)分)一、选择题(1)(35)每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)下面叙述正确的是A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)以上三种描述都不对(2)以下数据结构中不属于线性数据结构的是A)
2、队列B)线性表C)二叉树D)栈(3)在一棵二叉树上第5层的结点数最多是A)8B)16C)32D)15(4)下面描述中,符合结构化程序设计风格的是A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B)模块只有一个入口,可以有多个出口C)注重提高程序的执行效率D)不使用goto语句(5)下面概念中,不属于面向对象方法的是A)对象B)继承C)类D)过程调用(6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是A)可行性分析B)需求分析C)详细设计D)程序编码(7)在软件开发中,下面任务不属于设计阶段的是A)数据结构设计B)给出系统模块结构C)定义模块算法D)定义需求
3、并建立系统模型(8)数据库系统的核心是A)数据模型C)软件工具B)数据库管理系统D)数据库(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库设计是指设计数据库管理系统C)数据库技术的根本目标是要解决数据共享的问题D)数据库系统中,数据的物理结构必须与逻辑结构一致(10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是A)内模式B)外模式C)概念模式D)逻辑模式(11)关于面向对象的程序设计方法,下列说法正确的是A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B)“多态性”指的是对象的状态会根据运行时要求自动变化C)基类的私有成
4、员在派生类的对象中不可访问,也不占内存空间D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用(12)判断字符型变量ch是否为大写英文字母,应使用表达式A)ch=A&ch=ZB)ch=ZC)A=ch=A&chn;switch(n)case1:case2:cout1;case3:case4:cout2;break;default:cout3;时,若键盘输入1,则屏幕显示A)1B)2C)3D)12(15)下列程序的输出结果是#includeusingnamespacestd;intmain()chara=Hello,World;char*ptr=a;while(*ptr)if(*ptr=a
5、&*ptr=z)coutchar(*ptr+A-a);elsecout*ptr;ptr+;return0;A)HELLO,WORLDB)Hello,WorldC)hELLO,wORLDD)hello,world(16)已知:intm=10;在下列定义引用的语句中,正确的是A)int&x=m;B)inty=&m;C)int&z;D)int&t=&m;(17)下列函数原型声明中错误的是A)voidFun(intx=0,inty=0);B)voidFun(intx,inty);C)voidFun(intx,inty=0);D)voidFun(intx=0,inty);(18)已知程序中已经定义了函数
6、test,其原型是inttest(int,int,int);,则下列重载形式中正确的是A)chartest(int,int,int);B)doubletest(int,int,double);C)inttest(int,int,int=0);D)floattest(int,int,float=3.5F);(19)有以下程序#includeinti=0;voidfun()staticinti=1;std:couti+,;std:couti,;intmain()fun();fun();return0;程序执行后的输出结果是A)1,2,1,2,B)1,2,2,3,C)2,0,3,0,D)1,0,2,
7、0,(20)已知函数f的原型是:voidf(int*a,long&b);变量v1、v2的定义是:intv1;longv2;,正确的调用语句是A)f(v1,&v2);B)f(v1,v2);C)f(&v1,v2);D)f(&v1,&v2);(21)有以下类定义classMyClasspublic:MyClass()cout1;则执行语句MyClassa,b2,*p2;后,程序的输出结果是A)11B)111C)1111D)11111(22)关于友元,下列说法错误的是A)如果类A是类B的友元,那么类B也是类A的友元B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员C)友
8、元关系不能被继承D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元(23)关于动态存储分配,下列说法正确的是A)new和delete是C+语言中专门用于动态内存分配和释放的函数B)动态分配的内存空间也可以被初始化C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new(24)有以下程序#includeusingnamespacestd;classMyClasspublic:MyClass(intn)number=n;/拷贝构造函数MyClass(MyClass&other)number
9、=other.number;MyClass()private:intnumber;MyClassfun(MyClassp)MyClasstemp(p);returntemp;intmain()MyClassobj1(10),obj2(0);MyClassobj3(obj1);obj2=fun(obj3);return0;程序执行时,MyClass类的拷贝构造函数被调用的次数是A)5B)4C)3D)2(25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的A)公有成员和私有成员B)私有成员和保护成员C)公有成员和保护成员D)私有成员、保护成员和公有成员(26)在C+中用来实现运行时多态
10、性的是A)重载函数B)析构函数C)构造函数D)虚函数(27)一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是A)每个派生类的构造函数都要为虚基类构造函数提供实参B)多继承时有可能出现对基类成员访问的二义性问题C)使用虚基类可以解决二义性问题并实现运行时的多态性D)建立最派生类对象时,虚基类的构造函数会首先被调用(28)在一个类体的下列声明中,正确的纯虚函数声明是A)virtualvoidvf()=0;B)voidvf(int)=0;C)virtualintvf(int);D)virtualvoidvf(int)(29)在下面的运算符重载函数的原型中,错误的是A)V
11、olumeoperator-(double,double);B)doubleVolume:operator-(double);C)VolumeVolume:operator-(Volume);D)Volumeoperator-(Volume,Volume);(30)下列是模板声明的开始部分,其中正确的是A)templateB)templateC)templateD)template(31)执行语句序列ofstreamoutfile(DATA.DAT);if(.)coutOK;elsecout是一个()A)用于输出操作的非成员函数B)用于输入操作的非成员函数C)用于输出操作的成员函数D)用于输入
12、操作的成员函数(33)有以下类定义classPointpublic:Point(intx=0,inty=0)_.x=x;_.y=y;voidMove(intxOff,intyOff)_x+=xOff;_.y+=yOff;voidPrint()constcout(_x,_y)endl;private:int_x,_y;下列语句中会发生编译错误的是A)Pointpt;pt.Print();B)constPointpt;pt.Print();C)Pointpt;pt.Move(l,2);D)constPointpt;pt.Move(l,2);(34)有以下类定义classMyClassprivate
13、:intid;chargender,char*phone;public:MyClass():id(0),gender(#),phone(NULL)MyClass(intno,charge=#,char*ph=NULl.)id=no;gende=ge;phone=ph;下列类对象定义语句中错误的是A)MyClassmyObj;B)MyClassmyObj(11,13301111155);C)MyClassmyObj(12,m);D)MyClassmyObj(12);(35)有以下程序#includeusingnamespacestd;classComplexpublic:Complex(doub
14、ler=0,doublei=0):re(r),im(i)doublereal()constreturnre;doubleimag()constreturnim;Complexoperator+(Complexc)constreturnComplex(re+c.re,im+c.im);private:doublere,im;intmain()Complexa=Complex(l,1)+Complex(5);couta.real()+a.imag()iendl;return0;程序执行后的输出结果是A)6+6iB)6+1iC)1+6iD)1+1i二、填空题(每空2分,共30分)请将每一个空的正确答
15、案写在答题卡1-15序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。(1)算法的复杂度主要包括1复杂度和空间复杂度。(2)数据的逻辑结构在计算机存储空间中的存放形式称为数据的2。(3)若按功能划分,软件测试的方法通常分为白盒测试方法和3测试方法。(4)如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在4的联系。(5)关系数据库管理系统能实现的专门关系运算包括选择、连接和5。(6)设有定义语句:inta=12;,则表达式a*=2+3的运算结果是6。(7)从实现的角度划分,C+所支持的两种多态性分别是7时的多态性和运行时的多态性。(8
16、)将个函数声明为一个类的友元函数必须使用关键字8。(9)请按下面注释的提示,将类B的构造函数定义补充完整。classAinta;public:A(intaa=0)a=aa;classB:publicAintb;Ac;public:/用aa初始化基类A,用aa+1初始化类对象成员cB(intaa):9b=aa+2;(10)下列程序的输出结果是10。#includeusingnamespacestd;intmain()inti=5;int&r=i;r=7;coutiendl;return0;(11)下列程序的输出结果是11。#includeusingnamespacestd;classTestpu
17、blic:Test()cnt+;Test()cnt-;staticintCount()returncnt;private:staticintcnt;intTest:cnt=0;intmain()coutTest:Count0;Testtl,t2;Test*pT3=newTest;Test*pT4=newTest;coutTest:Count0;deletepT4;deletepT3;coutTest:Count()endl;return0;(12)下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!=n*(n-1)*.*2*1)unsignedfact(unsig
18、nedn)if(n=1)return1;return12;(13)下列程序的输出结果是13。#includeusingnamespacestd;templateTfun(Ta,Tb)return(a=b)?:b;intmain()coutfun(3,6),fun(3.14F,6.28F)name等价的表达式是14。(15)下列程序的输出结果是15。#includeusingnamespacestd;classbasepublic:intn;base(intx)n=x;virtualvoidset(intm)n=m;coutn;classderiveA:publicbasepublic:deri
19、veA(intx):base(x)voidset(mtm)n+=m;coutn;classderiveB:publicbasepublic:deriveB(intx):base(x)voidset(intm)n+=m;coutnaet(1);pbase=&d2;pbase-set(2);return0;2004年9月全国计算机等级考试二级笔试试卷公共基础知识及C+语言程序设计答案及评分标准选择题(1)(35)每小题2分,共70分)(1)C(2)C(3)B(4)A(5)D(6)B(7)D(8)B(9)C(10)A(11)D(12)D(13)C(14)D(15)A(16)A(17)D(18)B(1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 C+ 历年 答案 讲课
限制150内