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

    2023年河北省保定市全国计算机等级考试C++语言程序设计真题(含答案).docx

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

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

    2023年河北省保定市全国计算机等级考试C++语言程序设计真题(含答案).docx

    2023年河北省保定市全国计算机等级考试C+语言程序设计真题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .下面关于动态联编的描述中,错误的是()。A.动态联编是以虚函数为基础的。B.动态联编是在运行时确定所调用的函数代码C.动态联编调用函数操作是指向对象的指针或者对象的引用。D.动态联编是在编译时确定操作函数2 .下列数据结构中,能用二分法进行查找的是()。A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表3 .决定C+语言中函数的返回值类型的是()。A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型4 .下列关于运算符重载的叙述中,正确的是()A.通过运算符重载,可以定义新的运算符B.有的运算符只能作为成员函数重载public:/ *error* / staticintn=O:CO(n+ + :)COn:):/ *error* / intCO: : n; voidmain(COobj;COobj27;CO*C=NULL: c=&obj: / *error* / eout<<C. n<<endl; cout<<C0: : n<<endl;39,使用VC+6. 0打开考生文件夹下的源程序文件L cpp,该程序运行时有 错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行 的任何异常。程序异常,输出信息为error0ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误 的语句在/ / *eircxr*的下面。试题程序:#include<iostream. h) intmain(try throw ("error");/ / *error*catch(chars)cout<<s<<endl;try(throw(int)0);)/ / *error* catch(cout<<i<<endl;) try(throw(0);throw("error");)/ / *error* catch(cout«zzERROR/z«endl;returnO; )40.使用VC + + 6 . 0打开考生文件夹下的源程序文件1 . cpp,该程序运行时有错误,请改 正程序中的错误,使得程序输出:9, 8, 7, 6, 5注意:错误的语句在/ *error* /的下面,修改该语句即可。其他的语句不能修 改。试题程序:#include(iostream . h> classTC(I *error* /TC(inti) m_i=i ;voidprintcout<<-m_i<<,;)public :intmj ;);intmain inti ;TC04(10); while(i>5) / *errOr* / 04 . print ;)cout<<endl ; returnO ;) 41 .使用VC+6. 0打开考生文件夹下的源程序文件L cpp,该程序运行有问 题,请改正main函数中的错误,使程序的输出结果为: number=lnumber=10number=100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误 的语句在/ / *errc)r*的下面。试题程序:#include<iostream. h>classTCpublic:TC(inti)(number=i;)voidSetNumber(intm)(number=m; intGetNumberconstreturnnumber; voidPrintconstcout<<,number=/,<<number<<endl ;)private: intnumber;;voidmain/ / *error*TCobjl;objl. Print;TCobj2(3);/ / *error* objl. number=10;/ / *error*%()*TC. SetNumber(100);objl. Print;obj2. Print;42 .使用VC+6. 0打开考生文件夹下的源程序文件L cpp,该程序运行时有 错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行 的任何异常。程序异常,输出信息为error0ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误 的语句在/ / *error*的下面。试题程序:#include<iostream, h) intmain(try(throw("error"); / / *error* catch(chars)cout<<s<<endl; trythrow(int)0);/ / *error* catchcout<<i<<endl;)trythrow (0);throw ("error");/ / *error* catch|cout«z,ERRORz/«endl;returnO;43 .使用VC+6. 0打开考生文件夹下的源程序文件L cppo本程序要求输入 一个字符串,然后将其中的小写字母改成大写字母,字符可能输入多行,当输 入字符“?”时,默认字符输入结束,最后把结果输出到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误 的语句在/ / *eircxr*的下面。试题程序:#include<iostream. h> voidmain(inti=0;charstr120;cout<</zEnterastringendwith?. /z<<endl;/ / *error* cin. getline(str, 120);/ / *error* while (str)/ / *error* if(stri)=a)str i=str i-a+A;i + + ;)cout<<str<<endl;return;44 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能 为从键盘输入一个字符串,并将结果保存到文件1.txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误 的语句在/ / *errc)r*的下面。试题程序:#include<iostream>#include<fstream>/ / *error*usingstd;voidWriteFile (charts)ofstreamoutl;/ / *error*outl. open (/zl. txt, binary | app);for (inti=0; s i !=0; i + +)/ / *error*outl. puts(si);outl. close;)voidClearFileofstreamoutl;outl. open(l txt);outl. close;intmain(chars1024;ClearFile;cout<</zpleaseinputastrin9: zz<<endl; cin. getline(s, 1024);WriteFile(s);returnO;45 .使用VC + + 6.。打开考生文件夹下的源程序文件1 .cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入 一个字符串,并将结果保存到文件1.txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *error*的 下面。试题程序:#include<iostream>#include<fstream>/ / *error*usingstd ;voidWriteFile(char*s)(ofstreamoutl ;I/ *error*outl . open("l . txt", binary|app);for(inti=0 ; si!=0 ; i + +)(I I *error*outl . puts(si);)outl . close ;)voidClearFile(ofstreamoutl ;outl . open("l . txt");outl . close ;)intmainchars1024;ClearFile ;cout<<"pleaseinputastrin9 : "<<endl ;cin . getline(s, 1024);WriteFile;returnO ;五、综合应用题(2题)46.使用VC+6. 0打开考生文件夹下的源程序文件3.cpp,其中定义了类A、A1和A2,其中A1类由A类公有派生,A2类由A1类公有派生。定义类A的构造函数,该构造函数有一个整型的参数x,在构造函数中请将 x赋值给数据成员ao请在注释“ / / *1*”之后添加适当的语 句。定义类A1的构造函数,该构造函数有两个整型的参数x和y,在构造函数 中请将x赋值给数据成员b,将y色为基类A构造函数的参数值传人。请在注 释“/ / *2*”之后添加适当的语句。定义类A2的构造函数,该构造函数有3个整型的参数x, y和z,在构造函 数中请将x赋值给数据成员C,将y和z分别赋值给基类A1构造函数的参数x 和V。请在注释“ / / *3*”之后添加适当的语句。完成类A2的成员函数show的定义,该函数调用基类成员函数,输出基类数 据成员a和b及类A2自身的数据成员C的值,上述3个值在输出时以空格隔 开。请在注释“ / / *4*”之后添加适当的语句。程序输出结果如下:7 3 738注意:除在指定的位置添加语句之外,请不要改动程序的其他部分。 试题程序:#include<iostream. h> classA inta;public:/I sXz/It%intgetareturna; classAl: publicA intb;public:/ 不不不不不不不不乙不不不不不不不不 intgetbreturnb; );classA2: publicAl intC;public:/vL* JvL*/ 不不不不,不不不不力不不不不不不不不voidshowI I *4*;voidmain(A2a(8. 3. 7):cout<<a. geta<<endl: cout<<a. getb<<endl: a. show;47.(1) "while"应改为 uwhile(infile . get(ch)" o(2)应添加 Uburlen + +=ch ; burlen=ch ; len + + ; no应添加 Uoutfile2«buri+ + ; ” 或 Houtfile2«bufi ; i + + 加。(4) “TCobj ; ” 应改为 nTCobi("in . txt") ; " °【解析】本题考查了文件流的使用。根据题意,第1处要获得一个字符,并判断是否到文件 结尾,所以应使用get函数;第2处应将ch存入buf数组,同时让len增1 ;第3处将buf 中的字节输出给。utfile2,注意同时让i增1,否则while循环将进入死循环;第4处TC只 确一个带char*参数的构造函数,所以创建对象时必须使用构造参数,根据题意这个参数应 该是 H"in . txt" o六、3.综合应用题(2题)48,使用VC6打开考生文件夹下的工程test9_3,此工程包含一个源程序文件test9_3.cpp, 其中定义了 Circle类与Money类,Circle类可对半径为r的圆进行周长与面积的计算,而 Money类用于计算一圆形游泳池的造价。游泳池四周有原形过道,过道外围上栅栏,过道宽 度为3米,根据键入的游泳池半径,每米栅栏价格及每平方米过道价格,即可计算出游泳池 的造价。请按要求完成下列操作,将程序补充完整。定义符号常量PI(值为3.14159f)与WIDTH(值为3.00f),分别用于表示圆周率与过道的固定 宽度。请在注释“*1*”之后添加适当的语句。定义Circle类默认构造函数,把私有成员radius初始化为参数r的值。请在注释 7/*2*” 后添加适当的语句。完成Money类默认构造函数的定义,把私有成员FencePrice(每米栅栏的价格)、 ConcretePrice(每平方米过道的价格)初始化为参数f, c的值。请在注释7/*3*火”之后添加 适当的语句。完成 Money 类成员函数 floatMoney:TotalMoney(noat fencelen, float conarea)的定义, 根据参数fencelen(栅栏的长度)和conarea(过道的面积),返回栅栏与过道的总造价。请在注 释“*4*"之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test9_3.cpp清单如下:#include < iostream.h >/*class Circle(private:float radius;public:float Circumference()return 2 * PI * radius;)float Area()return PI * radius * radius;);class Money(private:float FencePrice;float ConcretePrice;public:Money(float f, float c);float TotalMoney(float fencelen, float conarea););Money:Money(float f, float c)(/*3*)float Money:TotalMoney(float fencelen, float conarea)(/*4*)void main()(float radius, fence, concrete;cout.setf(10s:fixed);cout.setf(ios:showpoint);cout.precision(2);cout < < "Enter the radius of the pool:"cin > > radius;cout < < "Enter the FencePrice:"cin > > fence;cout < < "Enter the ConcretePrice:"cin > > concrete;Circle Pool(radius);Circle PoolRim(radius + WIDTH);Money mon(fence, concrete);C若重载运算符+,则相应的运算符函数名是十D.重载一个二元运算符时,必须声明两个形参5 .下面程序的运行结果为#include < iostream.h >Class Astatic int n;public:A() n= 1;A(int num) n = num;void print() cout < < n;);int A: :n = 2;void main()(A a,b(3);a. print();b. print();cout < < endl;)A.ll B.13C.23 D.336 .下列关于关系运算的叙述中正确的是()。A.投影、选择、连接是从二维表的行的方向来进行运算B.并、交、差是从二维表的列的方向来进行运算C.投影、选择、连接是从二维表的列的方向来进行运算D.以上三种说法都不对float totalmoney=mon.TotalMoney(PoolRim.CircumferenceO,(PoolRim.AreaQ - P00I.Area(); cout < < "The total money is RMB" < < totalmoney < < endl;)49.使用VC6打开考生文件夹下的工程test27_3。此工程包含一个test27_3.cpp,其中定义 了类ARRAY,但类的定义并不完整。请按要求完成下列操作,将程序补充完整。完成类ARRAY的带一个参数的构造函数,参数i为int型,如果i不是正数则输出错误信 息并退出,否则申请int型的大小为i的空间,然后把i赋值给类的数据成员num。请在注 释“*”之后添加适当的语句。完成类ARRAY的拷贝初始化构造函数,注意解决重复删除的问题,请在注释 之后添加适当的语句。完成类ARRAY的重载的运算符函数口,参数i为int型,如果i超界则输出错误信息并退 出,否则把下标为i的元素返回,请在注释“*3*。之后添加适当的语句。完成类ARRAY的重载的运算符函数二,同样需要注意解决重复删除的问题,不能只是简 单的赋值,请在注释7/* 4*”之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test27_3.cpp清单如下;#include < iostream.h >#include < stdlib.h >class ARRAY(private:int* p, num;public:ARRAY () p=new int 10 , num = 10;ARRAY (int i)(*(cout < < “错误!数组长度应为正。n” ;函 t(0);)p=new inti;num= i;ARRAY(const ARRAY & a);int &operator (int i);ARRAY。delete p;ARRAY&operator=(const ARRAY& a);friend ARRAY operator+(ARRAY &a,ARRAY&b);friend ostream& operator < < (ostream&os,ARRAY&a);):ARRAY: :ARRAY(const ARRAY &a)/ * 2 *for (int i=0; i < num; i +)PD=a.pi;int &ARRAY: operator (int i)(/ * 3 *(cout < < “越界访问!” ;exit (0);)return pi;)ARRAY & ARRAY:operator=(const ARRAY& a)(num= a. num;p=new int num;for (int i=0; i < num; i+)Pi=a.Pi;11 * 4 *)ARRAY operator+(ARRAY & a,ARRAY & b)(if (a.num!=b. hum)(cout< < “数组长度不相同!”< <endl;exit (0);)ARRAY t (a.num);for(int i=0;i < a.num;i+)t.pi=a.pi + b.pi;return t;)ost ream& operator<< (ostream&os, ARRAY&a) (int i=0;for(;i < a.num; i+)(cout < < a.pi < < 'if (!(i+l) %10)cout< <endl;)return os;)void main ()ARRAY a(3);a0=al =a2=3;cout < < 'a' < < a < < endl;ARRAY b(a);cout < < "b' < < b < < endl;ARRAY c(2);c=a+b+b;cout < < 'c' < < c < < endl;c=( (b= (a+b) +c);cout < < "a' < < a < < 'b' < < b < < 'c' < < c < < endl;参考答案1 .D解析:动态联编一直到程序运行时才能确定调用哪个函数。没有虚函数不能够实现动态 联编,调用虚函数操作的是指向对象的指针或者对象的引用。2 .Arn二分法又叫折半(对分)查找法,只适合于顺序存储的有序表(是指线性表中的元 素按值非递减排列)。二分法的基本思想是:设有序线性表的长度为n,被查元 素为X,则二分查找的方法如下:将X与线性表的中间项进行比较:若中间项的值等于x,则说明找到,查找结 束;若x小于中间项的值,则在线性表的前半部分(即中间项以前的部分)以相 同的方法进行查找;若X大于中间项的值,则在线性表的后半部分(即中间项以 后的部分)以相同的方法进行查找、这个过程一直进行到查找成功或于表长度为 0,(说明线性表中没有这个元素为止)顺序存储的线性袁在计算机中一般用一个- 维数组来表示,在数组中我们可以通过数组名和下标来对数组中的任意一个元 素进行访问,而在链表(不管是有序还是无序)中,要对元 素进行访问必须从表 头结点开始,顺着链条一个一个结点进行搜索,因此选项A正确3 .D4.B解析:本题考核运算符重载的概念。C+中,=、口、()、-以及所有的 类型转换符只能作为成员函数重载。所以B选项的描述是正确的。运算符重载 就是赋予已有的运算符多重含义,并不是定义新的运算符;C+把重载的运算符 视为特殊的函数,称为运算符函数,函数名就是在运算符前加上保留字 operator; '+'是一个二元运算符,但是作为成员函数重载时参数表中只有一个 形参,对应第二个操作数,而第一个操作数就是对象本身。5 .D解析:本题考查的是静态数据成员的使用,n为类A的静态成员,即为类A 的所有对象共有的成员,所以,当对象b把n初始化为3时,对象a的成员n 的值也为3(这两个n实际上是同一个)。6 .C解析:在关系模型的数据语言中,一般除了运用常规的集合运算(并、交、 差、笛卡尔积等)外,还定义了一些专门的关系运算,如投影、选择、连接等运 算。前者是将关系(即二维表)看成是元组的集合,这些运算主要是从二维表的 行的方向来进行的;后者主要是从二维表的列的方向来进行运算。因此,选项 A与B中的说法都是错误的,而选项C中的说法是正确的。7 .C解析:设置默认参数值从右向左。8.B解析:由栈“后进先出”的特点可知:A中el不可能比e2先出,C中e3 不可能比e4先出,且el不可能比e2先出,D中栈是先进后出的,所以不可能 是任意顺序。所以B是正确的。它执行的顺序是:el进栈f e2进栈f e2出栈 f e3进栈f e4进栈f e4出栈f e3出栈f el出栈,所以只看出栈序列应为e2, e4, e3, elo9.B解析:只有在目标声明中,typename和class才可以相互替换,即 typename可以被class替换,而有的class,不一定能被typename替换。10 . C解析:new为分配内存保留字,所以不能为函数的返回类型。11 .D12.B解析:对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后 访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左, 右子树。13 . A解析:运算符的重载是针对C+中原有运算符进行的,不能通过重载创造新的 运算符。14 .DDo【解析】本题考查三目运算等。条件表达式的格式为a?b; c。它的含义 是,当a为真时,取b的值,否则取c的值。在C语言程序中“为真”即“不 等于零”,“为假”即等于0。所以和w等价的表达式是w非零。15.Bn重载运算符的规则如下:C+不允许用户自己定义新的运算符,只能对已有的C+ + 运算符进行重裁;C+ +不能重载的运算符只有5个;重载不能改变运算符运算对象的个 数;重载不能改变运算符的优先级和结合性;重载运算符的函数不能有默认的参数. 重载的运算符必须和用户定义的自定义类型的对象一起使用,至少应有一个是类对象,即不 允许参数全部是C+ +的标准类型。所以答案为B。n16 .A解析:类中默认的类型是私有类型,除非特别指定为公有或保护类型。同时,并没有强 制要求成员函数和数据成员的排列顺序,如果类的成员函数在类定义体内部定义,则为内联 函数,一般类的成员函数都在类定义体的外部实现。17 .C18 . B解析:本题考核派生类中的访问权限问题。继承方式包括:public(公有 派生),protected(保护派生)和private(私有派生)。不同的继承方式会导致 原来具有不同访问属性的基类成员在派生类中的访问属性也有所不同。这里的 访问主要来自两个方面:一是派生类中的新增成员对从基类继承来的成员的访 问;二是派生类外部通过派生类对象对从基类继承来的成员的访问。私有继承 时基类中的protected成员在派生类中变成了 private成员,所以B选项的描 述是错误的。19 .C解析:C+中,类是用户自定义的一种数据类型,对象是类的实例,类定 义了属于该类的所有对象的共同特性。一个类作为一种数据类型,它可以定义 多个对象20 . AAo【解析】整数相除为整数,所以结果为0。21.B基类中说明的虚函数,在派生类中自然就是虚函数,对于纯虚函数必须在后面 继承的派生类中给出具体的实现;静态成员函数不能进行动态联编,所以虚函 数不能是静态的。22.DDo【解析】物理设计阶段主要解决选择文件存储结构和确定文件存取方法的问 题。物理设计阶段包括:选择存储结构、确定存取方法、选择存取路径、确定 数据的存放位置。23.C解析:此题考查的是继承中的构造函数。构造函数不能够被继承。派生类构造 函数的调用顺序如下:调用基类的构造函数,调用顺序按照它们继承时说明 的顺序;调用子对象类的构造函数,调用顺序按照它们在类中说明的顺序; 派生类构造函数体中的内容。24 .循环循环25 .在文件put.txt的尾部追加写入一串字符在文件put.txt的尾部追加写入一串字符 解析: 解本题的关键是要了解文件打开模式常量ios.base : : app的含义。常量ios base : : app表 示为添加数据而打开文件(总是在文件尾部写),因此上述程序实现的功能就是在文件尾部写 入数组ch中字符串。26 .base class derivel class derive2 class27 .循环结构循环结构解析:C+语言3种基本结构就是顺序结构,选择结构,循环结构。28 .编译程序编译程序29 .链接链接解析:数据结构的存储结构包括顺序、链接、索引和散列四种。30 .this- > value 或 TestClass:valuethis- > value 或 TestClass:value 解析:为 了指明是给本类 中的value变量赋值,所以利用每一个成员函数中的指针this指向该变量,或者说明是该类 域中的 value, TestClass:valueo31.1532 .内聚内聚33 .解决二义性问题解决二义性问题 解析:C+ +中可以将共同基类设置为虚基类,这时从不 同的路径继承过来的该类成员在内存中只有一个复制,这样就可解决同名成员的二义性。34 .33解析 本题程序中把变量s定义为静态数据成员,它被MyClass类的所有对象所共享, 但它不属于类的任何一个对象,它的作用域是类范围。在类MyClass的构造函数中,每创建 一个对象,s就增1。由此可知,s用来记录建立对象的个数。由于创建对象指针p时并不 会调用构造函数,所以s最后的值是3。35 .白箱法白箱法解析:白箱测试是根据程序内部逻辑结构的分析来选取测试用例。由于测 试用例对程序的逻辑覆盖程序决定了测试的完全性的程度,因此白箱测试也称为逻辑覆盖测 试。36 .(1)应改为 uassert(sizeof(sl)=4); ”。n应改为 uassert(sizeof(s2)=10); ”。n应改为 "assert(sizeof(s3)=l); ”。n【解析】assert函数如果为假,则会产生一个中断异常。所以要让它正常执行输出结果, 那么assert函数只有为真,才不会产生中断异常。“assert(sizeof(sl)二二3); ”语句中 “sizeof(sl)二二3”为假,这会使程序产生异常,不能正常执行。因为strl的值为abc,但是 它还有一个尾符,它的长度应该是4,而不是3,所以在第1处修改为 uassert(sizeof(sl)=4) ; n。str210说明,str2 的空间为 10,在第 2 处修改为 uassert(sizeof(s2)=10) ; "。charstr3=23 ;语句说明23是字符,所占存储空间为1,所以 修改为 uassert(sizeof(s3)=1);"。37 .(1)应改为 “TC : : TC"。n应改为 "voidTC : display"。n应改为“TC :TC” on【解析】在类的外部定义成员函数时,必须在成员函数前面加上类名和作用域运算符“:” 作用域运算符用采表示某个成员属于哪个类,使用格式为“(类名)"(成员函数(参数函 数),因此第1处应改为MTC:TC ,默认构造函数没有参数。由第2处“TC : display” 后的语句看,这是在类外实现TC函数,因此也有作用域运算符使用错误问题,display函数 返回值为void,因此第2处的语句应改为“voidTC : : display" o由第3处的语句UTC : TC”可知,显然这里是在类外实现析构函数,析构函数是一个特殊的函数,它的名称和类名 相同,并在前面加“”字符,用采与构造函数加以区别,因此第3处的语句应改为“TC: TC” o38 . (1) ustaticintn=Ov应改为 staticintn; "。(2) “intCO: : n; ” 应改为 “intCO: : n=0; ”。(3) cout«c. n<<endl; ” 应改为 cout<<c->n«endl; "。【解析】本题要在屏幕上输出两个字符,首先要静态变量初始化,第1处应改 为“staticintn; ”,第2处要给n赋值,第3处输出时引用c的对象,应改 为 cout«c->n<<endl ; "。39 . (1)应改为 "catch(chax*s) ”。(2)应改为 "cateh(inti)”。(3)应改为 "catch()”。【解析】本题中第1个标识前的异常抛出语句为“throw(error); ",其中 的类型为字符串。所以对应的异常捕捉语句catch中应该符合这个类型,而程 序中给出的语句"catch(chars)"是字符型的,所以第1处的语句修改为“catch(char*S) ”。第2个标识前的异常抛出语句为“throw(int) 0);”, 其中的类型为int。对应的异常捕捉语句catch中应该符合这个类型,所以补 充catch子句中的类型,否则如果找不到匹配的catch块,系统就会调用一个 系统函数,使程序终止运行。即第2处的语句修改为“catch(inti)”。如果在 catch子句中没有指定异常信息的类型,那么就用删节号表示它可以捕 捉任何类型的异常信息,即修改为“catch()”。40 .应添加 “public :" on “inti” 应改为 Minti(10); ”。n “i+ + ; ” 应改为 “i-; ”。n【解析】本题主要考查的是成员的访问属性。成员的访问属性有公有、保护和私有3种, 而默认的访问属性为私有,只有公有成员才能通过类的对象被访问。故应在构造函数前添加 “public:”,否则该类无法被实例化。变量的初始化可以通过“二”号,也可以和初始化对 象一样添加构造参数,题目已要求使用后者。本题要求输出5个数,while的循环变量i每 次减L在i>5时循环,故i初始化应为10。若循环中i每次增1,则循环永远不会退出。41 . (1)应改为"TCobjl(l); " o(2)应改为 “ObjL SetNumber(lO);(3)应改为 “0bj2. SelNumber(lOO);"。【解析】本题第1处的“TCobjl; ”语句是声明TC类的对象Objl,根据TC类 构造函数的定义TC(inti),存在整型参数,并且题目要求第一个输出结果两 1,所以补全参数1,即第1处的“TCobjl(l); "。第2处处的“objl. number=10; ”应该

    注意事项

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

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




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

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

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

    收起
    展开