上海龙凤419

试题

天下计较机二级测验《C++》口试样卷

时候:2023-06-12 22:45:24 欧敏 试题 我要投稿
  • 相干保举

天下计较机二级测验《C++》口试样卷

  计较机二级测验查核计较机底子常识和利用一种高等计较机说话编写法式和上机调试的根基手艺。本文是百分网小编搜刮清算的一份天下计较机二级测验《C++》口试样卷,供参考操练。

  天下计较机二级测验《C++》口试样卷

  一、挑选题((1)~(35)每小题2分,共70分)

  以下各题A)、B)、C)、D)四个选项中,只要一个选项是精确的,请将精确选项涂写在答题卡响应地位上,答在试卷上不得分。

  (1)以下选项中不合适杰出法式设想气概的是

  A)源法式要文档化 B)数据申明的挨次要标准化

  C)防止滥用goto语句 D)模块设想要保障高耦合、高内聚

  (2)从工程办理角度,软件设想普通分为两步完成,它们是

  A)提要设想与具体设想 B)数据设想与接口设想

  C)软件布局设想与数据设想 D)进程设想与数据设想

  (3)以下选项中不属于软件性命周期开辟阶段使命的是

  A)软件测试 B)提要设想 C)软件掩护 D)具体设想

  (4)在数据库体系中,用户所见的数据情势为

  A)观点情势 B)外情势 C)内情势 D)物理情势

  (5)数据库设想的四个阶段是:须要阐发、观点设想、逻辑设想和

  A)编码设想 B)测试阶段 C)运转阶段 D)物理设想

  (6)设有以下三个干系表

天下计较机二级测验《C++》口试样卷  

  A)T=R∩S B)T=R∪S  以下操纵中精确的是

  C)T=R×S D)T=R/S

  (7)以下论述中精确的是

  A)一个算法的空间庞杂度大,则当时候庞杂度也肯定大

  B)一个算法的空间庞杂度大,则当时候庞杂度肯定小

  C)一个算法的时候庞杂度大,则其空间庞杂度肯定小

  D)上述三种说法都毛病

  (8)在长度为64的有序线性表中遏制挨次查找,最坏情况下须要比拟的次数为

  A)63 B)64 C)6 D)7

  (9)数据库手艺的底子方针是要处理数据的

  A)存储题目 B)同享题目 C)宁静题目 D)掩护题目

  (10)对以下二叉树

  遏制中序遍历的成果是

  A)ACBDFEG B)ACBDFGE C)ABDCGEF D)FCADBEG

  (11)以下有关内联函数的论述中,精确的是

  A)内联函数在挪用时产生节制转移

  B)内联函数必须经由过程关头字inline来界说

  C)内联函数是经由过程编译器来完成的

  D)内联函数函数体的最初一条语句必须是return语句

  (12)以下情况中,不会挪用拷贝机关函数的是

  A)用一个工具去初始化同一类的另外一个新工具时

  B)将类的一个工具赋值给该类的另外一个工具时

  C)函数的形参是类的工具,挪用函数遏制形参和实参连系时

  D)函数的前往值是类的工具,函数履行前往挪用时

  (13)以下有关担当和派生的论述中,精确的是

  A)若是一个派生类公有担当其基类,则该派生类工具不能拜候基类的掩护成员

  B)派生类的成员函数可以或许或许拜候基类的一切成员

  C)基类工具可以或许或许赋值给派生类工具

  D)若是派生类不完成基类的一个纯虚函数,则该派生类是一个笼统类

  (14)以下运算符不能重载为友元函数的是

  A)= () [ ] -> B)+ - ++ --

  C)> < >= <= D)+= -= *= /=

  (15)对在挪用模板函数时模板实参的利用,以下表述精确的是

  A)对假造范例参数所对应的模板实参,若是能从模板函数的实参中取得不异的信息,则都可以或许或许省略

  B)对假造范例参数所对应的模板实参,若是它们是参数表中的最初的多少个参数,则都可以或许或许省略

  C)对假造范例参数所对应的模板实参,若可以或许或许省略则必须省略

  D)对惯例参数所对应的模板实参,任何情况下都不能省略

  (16)以下对输入流类成员函数getline()的描写中,毛病的是

  A)该函数是用来读取键盘输入的字符串的

  B)该函数读取的字符串长度是受限定的

  C)该函数读取字符串时,碰到遏制符便遏制

  D)该函数读取字符串时,可以或许或许包罗空格

  (17)以下标记中,精确的C++标识符是

  A)enum B)2b C)foo-9 D)_32

  (18)以下语句中,毛病的是

  A)const int buffer=256; B)const double *point;

  C)int const buffer=256; D)double * const point;

  (19)if语句的语法格局可描写为:

  格局1:if(<前提>) <语句>

  或

  格局2:if(<前提>) <语句1> else <语句2>

  对上面的语法格局,以下表述中毛病的是

  A)<前提>局部可以或许或许是一个if语句,比方if(if(a==0) …) …

  B)<语句>局部可以或许或许是一个if语句,比方if(…) if(…) …

  C)若是在<前提>前加上逻辑非运算符!并互换 <语句1> 和 <语句2> 的地位,语句功效稳定

  D)<语句>局部可以或许或许是一个轮回语句,比方if(…) while(…) …

  (20)有以下申明

  int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

  则数值为9的抒发式是

  A)*p+9 B)*(p+8) C)*p+=9 D)p+8

  (21)如有上面的函数挪用:

  fun(a+b, 3, max(n-1, b))

  则fun的实参个数是

  A)3 B)4 C)5 D)6

  (22)以下关头字不能用来申明类的拜候权限的是

  A)public B)static C)protected D)private

  (23)在公有担当的情况下,许可派生类间接拜候的基类成员包罗

  A)公有成员 B)公有成员和掩护成员

  C)公有成员、掩护成员和公有成员 D)掩护成员

  (24)对运算符重载,以下表述中精确的是

  A)C++已有的任何运算符都可以或许或许重载

  B)运算符函数的前往范例不能申明为根基数据范例

  C)在范例转换符函数的界说中不须要申明前往范例

  D)可以或许或许经由过程运算符重载来成立C++华夏来不的运算符

  (25)对关头字class和typename,以下表述中精确的是

  A)法式中的typename都可以或许或许替代为class

  B)法式中的class都可以或许或许替代为typename

  C)在模板形参表中只能用typename来申明参数的范例

  D)在模板形参表中只能用class或typename来申明参数的范例

  (26)有以下法式

  #include

  #include

  using namespace std;

  int main( ){

  cout< cout<<12.345<<___________<<34.567;

  return 0;

  }

  若法式的输入是:

  **12.345**34.567

  则法式中下划线处漏掉的操纵符是

  A)setprecision(3) B)fixed C)setfill(*) D)setw(8)

  (27)有以下法式

  #include

  #include

  using namespace std;

  class MyClass{

  public:

  MyClass( ){ cout<

  MyClass(char c){ cout< ~MyClass( ){ cout<

  };

  int main( ){

  MyClass p1,*p2;

  p2=new MyClass(X);

  p2 ;

  return 0;

  }

  履行这个法式屏幕大将显现输入

  A)ABX B)ABXB C)AXB D)AXBB

  (28)有以下法式

  #include

  using namespace std;

  int i=1;

  class Fun{

  public:

  static int i;

  int value( ){ return i-1;}

  int value( )const{ return i+1;}

  };

  int Fun::i=2;

  int main( ){

  int i=3;

  Fun fun1;

  const Fun fun2;

  ____________

  return 0;

  }

  若法式的输入成果是:

  123

  则法式中下划线处漏掉的语句是

  A)cout<

  B)cout<

  C)cout<

  D)cout<

  (29)有以下法式:

  #include

  using namespace std;

  class Obj{

  static int i;

  public:

  Obj( ){ i++; }

  ~Obj( ){ i--; }

  static int getVal( ){ return i;}

  };

  int Obj::i=0;

  void f(){Obj ob2; cout

  Obj ob1;

  f( );

  Obj *ob3=new Obj; cout

  ob3; cout< return 0;

  }

  法式的输入成果是

  A)232 B)231 C)222 D)221

  (30)有以下法式

  #include

  using namespace std;

  class Base {

  protected:

  Base( ){ cout<

  Base(char c){ cout<};

  class Derived: public Base{

  public:

  Derived( char c ){ cout<};

  int main( ){

  Derived d1(B);

  return 0;

  }

  履行这个法式屏幕大将显现输入

  A)B B)BA C)AB D)BB

  (31)有以下类界说:

  class MyBase{

  int k;

  public:

  MyBase(int n=0):k(n){ }

  int value( )const{ return k;}

  };

  class MyDerived: MyBase{

  int j;

  public:

  MyDerived(int i): j(i) {}

  int getK( )const{ return k; }

  int getJ( )const{ return j; }

  };

  编译时发明有一处语法毛病,对这个毛病最精确的描写是

  A)函数getK试图拜候基类的公有成员变量k

  B) 在类MyDerived的界说中,基类名MyBase前贫乏关头字public、protected或private

  C)类MyDerived 贫乏一个无参的机关函数

  D)类MyDerived的机关函数不对基类数据成员k遏制初始化

  (32)在一个派生类工具竣事其性命周期时

  A)先挪用派生类的析构函数后挪用基类的析构函数

  B)先挪用基类的析构函数后挪用派生类的析构函数

  C)若是基类不界说析构函数,则只挪用派生类的析构函数

  D)若是派生类不界说析构函数,则只挪用基类的析构函数

  (33)有以下的运算符重载函数界说:

  double operator +(int i, int k){ return double(i+k); }

  但界说有毛病,对这个毛病最精确的描写是

  A)+ 只能作为成员函数重载,而这里的 + 是作为非成员函数重载的

  B)两个int型参数的和也应当是int型,而这里将 + 的前往范例申明为double C)不将运算符重载函数申明为某个类的友元

  D)C++已供给了求两个int型数据之和的运算符 +,不能再界说一样的运算符

  (34)语句ofstream f("SALARY.DAT", ios_base::app); 的功效是成立流工具f,并试图翻开文件SALARY.DAT与f联系干系,并且

  A)若文件存在,将其置为空文件;若文件不存在,翻开失利

  B)若文件存在,将文件指针定位于文件尾;若文件不存在,成立一个新文件

  C)若文件存在,将文件指针定位于文件首;若文件不存在,翻开失利

  D)若文件存在,翻开失利;若文件不存在,成立一个新文件

  (35)有以下法式

  #include

  using namespace std;

  class A{

  public:

  virtual void func1( ){ cout<<"A1"; }

  void func2( ){ cout<<"A2"; }

  };

  class B:public A{

  public:

  void func1( ){ cout<<"B1"; }

  void func2( ){ cout<<"B2"; }

  };

  int main( ){

  A *p=new B;

  p->func1( );

  p->func2( );

  return 0;

  }

  运转此法式,屏幕大将显现输入

  A) B1B2 B) A1A2 C) B1A2 D) A1B2

  二、填空题(每空2分,共30分)

  请将每个空的精确谜底写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。

  (1)以下软件体系布局图的宽度为 【1】 。

  (2) 【2】 的使命是诊断和更正法式中的毛病。

  (3)一个干系表的行称为 【3】 。

  (4)按“进步前辈后出”准绳机关数据的数据布局是 【4】 。

  (5)数据布局分为线性布局和非线性布局,带链的行列属于 【5】 。

  (6)如有界说语句:int* a, b;,则变量b的数据范例是 【6】 。

  (7)已知数组a中的元素个数为n,以下语句的感化是将下标为i的元素挪动到下标为

  i-1的单位,此中1≤i

  for (int i=0; i a[i] = a[ 【7】 ];

  (8)已知递归函数f的界说以下:

  int f(int n)

  {if (n <= 1) return 1; //递归竣事情况

  else return n * f(n-2); //递归}

  则函数挪用语句f(5)的前往值是 【8】 。

  (9)成立工具数组时,对数组的每个元素都将挪用一次机关函数,若是不显式给出数组元素的初值,则挪用缺省机关函数。以下法式触及到工具数组的成立和单个工具的成立,其输入成果是 【9】 。

  #include

  using namespace std;

  class Foo {

  public:

  Foo(int x) { cout << A; }

  Foo() {}

  };

  int main()

  {

  Foo f[3], g(3);

  return 0;

  }

  (10)已知以下法式的输入成果是42,请将画线处缺失的局部补充完全。

  #include

  using namespace std;

  class Foo {

  int value;

  public:

  Foo( ) : value(0) {}

  void setValue(int value)

  { 【10】 = value; //给Foo的数据成员value赋值}

  void print( ) { cout << value; }

  };

  int main( )

  {

  Foo f;

  f.setValue(42);

  f.print();

  return 0;

  }

  (11)若是不利用多态机制,那末经由过程基类的指针固然可以或许或许指向派生类工具,可是只能拜候从基类担当的成员。以下法式不利用多态机制,其输入成果是 【11】 。

  #include

  using namespace std;

  class Base {

  public:

  void print ( ) { cout << B; }};

  class Derived : public Base {

  public:

  void print ( ) { cout << D; }};

  int main( )

  {

  Derived* pd = new Derived( );

  Base* pb = pd;

  pb->print( );

  pd->print( );

  pd;

  return 0;

  }

  (12)在申明派生类时,若是不显式地给出担当体例,缺省的类担当体例是公有担当private。已知有以下类界说:

  class Base {

  protected:

  void fun( ) {}

  };

  class Derived : Base { };

  则Base类中的成员函数fun(),在Derived类中的拜候权限是 【12】 (注重:请求填写private、protected或public中的一项)。

  (13)在MyClass类的界说中,对赋值运算符=遏制重载。请将画线处缺失的局部补充完全。

  【13】 MyClass::operator=(const MyClass& rhs)

  {

  if (this == &rhs) return *this;

  value = rhs.value;

  return *this;

  }

  (14)拔出排序算法的首要思惟是:每次从未排序序列中掏出一个数据,拔出到已排序序列中的精确地位。InsertSort类的成员函数sort()完成了拔出排序算法。请将画线处缺失的局部补充完全。

  class InsertSort{

  public:

  InsertSort(int* a0, int n0) :a(a0), n(n0) {} //参数a0是某数组首地点,n是数组元素个数

  void sort( )

  {//此函数假定已排序序列初始化状况只包罗a[0],未排序序列初始为a[1]...a[n-1]

  for (int i=1; i

  int t=a[i];

  int j;

  for ( 【14】 ; j>0; --j){

  if (t>=a[j-1]) break;

  a[j]=a[j-1];}

  a[j]=t;}}

  protected:

  int *a, n; //指针a用于寄存数组首地点,n用于寄存数组元素个数

  };

  (15)以下法式的输入成果是 【15】 。

  #include

  using namespace std;

  class A {

  int a;

  public:

  A():a(9){}

  virtual void print() const { cout<

  };

  class B : public A {

  char b;

  public:

  B( ){b=S;}

  void print( ) const { cout <

  };

  void show(A &x){ x.print();}

  int main()

  { A d1,*p;

  B d2;

  p=&d2;

  d1.print();

  d2.print();

  p->print();

  show(d1);

  show(d2);

  return 0;}

  天下计较机二级测验《C++》

  法式设想测验纲领

  根基请求

  1.把握 C++说话的根基语法法则。

  2.谙练把握有关类与工具的相干常识。

  3.可以或许或许浏览和阐发 C++法式。

  4.可以或许或许接纳面向工具的编程思绪和体例编写利用法式。

  5.能谙练利用 Visual C++6. 0集成开辟情况编写和调试法式。

  测验内容

  一、 C++说话概述

  1.领会 C++说话的根基标记。

  2.领会 C++说话的辞汇(关头字、标识符、常量、运算符、标点标记等)。

  3.把握 C++法式的根基框架。

  4.可以或许或许利用 Visual C++ 6. 0集成开辟情况编辑、编译、运转与调试法式。

  二、数据范例、抒发式和根基运算

  1.把握 C++数据范例(根基范例,指针范例)及其界说体例。

  2.领会 C++的常量界说(整型常量,字符常量,逻辑常量,实型常量,地点常量,标记常量)。

  3.把握变量的界说与利用体例(变量的界说及初始化,全局变量,局部变量)。

  4.把握 C++运算符的品种、运算优先级和连系性。

  5.谙练把握 C++抒发式范例及求值法则(赋值运算,算术运算符和算术抒发式,干系运算符和干系抒发式 ,逻辑运算符和逻辑抒发式,前提运算,指针运算,逗号抒发式)。

  三、 C++的根基语句

  1.把握 C++的根基语句,比方赋值语句、抒发式语句、复合语句、输入、输入语句和空语句等。

  2.用 if语句完成分支布局。

  3.用 switch语句完成多分支挑选布局。

  4.用 for语句完成轮回布局。

  5.用 while语句完成轮回布局。

  6.用 do. . . while语句完成轮回布局。

  7.转向语句(goto, continue, break和 return)。

  8.把握分支语句和轮回语句的各类嵌套利用。

  四、数组、指针与援用

  1.把握一维数组的界说、初始化和拜候,领会多维数组的界说、初始化和拜候。

  2.领会字符串与字符数组。

  3.谙练把握经常利用字符串函数(strlen,strcpy,strcat,strcmp,strstr等)。

  4.指针与指针变量的观点,指针与地点运算符,指针与数组。

  5.援用的根基观点,援用的界说与利用。

  五、把握函数的有关利用

  1.函数的界说体例和挪用体例。

  2.函数的范例和前往值。

  3.情势参数与现实参数,参数值的通报。

  4.变量的感化域和保存周期。

  5.递归函数。

  6.函数重载。

  7.内联函数。

  8.带有默许参数值的函数。

  六、谙练把握类与工具的相干常识

  1.类的界说体例、数据成员、成员函数及拜候权限(public, private, protected)。

  2.工具和工具指针的界说与利用。

  3.机关函数与析构函数。

  4.静态数据成员与静态成员函数的界说与利用体例。

  5.常数据成员与常成员函数。

  6. this指针的利用。

  7.友元函数和友元类。

  8.工具数组与成员工具。

  七、把握类的担当与派生常识

  1.派生类的界说和拜候权限。

  2.担当基类的数据成员与成员函数。

  3.基类指针与派生类指针的利用。

  4.虚基类。

  5.子范例干系。

  八、领会多态性观点

  1.虚函数机制的要点。

  2.纯虚函数与笼统基类,虚函数。

  3.领会运算符重载。

  九、模板

  1.简略领会函数模板的界说和利用体例。

  2.简略领会类模板的界说和利用体例。

  十、输入输入流

  1.把握 C++流的观点。

  2.可以或许或许利用格局节制数据的输入输入。

  3.把握文件的 I/ O操纵。

  测验体例

  上机测验,测验时长 120分钟,满分 100分。

  1.题型及分值

  单项挑选题 40分(含大众底子常识局部 10分)、操纵题 60分(包罗根基操纵题 、简略利用题及综合利用题)。

  2.测验情况

  Visual C++ 6. 0。

【天下计较机二级测验《C++》口试样卷】相干文章:

2022年天下计较机二级C++测验强化操练11-07

天下计较机二级《C++》上机试题及谜底03-28

计较机品级测验二级C++口试挑选题04-23

计较机二级C++摹拟试题及谜底02-06

天下计较机二级测验MS Office的题库01-20

最新天下计较机二级测验试题01-25

天下计较机二级测验哪一个最简略03-01

天下计较机二级测验《VB》操纵试题及谜底01-25

天下计较机二级测验《C说话》真题与谜底03-02

天下计较机二级MS Office测验真题及谜底03-01