视窗
loading...
您现在的位置:首页 > IT认证 > 练习中心 >

3月计算机等级考试二级C++笔试试题


  一、选择题

  (1)下列关于栈叙述正确的是

  A)栈顶元素最先能被删除    

  B)栈顶元素最后才能被删除

  C)栈底元素永远不能被删除  

  D)以上三种说法都不对

  (2)下列叙述中正确的是

  A)有一个以上根结点的数据结构不一定是非线性结构

  B)只有一个根结点的数据结构不一定是线性结构

  C)循环链表是非线性结构

  D)双向链表是非线性结构

  (3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)

  A)3         

  B)4         

  C)6         

  D)7

  (4)在软件开发中,需求分析阶段产生的主要文档是

  A)软件集成测试计划        

  B)软件详细设计说明书

  C)用户手册                

  D)软件需求规格说明书

  (5)结构化程序所要求的基本结构不包括

  A)顺序结构                

  B)GOTO跳转

  C)选择(分支)结构        

  D)重复(循环)结构

  (6)下面描述中错误的是

  A)系统总体结构图支持软件系统的详细设计

  B)软件设计是将软件需求转换为软件表示的过程

  C)数据结构与数据库设计是软件设计的任务之一

  D)PAD图是软件详细设计的表示工具

  (7)负责数据库中查询操作的数据库语言是

  A)数据定义语言

  B)数据管理语言

  C)数据操纵语言

  D)数据控制语言

  (8)一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是

  A)1:1联系   

  B)1:m联系

  C)m:1联系   

  D)m:n联系

  (9)有三个关系R、S和T如下:

  则由关系R和S得到关系T的操作是

  A)自然连接  

  B)交        

  C)除         

  D)并

  (10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是

  A)-369      

  B)369       

  C)0.369      

  D)整数集合{1,2,3,4,5}

  (11)为了提高函数调用的实际运行速度,可以将较简单的函数定义为

  A)内联函数  

  B)重载函数  

  C)递归函数   

  D)函数模板

  (12)若AA为一个类,a为该类的非静态数据成员,在该类的一个成员函数定义中访问a时,其书写格式为

  A)a         

  B)AA.a      

  C)a()        

  D)AA::a()

  (13)当派生类从一个基类保护继承时,基类中的一些成员在派生类中成为保护成员,这些成员在基类中原有的访问属性是

  A)任何      

  B)公有或保护

  C)保护或私有

  D)私有

  (14)若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是

  A)Data+(Data);

  B)Data operator+(Data);

  C)Data+operator(Data);

  D)operator+(Data,Data);

  (15)下列关于函数模板的描述中,正确的是

  A)函数模板是一个实例函数

  B)使用函数模板定义的函数没有返回类型

  C)函数模板的类型参数与函数的参数相同

  D)通过使用不同的类型参数,可以从函数模板得到不同的实例函数

  (16) C++系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是

  A)cout      

  B)cin       

  C)cerr      

  D)cset

  (17)Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是

  A)cpp       

  B)exe       

  C)obj        

  D)lik

  (18)字符串“a+b=12nt”的长度为

  A)12        

  B)10        

  C)8          

  D)6

  (19)有如下程序:

  #include

  using namespace std;

  int main(){

  int f,f1=0,f2=1;

  for(int i=3;i<=6;i++){

  f=f1+f2;

  f1=f2;f2=f;

  }

  cout<  return 0;

  }

  运行时的输出结果是

  A)2         

  B)3         

  C)5          

  D)8

   (20)有如下程序:

  #include

  using namespace std;

  int main(){

  int a[6]={23,15,64,33,40,58};

  int s1,s2;

  s1=s2=a[0];

  for(int* p=a+1;p  if(s1>*p) s1=*p;

  if(s2<*p) s2=*p;

  }

  cout<  return 0;

  }

  运行时的输出结果是

  A)23        

  B)58        

  C)64         

  D)79

  (21)有如下程序:

  #include

  using namespace std;

  void f1(int& x,int& y) {int z=x; x=y; y=z;}

  void f2(int x;int y)   {int z=x; x=y; y=z;}

  int main(){

  int x=10,y=26;

  f1(x,y);

  f2(x,y);

  cout<  return 0;

  }

  运行时的输出结果是

  A)10        

  B)16        

  C)26         

   D)36

   (22)有如下程序:

   #include

   using namespace std;

   class XA{

   int a;

   public:

   static int b;

   XA(int aa):a(aa) {b++;}

   ~XA(){}

   int get(){return a;}

   };

   int XA::b=0;

   int main(){

   XA d1(2),d2(3);

   cout<<:b+endl;>   return 0;

   }

   运行时的输出结果是

   A)5         

   B)6         

   C)7          

  D)8

  (23)有如下程序:

  #include

  using namespace std;

  class Point{

  int x,y;

  public:

  Point(int x1=0,int y1=0):x(x1),y(y1){}

  int get(){return x+y;}

  };

  class Circle{

  Point center;

  int radius;

  public:

  Circle(int cx,int cy,int r):center(cx,cy),raaius(r){}

  int get(){return center.get()+radius;}

  };

  int main(){

  Circle c(3,4,5);

  cout<  return 0;

  }

  运行时的输出结果是

  A)5         

  B)7         

  C)9          

  D)12

  (24)若要对类BigNumber中重载的类型转换运算符long进行声明,下列选项中正确的是

  A)operator long() const;

  B)operator long(BigNumber);

  C)long operator long() const;

  D)long operator long(BigNumber);

  (25)有如下函数模板定义:

  template

  T1 FUN(T2 n){return n*5.0;}

  若要求以int型数据9作为函数实参调用该模板,并返回一个double型数据,则该调用应表示为

  A)FUN(9)                  

  B)FUN<9>

  C)FUN(9)          

  D)FUN<9>(double)

  (26)下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是

  A)cout<  B)cout<  C)cout<  D)cout<  (27)下列关于析构函数的描述中,错误的是

  A)析构函数可以重载

  B)析构函数由系统自动调用

  C)每个对象的析构函数只被调用一次

  D)每个类都有析构函数

  (28)下列关于构造函数的描述中,错误的是

  A)构造函数名与类名相同     

  B)构造函数可以有返回值

  C)构造函数可以重载         

  D)每个类都有构造函数

  (29)若PAT是一个类,则程序运行时,语句“PAT(*ad)[3];”调用PAT的构造函数的次数是

  A)0         

  B)1         

  C)2          

  D)3

  (30)下列描述中,错误的是

  A)公有继承时基类中的公有成员在派生类中仍是公有成员

  B)公有继承时基类中的保护成员在派生类中仍是保护成员

  C)保护继承时基类中的公有成员在派生类中仍是公有成员

  D)保护继承时基类中的保护成员在派生类中仍是保护成员

  (31)生成派生类对象时,派生类构造函数调用基类构造函数的条件是

  A)无需任何条件

  B)基类中显式定义了构造函数

  C)派生类中显式定义了构造函数

  D)派生类构造函数明确调用了基类构造函数

  (32)下列关于派生类和基类的描述中,正确的是

  A)派生类成员函数只能访问基类的公有成员

  B)派生类成员函数只能访问基类的公有和保护成员

  C)派生类成员函数可以访问基类的所有成员

  D)派生类对基类的默认继承方式是公有继承

  (33)有如下类模板定义:

  template

  class BigNumber{

  long n;

  public:

  BigNumber(T i):n(i){}

  BigNumber operator+(BigNumber b){

  return BigNumber(n+b.n);

  }

  };

  己知b1、b2是BigNumber的两个对象,则下列表达式中错误的是

  A)bl+b2     

  B)b1+3      

  C)3+b1       

  D)3+3

  (34)下列关于文件流的描述中,正确的是

  A)文件流只能完成针对磁盘文件的输入输出

  B)建立一个文件流对象时,必须同时打开一个文件

  C)若输入流要打开的文件不存在,将建立一个新文件

  D)若输出流要打开的文件不存在,将建立一个新文件

  (35)有如下程序:

  #include

  using namespace std;

  class Pair{

  int m,n;

  public:

  Pair(int j,int k):m(j),n(k){}

  int get() {return m;}

  int get() const {return m+n;}

  };

  int main(){

  Pair a(3,5);

  const Pair b(3,5);

  cout+a.get()<  return 0;

  }

  运行时的输出结果是

  A)33        

  B)38        

  C)83         

  D)88

  二、填空题

  (1)有序线性表能进行二分查找的前提是该线性表必须是 【1】 存储的。

  (2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF。则后序遍历结果为 【2】 。

  (3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为 【3】 测试。

  (4)实体完整性约束要求关系数据库中元组的 【4】 属性值不能为空。

  (5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称 【5】 是关系A的外码。

  (6)若有定义语句“int x=10,y=20,z=20;”,则表达式x>z&&y==z的值为 【6】 。

  (7)有如下语句序列:

  int x=-10;while(++x){ }

  运行时while循环体的执行次数为 【7】 。

  (8)有如下语句序列:

  int arr[2][2]={{9,8},{7,6}};

  int *p=arr[0]+1; cout<<*p<  运行时的输出结果是 【8】 。

  (9)函数fun的功能是将一个数字字符串转换为一个整数,请将函数补充完整。

  int fun(char *str){

  int num=0;

  while(*str){

  num*=10;

  num+= 【9】 ;

  str++;

  }

  return num;

  }

  (10)若要将函数“void FriFun();”声明为类MyClass的友元函数,则应在类MyClass的定义中加入语句 【10】 。

  (11)下列程序的输出结果为012,请根据注释将横线处的缺失部分补充完整。

  #include

  using namespace std;

  class Test{

  public:

  Test(int a) {data=a;}

  ~Test() {}

  void print(){cout<  private:

  int data;

  };

  int main(){

  Test t[3]={ 【11】 };//对有3个元素的Test类对象数组t初始化t[i].print();

  for(int i=0;i<3;i++)

  return 0;

  }

  (12)请在横线处填写派生类Derived的继承方式,使得程序的输出结果为Base。

  #include

  using namespace std;

  class Base{

  public:

  void print(){cout<<"Base";}

  };

  class Derived: 【12】 Base{};

  int main(){

  Derived d;

  d.print();

  return 0;

  }

  (13)下列程序的输出结果为1 2.3 2 4.6,请将横线处的缺失部分补充完整。

  #include

  using namespace std;

  class Base{

  public:

  Base(int a):idata(a){}

  void print(){cout<  private:

  int idata;

  };

  class Derived:public Base{

  public:

  Derived(int a;double b): 【13】 ,ddata(b){}

  void print(){Base::print();cout<  private:

  double ddata;

  };

  int main(){

  Derived dl(1,2.3),d2(2,4.6);

  d1.print();

  d2.print();

  return 0;

  }

  (14)下列程序的输出结果为-5/8 -3/4,请将横线处的缺失部分补充完整。

  #include

  using namespace std;

  class Fraction{ //“分数”类

  public:

  Fraction(double a,double b):num(a),den(b){}

  ~Fraction(){}

  //重载取负运算符“-”,返回一个分数对象,其分子是原来分子的相反数。

  Fraction operator-(){

  【14】

  return f;

  }

  void print(){ cout<  private:

  double num; //分子

  double den; //分母

  };

  int main(){

  Fraction f1(5;8),f2(3,4);

  (-f1).print();(-f2).print();

  return 0;

  }

  (15)函数Min的功能是返回具有n个元素的数组array中的最小值。请将横线处的缺失部分补充完整,使得程序的输出结果为1.24。

  #include

  using namespace std;

  template

  T Min(T* array,int n){

  T min=array[0];

  for(int i=1;i  if(array[i]  return min;

  }

  int main(){

  double arr[8]={5.2,48.45,41.01,42,51.2,1.24,14.12,42};

  cout<< 【15】 ;

  return 0;

  }

闂傚倷绶氬ḿ褍螞瀹€鍕;闁跨噦鎷�

闂傚倷绶氬ḿ褍螞瀹€鍕;闁跨噦鎷�

闂傚倷绶氬ḿ褍螞濞嗘挸绀夐柡鍥ュ灩閸屻劑鏌曢崼婵囧閻庢艾顭烽弻銊モ攽閸℃ê鐝旂紓浣瑰敾缂嶄線寮婚敓鐘茬妞ゆ劧瀵岄埀顒侇殜閺岀喖鎽庨崒姘ギ闂佽鍟崶褔鍞堕梺缁樻煥閹芥粎绮旈鍕厽闁绘ê寮堕幖鎰版煟鎺抽崝灞藉祫闂佺鎻粻鎴g箽闂備浇娉曢崳锕傚箯閿燂拷
闂傚倷绀侀幖顐︽偋濠婂牆绀堟繛鎴欏灪閸嬬喐銇勯弽顐沪闁绘帡绠栭弻鏇熺箾閸喖濮庨梺璇叉唉椤曆嗗絹闂佹悶鍎荤徊鑺ユ櫠閹绘崡褰掓偂鎼淬垹娈楅悗娈垮枛閻栧吋淇婇悜鑺ユ櫆闁告挆鍐帗婵犵數鍋涢悺銊у垝瀹€鈧懞閬嶆嚃閳哄嫬小婵炲鍘ч悺銊╁吹閸岀偞鐓涢柛鎰╁妼閳ь剝宕电划鏃囥亹閹烘挾鍙嗗┑鐐村灱濞呮洜鈧熬鎷�闂備浇顕уù鐑藉极閹间降鈧焦绻濋崑顖氱秺瀹曞崬螣鐠囧樊娼梻浣风串缁蹭粙寮甸鍕仼闁告鍊戞惔銊ョ倞闁挎繂鎳庨埛澶嬬箾鐎电ǹ甯堕柟铏耿閻涱喚鈧綆鍠栫粻锝嗙節婵犲倸顏柟鏋姂濮婃椽宕ㄦ繝鍐f嫻缂備礁顑嗙敮锟犲箚閸ャ劌顕遍柡澶嬪灥閸炪劑姊洪幖鐐插姌闁告柨绉归敐鐐哄冀椤儱閰e畷鍫曟晲閸涱厸鎷ゅ┑鐐差嚟閸樠囧箠濮椻偓楠炲棝宕橀鑲╊槹濡炪倖鍔戦崹娲儊閺冣偓缁绘繈濮€閿濆棛銆愰柣搴㈣壘閹芥粌危閹扮増鏅搁柨鐕傛嫹闂傚倷鑳堕幊鎾绘偤閵娾晛鍨傞柛鎰ゴ閸亪鏌熺€电ǹ小闁绘帒锕ら埞鎴︽偐閸欏鎮欏┑鐐叉噷閸ㄥ綊婀侀梺鎸庣箓濡盯鎯屾惔銊︾厓鐟滄粓宕滃▎鎾崇疇闁归偊鍏橀弸鏃堟煙鏉堥箖妾柛瀣儔閺屾盯顢曢妶鍛€剧紓鍌氱М閸嬫捇姊绘担鐟扮亰闁绘帪绠撴俊鐢告倷閻㈢數顦梺鍝勫暙閻楀棛鐥閺屾盯骞囬娑氥€婄紓浣插亾闁跨噦鎷�闂備浇顕х花鑲╁緤婵犳熬缍栧鑸靛姇閸ㄥ倹绻濇繝鍌氼伀妞も晠鏀遍妵鍕箳閹存繃娈茬紓浣风贰閸o絽顕i崼鏇熷€烽柛顭戝亝閻濐亜鈹戦悙鑼闁搞劌澧庣划姘舵焼瀹ュ懐鍔撮梺鍛婂壃閸涱垼妲繝鐢靛Х椤d粙鍩€椤掆偓閸熷潡鍩€椤掑倹鍤€闁挎洏鍨洪幏鍛村礈閹绘帗顓块梻浣呵归張顒傛崲瀹ュ鑸归柟缁㈠枟閻撴瑩鎮楀☉娆嬬細濠⒀屽墯缁绘繈鍩€椤掍焦濯撮柛锔诲幘閹虫繈姊洪崜鑼帥闁稿鎳愮槐鐐哄焵椤掑嫭鈷戦柣鐔稿閹界娀鏌eΔ鍐ㄤ户闁瑰箍鍨归~婵嬵敄閼恒儳浜欓梻浣告惈濞诧箓鎯岄鐐床闁糕剝绋掗悡娆愩亜閹炬鍟版禒鏉戭渻閵堝棙澶勯柛鎾跺枎閻g兘鏁愰崱娆戠槇闂佸憡鍔忛弲鈺佄i鐐粹拺闁奸€涘嵆閸濈儤鎱ㄦ繝鍌ょ吋闁哄苯鐗撻獮姗€顢欓懖鈺婂悈闂備胶鎳撻悺銊у垝瀹ュ洤鍨濋柨鏇炲€归悡銉︾箾閹寸倖鎴濓耿閻楀牏绡€闁逞屽墴楠炲秹顢欓幆褍瑙︽繝鐢靛仜濡霉妞嬪海鐜绘俊銈呭暟绾惧ジ鏌¢崒娑卞劌闁稿骸绻掗埀顒冾潐閹哥ǹ螞濠靛棛鏆︽慨妯垮煐閸嬫劗绱撴担璐細鐟滅増鍨垮娲箰鎼粹€虫灆闂佺懓鍤栭幏锟�闂備浇顕уù鐑藉极閹间礁绠犻柟鎹愬煐閺嗘粍銇勯幇鍓佺暠缂佲偓閸℃ḿ绠鹃柟瀵镐紳椤忓牆鏋侀柛顐f礃閸婄數鐥鐐村婵炲吋鍔欓弻娑㈠Ω閿斿墽鐓佺紓浣稿€圭敮锟犮€佸Δ浣瑰缂佸鏅濋锔解拺閻熸瑥瀚欢鑼磼缂佹ê鐏寸€殿噮鍋婇、娆撴偩瀹€濠冪カ婵犳鍠楅妵娑㈠磻閹剧粯鐓冪憸婊堝礈濞嗘挸纾归柛婵勫劤缁€濠囨倵閿濆骸鏋熼柛搴$Ч閺屾盯寮撮妸銉ョ瑢閻熸粎澧楃敮妤呮偂閳ь剙顪冮妶鍡楃瑨闁挎洩濡囩划鍫ユ晸閿燂拷闂傚倷娴囨竟鍫熴仈缁嬫娼栧┑鐘崇閻掗箖鏌熺紒銏犳灈婵☆偅锕㈤弻锝夋偄缁嬫妫嗙紒缁㈠幐閸嬫捇姊绘担鐟邦嚋缂佸甯掗悾婵嬪箹娴e摜锛涢梺鍝勭Р閸斿酣銆呴悜鑺ョ叆闁绘洖鍊圭€氾拷:webmaster@jscj.com闂傚倷绶氬ḿ褍螞瀹€鍕;闁瑰墽绮悡鐔搞亜椤愵偄骞樼紒浣哄厴閺岋綁鏁傜捄銊х厯闂佽桨绀佺粔褰掑极閹剧粯鏅搁柨鐕傛嫹4008816886

相关文章

  3月计算机等级考试二级C语言笔试试题  (2011-04-03 15:05:22)
  3月计算机等级考试二级VF笔试试题  (2011-04-03 14:43:06)
  3月计算机等级考试二级Access试试题  (2011-04-03 14:37:12)
  3月计算机等级考试二级C++笔试试题  (2011-04-03 14:31:35)
  3月计算机等级考试二级Java笔试试题  (2011-04-03 14:24:23)
  12月大学英语四级(CET-4)真题  (2011-03-09 10:28:30)
  报关员考试真题  (2011-03-05 11:04:29)
  导游资格考试卷真题精选  (2011-02-28 16:30:46)
  考研数学真题各学科分数详细分布比例  (2011-01-17 10:25:51)
  江苏省3月计算机等级考试成绩查询  (2010-06-23 15:46:41)
更新时间2022-09-16 09:59:09【至顶部↑】
联系我们 | 邮件: webmaster@jscj.com | 客服热线电话:4008816886(QQ同号) |  濠电姷鏁搁崕鎴犵礊閳ь剚銇勯弴鍡楀閸欏繘鏌i幇顕呮毌闁稿鎹囬悰顕€宕归鍙ョ棯婵犵數濮崑鎾绘煕閵夋垵鑻▓顐㈩渻閵堝棙顥嗘い鏂匡功閹广垽鏁撻敓锟�

付款方式留言簿投诉中心网站纠错二维码手机版

电话:
付款方式   |   给我留言   |   我要纠错   |   联系我们