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

    2022年四川省内江市全国计算机等级考试C++语言程序设计预测试题(含答案).docx

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

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

    2022年四川省内江市全国计算机等级考试C++语言程序设计预测试题(含答案).docx

    2022年四川省内江市全国计算机等级考试C+语言程序设计预测试题(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1.下列关于C+语言类的描述中错误的是A.类用于描述事物的属性和对事物的操作B.类与类之间通过封装而具有明确的独立性C.类与类之间必须是平等的关系,而不能组成层次结构D.类与类之间可以通过一些方法进行通信和联络2 .在结构化方法中,软件开发阶段用数据流程图(DFD .作为描述工具的是()。A.需求分析B.详细设计C.程序编码D.可行性分析3 .对于下面的程序 ifstream fin(c :test.txt) ;if(fin) cout < < "ok" ; else cout< < "wrong"对于if语句中的内容可以换为A.fin.fail() : B.fin.bad() ; C.fin.good() ; D.fin.eof();4 .下列说法正确的是()。A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地usingstd;voidWriteFile(chars) ofstreamoutl ;7,7,7,7, 7,1>、!> 7,个个个*t*不不个下nor个个个个个个个个outl. open(nl. txtn,binary|app);for(inti=0; si!=0; i+)kL# kL* vt*个个个个个个个个rror个个个个个个个个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;cpp,该程序运修改该语句即37.使用VC+ +6 .0打开考生文件夹下的源程序文件1.行时有错误,请改正程序中的错误,使得程序输出:9, 8, 7, 6, 5注意:错误的语句在/ *error* /的下面,可。其他的语句不能修改。试题程序:#include(iostream . h> classTC*1个个个个个个个个个个个个个个个小TC(inti) m_i=i ;) voidprint cout«m_i«, public :intm i ;intmain inti ;TC04(10);while(i>5)(不不不不不不不不rr()r不不不不不不不不i+ + :04 . print ;)cout«endl ;returnO ;)38 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp。本程序 要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可 能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include<iostream. h> voidmain(inti=O ;charstr120;cout«nEnterastringendwith?. n«endl;/vL*vL*vL* *1*/不不不不不不下下error下不不不少不不不cin. getline(str, 120);/不不不小个不不不error小不小不不不不不while(str)(/ 7> 7> 7> 7,7> 7> 7>7> 7,7,7> 7> 7> 7> 7,/不不不小不不不不error不不小不不不不不if(stri)=a)stri=stri-a+A;i + +;)cout«str«endl ;return; )39 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为error0ERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *enor*的下面。试题程序:#include<iostream. h)intmain(trythrow(nerrorn);I i *error*catch(chars) cout«s«endl; try throw(int)0);I i *error*catch(cout«i«endl ; try throw(O);throw(nerrorn);I i *eiror*catch (cout«"ERROR"«endhreturnO ;40 .使用VC + + 6 . 0打开考生文件夹下的源程序文件1,cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现 的功能为从键盘输入一个字符串,并将结果保存到文件1 . txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include<iostream>#include<fstream>/ / *error*usingstd ;voidWriteFile(char*s)(ofstreamoutl ;/ / *error*outl . open(nl . txtn, binary|app);for(inti=0 ; si!=0 ; i+ +)(I I *eiror*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 ; )41 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序 运行时有错误,请改正错误,使程序正常运行,并且要求最后一个 catch必须抛出执行的任何异常。程序异常,输出信息为error OERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。试题程序:#include<iostream. h) intmain( try (throw(nerrorn);)vt*k1> k!> k1> k!> kI>个个个个个个不不nor不不不不不不不不catch(chars) (cout«s«endl;) try(throw(int)0);)/ 7, 7,7" 7,7” 7,/个个个干不不不不error不小小不不不小小catch(cout«i«endl;) try (throw(O);throw(H error");kI*kL*kI> vl* kL*个个个个个个个个rror不不不不不不不不catch (cout«HERRORn«endl ;)returnO ;42 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为: number=lnumber= 10number= 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *errc)r*的下面。试题程序:#include<iostream. h>classTC (public:TC(inti) (number=i;)voidSetNumber(intm)(number=m;)intGetNumberconst(returnnumber;)voidPrintconst (cout«n number=n «number«endl ;)private:intnumber;voidmain个个个个个个个个个个个个"个个个TCobjl;objl. Print;TCobj2(3);7,7,7,k,1> 7“ 7,、!> 7,个个个*t*不不个下个个个个个个个个objl. number=10;/ ! * enor* * *TC. SetNumber(lOO);objl. Print;obj2. Print; )43 .使用VC + +6.0打开考生文件夹下的源程序文件1.cpp,该程序运 行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果 为:sizeof(Sl)=5sizeof(s2)=10sizeof(s3)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。不能删除assert ()语句。只能修改后面的数字。提示:assert函数如果为假,则会产生一个中断异常。试题程序:#include<iostream . h>B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地 方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline定义5,执行语句序列 ofstream outfite("data.dat") ;if(.)cout < < "ok" ;else cout< < "fail"后,如果文件打开成功,显示“ok”,否则显示“fail”。由 此可知,上面if语句的“”处的表达式是。或 outfileB .outfile.good。或! outfile。或 outfile。或!outfile6 .已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的 算法是()A.堆排序B.直接插入排序C.快速排序D.直接选择排序7 .在C语言中,退格符是A.nB.tC.fD.b8 . 一个函数无返回值时,应选择的函数类型是 oA.void B.int C.不确定 D.float#include<assert . h> voidmain () char*sl=nabcn:个个个个个个个个nor个个个个个个个个assert(sizeof(s 1 )=3): cout«nsizeof(sl)=5n«endl ;chars210=nabn:,、,、errorassert(sizeof(s2)=2);cout«nsizeof(s2)=10n«endl ;chars3=23 :si*r>errorassert(sizeof(s3)=4);cout«nsizeof(s3)=r,«endl ;return ; )44 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,但该程序运行有问题,请改正main函数中的错误,使该程序的输出结果正确。程序输出:88注意:错误的语句在/ *eiror* /的下面。修改该语句即可,其他的语句不能修改。试题程序:#include(iostream. h> classCO public:7* 7,一女,女,不个个不不不个个个个个个个个个staticintn=O:CO n+ + :CO n:1* *1* *1*不不不不不不不不en*01不不不不不不不不intCO: n;voidmainCOobj ;COobj27;COCNULL:c= & obj :-1*不不小不不不不个nor个个个个个个个个eout«C . n«endl ;cout«CO: n«endl; )45 .使用VC+ + 6 .0打开考生文件夹下的源程序文件1 .cpp。本程序要 求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输 入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕 中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include<iostream . h> voidmain(inti=O ;charstr120;cout«nEnterastringendwith? . n«endl ; /vl*vl* 1*/不不不不不不不不eiror不不不不,不不不cin . getline(str, 120);/不不不不不不不不error不不不不不不不不whilc(str) (/不不不不不不不不error不小不不不不不不if(stri)=a)stri=stri-a + A ;i+ + ;cout«str«endl ;return ; 五、综合应用题(2题)46.使用VC+6. 0打开源程序文件3. cpp。其中类TC用于把文件 输出到屏幕,然后进行文件的分割。分割的方法如下:第一个文件的 大小是文件的前一半,另外一个文件的大小是剩余部分。此程序将 in. txt文件中的内容输出到屏幕,并且将文件按照以上方式分割,存于文件outl. txt和out2. txt 中。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完 整。从输入文件中获得一个字符,并判断是否到文件结尾,如果到文件结尾,则退出循环。请在注释1后添加适当的语句。(2)把获得的输入文件的内容存储到bur中,并且用len记录下文件的长度。请在注释2后添加适当的语句。将输入文件的后一半内容存储在第二个文件中,请在注释3后添加适当的语句。(4)使用文件流对象打开输入文件in. txt,请在注释4后添加适当的语句。注意:增加代码或者修改代码的位置已经用符号表示出来。请不要修 改其他的程序代码。试题程序:#include<iostream. h>#include<fstream. h> #include<stdlib. h)classTC (public:TC(char*fileName) (len=O;fstreaminfile;infile. open(fileName, ios: in);charch;while(cout«ch;/ kL*1*kL* k!>/9 rj* rr*rj* rT* rTw)infile. close;)voidsplit(fstreamoutfilel ;fstreamoutfile2;outfilel. open(noutl. txt", ios: out);outfile2. open(nout2. txt", ios: out);inti=0:for(i=0; i<len / 2; i+) (outfilel«bufi;)do( / *1* *1* *1*1* vl* 1* *1* *1* *1* *1* *1*/)while(i!=len);outfilel. close;outfile2. close; )prwate:intlen;charbuf1024;voidmainI I *4*TCobj ;obj. split;return ;47.(l)“while”应改为“while(infile . get(ch),0(2)应添加"burlen + + =ch ; burlen=ch ; len + + ;”。(3)应添加“outfile2vvburi + + ; ,uoutfile2«bufi ; i + + ; ”。(4)“TCobj ; ”应改为“TCobi("in . txt");【解析】本题考查了文件流的使用。根据题意,第1处要获得一个字符, 并判断是否到文件结尾,所以应使用get函数;第2处应将ch存入buf 数组,同时让len增1 ;第3处将buf中的字节输出给outfile2,注意同 时让i增1,否则while循环将进入死循环;第4处TC只确一个带char* 参数的构造函数,所以创建对象时必须使用构造参数,根据题意这个参 数应该是“"in .txt"“。六、3.综合应用题(2题)48.使用VC6打开考生文件夹下的工程MyProjl。此工程包含千个源程 序文件MyMainl.cpp,其中定义了用于表示日期的类Date,但类Date的 定义并不完整。请按要求完成下列操作,将类Date的定义补充完成: 定义私有数据成员year、month和day分别用于表示年、月、日,它 们都是int型的数据。请在注释“*1*”之后添加适当的语句。完成默认构造函数Date的定义,使Date对象的默认值为:year=l, month= 1, day=l,请在注释“*2*”之后添加适当的语句。完成重载构造函数Date(int y, int m, int d)的定义,把数据成员year、 month和day分别初始化为参数y、m和d的值,请在注释“*3*”之 后添加适当的语句。完成成员函数print的类外定义,使其以“年-月-日”的格式将Date对 象的值输出到屏幕上。请在注释“*4*”之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件MyMainl.cpp清单如下:/MyMainl. cpp#include < iostream >using namespace std;class Date(public:* * 2 * *Date(int y, int m, int d)(* * 3 * *)void print() const;private:/data member*;void Date: :print () const(* * 4 * *)int main ()(Date nationaLday(1949,10,1);national_day.print();return 0;49.使用VC6打开考生文件夹下的工程test20_3,此工程包含一个源程 序文件tes00_3.cpp,其中定义了用于表示复数的类comp,但类comp的 定义并不完整。请按要求完成下列操作,将类comp的定义补充完整。(1)定义comp的构造函数,函数含参数x和y,它们都是in,型的数据, 默认值都为0,请使用参数列表的形式分别将类数据成员a和b初始化 x和y的值。请在注释“*1*”之后添加适当的语句。完成类comp的成员函数input(intx,inty)的定义,将int型的参数x和 y分别赋值给数据成员s和b,请在注释“*2*”之后添加适当的语句; (3)完成类 comp 的友元函数 friend compplus(comp &x,comp &y)的定义, 该函数首先要定义一个comp类的对象c,然后将参数x和y的数据成 员a与b分别相加并分别赋值给c的成员a和b,最后返回c的值,请 在注释“*3*,之后添加适当的语句。输出结果如下:10+20i2+3iresult :12+23i注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test20_3.cpp清单如下:#include < iostream.h >class comp (int a;int b;public:friend comp plus(comp &x, comp &y);void input(int x,int y) ()void output () (cout < < a <<'+'< < b < < nin < < endl;);comp plus(comp &x, comp &y) (c.b=x.b+y.b;return c;)void main()(comp x(10,20),y,z;y.input(2,3);z=plus(x,y);x.output();y.output();cout <<"result:"z.output(); )参考答案l.C解析:C+语言中的类是可以组成层次结构的,类是用于描述事物 的属性和对事物的操作,类与类之间有相对的独立性,但其可以通过一 些方法进行信息的通信。2 .A软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五 个阶段。其中需求分析阶段常用的工具是数据流图和数据字典。3 .C解析C+语言中判断文件操作成功主要有两个函数good()和fail(), 其中if文件流名.good。)和if(!文件流名.fail。),还有if(文件流名)都 可以表示判断文件操作是否成功。4 .B解析:本题考查的是内联函数的定义,引入内联函数是为了解决程 序中函数调用的效率问题,是以目标代码的增加为代价换取时间的节省;9.设有下列二叉树:对此二叉树前序遍历的结果为()A.ZBTYCPXA B.ATBZXCYP C.ZBTACYXP D.ATBZXCPY10 .下面程序的结果是()。#includeniostream.hn void main() char*str :str=ntest!n; cout < < str5 : A.程序错误B.!C10,D.为空字符二、单选题(13题)11 .在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是()oA.ios_base : curB.ios_base :begC.ios_base : OutD.ios_base : end12. 一般函数在运行时被调用,而调用的内联函数在编译时就被替代了,如 果不加inline关键字,则编译器会将在类说明部分定义的任何函数都被 认定为内联函数。5.C解析:本题考核C+的文件流。文件流对象中的成员函数good()ffl 于判定刚进行的操作是否成功,成功时返回true,否则返回false。成员 函数fail。用于判定刚进行的操作是否失败失败时返回true,否则返回 false o6.B堆排序。先把序列看成一棵大根堆或小根堆,摘取最大或最小元素 后再建成新的根堆,再排序。堆排序的过程是:先建一个堆,输出堆顶 的最大或最小的元素,再将剩余的n-1个元素重新调整成一个新堆。如 此反复进行,直到排序完成。直接插入排序是一种最简单的排序方法,它的基本操作是将一个记录插 入到已排好的有序表中,从而得到一个新的、记录数增1的有序表。首 先,将序列中的第1个记录看成是一个有序的子序列,然后从第2个记 录起逐个进行插入,直至整个序列变成按关键字非递减有序序列为止。 快速排序是对冒泡排序的一种改进。它的基本思想是通过一趟排序将待 排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记 录的关键字小,则可以分别对这两部分记录继续进行排序,以达到整个 序列有序。直接选择排序是通过n-i次关键字间的比较,从n-i+1个记录中选出关 键字最小的一个记录,并和第i个记录交换。这样重复执行n-1趟选择 排序。在本题中,数据表A中每个元素距其最终位置不远,即说明数据表基本 有序,简单移动一些元素即可完成排序,在这种情况下,使用直接插入 排序法所需时间最少,最合理。因此本题的正确答案是B。rn rn rn7 .D解析:在C+语言中退格符表示为b退格。注意:其他转义字符的 意义:n表示回车换行,t表示横向跳到下一制表位置,v表示竖向 跳格,r表ZF回车,Wf表ZF走纸换页,表ZF反斜线符,a表示鸣铃, Wdddl3位表示八进制数所代表的字符,xhhl2位表示十六进制数 所代表的字符。8 .A9.B解析:所谓二叉树的前序遍历(DLR)是指在访问根结点、遍历左子树 与遍历右子树这3者中,首先访问根结点,然后遍历左子树,最后遍历 右子树,并且,在遍历左右子树时,上述规则同样适用,即“根-左-右”。 故该二叉树的前序遍历结果为“ATBZXCYP"。对于本题,若使用后序遍 历和中序遍历的结果分别为“ZBT YCPX A”和“TZB AC YXP”。10 .D解析10,输出为不显示,只代表一个字符串的结束。注意:C+语 言中各种字符转义序列的意义和应用。11 .AAo【解析】主要考查文件流的定位问题。冀中iosbase:beg表示相 对于文件首,ios_base:cur表示相对于当前位置(负数表示当前位置 之前),ios_base:end表示相对于文件尾,ios_base:out表示在文 件流的建立中为文件的输出而打开。12,C(29)C)【解析】由主函数majn入手,定义TestClasslrnrn类的指 针对象P指向派生类TestClass2。因为基类和派生类中都有funrnrn函 数,题目要求输出为2,就是基类对象访问派生类中fun函数。通rnrn 过虚函数与指向基类对象的指针变量的配合使用,就能方便调用同 rnrn名函数。所以这里将基类中的fun函数声明为virtual。并且当一 个成rnrnrnrn员函数被声明为虚函数后,其派生类中的同名函数自 动成为虚函数。13.A在C+语言中,标识符只能由数字,字母,下划线组成,并且第一个 字符不能是数字。注意:选项A是以数字开始的。注意:关键字不能 用作标识符。14.A解析:本题考查的知识点是:类的定义。类中缺省的访问权限是私有 的(private),所以选项B)不正确:类的数据成员和函数成员的访问控 制权限均可被声明为公有(public)私有(priate)和保护(protected)中的 任意一种,所以选项C)不正确;成员函数的实现即可以在类体内定 义,也可以在类体外定义,所以选项D)不正确。故本题应该选择 Ao15.AAo【解析】本题考查C+语言的数据类型。第一个枚举常量的值为 0;允许程序显示的定义中指定部分或全部枚举常量的值,枚举常量默认时。在前一枚举常量值的基础上以此增1。16.B本题的运算过程是 fun(int)fun(a+c, rnb), ac), fun(int)fun(10,5), 28), fun(int)15. 000000, rn 6), thn(15, - 6)=9。17 .D解析:C+ +类中的静态成员变量是该类中所有对象所共有的,它 能够被类中的任何函数调用,所以选项A)、选项B)、选项C)是错误 的。而类的静态数据成员是必须要进行初始化才能使用的。18 .AAo【解析】根据输出函数printf中对输出数值格式的要求,第一个数 和第二数之间没有空格或分隔号,因而此题答案为选项A。19.B解析:本题考察C+中输入输出流对象的一些常用成员函数的用 法。其中get和getline的区别在于getline读取中以丁山作为输入结束符。 故本题中getline只能接收第一个换行符之前的字符,即firsto后面的字 符被丢弃。因此正确答案应为B。20 .D数据库系统的3级模式是概念模式、外模式和内模式。故答案为D 选项。21 .DDo【解析】对指针所指向的地址取值时,采用的存取运算符为*。B 为取地址符。22 .AAo【解析】本题考查移位运算符在程序中对5逻辑左移2位,其值扩 大4倍等于20,然后再进行按位运算,其值等于21。23 .D解析:需求分析常用的工具有数据流图(DFD)、数据字典(DD)、 判定树和判定表。PAD(问题分析图)、PFD(程序流程图)、N-S(盒式图) 都是详细设计的常用工具,不是需求分析的工具。1 4.stringXstring YstringX,string Y解析:本题考核类的定义和友元函数 的应用。该程序中,类X的成员函数show。在类Y中说明为友元,因此,在 该友元成员show。中可以访问类Y的私有成员stryo成员函数show。的功能就是输出类X的私有成员strx和Y对象ob的 私有成员stryo主函数中定义了 X类的一个对象a和Y类的一个对象b,并且都进行 了初始化。然后调用对象a的成员函数show(),输出对象a中私有成员strx中的内 容和对象b中私有成员stry中的内容,即字符串stringX和stringyo25 .template < class T > T DBL(T n)return n+n;template < class T > T DBL(Tn)returnn+n;解析:本题考核函数模板的使用。函数模板的一 般说明形式如下:template <类型形参表返回类型函数名(形参表)函 数体。函数调用方式为:函数名(实参表);。形参表中的类型以实参表中 的实际类型为依据。由此易得答案。26 ./* */* */解析:C+语言程序的注释可以出现在程序中的任何地方, 一个注释以“/*”开始,以“*/”为结束。27 .找到数组a中的最小元素并输出其数值及行列值-10012找到数组a 中的最小元素并输出其数值及行列值-100,1,228 .边值分析法边值分析法29 .逻辑判断逻辑判断解析绘制流程图时对实体的描述用椭圆形表示、 行动方案用矩形表示、问题用菱形表示、箭头代表流动方向。30 .类类解析:在面向对象方法中,类描述的是具有相似性质的一组对 象。所以,属性与操作相似的一组对象称为类。31 .选择结构选择结构解析:顺序结构(也叫连续结构)和循环结构是经 常被使用的,不过选择结构(if和switch)也是一种重要的流程控制结构。32 .相同不同相同rn不同解析:结构框架是由n个命名的属性组成, 如果将一个关系看作一张表,那么选择操作就是从这张表中选出一些行 而丢弃另一些行。而投影操作则是从这张表中选出某些列而丢弃另一些 列。如果只对一个关系中的某些属性感兴趣,那么就需要使用投影操作 在这些属性上投影该关系。因此,选择运算的结果关系同原关系具有相 同的结构框架,投影运算的结果关系同原关系通常具有不同的结构框架。 33后然连接自然连接解析:在关系运算中,自然连接运算是对两个具 有公共属性的关系所进行的运算。34 .重载 虚函数重载 虚函数 解析:C+编译时的多态性体现在重载, 运行时的多态性体现在虚函数。35 .键键解析:键是关系模型中的一个重要概念,在二维表中能惟一地 标识一个元组的属性及属性组合称为键,二维表中可能有若干个键。表 中一定要有键,因为表中所有的属性的子集均不是键,则表中属性的全 集必为键。36 .( 1)应改为"usingnamespacestd;"。应改为"outl. open("l. txt", ios: binary I ios: app);(3)应改为“outl. put(si);5,o【解析】本题第1处的“usingstd;”是在程序中引入标准命名空间std, 对于C+ +中引入标准命名空间的格式,缺少namespace,所以第1处 的语句修改为“usingnamespacestd;第2处,调用成员函数open 中,输入、输出方式是在ios类中定义的,所以“outl. open("l. txt", binary I app);”语句缺少类ios,即第2处的语句修改为 “outl. open("l. txt", ios: binary I ios:叩p);第 3 个标识应 该用流成员函数put输出字符,所以第3处的语句修改为 Uoutl. put(si);”。37 .(1)应添加“public :n(2)“inti”应改为“inti(10);n(3)“i+ + ; ”应改为“i-; n【解析】本题主要考查的是成员的访问属性。成员的访问属性有公有、 保护和私有3种,而默认的访问属性为私有,只有公有成员才能通过类 的对象被访问。故应在构造函数前添加“public :",否则该类无法被实例 化。变量的初始化可以通过“=”号,也可以和初始化对象一样添加构造 参数,题目已要求使用后者。本题要求输出5个数,while的循环变量i 每次减1,在i>5时循环,故i初始化应为10。若循环中i每次增1,则 循环永远不会退出。38 .(1)应改为“ein. getline(str, 120, ?); (2)应改为"while(stri)"°应改为“if(stri>=a&&striv=2)”。【解析】本题中要求以输入字符“?”为结束符,用于字符输入的流成员 函数getline函数读入一行字符,格式为“cin. getline(字符数组,字符 个数,终止标志字符广,所以第1处改为“cin. getline(str,120, ?);第2处的“while(str)”语句应该是判断字符串str中的每一个字符是否为结束符,若不是结束符,在循环中判断每一个字符是否 为小写,若为小写,则转换。所以应该修改为“while(stri)"°第3处的 “if(st巾>=a)”语句是判断字符stri是否为小写字符,而现有的语句只 是判断字符是否大于a,但是小写字符应该是a到2,所以修改为 44if(stri>=a& &stri>=z),o39 .(1)应改为"catch(char*s)”。(2)应改为"cateh(inti)”。(3)应改为"catch()”。【解析】本题中第1个标识前的异常抛出语句

    注意事项

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

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




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

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

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

    收起
    展开