《2021年内蒙古自治区兴安盟全国计算机等级考试C++语言程序设计预测试题(含答案).docx》由会员分享,可在线阅读,更多相关《2021年内蒙古自治区兴安盟全国计算机等级考试C++语言程序设计预测试题(含答案).docx(26页珍藏版)》请在第壹文秘上搜索。
1、2021年内蒙古自治区兴安盟全国计算机等级考试C+语言程序设计预测试题(含答案)学校:班级:姓名:考号:一、L选择题(10题)1 .有以下程序:ClassDatepublic:Date(inty,intm,mtd);year=y;month=m;day=d;Date(inty=2000)year=y;month=10;day=1;Date(Date&D)year=d.year;month=d.month;day=d.day;VoidprinA.2B.3C.4D.52 .下列程序输出的结果是()0#includefun1(chara,charb)charc;c=a;a=b;b=c;fun2(ch
2、ar*a,charb)charc;c=*a;*a=b;b=c;fun3(char*a,char*b)charc;c=*a;*a=*b;*b=c;voidmain()chara,b;a-Ab=Bfunl(a,b);putchar(a);putchar(b);a=,A;b=,B,;fun2(&a,b);putchar(a);putchar(b);a=A;b=B;fun3(&a,&b);PUtChar(a);PUtChar(b);putchar(,n,);A.BABBABB.ABBBBAC.ABBABAD.ABABBA3 .下列选项中,不是一个算法的基本特征是()。A.完整性B.可行性C.有穷性D.
3、拥有足够的情报4 .下列关于纯虚函数的描述中,正确的是()。A.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数B.纯虚函数的声明总是以“=0二结束C.派生类必须实现基类的纯虚函数D.含有纯虚函数的类不能是派生类5.关于new运算符的错误的描述是()。A.使用运算符new创建对象数组时必须定义初始值B.使用运算符new创建对象时,会调用类的构造函数C.运算符new可以用来动态创建对象和对象数组D.使用new运算符创建的对象可以使用运算符delete删除6.已知枚举类型定义语句为:enumTokenNAME,NUMBER,PLUS=5,MINUS,PRINT=10;则下列叙述中错误的是()。
4、A.枚举常量NAME的值为1B.枚举常量NUMBER的值为1C.枚举常量MINUS的值为6D.枚举常量PRINT的值为107 .在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶E八日rXXEoA.可行性分析B.需求分析C.详细设计D.程序编码8 .下列语句错误的是()。A.char*p=John;P2=,a,;B.charname5=John;name2-a,C.charname5J=John,*p=name;p2=,a,;D.charname5=,John,*p=fename2;*p-a,;9 .下列程序的运行结果为#includetemplateclassFFTTal,a2,
5、a3;public:FF(TTbl,TTb2,TTb3)al=bl;a2=b2;a3=b3;TTSum()returnal+a2+a3;);voidmain()FFx(int(l.l),2,3),y(int(4.2),5.A.6.115.2B.615C.615.2D.6.11510 .下列关于this指针的叙述中,正确的是()。A.任何与类相关的函数都有this指针B.类的成员函数都有this指针C.类的友元函数都有this指针D.类的非静态成员函数才有this指针二、单选题(13题)11 .下列叙述中正确的是()oA.栈是“先进先出”的线性表B.队列是“先进后出”的线性表C.循环队列是非线性
6、结构D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构12 .有下列程序:#includevoidmain()chara=4;printf(u%dn,a=al);)程序的运行结果是()。A.A.40B.16C.8D.413 .链表不具有的特点是()A.不必事先估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比14 .按照“先进先出”原则组织数据的数据结构是()。A.队列B.栈C.双向链表D.二叉树15 .下列符号中可以用做C+标识符的是()。A._radiusB.f00barC.elseD.3room16 .下列选项中正确的语句是()。A.A.
7、chars3;s=BOOK!n;B.B.char*s;s=BOOK!;C.C.chars10;s=,BOOK;D.D.char*S;s=BOOK!;17 .下面关于break语句的描述中,不正确的是(A.A.break可以用于循环体内B.break语句可以在for循环语句中出现多次C.break语句可以在switch语句中出现多次D.break语句可用于if条件判断语句内18 .在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是()A数据库系统B.文件系统C人工管理D.数据项管理19 .若在表达式y/x中,是作为成员函数重载的运算符,则该表
8、达式还可以表示为A.x.operator/(y)B.operator/(x,y)C.y.operator/(x).operator/(y,x)20 .在c+语言程序中,对象之间的相互通信通过()。A继承实现B.调用成员函数实现C.封装实现D.函数重载实现21 .按照“先进后出”原则组织数据的数据结构是()0A队列B.栈C.双向链表D.二叉树22 .下列()是C+语言的有效标识符。A.NolB.N0.1C.12345D.int23 .下列有关模板的叙述中,正确的是()。A函数模板不能含有常规形参B.函数模板的一个实例就是一个函数定义C类模板的成员函数不能是模板函数D.用类模板定义对象时,绝对不能
9、省略模板实参三、2.填空题(12题)24 .有以下程序:#includeusingnamespacestd;classBasepublic:Base()x=0;)intx;;classDerivedl:virtualpublicBase(public:Derivedl()(x=10;);classDerived2:virtualpublicBase(public:Derived2()(x=20;);classDerived:publicDerived!,protectedDerived2();intmain()(Derivedobj;coutobj.xendl;return0;该程序运行后的输
10、出结果是【】。25 .下列程序用于打印出ASCll字符,其析构函数内的语句应为【Io#include#ineludetemplateclassArray(T*elems;intsize;public:Array(int.s);Array()T&operator(int)voidperator=(T);templateArray:Array(ints)size=s;elems=newTsizefor(inti=0;isize;i+)elemsi=0)templateArray:Array()templateT&Array:operatorQ(intindex)(returnelemsindex;
11、)templatevoidArray:operator=(Ttemp)(for(inti=0;isize;i+)elemsi=temp;)voidmain()(inti,n=26;Arrayarrl(n)Arrayarr2(n)for(i=0;in;i+)-arrli=,a+i;arr2i=,a+i;)coutASCII字符endl;for(i=0;in;i+)coutsetw(8)arrlisetw(8)arr2iendl;)26 .下列程序中的重载函数disp()发生错误,错误原因是一#includeclassSampleprivate:intm;staticintst;public:Sa
12、mple(inta)m=a;st+=a;staticvoiddisp()coutmendl;staticvoiddisp(Sampleinput)(coutinput.mendl;);intSample:st=2;voidmain()(SampleFirst(2)1Second(4);Sample:disp();Sample:disp(Second);)27 .下列程序的输出结果是o#includeusingnamespacestd;templateTfun(Ta,Tb)return(a=b)?a:b;intmain()(COUtfun(3,6),fun(3.14F,6.28F)edl;ret
13、urnO;)28 .树中度为零的结点称为o29 .下面程序的运行结果为【#includevoidmain()(chara=3;switch(a)(case3:cout3;case,21:cout2;break;default:cout1;)30 .从一个或多个基本表导出的表是一个【】,它是一个虚表。31 .有如下程序:#includeusingnamespacestd;classCApublic:CA()coutA,;);classCB:privateCApublic:CB()cout,B,;);intmain()CAalCBb;return0;(运行时的输出结果是.32 .软件生命周期一般可分为这样几个阶段:问题定义、可行性研究、【】、设计、编码、测试、运行和维护。33 .在用ClaSS定义一个类时,数据成员和成员函数默认的访问权限是【】34 .语句CoUtsetprecision(3)3.1415926endl;的输出为o35 .类的构造函数是一个特殊的成员函数,它由类的对象自动调用。它的作用是【】。四、程序改错题(10题)36 .使用VC+6.0打开考生文件夹下的源程序文件Lcpp,但该程序运行有问题,请改正IIIain函数中的错误,使该程序的输出结果正确。