2010年9月全国计算机二级C++机试试题及答案

2010年9月全国计算机二级C++机试试题及答案

ID:72506534

大小:28.86 KB

页数:12页

时间:2023-12-14

上传者:定定小胖子
2010年9月全国计算机二级C++机试试题及答案_第1页
2010年9月全国计算机二级C++机试试题及答案_第2页
2010年9月全国计算机二级C++机试试题及答案_第3页
2010年9月全国计算机二级C++机试试题及答案_第4页
2010年9月全国计算机二级C++机试试题及答案_第5页
2010年9月全国计算机二级C++机试试题及答案_第6页
2010年9月全国计算机二级C++机试试题及答案_第7页
2010年9月全国计算机二级C++机试试题及答案_第8页
2010年9月全国计算机二级C++机试试题及答案_第9页
2010年9月全国计算机二级C++机试试题及答案_第10页
资源描述:

《2010年9月全国计算机二级C++机试试题及答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

2010年9月全国计算机二级C++笔试试题:文字版  一、选择题(每小题2分,共70分)  下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。    (1)下列叙述中正确的是  A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的  B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构  C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构  D)上述三种说法都不对    (2)下列叙述中正确的是  A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化  B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化  C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化  D)上述三种说法都不对    (3)软件测试的目的是  A)评估软件可靠性  B)发现并改正程序中的错误  C)改正程序中的错误  D)发现程序中的错误    (4)下面描述中,不属于软件危机表现的是  A)软件过程不规范  B)软件开发生产率低  C)软件质量难以控制  D)软件成本不断提高    (5)软件生命周期是指  A)软件产品从提出、实现、使用维护到停止使用退役的过程  B)软件从需求分析、设计、实现到测试完成的过程  C)软件的开发过程  D)软件的运行维护过程  (6)面向对象方法中,继承是指  A)一组对象所具有的相似性质   B)一个对象具有另一个对象的性质  C)各对象之间的共同性质  D)类之间共享属性和操作的机制    (7)层次型、网状型和关系型数据库划分原则是  A)记录长度  B)文件的大小  C)联系的复杂程度  D)数据之间的联系方式    (8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是  A)一对一  B)一对多  C)多对多  D)多对一    (9)数据库设计中反映用户对数据要求的模式是  A)内模式  B)概念模式  C)外模式  D)设计模式    (10)有三个关系R、S和T如下:  则由关系R和S得到关系T的操作是  A)自然连接  B)交  C)投影  D)并  (11)下列关于函数参数的叙述中,正确的是  A)在函数原型中不必声明形参类型  B)函数的实参和形参共享内存空间   C)函数形参的生存期与整个程序的运行期相向  D)函数的形参在函数被调用时获得初始值    (12)下列关于对象初始化的叙述中,正确的是  A)定义对象的时候不能对对象进行初始化  B)定义对象之后可以显式地调用构造函数进行初始化  C)定义对象时将自动调用构造函数进行初始化  D)在一个类中必须显式地定义构造函数实现初始化    (13)下列关于基类和派生类关系的叙述中,正确的是  A)每个类最多只能有一个直接基类  B)派生类中的成员可以访问基类中的任何成员  C)基类的构造函数必须在派生类的构造函数体中调用  D)派生类除了继承基类的成员,还可以定义新的成员    (14)下列关于赋值运算符“=”重载的叙述中,正确的是  A)赋值运算符只能作为类的成员函数重载  B)默认的赋值运算符实现了“深层复制”功能  C)重载的赋值运算符函数有两个本类对象作为形参  D)如果己经定义了复制(拷贝)构造函数,就不能重载赋值运算符    (15)下列关于模板的叙述中,正确的是  A)如果一个类中存在纯虚函数,这个类就是类模板  B)函数模板不能有形式参数表  C)类模板是一种参数化类型的类,是类的生成器  D)类模板中不能包含构造函数  (16)下列关于C++预定义流对象的叙述中,正确的是  A)cin是C++预定义的标准输入流对象  B)cin是C++预定义的标准输入流类  C)cout是C++预定义的标准输入流对象  D)cout是C++预定义的标准输入流类    (17)下列选项中,正确的C++标识符是  A)6_group  B)group~6  C)age+3  D)_group_6     (18)下列选项中,正确的C++表达式是  A)counter++3    B)element3+      C)a+=b        D)‘a‘=b    (19)下列循环语句中有语法错误的是  A)inti;for(i=1;i<10;i++)cout<<‘*‘;  B)inti,j;for(i=1,j=0;i<10;i++,j++)cout<<‘*‘;  C)inti=0;for(;i<10;i++)cout<<‘*‘;  D)for(1)cout<<‘*‘;    (20)下列定义语句中,错误的是  A)intpx*;  B)char*acp[10];  C)char(*pac)[10];  D)int(*p)();    (21)下列函数原型声明中,错误的是  A)intfnction(intm,intn);  B)intfunction(int,int);  C)intfunction(intm=3,intn);  D)intfunction(int&m,int&n);  (22)若MyClass为一个类,执行“MyClassa[4],*p[5];”语句时会自动调用该类构造函数的次数是  A)2   B)5   C)4   D)9    (23)若在表达式y/x中,“/”是作为成员函数重载的运算符,则该表达式还可以表示为  A)x.Operator/(Y)  B)operator/(x,Y)  C)Y.operator/(x)  D)operator/(y,x)    (24)若要重载+、=、<<、=和[]运算符,则必须作为类成员重载的运算符是  A)+和=  B)=和<<  C)==和<<  D)=和[]     (25)有函数模板声明和一些变量定义如下:  template(d1,d2);  C)sum(d1,d2);  D)sum(d1,d2);    (26)有如下语句序列:  charstr[10];cin>>str;  当从键盘输入”Ilovethisgame”时,str中的字符串是  A)"Ilovethisgame"  B)"Ilovethi"  C)"Ilove"  D)"I"  (27)有如下程序:  #include  #include  usingstd::cout;  classPoint{  public:  frienddoubledistance(constPoint&p);//p距原点的距离  Point(intxx=0,intyy=0):x(xx),Y(YY){}//①  private:  Intx,Y;  };  doubledistance(constPoint&p) {         //②  returnsqrt(p.x*p.x+p.Y*p.Y);  }  intmain(){  Pointp1(3,4);  cout<  usingnamespacestd;  classCD{  public:  ~CD(){cout<<’C’;}  private:  charname[80];  };  intmain(){CDa,*b,d[2];return0;}  运行时的输出结果是  A)CCCC       B)CCC       C)CC       D)C  (29)某类中有一个无参且无返回值的常成员函数Show,则正确的Show函数原型是  A)constvoidShow();   B)voidconstShow();  C)voidShow()const;   D)voidShow(const);    (30)若已定义了类Vehicle,则下列派生类定义中,错误的是  A)classCar:Vehicle{/*类体略*/},  B)classCar:publicCar{/*类体略*/};  C)classCar:publicVehicle{/*类体略*/};  D)classCar:virtualpublicVehicle{/*类体略*/};    (31)有如下程序:  #include  usingnamespacestd;  classMusic{  public:  voidsetTitle(char*str){strcpy(title,str);}  protected:   chartype[10];  private:  chartitle[20];  };  classJazz:publicMusic{  public:  voidset(char*str){  strcpy(type,"Jazz");                 //①  strcpy(title,str);                    //②  }  };  下列叙述中正确的是  A)程序编译正确一                       B)程序编译时语句①出错  C)程序编译时语句②出错                 D)程序编译时语句①和②都出错  (32)有如下程序:  #include  usingnamespacestd;  classInstrument{  public:  virtualvoidDisplay()=0;  };  classPiano:publicInstrument{  public:  voidDisplay(){/*函数体程序略*/}  };  int,main(){  Instruments;  Instrument*p=0;  //...;  return0;  }  下列叙述中正确的是  A)语句“Insturment*p=0;”编译时出错  B)语句“Instruments;”编译时出错  C)类Piano中的Display函数不是虚函数  D)类Instrumen七是一个虚基类     (33)有类定义如下:气  classType {  public:  Type(int i=0);  Tvpeoperator-(int);  friendTypeoperator+(Type,Type);  private:  intval;  若有对象定义Typecl;则下列语句序列中,错误的是  A)Type(3)+c1;            B)cl+Type(3);  C)3-cl;                    D)c1-3;  (34)有如下程序:  #include  #include  usingnamespacestd;_  intmain(){  Cout<  usingnamespacestd;  classBook{  public:  Book(char*t=""){strcpy(titie,t); }  _____________________________  private:  Chartitle[40];  };  classNovel:publicBook{  public:  Novel(char*t=""):B00K(t){}  char*Category()const {return”"文学"}   };  intmain(){  Book*pb;  pb=newNovel();  Cout<Category();  return0;  }  若程序运行时输出结果是“文学”,则划线处缺失的语句是  A)char*Category();  B)char*Category()const;  C)virtualchar*Category()const;  D)virtualchar*Category()const=0;  二、填空题(每空2分,共30分)    请将每一个空的正确答案写在答题卡【1】-【15】序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。    (1)一个栈的初始状态为空。首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为__【1】__。    (2)在长度为n的线性表中,寻找最大项至少需要比较___【2】___次。    (3)一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有__【3】___个  结点。    (4)仅由顺序、选择(分支)和重复(循环)结构构成的程序是_【4】__程序。    (5)数据库设计的四个阶段是:需求分析,概念设计,逻辑设计和_【5】_。    (6)如果一个派生类只有一个直接基类,则该类的继承方式称为_【6】_继承;如果一个派生类同时有多个直接基类,则该类的继承方式称为_【7】_继承。    (7)运算符“+”允许重载为类成员函数,或者非成员函数。若用operator+(c1,c2)这样的表达式来使用运算符“+”,应将“+”重载为_【8】_函数。     (8)下列程序的输出是3,请填充程序中的空缺,使该行形成一个运算符重载函数的定义。  #include  usingnamespacestd;  classMyNumber{  intn;  public:  MyNumber(intk):n(k){}  _【9】_int()const{returnn,}  };  intmain(){  MyNumbernuml(3);  Cout<  usingnamespacestd;  classBase{  public:  intm,n;  Base(inti,intj):m(i),n(j){}  };  classDerived:public Base{  public:  intm,k;  Derived(inti,intj):Base(i,j),m(i+1),k(j+1){}  };  intmain(){  Derivedd(1;5);  Cout<  usingnamespacestd;  classBase{  Intx;  Public:  Base(intb):x(b){}  virtualvoiddisplay(){cout<display();  return0;  }    (13)一个双目运算符作为类的成员函数重载时,重载函数的参数表中有__【14】__个参数。    (14)派生类中的成员函数可以直接访问基类中的公有成员和__【15】__成员。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭