2010年全国计算机等级考试二级C++模拟试题_第1页
2010年全国计算机等级考试二级C++模拟试题_第2页
2010年全国计算机等级考试二级C++模拟试题_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010年全国计算机等级考试二级C++模拟试题及答案(1)笔试部分一、选择题A.有且只有1B.1或多于1C.0或1D.至少2【参考答案】AA.不限制goto语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理【参考答案】D便于用户、开发人员进行理解和交流反映出用户问题的结构,可以作为软件开发工作的基础和依据【参考答案】DA.外模式C.内模式【参考答案】A5.SQL语言又称为()结构化定义语言结构化控制语言【参考答案】C若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca【参考答案】D软件工程的理论和技术性研究的内容主要包括软件开发技术和()A.消除软件危机B.软件工程管理C.程序设计自动化D.实现软件可重用【参考答案】BA.实验性运行软件B.证明软件正确C.找出软件中全部错误D.发现软件错误而执行程序【参考答案】D9.索引属于()A.模式B.内模式C.外模式D.概念模式【参考答案】B数据库数据库管理系统【参考答案】B来源:考试大-计算机二级考试11.下面关于类和对象的描述中,错误的是()类就是C语言中的结构体类型,对象就是C语言中的结构体变量类和对象之间的关系是抽象和具体的关系【参考答案】A12.设inta=10,b=11,c=12;,表达式(a+b)<c&&b==c的值是()<=""bdsfid="131"p=""></c&&b==c的值是(>A.2B.0C.-2D.1【参考答案】B下列语句中不是死循环的是()A.inti=10;for(inti=1;i<10;i++)inti=0;inti=1;while(1){do{for(;;){i--;i++;i=i+1;i--;}}while(i>=0);if(i==1)break;}【参考答案】AC++语言中数组的名字就是指向该数组第一个元素的指针长度为n的数组,下标的范围是0~n-1C.数组的大小必须在编译时确定D.数组只能通过值参数和引用参数两种方式传递给函数【参考答案】D下面的哪个选项不能作为函数的返回类型?()A.voidB.intC.newD.long【参考答案】C下列程序的输出结果为()#includeintfunc(intn){if(n<1)return1;elsereturnn+func(n-1);return0;}voidmain(){cout<<func(5)<<endl;}<p=""></func(5)<<endl;}<>A.0B.10C.15D.16【参考答案】D

bdsfid="168"来源:考试大-计算机二级考试17.以下程序中,错误的行为()1.#include2.classA3.{4.public:5.intn=2;6.A(int

val) {cout<<val<<endl;}< bdsfid="181"p=""></val<<endl;}<>7.~A(){}8.{;9.void10{11.Aa(0);12.}A.5B.6C.7D.11【参考答案】A18.下面程序的运行结果为()#includeclassA{intpublic:A(inti){num=i;}A(A&a){num=a.num++;}voidprint(){cout<<num;}<bdsfid="202"p=""></num;}<>};voidmain(){Aa(1),b(a);a.print();则()

b.print();}B.12C.21【参考答案】C来源:考试大-计算机二级考试19.如果类A被说明成类B的友元,A的成员即类BB的成员即类AA的成员函数不得访问类BB不一定是类A【参考答案】D种构造函数分别是b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为()A.abcB.acbC.cabD.cba【参考答案】A函数模板和类模板的参数可以是任意的数据类型义了模板类的对象后才能使用【参考答案】A#includevoid{intnum=1;int&ref=num;ref=ref+2;cout<<num;<bdsfid="241"p=""></num;<>num=num+3;cout<<ref<<endl;<bdsfid="244"p=""></ref<<endl;<>}A.13B.16C.36D.33【参考答案】C23.下列程序的运行结果为()#includeinti=0;classA{public:A(){i++;}};voidmain(){Aa,b[3],*c;c=b;cout<<i<<endl;}<bdsfid="262"p=""></i<<endl;}<>A.2B.3C.4D.5【参考答案】C来源:考试大-计算机二级考试24.下列字符串中可以用C++语言标识符的是()A._1234C.virtuaD.34var【参考答案】A25.下列语句的输出结果()cout<<strlen(″\t\″\065\xff\n″);<A.5B.14C.8D.输出项不合法,无正常输出A26.若有如下语句()#includevoidmain(){intx=3;do{x=x-2;cout<<x;<bdsfid="289"p=""></x;<>}while(!(--x));}A1B.输出的是1和-2C.输出的是3和0D.是死循环

bdsfid="276"【参考答案】B27.以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是()#includevoidmain(){int*p,*q,a,b;p=&a;cout<<″inputa:″;cin>>p;}A.*p表示的是指针变量P的地址B.p表示的是变量a的地址,而不是变量a的值C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量【参考答案】B来源:考试大-计算机二级考试28.有以下程序#includevoidfun(inta,intb,intc){a=456,b=567,c=678;}voidmain(){intx=10,y=20,z=30;fun(x,y,z);cout<<x<<′,′<<y<<′,′<<z<<endl;}< bdsfid="318"p=""></x<<′,′<<y<<′,′<<z<<endl;}<>输出结果是()A.30,20,10B.10,20,30C.456,567,678D.678,567,456【参考答案】B下列定义中p*p不能够更改的是()A.constint*Pint*constp;constint*constp;int*p;【参考答案】A下面程序的结果是()#includeclassA{inta;A():a(1){}voidshowa(){cout<<a;}<bdsfid="338"p=""></a;}<>};classB{inta;B():a(2){}voidshowa(){cout<<a;}<bdsfid="346"p=""></a;}<>};classC:publicA,publicB{inta;public:C():a(3){}voidshowa(){cout<<a;}<bdsfid="353"p=""></a;}<>};voidmain(){Cc;c.showa();}A.1B.2C.3D.程序有错误【参考答案】C来源:考试大-计算机二级考试.如果表达式x*y+z中,“*”是作()A.operator+(operator*(x,y),z)B.x.operator+(operator*(x,y),z)C.y.operator*(operator+(x,y),z)D.x.operator+(operator*(x,y))【参考答案】A32. 对 于 语 A.*********1*2B.********12C.*******1*2【参考答案】A33.有如下程序#includeintfunc(inta,intb){return(a+b);}voidmain(){intx=2,y=5,z=8,r;r=func(func(x,y),z);cout<<r;}<bdsfid="384"p=""></r;}<>该程序的输出的结果是()A.12B.13C.14D.15【参考答案】D下列描述中,抽象类的特性是()A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象【参考答案】D下列程序的运行结果是()#includevoidfun(int*a,int*b){int*k;k=a;a=b;b=k;}voidmain(){inta=3,b=6,*x=&a,*y=&b;fun(x,y);cout<<a<<<b;<=""bdsfid="407"></a<<<b;<="">}A.63B.36C.编译出错D.00【参考答案】B来源:考试大-计算机二级考试二、填空题】。【参考答案】1.【1】继承2】的联系。【参考答案】【21:N)Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向【3】的设计方法。【参考答案】【3】数据结构4】。【参考答案】【4】降低复杂性】。【参考答案】【5】前件C+6】是面向对象思想的主要特征。【参考答案】6】多态性下列forfor(inta=0,b=1;b&&a<5;a++);【参考答案】【7】5C+】函数开始执行的。【参考答案】【8】main派生类构造函数的执行顺序是先执行【9】的构造函数。【参考答案】【9】派生类C+以【】作为开始和结束的标记。【参考答案】【11】/**/malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【12】;【参考答案】来源:考试大-计算机二级考试【12】malloc(11)或malloc(sizeof(char)*11)int*ab初始化classA{public:A(intb);~A();private:int*a;};A::(intb)A::~A(){【14】;}【参考答案】【13】a=newint(b】deletea将x+y*z中的“+”用成员函数重载,“*”写为【】。【参考答案】【15】x.operator+(operator*(y,z))来源:考试大-计算机二级考试上机部分一、改错题使用VC6打开考生文件夹下的工程kt1_1,此工程包含一个源程序文件kt1_1.cpp,但该程序运行有问题,请改正程序中的错误,使程序的输出结果为:act1act2Bact3Bact4Bend源程序文件kt1_1.cpp清单如下:#includeclassA{public:virtualvoidact1(){cout<<"act1\n";act2();}voidact2(){cout<<"act2\n";act3();}voidact3(){cout<<"Aact3\n";act4();}virtualvoidact4{cout<<"Aact4\n";act5();}voidact5(){cout<<"Aend\n";}};classB:publicA{voidact3(){cout<<"Bact3\n";act4();}voidact4(){cout<<"Bact4\n";act5();}voidact5(){cout<<"Bend\n";}};voidmain(void){charc;A*a;cout<<"Whichact(aorb)?";cin<<c;<bdsfid="499"p=""></c;<>if(c=='a')a=newA;elsea=newB;a->act1();deletea;【参考答案】(1)将voidact3(){cout<<"Aact3\n";act4();}改为:virtual void act3(){cout<<"Aact3\n";act4();}(2)将virtualvoidact4{cout<<"Aact4\n";act5();}改为:virtual void act4(){cout<<"Aact4\n";act5();}(3)将cin<<c;<bdsfid="510"p=""></c;<>改为:cin>>c;来源:考试大-计算机二级考试【试题解析】主要考查对虚函数使用规则的理解,要实现对函数act3联编应该使用虚函数,这样在本题中对于函数的调用才能实现根据不省略的;二、简单应用题请编写一个函数voidfun(charss[]),该函数将字符串ss翻转,如ss为“123abc”则翻转后为“cba321”。注意:用数组方式及for循环来实现该函数。注意:部分源程序已存在文件kt1_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数fun的花括号中填写若干语句。文件kt1_2.cpp的内容如下:#include#includevoidfun(charss[]);【参考答案】(1)将voidact3(){cout<<"Aact3\n";act4();}改为:virtualvoidact3(){cout<<"Aact3\n";act4();}(2)将virtualvoidact4{cout<<"Aact4\n";act5();}改为:virtualvoidact4(){cout<<"Aact4\n";act5();}(3cin<<c;<bdsfid="530"p=""></c;<>改为:cin>>c;【试题解析】主要考查对虚函数使用规则的理解,要实现对函数act3联编应该使用虚函数,这样在本题中对于函数的调用才能实现根据不省略的;请编写一个函数voidfun(charss[]),该函数将字符串ss翻转,如ss为“123abc”则翻转后为“cba321”。注意:用数组方式及for循环来实现该函数。注意:部分源程序已存在文件kt1_2.cpp中。请勿修改主函数main和其他函数中的任何内容,仅在函数fun的花括号中填写若干语句。文件kt1_2.cpp的内容如下:#include#inclu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论