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

    2021年四川省广元市全国计算机等级考试C++语言程序设计真题(含答案).docx

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

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

    2021年四川省广元市全国计算机等级考试C++语言程序设计真题(含答案).docx

    2021年四川省广元市全国计算机等级考试C+语言程序设计真题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .下列属于大型数据库系统的是()。A.SQL-Server B.Foxpro C.Access D.Excel2 .用链表表示线性表的优点是()。A.便于随机存取B.花费的存储空间较顺序存储少C.便于插入和删除 操作D.数据元素的物理顺序与逻辑顺序相同3 .以下程序的输出结果是 #include < iostream.h > void main( ) char x=040 ; cout < < (X < < 1);)A.100B.80C.64 D.324 .下面对于友元函数描述正确的是()A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员5.在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是A.operator+有两个参数,operator*有两个参数32 .为满足运算符+的可交换性,必须将其重载为【。33 .算法的计算量的大小称为计算的【】。34 .若已定义,以下fun函数的功能是:在第一个循环中给前10个数组 元素依次赋1、2、3、4、5、6、7、8、9、10 ;在第二个循环中使a数 组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、 L请填空。fun(int a) (int i ;for(i=l ; i < =10 ; i+) =i ;for(i=0 ; i<5 ; i+) ai; )35 .下列程序的运行结果是o#include < iostream.h >class Sample(int a;public:Sample(int aa=0) a=aa;Sample( )cout< < nSample=n < < a < < n;);class Derived:public Sample int b;public:Derived(int aa=O,int bb=O):Sample(aa)(b=bb; Derived( )cout < < nDerived=n < < b < < n;);void main()(Derived dl(9);)四、程序改错题(10题)36 .使用VC+6.。打开考生文件夹下的源程序文件1. cpp,但该程 序运行有问题,请改正main函数中的错误,使该程序的输出结果正 确。程序输出:88注意:错误的语句在/ *error* /的下面。修改该语句 即可,其他的语句不能修改。试题程序:#include(iostream. h>classCO(public:*1*1* 1* kL* vl* kJ* *1*/不不不不不不不不enor不不不不不不不不/staticintn=0 :CO n+ + :co(n:):errork1# *1 *1 *y*intCO: n;voidmainCOobj ;COobj27;COCNULL:c= & obj :7,kJ> k£>、!>、!> !> 7,k1>k1>.!> kJ> 7,、!> k1>不不不不不不个个个个不不干不个不eout«C . n«endl ;cout«C0:n«endl;37 .使用VC+ + 6 .0打开考生文件夹下的源程序文件1 .cpp0本程序要 求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输 入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕 中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。试题程序:#include<iostream . h> voidmain ( inti=O ;charstr120;cout«nEnterastringendwith? . n«endl ;/不不不不不不不不error不不不不不不不不cin . getline(str, 120);/2*/不不不不不不不不error不不不不不不不不while(str) (/不不不小个不不小error小不不外不不小不if(stri)=a) stri=stri-a +A ;i+ + ; )cout«str«endl ;return ; )38 .使用VC+ + 6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0, Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include(iostream . h) classTC inti ;public :TC ;voiddisplay ;TC ;TC : TC cout«nConstructorn«n," i=0;TC : display tout<<ni=n«i«n, n«endl ;1* *!* *1*vi* vL*不下不不个个epj*or个下个个不不TC : TCCOUI«nDestructorn«endl :voidmainTCa ;a . display ;39 .使用VC+ +6 . 0打开考生文件夹下的源程序文件1 . cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现 的功能为从键盘输入一个字符串,并将结果保存到文件1 . txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在*1* *1* *1* *1* *1*error不小不小不不的下面。试题程序:#include<iostream>#include<fstream><1# 1#个个个个个个个个nor个个个个个个个个usingstd ;voidWriteFile(char*s) ofstreamoutl ;7* *7* *7* r* *T* 1*1*01*T*outl . open(Hl . txt", binary|app);for(inti=0 ; si!=O ; i + +)error%>!> ?、outl . puts(si);)outl . close ;)voidClearFile (ofstreamoutl ;outl . open(nl . txt”);outl . close ;) intmain(chars 1024;ClearFile ;cout«npleaseinputastrin9 :n«endl ;cin . getline(s, 1024);WriteFile(s);returnO ; )40 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为error OERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *eirc)r*的下面。试题程序:#include<iostream. h) intmain( try(throw(nerrorn);* prrcr* *catch(chars)(cout«s«endl;) try (throw(int)0);* * *catchcout«i«endl;) try (throw(O);throw(nerrorn);)*5rcr*catchcout«nERRORn«endl ;)returnO ; )41 .使用VC + +6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number=lnumber=10number= 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *error*的下面。试题程序:#include<iostream . h>classTC (public :TC(inti) (number=i ;voidSetNumber(intm)(number=m ;intGetNumberconst returnnumber ; )voidPrintconst cout«nnumber=n«number«endl ; )private :intnumber ;voidmainkJ> 7,s.t> 7" 1* kI> 7, 个个个不不不个个nor个个个个个个个个TCobjl ;objl . Print ;TCobj2(3);kL*1* vL*vL*vL* vt>不不不不不不不不nor不不不不不个不objl . number=10 ;! 1* ej*or* *TC . SetNumber(lOO);objl . Print ;obj2 . Print ;42 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0,DestructorB .operator+有两个参数,operator *有一个参数 C.operator+有一个参数,operator*有两个参数 D.operator+有一个参数,operator*有一个参数6 .函数swap(a, n)可完成对a数组从第1个元素到第n个元素两两交 换。其中b=l ; bl = 2 ; swap(b, 2)o在运行调用函数中的语句后,b0 和"1的值分别为()。A.1, 1 B.l, 2c.2, 2D.2, 17 .如下函数的作用是以双倍行距输出文件:voiddouble_space(ifstream &f, ofstream&t) chare ; while(); if(c=,n,)t .put(c) ; 画线处缺失的部分是A.f.get(c)与 t.put(c)8 .f.put(c)与 t.get(c)Ctget(c)与 f.put(c)D.t.put(c)与 f.get(c)8 . C+程序由类和函数组成,模板也可分为()和()。A.类模板函数模板B.模板类模板函数C.类函数D.对象函数9 .有以下程序:#include < iostream.h > void fun(int a, mt b, int C) a = 456, b = 567, c = 678; voidmainQ intx= 10, y = 20, z = 30 ; fun(x,y, Z); cout < <x< < f< <y< < !< <z< < endl ; )输出结果是注意:错误的语句在/ / *eiror*的下面,修改该语句即可。试题程序:#include(iostream. h) classTC inti;public:TC;voiddisplay;TC;*£#不下不不不不en*or不可不不不不TC: TC cout«nConstructorn«n," i=0;TC: display tout«ni=n«i<<% n«endl;TC: TCCOUI«nDestructorn«endl :) voidmain(TCa;a. display;)43 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为error0ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *errc)r*的下面。试题程序:#include<iostream. h)intmain( try(throw(nerrorn);)/不不不不不不不不eiror不不不不不不不不catch(chars)cout«s«endl ;) try (throw(int)0);vL#不不不不不不不不rror个个个个个个个个catch(cout«i«endl;) try (throw(O);throw(nerrorH);)/ 7> 7> 7> 7> kJ> 7> 7> 7>7" 7, 7> 7> 7> 7,7" 7”/不不不不不不不不error不不不不个不不个catch(cout«HERRORH«endl ;)returnO ;44 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实 现的功能为从键盘输入一个字符串,并将结果保存到文件1. txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在* error* * 白勺 卜 | H jo试题程序:#include<iostream>#include<fstream>*1*vl*个个个个个个个个rror个个个个个个个个usingstd;voidWriteFile(char*s) ofstreamoutl ;个个个个个个个个rror个个个个个个个个outl. open(Hl. txtn, binary|app);for(inti=0; si!=0; i + +)个个个个个个个个noi*个个个个个个个个outl. puts(si);outl. close;)voidClearFile ofstreamoutl ;outl. open(nl. txt”);outl. close;) intmainchars 1024;ClearFile;cout«npleaseinputastrin9 :n«endl;cin. getline(s, 1024);WriteFile(s);returnO;)45 .使用VC+6. 0打开考生文件夹下的源程序文件L cpp,该程序运行时有错。请改正程序中的错误,使程序输出的结果为1003732注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include<iostream. h> voidmainvl*不不不不不不enor不不个个不不intm=0142:intn=0X27 :intq=32;cout< <m< <endl;cout< <n< < endl ;cout< <q< <endl;return ; )五、综合应用题(2题)46 .应添加“BA(intm)a=m ;(2)应添力rPAKintm, intn) :BA(n)b=m ; “。(3)应添力 II"PA2(intm, intn, intk) : PAl(n, k)C=m ;(4)应添力;“。【解析】根据第1处要求,构造函数的函数名和类名一致,显然BA构 造函数的名称为BA,在BA中通过参数m完成对成员变量a的赋值, 因此构造函数的名称为BA(intm),在函数内部对成员a赋值,故第1处 的语句应添加“BA(intm)a=m ;)”。根据第2处的要求,构造函数的形式 为“PAl(intm, intn)”,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处应添加 “coutvvgetavv""vvgetb<v""vvCvendl ;"。47.(1)“比招”应改为“亚11加口11行k.get(ch)”。(2)应添力"burlen + + =ch ;burlen=ch ;len + + ;”。(3)应添力'outfile2vvburi + + ; ”或"outfle2«bufi ; i+ + ; ”。(4)“TCobj ; ”应改为“TCob改,in . txt");”。【解析】本题考查了文件流的使用。根据题意,第1处要获得一个字符, 并判断是否到文件结尾,所以应使用get函数;第2处应将ch存入buf 数组,同时让len增1 ;第3处将buf中的字节输出给outfile2,注意同 时让i增1,否则while循环将进入死循环;第4处TC只确一个带char* 参数的构造函数,所以创建对象时必须使用构造参数,根据题意这个参 数应该是“”in . txt"“。六、3.综合应用题(2题)48.使用VC6打开考生文件夹下的工程test32_3o此工程包含一个 test32_3.cpp,其中定义了复数类complex,但该类的定义并不完整。请 按要求完成下列操作,将程序补充完整。(1)定义复数类complex的私有数据成员real和image,用来分别表示复 数的实部和虚部,它们都是double型的数据。请在注释“*1*之后添 加适当的语句。(2)添加复数类complex的带一个参数的构造函数,分别将real和image 赋值为参数r的值和0.0,请在注释“*2*”之后添加适当的语句。(3)完成复数类complex的“+”运算符重载成员函数的定义,两个复数相 加是将复数的实部和虚部分别进行相加,请在注释“*3*”之后添加适 当的语句。(4)完成复数类 complex 的友元函数 isequal(complex *cl,complex *c2)的 定义,如果复数cl与c2相等即cl与c2的实部和虚部分别相等,则返 回1,否则返回0。请在注释“*4*”之后添加适当的语句。程序输出结果如下:36+0i=36+0i注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test32_3.cpp清单如下:#include < io stream, h > class complex public:complex() real=image=O.O;) complex(double r)* 2 *)complex operator+(const complex &c);friend bool isequal(complex cl,complex *c2 void display(););complex complex:operator+(const complex &c)* 3 * temp .real=real+c. real;temp.image=image+c.image;return temp; )bool isequal(complex cl,complex *c2) (/ /* 4 *return 1;elsereturn 0; )void complex: display() (cout < < real;if (image > =0) cout < << < image < < "i"else if (image < 0) cout < < image < < nin; )void main() (complex cl,c2(36.0);cl=cl+c2;cl.displayO;if (isequal(&cl ,&c2) cout < <else coat < < n < > n;c2.display();cout < < endl; )49.使用VC6打开考生文件夹下的工程testl9_3,此工程包含一个源程 序文件testl9_3.cpp,其中定义了用于表示向量的类vector,但类vector 的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整。 补充类vector的构造函数,该函数有参数x和y,它们都是int型的 数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和 b分别初始化为参数x和y的值。请在注释“*1*”之后添加适当的语 句。完成类vector的成员函数input(int x,int y)的定义,将int型的参数x 和y分别赋值给数据成员a和b,请在注释“*2*”之后添加适当的语 句。(3)完成类 vector 的友元函数 friend double Multiply (vector &x,vector &y) 的定义,先定义double型的临时变量c,然后将参数对象x和对象y的 数据成员a与b分别相乘再相加后赋值给c,最后返回c的值,将请在 注释“*3*”之后添加适当的语句。输出结果如下: (10. 20)(2, 3)80注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件testl9_3.cpp清单如下:#include < io stream, h > class vector(int a;int b;public:*void input(int x, int y) ()void output () (cout < < V < <a<< b < < n)n < <endl;)friend double Multiply(vector &x,vector &y);)A.30, 20, 10B.10, 20, 30C.456, 567, 678 D.678, 567, 45610.下面程序的运行结果为()OclassA(static int n ;public :A()n=l ; void print() cout < < n ; )main()A(int num)n=num ; A : n=0 ;voidA a , b(2);a.print();b.pintQ ;二、单选题(13题)IL按照标识符的要求,开头的符号不能是()。A.大写字母B.小写字母C.数字字符D.下划线 12.关于静态数据成员的描述中正确的是()。A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化13.如果类A被说明成类B的友元,则()oA.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成 员函数不得访问类B的成员D.类B不一定是类A的友元double Multiply (vector &x,vector &y) (c二x.a*y.a+x.b*y.b;return c;)void main()(vector x(10,20),y;double d;y.input (2,3);d=Multiply (x,y);x. output ();y. output ();cout < < d < < endl;参考答案LA解析:SQL Servers Oracle s DB2等属于大型数据库系统,Foxpro和 Access属于中小型数据库系统,Excel不是数据库系统。2.CC。【解析】数据结构是相互之间存在一种或多种特定关系的数据元 素的集合。”关系”描述的是数据元素之间的逻辑关系,因此又称数据的 逻辑结构。数据的存储结构是指数据结构(数据的逻辑结构)在计算机中 的表示,又称物理结构。数据的存储结构有顺序存储结构和链式存储结 构两种。不同存储结构的数据处理效率不同。由于链表采用链式存储结 构,元素的物理顺序并不连续,对于插入和删除无需移动元素,很方便, 当查找元素时就需要逐个元素查找,因此查找的时间相对更长。3C解析:左移1位,相当于乘以2,题中的x的值是一个八进制数, 转换为十进制数是32,再乘以2, x的值为64。4 .C解析 友元函数的定义既可以在类内部进行,也可以在类外部进行。 它提高了程序的运行效率,但破坏了类的封装性和隐藏性,使得类的非 成员函数可以访问类的私有成员。5 .C解析:本题考核运算符重载。+和*都是二元运算符,当作为成员函 数重载时,参数表中只有一个参数,对应于第二个参数,而第一个操作 数就是对象本身,仅以this指针的形式隐藏在参数表中.当作为非成员 函数重载时有两个参数。6 .D解析:如果函数实参是数组名,形参也应为数组名,函数swap中 形参进行了交换,实际上也是实参进行了交换。而且数组名代表数组首 元素的地址,并不是代表戮组的全部元素。所以,swap(b, 2)是数组b第 一个元素与第二个元素进行交换,即"0与bl,根据题干,知道答案 为 2, 1。7 .A8 .A9.B解析:本题考查函数中变量的作用范围,在主函数中给变量x, y,z 赋值,然后将其作为实参传递给了函数fun (),虽然在函数fun()中改变 了这3个变量的值,但只是同名的局部变量,不影响函数中变量的值, 所以在调用函数fun()结束后,主函数3个变量的值未改变。10.C解析:n是类的静态数据成员,发生静态数据成员的赋值,则所有 对象的静态数据成员的值都发生改变。H.C解析:C+规定,标识符由大小写字母、数字字符和下划线组成, 并且以字母或下划线开始。因此,本题正确答案为C。12 .D解析:C+ +类中的静态成员变量是该类中所有对象所共有的,它 能够被类中的任何函数调用,所以选项A)、选项B)、选项C)是错误 的。而类的静态数据成员是必须要进行初始化才能使用的。13 .DDo【解析】本题考查的是友元类的定义:类A为类B的友元类,则 类A的所有成员函数都是类B的友元函数,但反之则不一定成立。14 .A解析:题目要求先比较m的大小。其次比较n的大小,首先看函数定 义bool operator(Pairp)corlst,从中可以看出B)和D)选项和函数定义不 一致,缺少const,故排除;选项c只有一层比较不符合题意,故排除 C)选项。因此,本题答案为A)。15 .CC.【解析】线性表是一种线性结构,由n(R0)个元素组成,所以线 性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结 点没有后件,其他结点有且只有一个前件和后件,所以选项C.是错误 的。16 .D解析:本题考核this指针的使用。类的每一个成员函数都有一个隐 含定义的常量指针,称为this指针。它是成员函数所属对象的指针,它 指向类对象的地址。成员函数可以通过这个指针知道自己属于哪一个对 象。但是在使用this指针时需要注意的是:this指针只能在类的成员函 数中使用,它指向该成员函数被调用的对象。this指针一般用于返回当 前对象自身;静态成员函数没有this指针。因为类只有一个静态成员函 数实例,所以使用this指针没有什么意义。在静态成员函数中使用this指针会引起编译错误。17.BBo【解析】本题考查数组的初始化,在对二维数组元素赋初值时,如 果只对部分元素赋初值,那未赋初值的元素自动取0。fun函数是将二 维数组a中主对角线上的元素赋给数组b,所以y4=(l, 0, 7, 0)o18.B本题考查结构体指针变量的赋值方法,要把结点b连接到结点;1的后 面,必须把b的地址给a的next指针。故8正确。19.Bthis指针是C+语言实现封装的一一种机制,它将对象和该对象调用的 成员函数连接在一起.在外部看来,每-个对象都拥有自己的函数成 员。20.D本题主要考查了运算符重载。C+把重载的运算符视为特殊的函数, 称为运算符函数,函数名就是在运算符前加上保留字operator。一般而 言,如果a是类X的对象,在类X中重载前置单目运算符,则下列 两种函数调用方法是等价的:第一种是通过运算符构成表达式的形式进行调用,rn即工第二种是像一般函数那样用函数名进行调用: 当把作为成员函数重载时,调用形式为a.operatorrn();当把作为 非成员函数重载时,调用形式为operatorrn(a)。本题是把前置单目 运算符+重载为成员函数,因此与表达式+a等效的表示为a.operator +()。21.BBO【解析】在C+程序中的typename是都可以替换为class的, 但class不能都替换为typenameo22.DDo【解析】只有公有继承的公有成员才能被派生类的对象直接访问, 其他的情况都会因为访问权限问题产生错误。23.B本题主要考查了构造函数。构造函数的作用是在对象被创建时利用特 定的值构造对象,将对象初始化为一种特定的状态,使该对象具有区 别于其他对象的特征。构造函数在对象被创建的时候由系统自动调 用。24.内联内联25.sum=20sum=20解析:本题考察静态数据成员在同类的不同对象间的 数据传递功能。Sum为所有对象的公共数据,M对象和N对象分别对 sum进行累加,故结果为20o26 .类类解析:面向对象模型中,最基个的概念是对象和类一对象是现 实世界中实体的模型化;将属性集和方法集相同的所有对象组合在一起, 可以构成一个类。27 .析构函数析构函数解析:C+类对象销毁时,自动执行的函数是析 构函数。28 .构造构造解析构造函数用于对对象的初始化,构造函数与类同名, 无返回值。29.53O.Derived(int i) : Base(i) Derived(int i) : Base(i)解析:本题考核派生 类中构造函数。程序中,类Derived是基类Base的公有派生。在类Derived 的构造函数应该包括调用基类构造函数使基类的数据成员得以初始化。 31.内聚内聚解析:内聚是用来判断模块独立性的一个标准,用来衡量 模块内部各个元素彼此结合的紧密程度。32 .友元函数友元函数解析:当需要重载运算符具有可交换性时,选择 重载为友元函数。33 .复杂度复杂度解析:算法计算量的大小称为计算的复杂度。34 .ai-la9-i35 .Derived=0 Sample=9Derived=0 Sample=9 解析:本题考察派生类和基 类的构造函数,析构函数的执行顺序。36 .(l)“staticintn=O"应改为"staticintn;"。(2)“intC0:n;”应改为“intCO:n=0;(3)t4cout«c. n«endl;"应改为"coutvc->n<<endl;【解析】本题要在屏幕上输出两个字符,首先要静态变量初始化,第1 处应改为“staticintn;",第2处要给n赋值,第3处输出时引用c的对 象,应改为"coutvc->n<<endl;37 .(1)应改为“ein . getline(str, 120, ?);n 应改为 "while(stri)"°n(3)应改为“if(stri>=a & & stri<=2),on【解析】本题中要求以输入字符“?”为结束符,用于字符输入的流成员 函数getline函数读入一行字符,格式为“cin . getline(字符数组,字符个 数,终止标志字符字 所以第1处改为“cin . getline(str, 120, ?); 第 2处的“while(str)”语句应该是判断字符串str中的每一个字符是否为结 束符,若不是结束符,在循环中判断每一个字符是否为小写,若为小写, 则转换。所以应该修改为“while(stri)”。第3处的“if(stri>=a)”语句是 判断字符stri是否为小写字符,而现有的语句只是判断字符是否大于a, 但是小写字符应该是a到2,所以修改为“if(stri>=a& &stri>=z)"°38 .(1)应改为“TC :TC”。n(2)应改为"voidTC : display”。n(3)应改为“TC :TC”。n【解析】在类的外部定义成员函数时,必须在成员函数前面加上类名 和作用域运算符“:”,作用域运算符用采表示某个成员属于哪个类,使 用格式为“(类名)"成员函数(参数函数),因此第1处应改为“TC :TC”,默认构造函数没有参数。由第2处“TC "display”后的语句看,这 是在类外实现TC函数,因此也有作用域运算符使用错误问题,display 函数返回值为void,因此第2处的语句应改为“voidTC :display"。由第 3处的语句叮(2:丁小可知,显然这里是在类外实现析构函数,析构函 数是一个特殊的函数,它的名称和类名相同,并在前面加“”字符,用 采与构造函数加以区别,因此第3处的语句应改为“TC :TC”。39 .(1)应改为"usingnamespacestd ;n(2)应改为“outl . open, 1 . txt', ios : binary | ios : app);n(3)应改为“outl . put(si); ”。n【解析】本题第1处的“usingstd厂是在程序中引入标准命名空间std, 对于C + +中引入标准命名空间的格式,缺少namespace,所以第1处 的语句修改为"usingnamespacestd ;"。第2处,调用成员函数open中,

    注意事项

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

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




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

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

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

    收起
    展开