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

    2021年安徽省铜陵市全国计算机等级考试C++语言程序设计预测试题(含答案).docx

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

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

    2021年安徽省铜陵市全国计算机等级考试C++语言程序设计预测试题(含答案).docx

    2021年安徽省铜陵市全国计算机等级考试C+语言程序设计预测试题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .数据的存储结构是指()oA.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据2 .假定有下列变量定义:int k=7, x=12;则能使值为。的表达式是A.x*二k-k%5 B.x*=(k-k%5) C.x%=(k-=5) D.(x-=k)-(k+=5)3 .类是C+中的一种新的数据类型,下列有关类的说法不正确的是A.类是一种用户自定义的数据类型B.只有类中的成员函数才能存取类中的私有成员C.在类中,如果不做特别说明,所指的数据均为私有类型D.在类中,如果不做特别说明,所有的成员函数均为公有类型4 .下列关于继承的描述中,错误的是()。试题程序:#include<iostream. h>classTCpublic:TC(inti)(number二i;)voidSetNumber(intm)number二m;intGetNumberconst(returnnumber;)voidPrintconstcout<<z,number=/z<<number<<endl ;)private:intnumber;);voidmain/ / *error*TCobjl;objl. Print;TCobj2(3);/ / *error*objl. number=10;/ / *error*%()*TC. SetNumber(100);objl. Print;obj2. Print;38 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,该程序运行时有 错,请改正其中的错误,使程序正常运行,输出的结果为 Constructor, i=0,Destructor注意:错误的语句在/ /*error*的下面,修改该语句即可。 试题程序:#include(iostream, h) classTC inti;public:TC;voiddisplay;TC;);/ / *errc)r*TC: TC cout<</Constructor,<</,, i=0;)/ / *error*TC: display tout«z,i«i« z/«endl;/ / *errc)r*TC: TCCOUI<</Destructor/<<endl : voidmainTCa;a. display;39 .使用VC+6. 0打开考生文件夹下的源程序文件L cpp,但该程序运行有 问题,请改正main函数中的错误,使该程序的输出结果正确。程序输出:88注意:错误的语句在/ *error* /的下面。修改该语句即可,其 他的语句不能修改。试题程序:ftinclude(iostream. h>classCO public: / *error* / staticintn=O:CO ( n+ + : ) CO ( n: ):/ *error* / intCO: : n; voidmain(COobj;C0obj27;CO*C二NULL: c=&obj: / *error* / eout<<C. n<<endl; cout<<C0: : n<<endl;40 .使用VC + + 6 . 0打开考生文件夹下的源程序文件1 . cpp,该程序运行时有错,请改正 其中的错误,使程序正常运行,并使程序输出的结果为:sizeof(Sl)=5sizeof(s2)=10sizeof(s3)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *errc)r*的下面。不能删除assert ()语句。只能修改后面的数字。提示:assert函数如果为假,则会产生一个中断异常。试题程序:#include<iostream . h>#include<assert . h>voidmain ()char*sl="abc":I/ *error*assert(sizeof(sl)=3):cout<<"sizeof(sl)=5"<<endl ;chars210="ab":I I *error*assert(sizeof(s2)=2);cout<<"sizeof(s2)=10"<<endl ;chars3=23 :/ / *error*assert(sizeof(s3)=4);cout<<"sizeof(s3)=l"<<endl ;return ;)41 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有 错。请改正程序中的错误,使程序输出的结果为1003732注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include<iostream. h>/ / *error*voidmain(/ / *err()r*intm=0142:/ / *error*intn=0X27:intq=32;cout<<m<<endl;cout<<n<<endl;cout<<q<<endl;return;42 .使用VC + +6 .0打开考生文件夹下的源程序文件1 .cpp。本程序要求输入一个字符串, 然后将其中的小写字母改成大写字母,字符可能输入多行,当输入字符时,默认字符 输入结束,最后把结果输出到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *火*error*的下面°试题程序:#include<iostream . h> voidmain ( inti=0 ; charstr120; cout<<"Enterastringendwith? . "<<endl ; I I *error* cin . getline(str, 120); / / *error* while(str) I I *error* if(stri)=a) stri=stri-a + A ; i + + ; cout<<str<<endl ; return ; )43 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有 错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行 的任何异常。程序异常,输出信息为 error0 ERROR 注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误 的语句在/ / *errc)r*的下面。试题程序:#include<iostream, h) intmain ( try (throw ("error"); / / *error* catch(chars) cout<<s<<endl; try(throw(int)0);)/ / *error* catch(cout<<i<<endl;trythrow(0);throw("error");)/ / *error* catch(cout«z/ERR0Rzz«endl;)returnO;44 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能 为从键盘输入一个字符串,并将结果保存到文件1.txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误 的语句在/ / *error*的下面。试题程序:#include<iostream>#include<fstream>/ / *error*usingstd;voidWriteFile(charts)(ofstreamout1;/ / *error*outl. open(l txt, binary|app);for (inti=0; s i !=0; i + +) / / *error* outl. puts(si);outl. close; voidClearFileofstreamoutl;outl. open(/zl. txt);outl. close;intmain(chars1024;ClearFile;cout<</zpleaseinputastrin9: z/<<endl;cin. getline(s, 1024);WriteFile(s);returnO;45 .使用VC + + 6 . 0打开考生文件夹下的源程序文件1 .cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入 一个字符串,并将结果保存到文件1 . txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *error*的下面。试题程序:#include<iostream>#include<fstream>/ / *error*usingstd ;voidWriteFile(char*s)ofstreamoutl ;/ / *error*outl . open("l . txt", binary|app);for(inti=0 ; si!=0 ; i + +)(/ / *error*outl . puts(si);)outl . close ;)voidClearFileofstreamoutl ;outl . open("l . txt");outl . close ;)intmain(chars1024;ClearFile ;cout<<"pleaseinputastrin9 : "<<endl ;cin . getline(s, 1024);WriteFile(s);returnO ;)五、综合应用题(2题)46 .应添加 uBA(intm)a = m ; ”。应添加 uPAI(intm, intn) : BA(n)b=m ; ”。(3)应添力 II TA2(intm, intn, intk) : PAI(n, k)C=m ;)” 。(4)应添力口 "cout<<geta<<""<<getb<<""<<C<<endl ; " 。【解析】根据第1处要求,构造函数的函数名和类名一致,显然BA构造函数的名称为BA. 在BA中通过参数m完成对成员变量a的赋值,因此构造函数的名称为BA(intm),在函数内 部对成员a赋值,故第1处的语句应添加“BA(intm)a=m ;)”。根据第2处的要求,构造 函数的形式为TAI(intm, intn)n, 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类公有派生于PA1,而PA1公有派生于BA,因此在 PA2类中可以调用基类的geta和getb来获得基类私有成员a和b,再输出PA2的私有成员 C 即满足要求,因此第 4 处应添加 “cout<<geta<<""<<getb<<""<<C<<endl ; "。47 .使用VC+6. 0打开源程序文件3. cpp。其中类TC用于把文件输出到屏 幕,然后进行文件的分割。分割的方法如下:第一个文件的大小是文件的前一 半,另外一个文件的大小是剩余部分。此程序将in. txt文件中的内容输出到 屏幕,并且将文件按照以上方式分割,存于文件。utl. txt和out2. txt中。 其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释1后添加适当的语句。把获得的输入文件的内容存储到bur中,并且用len记录下文件的长度。请在注释2后添加适当的语句。将输入文件的后一半内容存储在第二个文件中,请在注释3后添加适当的语句。使用文件流对象打开输入文件in. txt,请在注释4后添加适当的语句。注意:增加代码或者修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。试题程序:#include<iostream. h> #include<fstream. h>#include<stdlib. h) classTC public:TC(char*fi1eName) len=0; fstreaminfile;infile, open(fileName, ios: : in); charch; while(cout<<ch;/ *1* / 不不不不不不不不乙不不不不不不不不infile, close;)voidsplitfstreamoutfilel;fstreamoutfile2;outfilel. open(z,outl. txt, ios: : out); outfile2. open(out2 txt, ios: : out); inti=0:for (i=0; i<len / 2; i + +)|outfilel<<bufi;) do /J *1/ 不不不不不不不不。不不不不不不不不while(i!=len); outfilel. close; outfile2. close; prwate:intlen; charbuf1024; voidmainI I *4*TCobj;obj. split;return;六、3.综合应用题(2题)48.使用VC6打开考生文件夹下的工程test30_3。此工程包含一个test30_3.cpp,其中定义 了类A、A1和A2,其中A1类由A类公有派生,A2类由A1类公有派生。上述三个类的定 义并不完整,请按要求完成下列操作,将程序补充完整。定义类A的构造函数,该构造函数有一个整型的参数x,在构造函数中请将x赋值给数据 成员a。请在注释7/*1*”之后添加适当的语句。定义类A1的构造函数,该构造函数有两个整型的参数x和y,在构造函数中请将x赋值 给数据成员b,将y作为基类A构造函数的参数值传入。请在注释7/*2*”之后添加适当 的语句。定义类A2的构造函数,该构造函数有三个整型的参数x, y和2,在构造函数中请将x赋 值给数据成员c,将y和z分别赋值给基类A1构造函数的参数x和V。请在注释“*3*” 之后添加适当的语句。完成类A2的成员函数show的定义,该函数调用基类成员函数,输出基类数据成员a和 b及类A2自身的数据成员c的值,上述三个值在输出时以空格隔开。请在注释“*4*” 之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。程序输出结果如下:96962源程序文件test3cL3.cpp清单如下:#include < iostream.h >class A(int a;public:/* i *int geta() return a;);class Al:public AA.析构函数不能被继承B.派生类是基类的组合C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类保持不变5 .在面向对象方法中,()描述的是具有相似属性与操作的一组对象。A.属性B.事件C.方法D.类6 .下面关于派生类的描述中错误的是()A.派生类中至少有一个基类B.一个派生类可以作为另一个派生类的基类C.派生类只继承了基类中的公有成员和保护成员D.派生类的缺省继承方式是私有7 .关于C+语言与C语言关系描述中错误的是A.C+语言是C语言的超集8 .C+语言对C洁言进行了扩充C.C+语言包含C语言的全部语法特征D.C+语言与C语言都是面向对象的程序设计语言9 .下列关于this指针的叙述中,正确的是()A.this指针是一个隐含指针,它隐含于类的成员函数中10 只有在使用this时,系统才会将对象的地址赋值给thisint b;public:/* 2 *int getb() return b;);class A2:public Al(int c;public:/* 3 *void show()(/* 4 *);void main()(A2 a(2,6,9);cout < < a.geta () < < endl;cout < < a, getb () < < endl; a. show();49.使用VC6打开考生文件夹下的工程test37_3。此工程包含一个test37_3.cpp,其中定义 了类Letter和Number以及Grid,其中Grid类由Letter类和Number类public派生,但三 个类的定义并不完整。请按要求完成下列操作,将程序补充完整。添加类Letter的带一个参数c的构造函数,c是char型的数据,默认值为A,该函数把 参数c的值赋给类的保护成员ch,请在注释“内1*”之后添加适当的语句。添加类Number的带一个参数n的构造函数,n是int型的数据,默认值为0,该函数把 参数n的值赋给类的保护成员num,请在注释“*2*”之后添加适当的语句。添加派生类Grid构造函数的定义,传入的参数为char型的c和血型的n,并将其分别赋 值给基类的ch和num,请在注释7/*3丑”之后添加适当的语句。完成派生类Grid的友元函数“<<”运算符重载的定义,使其以格式“g.ch,g.num 输出,请在注释“*4*”之后添加适当的语句。源程序文件test37_3.cpp清单如下:#include < iost ream, h >class Letter(protected:char ch;public:/ * i *);class Number protected:int num;public:/ * 2 *);class Grid : public Letter, public Number(public:/ * 3 *friend ostream& operator < < (ostream &o,Grid &g););/ * 4 *(o < < "" < < g.ch < < "," < < g,num < < return o;)int main ()Grid g(C, 3);cout < < "Grid reference:" < < g < < endl;return 0;)LB解析:数据的存储结构,又称为数据的物理结构,是数据的逻辑结构在计算机中的存放 形式,数据的存储结构有顺序结构、链式结构、散列结构和索引结构等。2 .C 解析:A 项:x=x*(7-7%5),x=7*5,x=35;B 项:x=x*(7-7%5),x=35;D 项:(x=x-k)-(k=k+5),5-12,-7;C 项:x=x%(k=k-5),x-12%2,x=0o故正确答案为C项。3 .D4 .D【解析】派生类中继承的基类成员的访问权限到派生类会发生变化,例如:私有继承时, 派生类不能访问基类的成员,所以选项D)错误,其他选项均正确。5 .D解析:类(calss)描述的是具有相似属性与操作的一组对象,而一个具体对象则是其对应 类的一个实例。6 .C解析:继承方式有公有继承、私有继承和保护继承3种,缺省的继承方式是私有继承。 派生类从基类继承所有的成员,但是对于基类的私有成员派生类是不可直接访问的。7 .D解析C语言是一种面向过程的程序设计语言,而C+语言是一种面向对象的设计语言, C+语言是C语言的超集,它包含了 C语言的所有语言特性,并进行了扩充。8 .D解析:本题考核thiso类的每一个成员函数都有一个隐含定义的常量指针,称为this指 针。它是成员函数所属对象的指针,它指向类对象的地址。成员函数可以通过这个指针知道 自己属于哪一个对象。当对一个对象调用成员函数时,编译程序先将对象的地址赋值给this 指针,然后调用成员函数,每次成员函数存取数据时,则隐含使用this指针。但是在使用this 指针时需要注意的是:this指针只能在类的成员函数中使用,它指向该成员函数被调用的对 象。this指针一般用于返回当前对象自身;静态成员函数没有this指针。因为类只有一个静 态成员函数实例,所以使用this指针没有什么意义。在静态成员函数中使用this指针会引起 编译错误。9 .D解析:需求分析常用的工具有数据流图(DFD)、数据字典(DD)、判定树和判定表。PAD(问 题分析图)、PFD(程序流程图)、N-S(盒式图)都是详细设计的常用工具,不是需求分析的 工具。10 .C11 .DDo【解析】类模板是一系列相关类的模板,类成员组成相同,成员函数的源代 码形式相同,所不同的是所针对的类型。类模板的成员函数都是模板函数,在 用类模板定义对象时,由于没有像函数实参表这样的额外信息渠道,因此无法 按函数模板的方式省略模板实参。但可以为类模板的参数设置默认值。由此可 知应选D。12 .C解析:构造函数的作用是在对象被创建的时候对对象进行初始化。构造函数在 对象被创建的时候由系统自动调用。故C项正确。13.BDo【解析】本题考查的知识点是豢的构造。建立一个类的对象时,构造函数的 执行顺序如下:执行基类的构造函数,调用顺序按照各个基类被继承时声明 的顺序(自左向右);执行成员对象的构造函数,调用顺序按照各个成员对象 在类中声明的顺序(自上而下);执行自身的构造函数。本题Derived类继承 于Base类,所以首先会构造基类Base,但Derived类的构造函数没有初始化 列表,所以将调用Base类的默认构造函数,输出一个0。接下来由于它的成员 中还定义了一个Base类的对象,两构造函数也没有显示初始化这个对象,所以 再次调用Base类的默认构造函数输出一个0。最后构造自身,因为主函数中传 入了构造参数1,所以构造自身时输出了一个1。故最终输出结果为001。14.DDo【解析】本题考查派生类的定义和使用。当对象被删除时,派生类的析构函 数就被执行。由于析构函数不能被继承,因此在执行派生类的析构函数时,基 类的析构函数也将被调用。执行顺序是先执行派生类的析构函数,再执行基类 的析构函数,其顺序与执行构造函数的顺序正好相反。所以当main函数结束 时,派生类DERIVED的对象X将被删除,那么派生类DERIVED的析构函数先被 调用,输出DERIVED,然后调用基类的析构函数输出BASE。15 .C解析:把“一”运算符重载为非成员(友元)函数格式:friencK返回类型operator- ()是前缀的格式;friend(返回类型operator- (int)是后缀的 格式。当然也可以有参数如题中C选项所示。16 .D17C解析:本题考核函数的声明和调用。定义一个函数就是为了以后的调用,但如果函数定 义在后面而调用在前,就会产生编译错误。为此,必须将函数定义在前或在调用前进行“函 数的说明”。函数说明消除了函数定义的位置影响。C选项的描述是正确的。函数可以没有 参数,可以没有返回值。递归函数就是自己调用自己。所以A、B和D选项的描述都是错误 的。18.C19c解析:软件按功能可以分为:应用软件,系统软件、支撑软件(或工具软件)。应用软件 是为解决特定领域的应用而开发的软件。例如,事务处理软件、工程与科学计算软件,实时 处理软件,嵌入式软件,人工智能软件等应用性质不同的软件。因此选项C教务管理系统属 于应用软件。系统软件是计算机管理自身资源,提高计算机使用效率并为计算机用户提供各 种服务的软件。如操作系统,编译程序,汇编程序,网络软件,数据库管理系统等。因此选 项A、B、D都属于系统软件。20.AAo【解析】本题考查移位运算符在程序中对5逻辑左移2位,其值扩大4倍等 于20,然后再进行按位运算,其值等于21。21.CCo【解析】该题考查了 C+模板类和+运算符重载的知识,3 + bl时,程序 不能将bl转化为整型,所以编译会出错。22c解析:对象的基本特点包括;标识惟一性、分类性、多态性、封装性和独立性等。继承 性不属于对象的基本特点。23.D预处理命令是以开始的语句,每一条预处理命令必须单独占用一行.由于 不是C语言的语句。并且命令行的最后不能以分号表示结束,定义格式为“#de-fine标识符字符串”,预处理命令行是系统对源程序进行编译之前进行 处理的,不是在程序执行的过程中。24.3225 .tbtb解析:对象的定义一般格式为:类名对象名26 .falsetruefalserntrue 解析执行语句 ux&&y|z ;"后,x 的值变为 false。执行 “x|y&&z” 后,y的值变为false,执行u!(x!=y)|y=z) ; M后,z的值变为true。27 .软件工具软件工具解析:软件开发环境或称软件工程环境是全而支持软件开发全过程的 软件工具集合。这些软件工具按照一定的方法或模式组合起来,支持软件生命周期内的各个 阶段和各项任务的完成。28 .mainmain解析:所有的C+语言程序都是从main函数开始执行,而普通函数的存在是 为了简化main函数的复杂程度。29 .强制类型转换强制类型转换解析:void类型的指针是指指针指向的变量的数据类型是不 固定的,使用时需进行强制类型转换。30层次模型层次模型解析:用树形结构表示实体类型及实体间联系的数据模型称为层次模 型,用有向图结构表示实体类型及实体间联系的数据模型称为网状模型,用二维表格结构表 示实体及其联系的数据模型称为关系模型。30 .stack-top 或 stacktop- = l 或 stacktop=top-ljstackf-top 或 stacktop-=l 或 stacktop=top-l解析:此题考查的是堆栈数据结构。分析题目,首先利用函数void push(c。nstT&i)将i压入栈,然后Tpop()将元素弹出,但由于在压入栈时,top值已经增加 1;要弹出元素,须使top先减1,才能把栈顶元素弹出。故正确答案为stacktop。 32.*(str+i)或stri*(str+i)或stri解析:str是指针变量,它指向字符型数据,在循环过程中, 可以用*(str+i)来访问字符串中的第i个元素,判断是否是结束标志,如果不是,i=i+l,继 续取下一个元素进行判断,直到* (str+i)的值为为止,也可以用下标的方式引用字符, 如*(str+i)相当于strio注意:C+ +中字符串指针的相关问题。33.0216-10 216-1解析:unsigned short是无符号整型,最小值为0,最大值为2(上 标)16-1。34.b.aTueb.a,Tue解析:b. a取对象的成员变量Tue在枚举中变量为2的是Tue1.1 i + +; i>=ii + +;rni>=i解析:首先计算字符串的长度,然后开始判断i是否大于等于 j,如果是则说明是可以逆转的。36 .应改为“TC : : TCnon应改为 uvoidTC : : display"。n应改为“TC : TC” on【解析】在类的外部定义成员函数时,必须在成员函数前面加上类名和作用域运算符“ 作用域运算符用采表示某个成员属于哪个类,使用格式为“(类名):成员函数(参数函 数),因此第1处应改为“TC:TC”,默认构造函数没有参数。由第2处“TC : display” 后的语句看,这是在类外实现TC函数,因此也有作用域运算符使用错误问题,display函数 返回值为void,因此第2处的语句应改为“voidTC : : display” o由第3处的语句“TC : TC”可知,显然这里是在类外实现析构函数,析构函数是一个特殊的函数,它的名称和类名 相同,并在前面加“”字符,用采与构造函数加以区别,因此第3处的语句应改为“TC: TC” o37 .应改为“TCob只;”。(2)应改为 “ObjL SetNumber(lO);应改为 “0bj2. SelNumber(lOO); "。【解析】本题第1处的“TCobjl; ”语句是声明TC类的对象Objl,根据TC类 构造函数的定义TC(inti),存在整型参数,并日.题目要求第一个输出结果两 L所以补全参数1,即第1处的“TCobjl(l); "。第2处处的“objl. number=10; ”应该是调用成员函数SetNumber赋值。在C+ +中成员 函数的使用形式应该是:对象名.成员函数,所以修改为"objl. SetNumber(lO); " o类是对象的抽象,而对象是类的具体实例。第3 处“TC. SetNumber(lOO); ”语句中的TC为类,并不是对象,这里应该使用定 义的对象,即。bj2,所以将语句修改为“obj2. SetNumber(lOO);38 . (1)应改为 “TC: : TC" o应改为 “voidTC: : display”。(3)应改为“TC:TC”。【解析】在类的外部定义成员函数时,必须在成员函数前面加上类名和作用域 运算符,作用域运算符用采表示某个成员属于哪个类,使用格式为“(类名):成员函数 (参数函数),因此第1处应改为“TC: : TC”,默 认构造函数没有参数。由第2处“TC: : display”后的语句看,这是在类外实 现TC函数,因此也有作用域运算符使用错误问题,display函数返回值为 void,因此第2处的语句应改为“voidTC: : display”。由第3处的语句"TC: : TC”可知,显然这里是在类外实现析构函数,析构函数是一个特殊的 函数,它的名称和类名相同,并在前面加“”字符,用采与构造函数加以区 别,因此第3处的语句应改为“TC:TC”。39 . (1) “staticintn=0” 应改为 “staticintn; "。(2) “intCO: : n; ” 应改为 “intCO: : n=0; ”。(3) Ucout<<c. n<<endl; ” 应改为 cout<<c->n<<endl; "。【解析】本题要在屏幕上输出两个字符,首先要静态变量初始化,第1处应改 为“staticintn; ",第2处要给n赋值,第3处输出时引用c的对象,应改 为"cout<<c->n<<endl; " 。40 .(1)应改为 uassert(sizeof(sl)=4); ”。n应改为 <<assert(sizeof(s2)=lO); ”。n应改为 uassert(sizeof(s3)=l);"。n【解析】assert函数如果为假,则会产生一个中断异常。所以要让它正常执行输出结果, 那么assert函数只有为真,才不会产生中断异常。"assert(sizeof(sl)二二3); ”语句中 “sizeof(sl)二二3”为假,这会使程序产生异常,不能正常执行。因为strl的值为abc,但是 它还有一个尾符,它的长度应该是4,而不是3,所以在第1处修改为 uassert(sizeof(sl)=4) ; " 。str210说明,str2 的空间为 10,在第 2 处修改为 uassert(sizeof(s2)= = 10) ; ”。charstr3=23 ;语句说明23是字符,所占存储空间为1,所以修改为 uassert(sizeof(s3)=1); ”。41 . (1) “voidmain”。(2) uintm=0144; ” 。(3) “intn=0X25;”或 " intn=二0x25; ”。【解析】本题主要考查了主函数定义及嘉同进制之间的转换,包括十进制到八 进制,十进制到十六进制。主函数定义的定义形式为“main”,函数名之后必 须是一对括号,因此第1处应改为“voidmain"。cout输出默认是以十进制方 式输出的,根据题目要求输出的结果可发现变量的初值不正确,十进制的100对应八进制的144,卡进制的37对应十六进制的25,因此2和3应分别改成 “intm=0144; ”,“intn=0X25;”或 uintn=0X25; ”。42 .应改为 “ein . getline(str, 120, ?) ; " on应改为 Mwhile(stri)non应改为 uif(stri>=a&&stri<=2)n。n【解析】本题中要求以输入字符为结束符,用于字符输入的流成员函数getline函数

    注意事项

    本文(2021年安徽省铜陵市全国计算机等级考试C++语言程序设计预测试题(含答案).docx)为本站会员(太**)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




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

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

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

    收起
    展开