论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

全国计算机等级考试二级C语言笔试试卷及答案

文章类别:C语言程序设计 | 发表日期:2009-6-29 11:42:01

                     全国计算机等级考试二级C语言笔试试卷及答案2

填空题
       (1)下列软件系统结构图的宽度为 [1] 。

  (2) [2] 的任务是诊断和改正程序中的错误。

  (3)一个关系表的行为 [3] 。

  (4)按“行进后出”原则组织数据的数据结构是 [4] 。

  (5)数据结构分为线性结构和非线性结构,带链的队列属于 [5] 。

  (6)若有定义语句:int*a,b;,则变量b 的数据类型是 [6] 。

  (7)已知数组a 中的元素个数为n,下列语句的作用是将下标为i 的元素移动到下标为i-1 的单元,其中1≤i<n。例如,当n=4,a 中原有数据为1,2,3,4 时,则移动后a中元素为2,3,4,4。请将语句补充完整:

  For(int i=0;i(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 atd;

  Class Foo{

  int value;

  public:

  Foo():value(0){}

  Void setvalue(int value)

  { [10] =value; //给Foo 的数据成员value 赋值}void print(){cout<};

  Int main()

  {

  Foo f;

  f.setvalue(42);

  f.print();

  retum0;

  }
  (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 Dreived);

  Base*pb=pd;

  pb->print();

  pd->print();

  delete 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){}//参数组首地址,n 是数组元素个数

  void sort()

  {//此函数假设已排离序列初始化状态只包含a[0],未排序序列初始为a[1]?a[n-1]

  for (int i=1;iint 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(Aa&X){X,print()}

  int main()

  { Ad1;*p;

  Bd2;

  p=&d2;

  d1,print();

  d2,print();

  p->print();

  show(d1);

  show(d2);

  return 0;}

( 答案:1、3  

  2、调试  

  3、元组  

  4、栈  

  5、线性 

  6、12346.0

  7、10  11  

  8、1  

  9、   7   4  

  10、n=n/10  

  11、(x+8)  

  12、sin(x)  

  13、0  

  14、i%2==0  

  15、s--  

  16、*s++  

  17、18  

  18、16  11  

  19、->data  

  20、”rb”)

视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058