《2022年广东省韶关市全国计算机等级考试C++语言程序设计真题(含答案).docx》由会员分享,可在线阅读,更多相关《2022年广东省韶关市全国计算机等级考试C++语言程序设计真题(含答案).docx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2022年广东省韶关市全国计算机等级考试C+语言程序设计真题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .以下关于C+语言类的说法中正确的是()。A.C+语言的默认访问权限是privateB.C+语言中的类定义,用户一定要自己定义一个构造函数用于实例化类C.C+语言中的成员函数的实现部分一定要写在类定义外D.C+语言中的类不能够嵌套定义2 .下面是关于静态成员的说法,其中不正确的是()。A.静态函数没有this指针B.同一个类的不同对象拥有相同的静态数据成员C.静态数据成员的初始化必须在类外进行D.静态函数可以访问所有数据成员3 .下列程序的输出结果是 #inClUde ih
2、t b=2 ; int funC(int*a) b+二*a ; return(b) ; void main() inta=2, res=2 ; res+=func(&a);cout res ; A.4B.6C.8 D.10)void main()(func(10);func(20); )28 .在面向对象方法中,类之间共享属性和操作的机制称为】。29 . C+在重载运算将中,如用成员函数重载一元运算符参数表中需要个参数,如用友元函数重载一元运算符参数表中需要 个参数。30 .一棵二叉树第6层(根结点为第一层)的结点最多为 个。31 .下列程序的运行结果是【o#include class Bas
3、e(public:virtual void func(int i)cout class Base: i endl;);class Derived: public Base(public:void func(double d)cout class Derived:H d endl;);void main()(Base a, *p=&a;Derived b;p=&b;(* p).func(3.3);)32 .一棵树的广义表表示为 a(b(c, d(e, f), g(h), i(j, k(x, y),结点f的层数为【】。假定树根结点的层数为0。33 .转义字符序列中的首字符是字符。34 .在数据库的
4、概念结构设计中,常用的描述工具是】。35 .下列程序的输出结果为2,请将程序补充完整。#include using namespace std;class Base(public:void fun() cout 1;);class Derived: public Base (public:void fun() cout fun();delete p;return 0;)四、程序改错题(10题)36 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为error0ERR
5、OR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *errc)r*的下面。试题程序:#includeiostream. h)intmain( try (throw(nerrorn);)/不不不不不不不不error不不不不不不不不catch(chars)(coutsendl ;) try (throw(int)0);)/不不不不不不不不error不小不不不不不不catch coutiendl;) try (throw(O);throw(nerrorn);7,7,个个个个个个个个个个个个个个个个catch(coutnERRORnendl;)returnO
6、;)37 .使用VC+ +6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number= 1number=10number=100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/error的下面。试题程序:#include classTC public :TC(inti) (number=i ;) voidSetNumber(intm) (number=m ;) intGetNumberconst(returnnumber ;) voidPrintconst (coutnnumber=nnum
7、berendl ;)private :intnumber ;);voidmain(/不不不不不不不不error不不不不不不不不TCobjl ;objl . Print ;TCobj2(3);/不下不不不、下不error下不不不少不不不objl . number= 10 ;/ * enor* 0 * *TC . SetNumber(lOO);objl . Print ;obj2 . Print ;38 .使用VC + +6.0打开考生文件夹下的源程序文件1 .cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输 入多行,当输入字符“?”时,默认字符输入结束,最后把结果输
8、出到屏幕 中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include voidmain inti=0 ;charstr120;coutnEnterastringendwith? . nendl ;个个个个个个个个nor个个个个个个个个cin . getline(str, 120);7,7“7,7while(str)k1 kI个个个个个个个个个个个个个个个个if(stri)=a)stri=stri-a + A ;i+ + ;coutstrendl ;return ;39 .使用VC+6. 0打开考生文件夹下的源程
9、序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0,Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include(iostream. h)classTC (inti;public:TC;voiddisplay;TC;);/不不不不不不error不不不不不不TC:TCcoutnConstructornn, i=0;k1 kJ7,1 1*k! kL 7“ 7,1不不小小不不enor不不不不小不TC : display toutni=nin, nendl;*# *2# *X# 不可不不不
10、不eu*or不不可不不不TC:TCCOUInDestructornendl :)voidmain(TCa;a. display; )40 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错。请改正程序中的错误,使程序输出的结果为1003732注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include/不不不不不不erroi*不不不不不不 voidmain( / 1#/不下不不不不error不小不不不不intm=0142:/ k1 k! kI7,1、! 7,7,1/不不小小个不error不不不不不不intn=0X27 :intq=32;c
11、out m endl;cout n endl ;cout q classCO public:*1个个个个个个个个个个个个个个个小staticintn=O:CO n+ + :CO n-:):个个个个个个个个个个个个个个个小intCO: n;voidmainCOobj ;COobj27;CO*C=NULL:c二 & obj :个个个个个个个个n*or个个个个个个个个eoutC . nendl ;coutC0:nendl;4 .不能作为函数重载的判断依据的是()A.constB.返回类型C.参数个数D.参数类型5 .有如下数组声明:intnum10;,下标值引用错误的是()。A.num10 B.nu
12、m5 C.num3 D.num06 .下列关于严格控制got。语句使用的理解中,错误的是()。A.用一个非结构化的程序设计语言实现一个结构化的构造B.若不使用goto语句会使功能模糊C.在某种可以改善而不是损害程序可读性的情况下D.goto语句可以完全不用7.下列表示引用的方法中,()是正确的。已知:intm=l。:A.int &x=m ;B.int &y=10 ;C.int &ZD.float &t=&m ;8 .使用操作符setw对数据进行格式输出时,需要包含 头文件。 9 .将小写字母h赋值给字符变量ch,正确的操作是()。A.ch=n B.ch=110 C.ch=n D.ch=N10
13、.在最坏情况下,冒泡排序所需要的比较次数为A.n/2 B.(n+l)/2 C.n(n-l)/2 D.n(n+l)/242 .使用VC+ +6.0打开考生文件夹下的源程序文件1 .cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0,Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include(iostream . h)classTC (inti ;public :TC ;voiddisplay ;TC ;TC : TC coutnConstructornn, i=0;vL*不下不不个个epj*
14、or个个个个不不TC : displaytoutni=nin, nendl ;TC : TCCOUInDestructornendl :voidmainTCa ;a . display ;43 .使用VC+6. 0打开考生文件夹下的源程序文件L cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number= 1 number=10 number= 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include classTC public:TC(inti) number=i;)voidS
15、etNumber(intm) number=m ;)intGetNumberconst returnnumber;)voidPrintconst coutn number=n numberendl ;private:intnumber;voidmain个个个个小个个个nor个个小个个个个个TCobjl;objl. Print;TCobj2(3);7,、! 7,k! 7个个个不不不下不rror个个个小个个个个objl. number= 10;I ! * error* *TC. SetNumber(lOO);objl. Print;obj2. Print;44 .使用VC+6. 0打开考生文件夹下
16、的源程序文件1.cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可 能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include voidmain inti=O;charstr120;coutnEnterastringendwith?. nendl ;*个个个个个个个个nor个个小个个个个个cin. getline(str, 120);7 77,7个个个不不个个个不不不不不不不不while(str)7,7,k! 7,
17、不下不不不不不*r*个个个个个个个不if(stri)=a)stri=stri-a+A;i+ + ;)coutstrendl ;return ;)45 .使用VC + +6.0打开考生文件夹下的源程序文件1 .cpp,该程序运 行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果 为:sizeof(Sl)=5sizeof(s2)=10sizeof(s3)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。不能删除assert ()语句。只能修改后面的数字。提示:assert函数如果为假,则会产生一个中断异常。试题程序:#
18、include #includevoidmain ()(charts l=nabcn:/不不不不不不不不error不不小不不不不不assert(sizeof(s 1 )=3):coutnsizeof(sl)=5nendl ; chars210=nabn:/ sX*slsl sfX sX/不不不不不不不不error不不不不不不不不assert(sizeof(s2)=2);coutnsizeof(s2)=10nendl ;chars3=23 :/不不不不不不不不error不不不不不不不不assert(sizeof(s3)=4);cout,sizeof(s3)=r,endl ;return ; )五
19、、综合应用题(2题)46 .应添加“BA(intm)a=m ; ”。(2)应添力“PAl(iiitm, intn) :BA(n)b=m ; “。(3)应添力 HPA2(intm, intn, intk) : PAl(n, k)C=m ;)”。(4)应添力口(。111:8180砧(2询;”。【解析】根据第1处要求,构造函数的函数名和类名一致,显然BA构 造函数的名称为BA,在BA中通过参数m完成对成员变量a的赋值, 因此构造函数的名称为BA(intm),在函数内部对成员a赋值,故第1处 的语句应添加“BA(intm)a=m ;):根据第2处的要求,构造函数的形式 为“PAl(intm, intn
20、)”, m赋值给PA1类成员b,将n作为基类BA构造函数的参数值传入,故第2处应添力“PAl(intm, intn) :BA(n)b=m ; 的 根据第3处的要求,函数形式为PA2(intm, intn, intk),在构造函数中 将m赋值给数据成员c,将n和k分别赋值给基类PA1构造函数的参 数 m 和 n,因此第 3 处应添加“PA2(intm, intn, intk) PAl(n, k)C=m 根据第4处的要求,PA2类公有派生于PAI,而PA1公有派生于BA, 因此在PA2类中可以调用基类的geta和getb来获得基类私有成员a和 b,再输出PA2的私有成员C即满足要求,因此第4处应添
21、加 t4coutgetagetbCendl ; ,s047 .使用VC+6. 0打开考生文件夹下的源程序文件3. cpp。类 People包括姓名和年龄两个字段。函数fun获得年龄比较大的人的姓 名,然后输出这个姓名到屏幕。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完 整。完成类的构造函数功能,请在注释1后添加适当的语句。完成构造函数对姓名的赋值,请在注释2后添加适当的语句。定义类的友元函数fun,请在注释3后添加适当的语句。(4)补充函数fun的年龄比较功能,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其 他的程序代码。试题程序:#in
22、cludeclassPeople public:inti;for(i=0; sUserNamei!=O; i+ +) m_UserNamei=sUserNamei;/k!/Tw rT* J rj* rT*m_Old=nOld ;private:charm_U serN ame 3 2;intm_01d;/.、rj.q,);voidfun(char*s, People & personl,People & person21 I *4* if for(inti=0; personl. m_UserNamei! =0; i+ si=personl . m_UserNamei;si+l=0;else(
23、for(inti=0 ; person!. m_UserNamei! =0 ; i+ )si=person2. m_UserNamei;si+ l-0;)voidmain(chars32;Peoplepl(abc,20);Peoplep2(def, 30):fun(S, pl,p2);coutsendl:return ; 六、3.综合应用题Q题)48.使用VC6打开考生文件夹下的工程MyProjM。此工程包含一个源程 序文件MyMainl4.cpp,程序中定义了 3个类A、B和C,但类的定义并 不完整。请按要求完成下列操作,将类的定义补充完成:类A的成员函数set x(int i,int j)
24、是虚函数,其实现的功能是将类A的保护成员x和y分别设置成i和j并且y具有默认值0。请在注释* *1*之后添加适当的语句。将类A的成员函数print。声明成员纯虚函数。请在注释“/* *2* *之 后添加适当的语句。完成类A的保护数据成员x和y的定义,它们都是整型变量。请在注 释,* *3* *之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件MyMainl4.cpp清单如下:/MyMainl4. cpp#include using namespace std; class A ( public: * * * * * * * * * 2 * * * pro
25、tected: * * * 3 * * * );class B : public A ( public: void print () (cout X * X n, n;) ); class C : public A二、单选题(13题)11.数据库系统的核心是()A.数据库B.数据库管理系统C.模拟模型D.软件工程15.设有int x=ll;,则表达式(x+ *2/3)的值是(12. A. 7B.8C. 11D. 1213 .关于函数的返回值,正确的是()。A.由return语句返回时,只带回一值,其类型在函数定义时确定B.其类型由调用表达式决定C.函数可以没有返回值,这时在函数定义中,函数的类
26、型说明就没必要7D.函数调用就要有返回值,否则调用就没有意义了14 .关于内联函数的说法,不正确的是()。A.在说明类的同时定义成员函数,则函数隐含为内联函数B.也可在类外用inline关键字对成员函数进行说明,则该函数也为内联 函数C.当内联函数被调用时,内联函数的代码在调用处被展开D.当内联函数被调用时,内联函数将返回结果15 .在对象方法中,一个对象请求另一个对象为其服务的方式是通过发送 public: void print () (cout x*x*x setx (5);pa- print ();pa=&c;pa- setx (2);pa- print ();return 0; )49
27、.使用VC6打开考生文件夹下的工程test42_3o此工程包含一个 test42_3.cpp,其中定义了 类 Cpolygons COutput 和 CTriangle,其中 CTriangle类由Cpolygon和COutput类public派生,但三个类的定义并 不完整。请按要求完成下列操作,将程序补充完整。定义类CPolygon的保护数据成员width和height,它们都是int型的 数据。请在注释“*1*”之后添加适当的语句。完成类CPolygon的成员函数set_values(inta, intb),使参数a和b分 别赋值给保护数据成员width和height,请在注释“*2*”之
28、后添加适 当的语句。(3)完成类Coutput的成员函数output(int)的定义 将传入的参数为血型 的i输出到屏幕并换行,请在注释“*3*”之后添加适当的语句。(4)完成派生类CTriangle的声明,它由Cpolygon和COutput类public派 生,请在注释“*4*”之后添加适当的语句。源程序文件test42_3.cpp清单如下:#include class CPolygon(protected: * *public:void set_values(int a, int b)( * 2 *);class COutput(public:void output(int i););v
29、oid COutput: :output(int i) public:*3*4*int area (void)(return (width * height / 2);)int main ()CTriangle trgl; trgl.set_values (4,5); trgl.output (trgl.area();return 0;参考答案LA解析:C+语言的默认访问权限修饰符是private0注意:C+语言中 的构造函数是系统默认就有的,用户可以自己定义也可以不定义,故选 项B)错误;C+语言的类是可以嵌套定义的,故选项D)错误;C+语 言中成员函数的实现部分也可以写在类定义内,故选项C
30、)错误。注意: 函数不能嵌套定义。2.D解析:只有静态函数才能访问静态成员。1 .B解析:在函数体语句中的b+=*a ;的*是指针运算符(也称间接访问 运算符),*a就是main函数中a的值。4.B5 .AA。【解析】数组定义中的数字指的是数组的大小,而下标是从0 开始的,所以数组的最后一个元素是num9。6 .D解析:goto语句会造成程序的混乱,但在某些地方goto语句还是 需要的,若不使用got。语句会使功能模糊。7 .A8 .C解析:使用操作符setw对数据进行格式输出时,必须包含 iomanip.h 头文件。9 .B解析:字母在C+语言中是以ASCII码存放的,即以整数形式存放。n对
31、应的ASCII值是110,由于对n所对应的ASCII码值不清 楚,所以解析本题只能采用排除法。选项A中,、山是回车换行符。选 项C中存放的是字符串n。选项D中存放的是字母N。10.C解析:在长度为n的线性表中,在最坏情况下,冒泡排序需要经 过n/2遍的从前往后的扫描和n/2遍从后往前的扫描,共需n(n-l)/2o 11.B解析:数据库管理系统(DataBase Management System,简称 DBMS)是数据库的机构,它是一种系统软件,负责数据库中的数据组 织、数据操纵、数据维护、控制及保护和数据服务等,数据库管理系 统是数据库系统的核心。12 .A13 .A解析:选项B函数返回值类
32、型在函数定义时就确定了 ;选项C没 有返回值用void标示;函数是完成特定功能的程序段,可以没有返回 值。14 .D解析:内联函数被调用时,只是把代码在被调用处展开,不是把函 数的运算结果返回。15 .DDo【解析】在面向对象方法中,对象之间通过消息进行通信。消息中 只包含传递者的要求,它告诉接受者需要做哪些处理,但并不指示接 受者应该怎么完成这些处理,接受者独立决定采用什么方式完成所需 的处理。16.B本题主要考查了构造函数、拷贝构造函数和析构函数。main。函数中, 语句XCFrndl(5),d2(dl);先后创建了两个对象dl和d2。在创建对象 dl时,系统自动调用了构造函数,dl数据成
33、员a的值为5,输出字符 1;在创建对象d2时是用已创建的对象dl初始化,系统自动调用拷贝 构造函数,对象d2数据成员a的值为5,输出字符2;然后执行语句 XCF rn*pd=new rnXCF(8);系统再次调用构造函数通过new运算符动 态创建了一个XCF类的对象,该对象的数据成员a的值为8,输出字 符1,并将首地址赋给XCF类的指针pd。成员函数Geta()的功能是获 取数据成员a,因此执行语句coutGeta();输出8。接着执行语句 delete rnpd;系统自动调用析构函数,输出指针pd所指向对象的数据 成员a,即输出8,当main()函数结束时,系统先自动调用析构函数删 除对象d
34、2,输出对象d2的数据成员a的值5,然后再次调用析构函数 删除对象dl,输出对象dl的数据成员a的值5。因此程序输出结果为 1218855c17.B解析:本题考查的是派生类对基类成员的访问。基类的成员有公有 (public)保护u3000(protected)和私有(private)三种访问属性,类的继 承方式也有公有继承(public)、保护继承(protected)和私有继承(private) 三种。无论哪种继承方式,派生类中的成员都不能访问基类中的私有 成员,但可以访问基类中的公有成员和保护成员。故应该选择B。18.D19.DDo【解析】本题考查的是友元类的定义:类A为类B的友元类,则
35、类A的所有成员函数都是类B的友元函数,但反之则不一定成立。20.CCo【解析】本题考查的知识点是虚函数与多态性。在成员函数声明的 前面加上virtual修饰,即把该函数声明为虚函数。在C+ +中,一个 基类指针(或引用)可以用于指向它的派生类对象,而且通过这样的指针 (或引用)调用虚函数时,被调用的是该指针(或引用)实际所指向的对象 类的那个重定义版本。故本题最终输出结果为DBB。21.C解析:外部变量i实际上记录的是调用构造函数的次数。22.CCo【解析】+ +是右结合的,所以先赋值为3,最后输出3+1;常成 员函数只有常对象才能调用,所以输出2。23.DDo【解析】本题考查指针的使用。在给
36、*P赋值前,指针P并没有指 向一个具体的对象。此时可以通过编译,但运行时由于P中为随机 值,该赋值可能会破坏内存中某个重要的地址空间的内容,导致程序 出错。24.1616解析:解答本题的关键是要分析清楚表达式a+=(a=8)中,a的 值已经被赋为8,而不是0。25 .存储结构存储结构解析:数据的逻辑结构是指反映数据元素之间逻 辑关系的数据结构,数据的存储结构是指数据的逻辑结构在计算机存储 空间中的存放形式。在数据的存储结构中,不仅要存放各数据元素的信 息,还需要存放各数据元素之间的前后件关系的信息。26 .mainmain解析:所有的C+ +语言程序都是从main函数开始执行 的,而普通函数的
37、存在是为了简化main函数的复杂程度。27 .staticstatic解析:观察一下输出中对象的构造函数和析构函数的执行 次数可以看出,再次进入时某对行没有被构造,亦即该对象在func执行 后没有被销毁,再次进入时则不需要重构,可以体现这种功能的标识符 只有 static o28.继承继承 解析:类是面向对象语言中必备的程序语言结构,用来实 现抽象数据类型。类与类之间的继承关系实现了类之间的共享属性和操 作,一个类可以在另一个已定义的类的基础上定义,这样使该类型继承 了其超类的属性和方法,当然,也可以定义自己的属性和方法。29.0 1 30.3231.class Base:3class Bas
38、e:3解析:题中基类和派生类中有同名函数.但 是参数不同。有的考生可能判断为重载.却是错误的。重载仅发生在水 平方向,即同一类的成员函数或全局函数间。在垂直关系上,即派生关 系中,只有完全相同的函数类型、函数名和参数个数,参数类型时,才 表现多态性。本题中参数不同,编译器便认为是两个完全不同的函数。 通过基类的指针指向派生类对象时,该指针只能访问到派生类中具有多 态性的成员函数,而与基类无关的函数是无法通过基类指针来访问的。 故系统强制转化为整型,调用的是base类的func函数。如果将派生类 中的func的形参改为int型,则执行的就会是派生类的func函数,此时 表现为多态。32.3 a(
39、b(cd(ef) g(h)i(jk(xy)3u3000u3000a(b(c, d(e, f),u3000u3000g(h), u3000u3000i(j, k(x, y)解析:转换后 a 为第 0 层; b, i为第1层;c, d, g, j, k为第2层;e, f, h, x, y为第3层。 33.34 .E-R 图 E-R 图35 .virtualvirtual解析:利用多态性,所以应该加修饰词virtual。36 .( 1)应改为catch(char*s)”。(2)应改为cateh(inti)”。(3)应改为catch()”。【解析】本题中第1个标识前的异常抛出语句为“throw,err
40、or”);,其 中的类型为字符串。所以对应的异常捕捉语句catch中应该符合这个类 型,而程序中给出的语句“catch(chars)”是字符型的,所以第1处的语 句修改为“catch(char*S)”。第2个标识前的异常抛出语句为 44throw(int)0);,其中的类型为int。对应的异常捕捉语句catch中应 该符合这个类型,所以补充catch子句中的类型,否则如果找不到匹配 的catch块,系统就会调用一个系统函数,使程序终止运行。即第2处 的语句修改为“catch(inti)”。如果在catch子句中没有指定异常信息的类 型,那么就用删节号“”表示它可以捕捉任何类型的异常信息,即修
41、改为 “catch()”。37 .(1)应改为TCobjl(l);n(2)应改为 “Objl . SetNumber(lO);n(3)应改为“0bj2 . SelNumber(lOO); 。n【解析】本题第1处的“TCobjl ; ”语句是声明TC类的对象Objl,根据 TC类构造函数的定义TC(inti),存在整型参数,并且题目要求第一个输 出结果两1,所以补全参数1,即第1处的“TCobjl(l); 第2处处的 “objl . number=10 ;”应该是调用成员函数SetNumber赋值。在C + +中 成员函数的使用形式应该是:对象名成员函数,所以修改为 “objl . SetNum
42、ber(lO); 类是对象的抽象,而对象是类的具体实例。 第3处叮(3.5111m(100);”语句中的11:为类,并不是对象,这里 应该使用定义的对象,即。切2 ,所以将语句修改为 “obj2 . SetNumber(lOO);38 .(1)应改为“ein . getline(str, 120, ?);n(2)应改为 while 巾n(3)应改为“if(stri=a & & stri=a)”语句是 判断字符stri是否为小写字符,而现有的语句只是判断字符是否大于a, 但是小写字符应该是a到2,所以修改为“if(stri=a& &stri=z),o39 .(1)应改为“TC:TC”。应改为“voidTC:display”。(3)应改为“