《2021年四川省南充市全国计算机等级考试C++语言程序设计真题(含答案).docx》由会员分享,可在线阅读,更多相关《2021年四川省南充市全国计算机等级考试C++语言程序设计真题(含答案).docx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2021年四川省南充市全国计算机等级考试C+语言程序设计真题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .算法的时间复杂度是指OA.执行算法程序所需要的时间B.算法程序的长度C.算法执行过程中所需要的基本运算次数D.算法程序中的指令条数2 .下列叙述中,正确的是()。A.数据库的库结构包括数据库中各个记录的数据8 .数据库中的数据不仅仅是数值型数据C.数据库管理系统的主要功能是建立数据D.数据库文件的结构不能由系统自动生成3 .下面叙述错误的是()。A.基类的protected成员在派生类中仍然是protected的B.基类的protected成员在public派生类中仍然是
2、protected的C.基类的protected成员在private派生类中是privated的D.基类的protected成员不能被派生类的对象访问4 .关于动态联编的下列叙述中, 是错误的。A.动态联编是以虚函数为基础的int i=010, j=10 ;cout (+i) i- end!;return 0 ;)则该程序运行后的输出结果是【】。33 .需求分析的步骤是需求获取、需求描述、需求验证和【】。34 .类是一个支持集成的抽象数据类型,而对象是类的【】。35 .重载的运算符保持其原有的【】、优先级和结合性不变。四、程序改错题(10题)36 .使用VC+6. 0打开考生文件夹下的源程序文
3、件1. cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number= 1number= 10number= 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *errc)r*的下面。试题程序:#includeclassTC public:TC(inti) number=i;voidSetNumber(intm) number=m;intGetNumberconst returnnumber;)voidPrintconst coutnnumber=Hnumberendl;private:intnumber;);voidmai
4、nTCobjl;objl. Print;TCobj2(3);vl*vi*个个个个个个个个个个个个个个个个objl. number=10;1 I * enor* * *TC. SetNumber(lOO);objl. Print;obj2. Print; )37 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为error0ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *error*的下面。试题程序:#include
5、1* kJ *11*kJ* *J kJ 1* k1 *1个个个个个个个个noi*个个个个个个个个catch(coutnERRORnendl ;returnO ;38 .使用VC + +6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0,Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include(iostream . h)classTCinti ;public :TC ;voiddisplay ;-TC ;);1*vl*q、errorTC : TC co
6、utnConstructornn, i=0;TC :display toutni=nin, nendl ;*1*个可不不不个eppor个个个不不不TC : TCCOUInDestructornendl :voidmain(TCa ;a . display ;39 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可 能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。试题程序:#inc
7、lude voidmain inti=O;charstr120;coutnEnterastringendwith?. nendl ;cin. getline(str, 120);个个个个个个个个个个个个个个个个while(str)vl*J *1 vi*个个个个个个个个个个个个 *个个*if(stri)=a)stri=stri-a+A;i+ + ;coutstrendl ;return ; )40 .使用VC+ + 6 .0打开考生文件夹下的源程序文件1 .cppo本程序要 求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输 入多行,当输入字符“?”时,默认字符输入结束,最后把结果输
8、出到屏幕 中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include voidmain(inti=O ;charstr120;coutnEnterastringendwith? . nendl ;*1vl* 1*个个个个不不小个个不不不不个个cin . getline(str, 120);个个个个小个个个nor个个小个个个个个whilc(str) stri=stri-a + A ;i+ + ;coutstrendl ;return ; )41 .使用VC+ +6 .0打开考生文件夹下的源程序文件1 .cpp,该
9、程序运 行时有错误,请改正程序中的错误,使得程序输出:9, 8, 7, 6, 5注意:错误的语句在/ *error* /的下面,修改该语句即 可。其他的语句不能修改。试题程序:#include(iostream . hclassTC (vL* *1*/不不不不不不不不eu*or不平下不不不少不/TC(inti) (m_i=i ;)voidprint (coutm_i,;)public :intm_i ;intmainerrorinti ;TC04(10); while(i5)! * *ej*!*r* * * !i+ + :04 . print ; ) coutendl ;returnO ;42
10、.使用VC+6. 0打开考生文件夹下的源程序文件 1.cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入一个字符串,并将结果保存到文件1.txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在* error* * 白勺 卜 H jo试题程序:#include#includevl* vl*vl*个个个个个个个个rror个个个*个个个个usingstd;voidWriteFile(char*s)(ofstreamoutl ;/不不不不不不不不error不不不不少不不不outl. open(l. txt, binary|app);f
11、or(inti=0; si!=0; i+)(/ 7 7 7 7,7 7 77 7,7,7 7 7 7,7,/不不不小不不不不error不不小不不不不不outl. puts(si);)outl. close;)voidClearFile(ofstreamoutl ;outl. open(nl. txt);outl. close;)intmain(chars 024;ClearFile;coutnpleaseinputastrin9 :nendl;cin. getline(s, 1024);WriteFile(s);returnO ;B.动态联编调用虚函数操作是指向对象的指针或引用C.动态联编是在
12、运行时确定所调用的函数代码的D.动态联编是在编译时确定操作函数的5 .下面程序的运行结果是 #includeiostream.h #define sum(a, b) a*b void main() int x ; x=sum(l+2, 3) ; cout x ; )A.O B.9 C.7 D.56 .设有二元关系R和三元关系S,下列运算中合法的是A.RPS B.R U S C.R-S D.RxS7 .存在定义inta10, x, *pa ;,若pa=&a0,下列的哪个选项和其他3 个选项不是等价的?A.x=*pa ; B.x=*(a+1) ; C.x=*(pa+1) ; D.x=al;8 .若
13、有语句int*point, a=4 ;和point二&a ;下面均代表地址的一组选项 是A.a, point, *&aB.&*a, &a, *pointC.*&point, *point, &aD.&a, &*point, point9 .有如下函数模板声明:template T Max(T a,T b)return(a -b)?a:b;下列对函数模板Max()的调用中错误的是()043.使用VC + + 6 . 0打开考生文件夹下的源程序文件 1 . cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现 的功能为从键盘输入一个字符串,并将结果保存到文件1 . txt中。注意:不要改
14、动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在kL* kJ*rr*的下面。试题程序:#include#include个个个个个个个个nor个个个个个个个usingstd ;void WriteF ile(char * s)(ofstreamoutl ;/不不不不不不不不error不不不不不不不不outl . open(Hl . txt,binary|app);for(inti=0 ; si!=0 ; i + +)个个个个个个个个个个个个个个个个outl . puts(si);)outl . close ;)voidClearFile ofstreamoutl ;outl
15、 . open(nl . txt);out! . close ;)intmain(chars 1024;ClearFile ;coutnpleaseinputastrin9 :nendl ;cin . getline(s, 1024);WriteFile(s);returnO ;)44 .使用VC+6.。打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为errorOERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *error*的下面。试
16、题程序:#include k! 1J *1 *J *1 vl* *J *1个个个个个个个个rror个个*个个个个个catch(chars) coutsendl;throw(int)0);个个个个个个个个nor个个个个个个个小catch coutiendl;) try throw(O);throw(nerrorn);kI*vt*vl* kL*个不不不不不不不noi*不不不不不不不不catch coutnERRORnendl;returnO ;45 .使用VC+ +6.0打开考生文件夹下的源程序文件1.cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number= 1nu
17、mber= 10number=100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *error*的下面。试题程序:#includeclassTC (public :TC(inti) (number=i ;)voidSetNumber(intm)(number二m ;)intGetNumberconst (returnnumber ;) voidPrintconst(coutnnumber=nnumberendl ;)private :intnumber ;voidmain!*kL* vi*!* *x*vi* *x*不小个个不不小小nor个个个不不小不个
18、TCobjl ;objl . Print ;TCobj2(3);kL* 个个个个个个个个nor个个个个个个个个objl . number= 10 ;! 1 * eno* * *TC . SetNumber(lOO);objl . Print ;obj2 . Print ;五、综合应用题(2题)46 .使用VC+6. 0打开考生文件夹下的源程序文件3. cpp。其中定 义的类不完整,按要求完成下列操作,将类的定义补充完整。每卖出 一个水果,则计算水果的重量,还要计算所有卖出水果的总重量以及 总个数,同时允许退货,请按照以下的操作,把类补充完整。定义类TCFruit的私有静态数据成员float型变
19、量AllWeight和int型 变量AHN0,请在注释1后添加适当的语句。(2)完成类TCFruit的带一个float型变量w的构造函数,并把这个w加 到AHWeight中,并且AHNo自加。请在注释2后添加适当的语句。(3)在析构函数中,在AllWeight中减去weight,然后AHNo自减,请在注释3后添加适当的语句。(4)完成静态成员变量的初始化为0,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其 他的程序代码。试题程序:#include(iostream. h classTCFruit private:floatWeight;staticin
20、tAHNo;public:TCFruit(floatw)/JAllWeight+=w:A11NO+ + :TCFruit/k!/*4* *7*4rj* rj* rywA11W eight-=W eight : voiddisplaycoutnSellaFruitwithnWeightnk9H endl;coutAllsellnumber:nAllNoendl;coutnAllsellweight:nAllWeightnk9n endlendl ;I I *4* floatTCFruit: AllWeight=O. 0;intmain(TCFruitFruitl( 1. 2);Fruitl. d
21、isplay;TCFruitFruit2(2. 3);Fruit2. display;returnO;)47.请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程 proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个 类的赋值运算符成员函数Operator,以实现深层复制。要求:补充编制的内 容写在* *333 *与 “*666*”之间o 不得修改程序的其他部 分。注意:程序最后将结果输出到文件out. dat中。输出函数writeToFile已经编译为。bj文件,并且在本程序中调用。/CDeepCopy. h#include #includeusing nam
22、espace std;class CDeepCopy (public:intn;动态数组的元素个数int *p;动态数组首地址CDeepCopy (int);CDeepCopy;CDeepCopy&operator=(const CDeepCopy&r) ; /赋值运算符函数;void writeToFile(char);/main. cpp#include,CDeepCopy. hCDeepCopy: CDeepCopydeleteP; CDeepCopy: CDeepCopy(int k)n=k; p=new intn;构造函数实现CDeepCopy&CDeepCopy : Operato
23、r=(const CDeepCopy&r)赋值运算符函数实现/ / /rT rT* rr*4 4 rT*T* *T*rT%/ /1* I* vikF / / /vtvi* vt*/ /不不不不不不不不不可不Chh,不不不不不不不不不不)int mainCDeepCopy a(2),d(3);a. pO=l; d. pO=666;对象a, d数组元素的赋值 (CDeepCopy b(3);调用赋值运算符函数a. pO=88; b=a;coutb. p0;显示内层局部对象的数组元素 )coutd. p0;显示d数组元素a. pO的值coutd fade away; rT;couta. p0;显示a
24、数组元素a. p0的值writeToFile,);return 0 ; )六、3.综合应用题(2题)48.使用VC6打开考生文件夹下的工程test29_3o此工程包含一个 test29_3.cpp ,其中定义了二维坐标类Coordinate和三维坐标类 ThreeDCoord,其中 ThreeDCoord 类由 Coordinate 类 public 派生,但两 个类的定义并不完整。请按要求完成下列操作,将程序补充完整。定义类Coordinate的保护数据成员x和y,它们都是int型的数据, 代表二维坐标的横纵坐标值。请在注释“*1 *”之后添加适当的语句。 根据类Coordinate定义后的
25、成员函数Display的实现,补充该函数在 类Coordinate定义体内的声明,Display为二维坐标类的虚函数。请在注 释“*2*。,之后添加适当的语句。(3)完成二维坐标类Coordinate的构造函数,将参数a和b分别赋值给数 据成员x和yo请在注释“*3*”之后添加适当的语句。(4)根据ThreeDCoord类构造函数的声明,补充ThreeDCoord构造函数 的实现,参数a和b通过调用基类的构造函数来初始化基类的数据成员 x和y, c赋值给数据成员2。请在注释“*4*”之后添加适当的语句。 输出结果如下;1, 2 3, 4, 5注意:除在指定位置添加语句之外,请不要改动程序中的其
26、他内容。源程序文件tese9_3.cpp清单如下:#include class Coordinateprotected:* *public:Coordinatc(int a=0, int b=0);* 2 *);Coordinate:Coordinate(int a, int b)* 3 *A.Max(3.5,45)B.Max(3.5,4)C.Max (3.5,4.5)D.Max (3.5,4)10.在C+中,打开一个文件就是将这个文件与一个()建立关联;关闭 一个文件就取消这种关联。A.类B.流C对象D.结构二、单选题(13题)1L关于关键字class和typename,下列表述中正确的是(
27、)。A.程序中的typename都可以替换为classB.程序中的class都可以替换为typenameC.在模板形参表中只能用ypename来声明参数的类型D.在模板形参表中只能用class或typenanle来声明参数的类型12 .数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机 中的表示,它属于数据库设计的A.需求分析阶段B.逻辑设计一阶段C.概念设计阶段D.物理设计阶段13 .在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。A.外模式B.内模式C.概念模式D.逻辑模式)void Coordinate: :Display() const (cout T x n
28、y T endl;)class ThreeDCoord:public Coordinate (int z;public:ThreeDCoord(int a=0, int b=0, int c=0);virtual void DisplayO const;);* 4 *void ThreeDCoord:Display() const (cout T x n, n y z T endl;)void main () (Coordinate c(l, 2);ThreeDCoord t(3, 4, 5);c.Display ();t.Display (); )49.使用VC6打开考生文件夹下的工程tes
29、tl5_3o此工程包含一个 testl5_3.cpp,其中定义了类 Time 和 Timex, Timex 公有继承 Time,但 定义并不完整。请按要求完成下列操作,将程序补充完整。(1)完成类Time构造函数的定义,将数据成员hours和minutes分别初始 化为参数new_hours和new_minutes的值。请在注释“*1*”之后添加 适当的语句。完成类Timex的构造函数的定义,注意参数的传递。请在注释“*2*” 之后添加适当的语句。(3)请按时间格式“hour : minute”和“hour : minute : second”分别输出对象 timel和time2所表示的时间,
30、注意必须使用已经定义的成员函数。请在 注释“ *3*,之后添加适当的语句。输出结果如下:20 : 3010 : 45 : 34注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。源程序文件testl5_3.cpp清单如下:#include class Time(public :Time(int new hours, int new_minutes)mt get_hours();int get_minutes();protected :int hours, minutes ;);int Time : get_hours()(return hours ;)int Time : get_mi
31、nutes() return minutes ; )class Timex : public Time (public :Timex(int new hours, int new_minutes, int new_seconds);int get_seconds();protected :int seconds ;); * 2 * (seconds=new seconds ;)int Timex : get_seconds()(return seconds ;)void main() (Time time 1(20, 30);Timex time2(10, 45, 34);/ * 3 *)参考
32、答案1.C解析:算法的时间复杂度实际上就是执行算法程序所需要的计算工 作量。为了客观地反映算法性能,在度量算法的时间复杂度时,应该与 编写算法程序所使用的程序设计语言、执行算法程序时所使用的计算的 工具以及程序员的水平无关。选项A错误,因为同一算法程序在运行速 度不同的计算机上运行时,其计算时间是不同的。选项B错误,因为算 法所编写的程序长度往往与程序设计语言以及程序员的水平有关,同一 个算法,用不同的程序设计语言或者不同的程序员所编写出的程序其长 度可能会大不相同。选项D错误,因为根据一个算法所编制出的程序之 中,其指令条数往往与程序设计语言以及程序员的水平有关,不能用算 法程序中的指令条数
33、来度量算法的时间复杂度。所以,本题正确答案为 Co2.B解析:数据库的库结构是指数据在存储介质内的存放形式。数据库 中的数据可以是合法的任意数据类型,而不仅仅是数值型数据。数据库 管理系统的功能主要有数据模式定义、数据存取的物理构建、数据操纵、 数据的完整性、安全性定义与检查、数据库的并发控制与故障恢复和数 据的服务。数据库文件的结构可以由系统自动生成。3 .A4 .A5 .C解析:理解宏定义,sum(a, B a*b中a为1 +2, b为3,故 sum(l+2,3)= 1+2*3,即宏定义的替换过程是原样替换。注意:选项B的 计算方法是(1+2)*3=9是错误的,注意,不要随意的加括号。注意
34、:宏 定义与函数的区别。6 .D解析:在并(U)、交)、差(一)三种运算中,都要求参加运算的两个 关系具有相同的属性名表,其运算结果电与它们具有相同的属性名。即 它们的表框架是相同的。由此可以看出,本题给出的两个关系R与S其 表格框架是不同的(R是二元关系,S是三元关系),因此,它们不能作并 (U)、交(0)、差(一)这三种运算。而两个不同框架的关系是可以作笛卡 尔积(x)运算的。7 .A解析:本题考查的是数组和指向数组的指针之间的关系,选项A)中 x是被数组a的第一个元素赋值,其余的都是被数组a的第二个元素赋 值。8 .D本题主要考查指针变量对数值的引用。在题目中,首先定义了整型 指针变量p
35、oint和一个整型变量a,变量a的初值为4,然后是指针变量 指向a,或者说将变量a所在存储单元的地址值赋给指针变量。在选项A中,很显然,不全是地址,只有point表示地址,而*&a等价 于* (&a),表示取一个数值。在选项B中,也不都表示地址,其中*point表示数值,其他两个表示地 址。在选项C中,与选项B类似,其中的*point表示数值。在选项D中,都表示地址,是题目的选择答案。9 .B解析:此题考查的是函数模板的引用。引用模板函数和引用一般函 数在语法形式上基本相同。需要注意的是说明一个函数模板后,当编译 系统发现有一个对应的函数调用时,将根据实参中的类型来确认是否匹 配函数模板中的对
36、应形参。本题选项B)中,编译系统从第一个参数“3.5” 获得信息“double型数据”和从第二个参数获得信息“int型数据”两者矛 盾,错误;A、选项C)正确:选项D)中,函数名后的 double 是模板 实参表,编译系统会将血 型的形参“4”自动转化成double类型。10.B11 .A程序中的typename都可以替换为class,但程序中的class不可以全部 替换为typename。在模板类型形参中除了 typename和class以外,也 可以用常规类型来声明参数的类型,所以C、D选项错误。12 .C13.B数据库有三层模式结构,逻辑模式是数据的全局逻辑结构的描述, 外模式也称为子模
37、式,是局部数据的逻辑结构描述,而内模式也称为存 储模式,是数据库物理存储结构和存取方法的描述。14 .CCo【解析】本题主要考查类对象的定义,类的对象一般放在类结构体 外或在主函数中定义,而不能放在类定义的结构体中,但自身类的指 针可以,本题BBv3不能被定义于类体内。15 .Cco【解析】data是两个结构体组成的数组,p指向结构体数组的首 地址,p-y访问第一个结构体的第二个元素;(+p)x访问第二个结 构体的第一个元素。所以输出为10, 2o16 .D本题主要考查的是switeh语句的使用,在第一个ease处,因为满足条 件所以输出字符3,但这个分支没有break语句终1E,所以会继续执
38、 行下面的分支语句,即输出字符2,这时出现break语句,结束整个语 句,即输出32。17 .D本题考查的知识点是:类的构造。建立一个类的对象时,构造函数的 执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承时声明的顺序 (自左向右);执行成员对象的构造函数,调用顺序按照各个成员对象在类中声明 的顺序(自上而下):(如果一行声明了多个对象,则还要遵循自左向右) 执行自身的构造函数。本题Derived类继承于Base类,所以首先会构造基类Base,但 Derived类的构造函数没有初始化列表,所以将调用Base类的默认构 造函数,输出一个0。接下来由于它的成员中还定义了一个Base类的
39、 对象,而构造函数也没有显示初始化这个对象,所以再次调用Base类 的默认构造函数输出一个0。最后构造自身,因为主函数中传入了构造 参数1,所以构造自身时输出了一个1。故最终输出结果为001,应该 选择D。18 .A解析在C+中,成员函数可以是内联函数,也可以是非内联函数。 在类定义体内定义和实现的函数都是内联函数。在类定义体外实现的函 数可以通过在函数说明和定义上分别加上inline来表示该函数是内联函 数,否则就不是内联函数。19 .CCo【解析】标识符的概念只能由数字、字母和下画线组成,并且只能以字母和下画线开头,所以选项C不正确。20.D解析:定义了 3个Name的对象,前2个定义带参
40、数,执行第二个构 造函数输出“?”,第三个定义没带参数,执行第一个构造函数也输出 “?”; 一共输出3个“?”,故选D)。21.D字符型数据在计算机内部是以ASCII码存储的,英文大写字母和小写 字母在ASCII码表中都是连续的。大写字母Az是从6590,小写 字母az是从97122。所以只要变量c大于等于a并月小于等于z 就能保证其为小写字母。22.DDo【解析】本题考查的是友元类的定义:类A为类B的友元类,则 类A的所有成员函数都是类B的友元函数,但反之则不一定成立。23 .A解析:C+语言中setfill的意思是在空格的地方填上setfill函数中 的参数字符,setw的意思是设置整个输
41、出字符串的字符个数,本题中用 *来代替空格。24 .关系关系25 .类类解析:本题考查的是类模板的定义,C+语言中模板分为两种: 类模板和函数模板,类模板只能用于类型参数,函数模板可以重载。26.1010解析:本题考查全局变量的使用。全局变量被系统默认初始化 为0,故在执行a=a+sum-a();语句时,首先执行sum_a函数,将a的 值改变为5,该函数的返回值也是5,故最后a的值被赋值为10。27 .cout(Base:acoutBase:a解析:本题考核作用域分辨符”:的使用。28 .析构析构29 .拷贝构造拷贝构造解析:本题考核拷贝构造函数的定义。拷贝构造 函数是一种特殊的成员函数,它的
42、作用是使用一个已存在的对象来初始 化一个被创建的同类的对象。30 .删除删除解析:在链表中进行插入和删除操作的效率比在顺序存储 结构中进行相同操作的效率高。只需要改变指针指向即可。31 .7 8 932.9109, 10解析:本题考核自增运算符和自减运算符的使用以及常量 的表示形式。程序中i的值是八进制,代表十进制中的8, +i是在语句 运算前自身加1,而j-是在语句运算结束后减1。33 .需求分析需求分析解析:需求分析的步骤是需求获取、需求分析、 需求描述和需求验证。34 .实例实例解析:将属性、操作相似的对象归为类,也就是说,类是 具有共同属性、共同方法的对象的集合。所以,类是对象的抽象,对象 则是其对应类的一个实例。35 .操作符个数操作符个数解析:本题考查的是运算符重载的概念,用 户重新定义的运算符不改变原运算符的优先性和结合性,也不改变运算 符的语法结构.也就是说重载运算符不会产生新的运算符。36 .(1)应改为TCobjl(l);(2)应改为“Objl. SetNumber(lO);(3)应改为“0bj2. SelNumber(lOO);。【解析】本题第1处的“TCobjl;”语句是声明TC类的对象Objl,根据 TC类构造函数的定义TC(inti),存在整型参数,并且题目要求第一个 输出结果两1,所以补全参数1,即第