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

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

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

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

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

    2022年安徽省铜陵市全国计算机等级考试C+语言程序设计模拟考试(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .在位运算中,操作数每右移一位,其结果相当于()A.操作数乘以2 B.操作数除以2 C.操作数乘以4 D.操作数除以42 .下列程序的运行结果是()。#include < iostream.h > void fun(int *a, int *b)int *k; k=a; a=b; b=k;void main()inta=2OO4,b=9,*x=&a,*y=&b;fun(x, y);cout <<a<<nn<<b<< endl;A.20049 B.92004 C.O D.编译时出错3 .有如下程序: #include < iostream > using namespace std; class BASE public: - BASE()cout < < "BASE") ); class DERIVED:public BASE public: DERI VED() cout < < "DERIVED"; ; int main()DERIVED x;return 0;执行后的输出结果是A.BASE B.DERIVED C.BASEDERIVED D.DERIVEDBASE4,下列引用的定义中,()是错误的。A.int i ; int &j=iB.int i ; int &j ;C.float i ; int &j; j=iD.char d ; char &k=d;32 .在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系 的是框。33 . C+语言中的基本符号可以分为 三类。34 .下面程序的输出结果是。#define MIN(a,b) (a) < (b)?a:b)#include < iostream.h >void main() (int x= 3, y=5;cout < < MIN(x,y) < < endl; )35 .在类的对象被创建时,函数会被自动调用。四、程序改错题(10题)36 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,但该程 序运行有问题,请改正main函数中的错误,使该程序的输出结果正 确。程序输出:88注意:错误的语句在/ *error* /的下面。修改该语句即可,其他的语句不能修改。试题程序:#include(iostream. h> classCO public:不不不不小不个个error个个个个个个个个staticintn=O:CO n+ + :CO n:):*1*1*1* *1*1*1* 1* *1* *1* *1* 1*不不不不不不不不个个个个个个个个intCO:voidmainCOobj ;COobj27;COCNULL:c= & obj :不不不不不不不不enor不个个个不个个个eout«C . n«endl ;cout«CO: n«endl;37 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp。本程序要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可 能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。试题程序:#include<iostream. h> voidmain inti=O;charstr120;cout«nEnterastringendwith?n«endl ;cin. getline(str, 120);个个个个个个个个个个个个个个个个while(str)vl* vl*vl*个个个个个个个个rror个个*个个个个个if(stri)=a)stri=stri-a+A;i+ +;)cout«str«endl ;return ;)38 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为error0ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *error*的下面。试题程序:#include<iostream h)intmain( try(throw(nerrorn);)/不不不不不不不不error不不不不不不不不catch(chars)cout«s«endl ;) try (throw(int)0);vt*vt* k1*个个个个个不小个nor个个个个个个个个catch(cout«i«endl;) try (throw(O);throw(nerrorn);*1> *1> k!> k!>k£*1> kJ> k1> k1> 7,7,不*t*个个个个个个个个个个个个个个catch(cout«nERRORn«endl ;returnO ;39 .使用VC + +6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0,Destructor注意:错误的语句在/ / *errc>r*的下面,修改该语句即可。试题程序:#include(iostream . h) classTC inti ;public :TC ;voiddisplay ;TC ;不不不不不不en<0r不不不不不不TC : TC cout«nConstructorn«n," i=0;<1>不可不不不不eu*or不不可不不不TC : display tout«ni=n«i«n, n«endl ;TC : TCCOUI«nDestructorn«endl :) voidmainTCa ;a . display ; )40 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错。请改正程序中的错误,使程序输出的结果为1003732注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include<iostream . h>7,7, 不不不小不不en*or不不不不小不voidmain7“ 7,不不不小不不enor不不不不不不intm=0142:不不不不不不enor不不不不不不intn=0X27:intq=32;cout< <m<< endl ;cout< <n< < endl ;cout< <q< < endl ;return ;41 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number= 1number=10number= 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *errc)r*的下面。试题程序:#include<iostream. h>classTC (public:TC(inti) (number=i;voidSetNumber(intm)(number=m ;)intGetNumberconst(returnnumber;voidPrintconst cout«nnumber=H«number«endl;private:intnumber;voidmainTCobjl;objl. Print;TCobj2(3);rror *objl. number=10;/ * ej*01* *TC. SetNumber(lOO);objl. Print;obj2. Print;42 .使用VC+6. 0打开考生文件夹下的源程序文件 1.cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入一个字符串,并将结果保存到文件L txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在* ej*j*or * *_h j °试题程序:#include<iostream>#include<fstream>vl* vl#vl* kI>个个个个不不不不下个不不不不不不usingstd;voidWriteFile(char*s) ofstreamoutl ;k!>7” 7,7,rror *outl. open(nl. txt", binary|app);for(inti=0; si!=0; i + +)小个个个个不不不个个不不不下不不outl. puts(si);outl. close;voidClearFile ofstreamoutl ;outl. open(nl. txt'');outl. close;intmain chars 1024;ClearFile;cout«npleaseinputastrin9 :n«endl ;5 .关于数据库系统的特点,下列说法中错误的是数据 oA.结构化B.共享性高C.独立性差D.统一管理和控制6 .结构化程序设计的核心和基础是()。A.结构化分析方法B.结构化设计方法C.结构化设计理论D.结构化编 程方法7 .有以下程序#include < iostream >using namespace std;class MyClass public:MyClass(intn) number=n; 拷贝构造函数MyClass (MyClass& other) number=other.number; MyClass()private:int number;);MyClass fun (MyClass p) MyClass temp(p);return temp ; )int main() MyClass objl(10), obj2(0);MyClass obj3(obj 1);obj2=fun(obj3);cin. getline(s, 1024);WriteFile(s);returnO ;43 .使用VC+ + 6 .0打开考生文件夹下的源程序文件1 .cppo本程序要 求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输 入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕 中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include<iostream . h> voidmain inti=O ;charstr120;cout«nEnterastringendwith? . n«endl ;cin . getline(str, 120);while(str)if(stri)=a)stri=stri-a + A ;i+ + ;)cout«str«endl ;return ;)44 .使用VC + +6.0打开考生文件夹下的源程序文件1.cpp,该程序运 行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果 为:sizeof(Sl)=5 sizeof(s2)=10 sizeof(s3)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。不能删除assert ()语句。只能修改后面的数字。提示:assert函数如果为假,则会产生一个中断异常。试题程序:#include<iostream . h> #include<assert . h> voidmain () char*sl=nabcn:vl* *1*个个个个个个个个个个个个个个个个 assert(sizeof(s 1 )=3):cout«nsizeof(sl)=5n«endl ;chars210="ab":/不不不不不不不不error不不不不,不不不assert(sizeof(s2)=2);cout«nsizeof(s2)=10n«endl ;chars3=23 :/不不不不不不不不error不不不不不不不不assert(sizeof(s3)=4);cout«nsizeof(s3)=r,«endl ;return ; )45 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为 error0ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。试题程序:#include<iostream. h)intmain throw,error");kI>KL*个个个个个个个个nor个个个个个个个个catch(chars) cout«s«endl ;throw(int)0);vl* k1*kL*不不不不不不不下nor不不不"不予不不catch cout«i«endl;try throw(O);throw(nerrorn);catch cout«nERRORn«endl ;returnO ;五、综合应用题(2题)46 .使用VC+6. 0打开考生文件夹下的源程序文件3. cpp,其中定 义了类BA、PA1和PA2,其中PA1类由BA类公有派生,PA2类由 PA1类公有派生。上述3个类的定义并不完整,请按要求完成下列操 作,将程序补充完整。程序输出结果如下:105 1057定义类BA的构造函数,该构造函数有一个整型的参数m,在构造 函数中将m赋值给数据成员ao请在注释1之后添加适当的语句。(2)定义类PA1的构造函数,该构造函数有两个整型的参数m和n,在 构造函数中将m赋值给数据成员b,将n作为基类BA构造函数的参 数值传人。请在注释2之后添加适当的语句。定义类PA2的构造函数,该构造函数有3个整型的参数m、n和 k,在构造函数中请将m赋值给数据成员c,将n和k分别赋值给基类 PA1构造函数的参数m和no请在注释3之后添加适当的语句。(4)完成类PA2的成员函数show的定义,该函数调用基类成员函数, 输出基类私有成员a、b及类PA2自身的数据成员C的值,上述3个 值在输出时用空格隔开。请在注释4之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。试题程序:#include(iostream . h> classBA inta;public:I I *intgetareturna; ;classPAl : publicBA (intb;public:intgetb returnb ; ;classPA2: publicPAl ( intC;public:I I *3* voidshowI I *4*;voidmainPA2a(7, 5, 10);cout«a . geta«endl ;cout«a . getb«endl ;a. show; )47 .(1)应添加“BA(intm)a=m ; ”。(2)应添力口“PAl(intm, intn) : BA(n)b=m ; ”。(3)应添力 H“PA2(intm, intn, intk) : PAl(n, k)C=m;)”。【解析】根据第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处应添加"cout«geta«nn«getb«nn«C«endl ;六、3.综合应用题(2题)48 .使用VC6打开考生文件夹下的工程MyProj2。此工程包含一个源程 序文件MyMain2.cpp.此程序的运行结果为:Derive Ts Print() Called .Derive2's Print() called .其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。 定义函数Print。为无值型纯虚函数。请在注释“*1*”之后添加适当 的语句。建立类Derivel的构造函数,请在注释“*2*”之后添加适当的语句。完成类Derive2成员函数Print。的定义。请在注释“*3*”之后添加 适当的语句。定义类Derivel的对象指针dl,类Derive2的对象指针d20其初始化 值分别为1和2。源程序文件MyMain2 . cpp中的程序清单如下:/MyMain2. cpp#include < iostream >using namespace std;class Base(public:Base(int i) b=i;protected:int b;);class Derivel: public Base (public: void print () (cout < < n DeriveFs Print() called/1 < < endl;class Derive2 : public Base (public:Derive2(int i) :Base(i) )* * 3);/*&* void fun (Base *obj) (obj- > Print ();)int main ()(* * 4 * * fun (dl);fun (d2); return 0;49 .使用VC6打开考生文件夹下的工程test39_3o此工程包含一个 test39_3.cpp,其中定义了类ARRAY和其派生类STUDENT,其中类 ARRAY是一个多态数组,该数组可以存放学校中的各类人员,如学生 等,但它们的定义并不完整。请按要求完成下列操作,将程序补充完整。定义类ARRAY的三个公有成员纯虚函数add(int a)s del(int d)和 show(int s),它们的返回值类型都是void型的。请在注释“*1*之后 添加适当的语句。(2)添加派生类STUDENT的保护数据成员float型的二维数组table,使 其有row行和s_col列,请在注释“*2*”。之后添加适当的语句。完成派生类STUDENT的成员函数del(ints)的定义,实现把二维数组 第s行删除的功能,即把该行清零,请在注释“*3*”之后添加适当的 语句。(4)完成派生类STUDENT的成员函数show(ints)的定义,使其以格式“” 跳格table行号列号is_换行”依次输出s行的各个元素,请在注释 “*4*,之后添加适当的语句。源程序文件test39_3.cpp清单如下:#include < iostream.h >#include < stdlib.h >const int row = 100;const int s col = 3;class ARRAY(public: * *)class STUDENT:public ARRAY(public:virtual void add(int s) (cout < < ntlnput data of STUDENT." < < endl;cout < < ntFirst:n;cin > > tables 0;return 0 ; )程序执行时,MyClass类的拷贝构造函数被调用的次数是A.5B.4C.3 D.28 .将E-R图转换到关系模式时,实体与实体间的联系可以表示成()o A.属性B.关系C.键D.域9 .决定C+语言中函数的返回值类型的是()。A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型10 .下列程序的输出结果为2,横线处应添加语句()。#include < iostream > using namespace std; public:void fun()cout < < 1; ; class TestClass2:public TestClassl public:void fun()cout < < 2;) ; int main() TestClassl *p=new TestClass2; p- > fun(); delete p; Teturn 0; A.public B.private C.virtual D.protected二、单选题(13题)11 .下列程序的输出结果是()。#include<iostream. h>voidmain () (char*str=n12123434n;cout < < ntSecond:n;cm > > tables 1;cout < < "tThird:"cin > > tables 2;virtual void del(int s);virtual void show(int s);protected:int i; * 2 *);void STUDENT:del(int s)*3* void STUDENT:show(int s) (cout < < endl;for(i=0;i < =s_col-l;i+)*4* )int main()(STUDENT st;ARRAY* ap;ap=&st;ap- > add(3);ap- > show(3);ap- > del(3);ap- > show(3);return 0;)参考答案1.B右移运算符”>>”是双目运算符。其功能是把">>”左边的运算数的各二 进位全部右移若干位,”>>”右边的数指定移动的位数。例如:设 a=15, a»2 表示把 000001111 右移为 00000011(十进制 3)。2 .A3 .D解析:本题考核派生类的定义和使用。当对象被删除时,派生类的 析构函数就被执行。由于析构函数不能被继承,因此在执行派生类的析 构函数时,基类的析构函数也将被调用。执行顺序是先执行派生类的析 构函数,再执行基类的析构函数,其顺序与执行构造函数的顺序正好相 反。所以当main函数结束时,派生类DERIVED的对象x将被删除, 那么派生类DERIVED的析构函数先被调用,输出DERIVED,然后调 用基类的析构函数输出BASE04.B5 .C6 .CC。【解析】结构化程序设计的核心和基础是结构化设计理论,其中 包括:结构化分析方法、结构化设计方法和结构化编程方法。7.B解析:本题考核C+ +的拷贝构造函数。调用拷贝构造函数的情况 为:一个新对象被另一个已存在的同类型对象初始化:当一个对象作 为实参传递给函数时为初始化形参,要调用拷贝构造函数。在函数值 返回时形参的生命期结束时它的结构函数被调用;在函数返回一个对 象时调用拷贝构造函数。符合以上条件的有:用对象。objl来初始 化。obj3; obj3作为实参被传入;函数fun返回一个对象时;系统用返 回值初始化一个匿名对象时调用了拷贝构造函数。总共调用4次。8.B解析:将E-R图转换成指定RDBMS中的关系模式是数据库逻辑 设计的主要工作。从E-R图到关系模式的转换是比较直接的,实体和联 系都可以表示成关系。9 .D10 .C解析:由主函数main入手,定义TestClassl类的指针对象p指向 派生类Testclass2。因为基类和派生类中都有fun函数,题目要求输出 为2,就是基类对象访问派生类中fun函数。通过虚函数与指向基类对 象的指针变量的配合使用,就能方便调用同名函数。所以这里将基类 中的fun函数声明为virtualo并且当一个成员函数被声明为虚函数后, 其派生类中的同名函数自动成为虚函数。11 .DDo【解析】本题考查循环的嵌套、for和switch语句的应用、C+ + 中各种条件判断,循环语句的用法。只要注意在C+语言中,系统 在字符指针的最后位置会增加一个字符串结束符0,执行8次for循 环,再根据switch语句中的条件易知答案。12 .C解析:软件按功能可以分为:应用软件,系统软件、支撑软件(或工 具软件)。应用软件是为解决特定领域的应用而开发的软件。例如,事务 处理软件、工程与科学计算软件,实时处理软件,嵌入式软件,人工智 能软件等应用性质不同的软件。因此选项C教务管理系统属于应用软 件。系统软件是计算机管理自身资源,提高计算机使用效率并为计算机 用户提供各种服务的软件。如操作系统,编译程序,汇编程序,网络软 件,数据库管理系统等。因此选项A、B、D都属于系统软件。13.B解析:字串的定位操作通常称为串的模式匹配,是各种串处理系 统中最重要的操作之一。14 .CCo【解析】本题考查的是C+标准库iostream提供的基本I / O 类。istream提供了向流中插入数据的有关操作;Ostream提供了从流中 提取数据的有关操作。15 .A本题考查C+标识符的命名规则.其规则有如下几点:所有标识符 必须由字母、数字或下画线组成.且必须由字母或下画线开头;所 有标识符不能使用C+已有的关键字;大、小写字母表示不同意 义,即代表不同的标识符。选项B包含了字符“”,选项C是关键 字。选项D不能以数字开头。故答案为A。16 .Cco【解析】data。是两个结构体组成的数组,p指向结构体数组的首 地址,p->y访问第一个结构体的第二个元素;(+p)x访问第二个结 构体的第一个元素。所以输出为10, 2o 17C数据库系统的三级模式是概念模式、外模式和内模式。概念模式是 数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外 模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的 局部数据描述,所以选择C。内模式又称物理模式,它给出了数据库物 理存储结构与物理存取方法。18.A本题考查对文件输入流的操作,ifstream流类为输入流类,默认的文件 输入流扣'开方式为ios:in。故答案为A。19.A本题主要考查了常成员函数和运算符重载。因为const关键字可以用于 对重载函数的区分,所以在类外定义常成员函数时不能省略const关键 字,因此选项B和选项D错误。选项C中,如果m<p.m, n>p.n返回 值为true,但题目要求返回值应为false,因此选项C错误。20.D解析:逻辑运算符”'表示或的意思。2LC解析:继承方式有公有继承、私有继承和保护继承3种,缺省的继 承方式是私有继承。派生类从基类继承所有的成员,但是对于基类的私 有成员派生类是不可直接访问的。22.D解析:本题考核C+程序的基本框架。“封装性”指将数据和算法捆 绑成一个整体,而不是将不同类型的相关数据组合在一起。C+ +中的 多态性是指一个面向对象的系统常常要求一组具有相同基本语义的方 法能在同一接口下为不同的对象服务。基类的私有成员在派生类的对 象中不可访问,但是也占据内存空间。C+ +同时支持结构化和面向对象两种程序设计的基本框架,所以在面向对象的程序设计中,结构化程序设计方法仍有着重要作用。23.B24 .机器语言机器语言25 .投影投影解析:专门的关系运算主要包括对单个关系进行垂直分解 (投影操作)或水平分解(选择操作)和对多个关系的结合(连接操作)等。26 .线性结构线性结构解析:数据结构分为线性结构和非线性结构,其 中队列是属于线性结构。队列有两种存储结构:一种是顺序存储结构, 称为顺序队列;另一种是链式存储结构,称为链队列。题目中所说的带 链的队列就是指链队列。无论队列采取哪种存储结构,其本质还是队列, 还属于一种线性结构。因此,本题的正确答案是线性结构。27 .非线性结构非线性结构解析:数据的逻辑结构有线性结构和非线性 结构两大类。28 .44解析:本题主要考查C+中递归函数。递归函数即自调用函数, 在函数体内部直接或间接的自己调用自己,即函数的嵌套调用是函数本 身。递归调用分为直接递归调用和间接递归调用两种形式。本题程序为 求解典型递归数列Fibonacci数列中任意项值的简化程序(主函数中的调 用改成fib(n)即变成求解任意项值)。主函数通过调用处()函数,fib()函 数内部再通过一个分支结构判断是否进行递归调用或退出递归调用,调 用方式为直接递归调用。主函数通过实参将值3赋给fib()函数的形参n, 由于n=3满足if分支语句条件,因此函数进行递归调用,即计算fib(2) 和fib(l)的值;将2赋给fib()函数的形参后,由于n=2不满足if分之语 句条件,因此程序退出递归,返回2;将1赋给flb()函数的形参后,函 数同样返回2。因此函数递归调用的最终结果为返回2+2=4,即fib(3)=4,程序最后输出值为4O29.Location&rA1 = A1 ;Location&rA1 = A1;解析:本题主要考察引用的定 义。根据上下文以及注释可以获取所需要的类型及名称信息。30.420420解析:一般二又树有一个性质:在任意一棵二叉树中,度为。 的结点(即叶子结点)总是比度为2的结点多一个。在根据完全二叉树的定义,在一棵完全二叉树中,最多有1个度为1的 结点。综合以上两点可以得到如下结论;设一棵完全二叉树具有n个结点。如果n为偶数.则在该二叉树中有n/2 个叶子结点以及n/2-l个度为2的结点,还有1个是度为1的结点;如 果n为奇数,则在该二叉树中有n+1个叶子结点以及n个度为2的 结点,没有度为1的结点。在本题中,完全二叉树共有839个结点,839是奇数,因此,在该二叉 树中有420个叶子结点以及419个度为2的结点,没有度为1的结点。 31.封装封装32 .菱形E-R模型可以用一种非常直观的图的形式表示,这种图称为E- R图。在E-R图中我们分别用下面不同的几何图形表示E-R模型中的三 个概念与两个联接关系。实体集表示法。在E-R图中用矩形表示实体 集,在矩形内写上该实体集的名字。(2)属性表示法。在E-R图中用椭圆 形表示属性,在椭圆形内写上该属性的名称。(3)联系表示法。在E-R图 中用菱形(内写上联系名)表示联系。33 .字母数字特殊符号字母数字特殊符号34.335.构造构造解析:此题考查的是构造函数的应用。构造函数的作用是在对象被创建时利用特定的值构造对象,构造函数在对象被创建时由系 统自动调用。36.(l)t'staticintn=O,5)Z3(tcstaticintn;"。(2)“intCO:n;”应改为“intCO:n=0;”。(3)4tcout«c. n«endl ;"应改为"coutvc->n<<endl;"。【解析】本题要在屏幕上输出两个字符,首先要静态变量初始化,第1 处应改为“staticintn;",第2处要给n赋值,第3处输出时引用c的对 象,应改为"cout<c->nv<endl;"。37.(1)应改为“ein. getline(str, 120, ?);(2)应改为"while(stri)”。(3)应改为“if(stri>=a&&striv=2)"°【解析】本题中要求以输入字符“?”为结束符,用于字符输入的流成员 函数getline函数读入一行字符,格式为“cin. getline(字符数组,字符 个数,终止标志字符广,所以第1处改为“cin. getline(str,120, ?); "。第2处的“while(str)”语句应该是判断字符串str中的每一 个字符是否为结束符,若不是结束符,在循环中判断每一个字符是否 为小写,若为小写,则转换。所以应该修改为“while(stri)"°第3处的 “if(st巾>=a)”语句是判断字符str用是否为小写字符,而现有的语句只是判断字符是否大于a,但是小写字符应该是a到2,所以修改为 t4if(stri>=a& &stri>=z),038 .(1)应改为"catch(char*s)”。应改为“cateh(inti)”。(3)应改为"catch()”。【解析】本题中第1个标识前的异常抛出语句为“throw,error");",其 中的类型为字符串。所以对应的异常捕捉语句catch中应该符合这个类 型,而程序中给出的语句“catch(chars)”是字符型的,所以第1处的语 句修改为“catch(char*S)”。第2个标识前的异常抛出语句为 uthrow(int)0);”,其中的类型为int。对应的异常捕捉语

    注意事项

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

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




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

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

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

    收起
    展开