2023年山西省晋中市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx
《2023年山西省晋中市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx》由会员分享,可在线阅读,更多相关《2023年山西省晋中市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年山西省晋中市全国计算机等级考试C+语言程序设计模拟考试(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1 .下面的说明中,正确的函数定义是()。A.void fun(void)B.void fun(void)C.fun(int s)D.fun(int s)return s+1 ; 2 .常采用的两种存储结构是()。A.顺序存储结构和链式存储结构B.散列方法和索引方式C.链表存储结构和数组D.线性存储结构和非线性存储结构3 .已定义以下函数fun (int *p) return *p; 该函数的返回值是()A.不确定的值B.形参p中存放的值C形参p所指存储单元中的值D.形参p
2、的地址值4 .下列对模板的声明中,正确的是()。class Derived: Base ;则Base类中的成员函数fun(),在Derived类中的访问权限是【】(注 意:要求填写privatex protected或public中的一项)。33 .以下程序的输出结果是【】。#include void main() int a=0 ;a+ =(a=8);cout a ; )34 .在面向对象方法中,类之间共享属性和操作的机制称为【】。35 .数据库的逻辑模型设计阶段的任务是将 转换成关系模式。四、程序改错题(10题)36 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序 运
3、行时有错误,请改正错误,使程序正常运行,并且要求最后一个 catch必须抛出执行的任何异常。程序异常,输出信息为errorOERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *eirc)r*的下面。试题程序:#includeiostream. h) intmain( try(throw(nerrorn);* prrcr* *catch(chars)(coutsendl;) try (throw(int)0);* * *catchcoutiendl;) try (throw(O);throw(nerrorn);)*5rcr*catchcoutnER
4、RORnendl ;returnO ;37 .使用VC+ +6 .。打开考生文件夹下的源程序文件 1 . cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实现的功能为从键盘输入一个字符串,并将结果保存到文件1.txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在* eppor * * 白勺 -试题程序:#include#includekL# kL* vt*个个个个个个个个rror个个个个个个个个usingstd ;voidWriteFile(char*s) ofstreamoutl ;outl . open(nl . txt, binary|a
5、pp);for(inti=0 ; si!=0 ; i + +) outl . puts(si);)outl . close ;)voidClearFile(ofstreamoutl ;outl . open(nl . txt”);outl . close ;)intmain(chars 1024;ClearFile ;coutnpleaseinputastrin9 :nendl ;cin . getline(s, 1024);WriteFile(s);returnO ; 38 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp。本程序 要求输入一个字符串,然后将其中的小写字母改成大写
6、字母,字符可 能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *eirc)r*的下面。试题程序:#includevoidmain (inti=O;charstr120;coutnEnterastringendwith?. nendl;/不不不不不不不不eiroie不不不不不不不不cin. getline(str, 120);/不不不不不不不不erroi不不不不不不不不while(str)(/不不不不不不可不errore不不不不不不不不if(stri)=a)stri=stri-a
7、+A;i+ +;)coutstrendl ;return ;39 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要求实 现的功能为从键盘输入一个字符串,并将结果保存到文件1. txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在* error* *-j 日 j。试题程序:#include#include7,7,7,7, 7,、! 7,个个个*t*不不个下个个个个个个个个usingstd;voidWriteFile(char*s) ofstreamoutl ;vt* vl* vL*vL* kL*
8、 vL#vt*不个个个不不不小nor个个个不个小个个outl. open(Hl. txt,binary|app);for(inti=0; si!=0; i+ +)7,7, 个不不不不不个个个个个个个个个不outl. puts(si);outl. close;)voidClearFile ofstreamoutl ;outl. open(nl. txt);outl. close;) intmain chars 1024;ClearFile;coutnpleaseinputastrin9:Hendl ;cin. getline(s, 1024);WriteFile(s);returnO;40,使用
9、VC + +6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0,Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include(iostream . h) classTC inti ;public :TC ;voiddisplay ;TC ;TC : TCcoutnConstructornn, i=0;vL*不下不不个个epj*or个个个个不不TC : display toutni=niH, nendl ;k! s.t7“ 7”不不不小不不enor不不不不
10、不不TC : TCCOUInDestructornendl :) voidmainTCa ;a . display ;41 .使用VC+ + 6 .0打开考生文件夹下的源程序文件1 .cppo本程序要 求输入一个字符串,然后将其中的小写字母改成大写字母,字符可能输 入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出到屏幕 中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#includevoidmain (inti=O ;charstr120;coutnEnterastringendwith? . nendl
11、 ;/不下不不不个小不error不不不、不不不cin . getline(str, 120);/不不不不不不不不error不不不不不不不不while(str)(/ 7 7 7 7,7 7 7 77 7,7,7 7 7 7 7,/不不不小不不不不error不不小不不不不不if(stri)=a)stri=stri-a +A ;i + + ;)coutstrendl ;return ;)42 .使用VC+6. 0打开考生文件夹下的源程序文件1. cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为errorOERROR注意:不
12、要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *errc)r*的下面。试题程序:#include7, 7,个个个个个个不个rror个个个个个个个个catch(chars) coutsendl ;) try throw(int)0);kL* kL*kL* kL*个小个个个不不小nor个个不不不小个个catch coutiendl;) try throw(O);throw,error);K.f个个个个个个个个nor个个个个个个个A.template B.template C.template D.template 5 .若有下列定义及初始化语句:int i=10
13、0 ;int*ip=&i ;int k=*ip ;并假设整型数i的地址为0x12345678,指针ip的地址为0x21000000,则k的值为()oA.0xl2345678 B.0x21000000 C.100 D.异常6 . C+类体系中,不能被派生类继承的有()。A.构造函数B.虚函数C.静态成员函数D.赋值操作函数7 . 有如下程序: #include using namespace std; class A public: A()cout A;A()cout - A;) ; class B:public A A*p; public: B()cout B;p=new A;B()cout
14、- B;delete p; ); int main() B obj; return 0; 执行这个程序的输出结果是()oA.BAA A B A B.ABA B A A C.BAA B A A D.ABA A BA8 .假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数 为A.log2nB.n2C.O(n15)catch coutnERRORnendl;returnO;43 .使用VC+6. O打开考生文件夹下的源程序文件1.cpp,该程序运行时有错。请改正程序中的错误,使程序输出的结果为1003732注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#incl
15、ude voidmain intm=0142:intn=0X27:intq=32;cout m endl;cout n endl;cout q endl ;return ; )44 .使用VC + +6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number= 1number= 10number= 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *errc)r*的下面。试题程序:#includeclassTC (public :TC(inti) (number=i ;)voidS
16、etN umber(intm)(number=m ;)intGetNumberconst(returnnumber ;)voidPrintconstcoutn number=n numberendl ; )private :intnumber ;voidmain4、一卜q、q、errorTCobjl ;objl . Print ;TCobj2(3);*1*1* *1 *1 *i* Kt*ryw rT*K.t K.t k| k7,error不小小不不不小小 objl . number=10 ;! * error* *TC . SetNumber(lOO);objl . Print ;obj2 .
17、 Print ;45 .使用VC + +6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运 行时有错误,请改正程序中的错误,使得程序输出:9, 8, 7, 6, 5注意:错误的语句在/ *error* /的下面,修改该语句即可。其他的语句不能修改。试题程序:#include(iostream . h classTC1 vL*error不不不不不不不不TC(inti)(m_i=i ; voidprint(coutm_i,;)public :intmain 、rj、errorinti ;TC04(10);while(i5)! * *enr* * * / i+ + :04 . print ;
18、)coutendl ;returnO ;五、综合应用题(2题)46 .请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了 ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一组测试数据,此 种情况下程序的输出应该是:“*666* 间,ValArray vl= 1, 2, 3, 4, 5) ValArray v2= 1, 2, 3, 4, 5要求:不得修改程序的其他部分。注意:程序最后将结果输出到文件out. dat中。输出函数write To
19、 File 已经编译为boj文件,并且在本程序中调用。/ValArray. h#include using namespace std; class ValArray int *v : int size ; public :ValArray(const int * P, int n): size(n) v=new intsize;for(int i=0; isize; i+) vi=Pi;47 .使用VC+6. 0打开考生文件夹下的源程序文件3.cpp。类People包括姓名和年龄两个字段。函数fun获得年龄比较大的人的姓名,然后输出这个姓名到屏幕。其中定义的类并不完整,按要求完成下列操作,将
20、类的定义补充完 整。完成类的构造函数功能,请在注释1后添加适当的语句。完成构造函数对姓名的赋值,请在注释2后添加适当的语句。定义类的友元函数fun,请在注释3后添加适当的语句。补充函数fun的年龄比较功能,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其 他的程序代码。试题程序:#include classPeople public:inti;for(i=0; sUserNamei! =0; i+ +) m_UserNamei=sUserNamei; )/ 7, 7, 7, 7 7,7, 7, 7, z- 7, 7, T, 7, 7, 7, T,7, /
21、rT*JrT*m_Old=nOld ;)private:charm_U s erN ame 32;intm_01d;/7,7/、q、;voidfun(char* s,People & personl,People & person2I I *4* if for(inti=0 ; personl. m_UserNamei!=0; i+ si=personl. m_UserNamei;si+l=0;) else fbr(inti=0 ; person2. m_UserNamei! =0 ; i+s i=person2. m_UserNamei;si+l=0;)voidmain chars32;Pe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 山西省 晋中市 全国 计算机等级考试 C+ 语言程序设计 模拟考试 答案
限制150内