等级考试

全国计算机等级考试二级笔试试卷

时间:2024-11-14 22:25:26 晓凤 等级考试 我要投稿

全国计算机等级考试二级笔试试卷3套

  在学习和工作中,只要有考核要求,就会有试卷,经过半个学期的学习,究竟学到了什么?需要试卷来帮我们检验。你知道什么样的试卷才能切实地帮助到我们吗?下面是小编整理的全国计算机等级考试二级笔试试卷,欢迎大家分享。

全国计算机等级考试二级笔试试卷3套

  全国计算机等级考试二级笔试试卷 1

  公共基础知识及C++语言程序设计

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

  下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

  (1) 下面叙述正确的是

  A)算法的执行效率与数据的存储结构无关

  B)算法的空间复杂度是指算法程序中指令(或语句)的条数

  C)算法的有穷性是指算法必须能在执行有限个步骤之后终止

  D)以上三种描述都不对

  (2)以下数据结构中不属于线性数据结构的是

  A)队列 B)线性表 C)二叉树 D)栈

  (3)在一棵二叉树上第5层的结点数最多是

  A)8 B)16 C)32 D)15

  (4)下面描述中,符合结构化程序设计风格的是

  A)使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑

  B)模块只有一个入口,可以有多个出口

  C)注重提高程序的执行效率

  D)不使用goto语句

  (5)下面概念中,不属于面向对象方法的是

  A)对象 B)继承 C)类 D)过程调用

  (6)在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是

  A)可行性分析 B)需求分析 C)详细设计 D)程序编码

  (7)在软件开发中,下面任务不属于设计阶段的是

  A)数据结构设计 B)给出系统模块结构

  C)定义模块算法 D)定义需求并建立系统模型

  (8)数据库系统的核心是

  A)数据模型 C)软件工具

  B)数据库管理系统 D)数据库

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

  A)数据库系统是一个独立的系统,不需要操作系统的支持

  B)数据库设计是指设计数据库管理系统

  C)数据库技术的根本目标是要解决数据共享的问题

  D)数据库系统中,数据的物理结构必须与逻辑结构一致

  (10)下列模式中,能够给出数据库物理存储结构与物理存取方法的是

  A)内模式 B)外模式 C)概念模式 D)逻辑模式

  (11)关于面向对象的程序设计方法,下列说法正确的是

  A)“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理

  B)“多态性”指的是对象的状态会根据运行时要求自动变化

  C)基类的私有成员在派生类的对象中不可访问,也不占内存空间

  D)在面向对象的程序设计中,结构化程序设计方法仍有着重要作用

  (12)判断字符型变量ch是否为大写英文字母,应使用表达式

  A ) ch>=A & ch<=Z B ) ch<=a ch="">=Z

  C ) A<=ch<=z d="" ch="">=A && ch<=Z

  (13)已知下列语句中的x和y都是int型变量,其中错误的语句

  A ) x=y++; B ) x=++y; C ) (x+y)++; D ) ++x=y;

  (14)执行语句序列

  int n;

  cin >> n;

  switch(n)

  { case 1:

  case 2: cout << 1;

  case 3:

  case 4: cout << 2; break;

  default: cout << 3;

  }

  时,若键盘输入1,则屏幕显示

  A)1 B)2 C)3 D)12

  (15)下列程序的输出结果是

  #include

  using namespace std;

  int main()

  {

  char a[] = "Hello, World";

  char *ptr = a;

  while (*ptr)

  {

  if (*ptr >= a && *ptr <= z)

  cout << *ptr + A -a);

  else cout << *ptr;

  ptr++;

  }

  return 0;

  }

  A ) HELLO, WORLD B ) Hello, World

  C ) hELLO, wORLD D ) hello, world

  (16)已知:int m=10;在下列定义引用的语句中,正确的是

  A ) int &x=m; B )int y=&m;

  C )int &z; D ) int &t=&m;

  (17)下列函数原型声明中错误的是

  A ) void Fun(int x=0, int y=0);

  B ) void Fun(int x, int y);

  C ) void Fun(int x, int y=0);

  D ) void Fun(int x=0, int y);

  (18)已知程序中已经定义了函数test,其原型是int test(int, int, int);,则下列重载形式中正确的是

  A ) char test(int,int,int);

  B ) double test(int,int,double);

  C ) int test(int,int,int=0);

  D ) float test(int,int,float=3.5F);

  (19)有以下程序

  #include

  int i = 0;

  void fun()

  { {

  static int i = 1;

  std::cout<

  }

  std::cout<

  }

  int main()

  {

  fun(); fun();

  return 0;

  }

  程序执行后的输出结果是

  A)1,2,1,2, B)1,2,2,3, C)2,0,3,0, D)1,0,2,0,

  (20)已知函数f的原型是:void f(int *a, long &b); 变量v1、v2的定义是:int v1;long v2;,正确的调用语句是

  A) f(v1, &v2); B) f(v1, v2);

  C) f(&v1, v2); D) f(&v1, &v2);

  (21)有以下类定义

  class MyClass

  {

  public:

  MyClass(){cout<<1;}

  };

  则执行语句MyClass a, b[2], *p[2];后,程序的输出结果是

  A)11 B)111 C)1111 D)11111

  (22)关于友元,下列说法错误的是

  A)如果类A是类B的友元,那么类B也是类A的友元

  B)如果函数fun()被说明为类A的友元,那么在fun()中可以访问类A的私有成员

  C)友元关系不能被继承

  D)如果类A是类B的友元,那么类A的所有成员函数都是类B的友元

  (23)关于动态存储分配,下列说法正确的是

  A)new和是C++语言中专门用于动态内存分配和释放的函数

  B)动态分配的内存空间也可以被初始化

  C)当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用释放内存空间

  D)当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new

  (24)有以下程序

  #include

  using namespace std;

  class MyClass

  {

  public:

  MyClass(int n){number = n;}

  //拷贝构造函数

  MyClass(MyClass &other){ number=other.number;}

  ~MyClass(){}

  private:

  int number;

  };

  MyClass fun(MyClass p)

  {

  MyClass temp(p);

  return temp;

  }

  int main()

  {

  MyClass obj1(10), obj2(0);

  MyClass obj3(obj1);

  obj2=fun(obj3);

  return 0;

  }

  程序执行时,MyClass类的拷贝构造函数被调用的`次数是

  相关文档推荐:

  2011年3月全国计算机二级C++考试真题与答案

  计算机全部等级考试

  2011年9月计算机等级考试二级C++

  2009年9月二级C++笔试

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

  2010年9月全国计算机二级C++笔试

  2008年9月二级C++笔试

  2012年3月全国计算机等级考试二级C++

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

  (25)在公有派生的情况下,派生类中定义的成员函数只能访问原基类的

  A)公有成员和私有成员 B)私有成员和保护成员

  C)公有成员和保护成员 D)私有成员、保护成员和公有成员

  (26)在C++中用来实现运行时多态性的是

  A)重载函数 B)析构函数

  C)构造函数 D)虚函数

  (27)一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是

  A)每个派生类的构造函数都要为虚基类构造函数提供实参

  B)多继承时有可能出现对基类成员访问的二义性问题

  C)使用虚基类可以解决二义性问题并实现运行时的多态性

  D)建立最派生类对象时,虚基类的构造函数会首先被调用

  (28)在一个类体的下列声明中,正确的纯虚函数声明是

  A) virtual void vf()=0; B) void vf(int)=0;

  C) virtual int vf(int); D) virtual void vf(int) { }

  (29)在下面的运算符重载函数的原型中,错误的是

  A) Volume operator - (double, double);

  B) double Volume::operator- (double);

  C) Volume Volume: :operator - (Volume);

  D) Volume operator - (Volume, Volume);

  (30)下列是模板声明的开始部分,其中正确的是

  A) template

  B) template

  C) template

  D) template

  (31)执行语句序列

  ofstream outfile("DATA.DAT");

  if(...) cout << "OK"; else cout << "FAIL";

  后,如果文件打开成功显示“OK”,否则就显示“F厶n。”。由此可知,上面if语句的...

  处的表达式应是

  A )outfile.fail() 或 outfile B )outfile.good() 或 !outfile

  C )outfile.good() 或 outfile D )outfile.fail() 或 !outfile

  (32)C++流中重载的运算符>>是一个( )

  A)用于输出操作的非成员函数 B)用于输入操作的非成员函数

  C)用于输出操作的成员函数 D)用于输入操作的成员函数

  (33)有以下类定义

  class Point {

  public:

  Point(int x = 0, int y = 0) { _.x = x; _.y = y; }

  void Move(int xOff, int yOff)

  { _x += xOff; _.y += yOff; }

  void Print() const

  { cout << ( << _x << , << _y << ) << endl; }

  private:

  int _x, _y;

  };

  下列语句中会发生编译错误的是

  A) Point pt; pt.Print();

  B) const Point pt; pt.Print();

  C) Point pt; pt.Move(l, 2);

  D) const Point pt; pt.Move(l, 2);

  (34)有以下类定义

  class MyClass

  {

  private:

  int id;

  char gender,

  char *phone;

  public:

  MyClass():id(0),gender(#),phone(NULL) { }

  MyClass(int no, char ge=#, char *ph= NULl.)

  { id=no;gende=ge;phone=ph; }

  };

  下列类对象定义语句中错误的是

  A) MyClass myObj;

  B) MyClass myObj(11, "13301111155");

  C) MyClass myObj(12, m);

  D) MyClass myObj(12);

  (35)有以下程序

  #include

  using namespace std;

  class Complex

  {

  public:

  Complex(double r =0, double i =0):re(r), im(i) { }

  double real() const { return re; }

  double imag() const { return im;}

  Complex operator +(Complex c) const

  { return Complex(re+c.re, im+c.im); }

  private:

  double re, im;

  };

  int main()

  {

  Complex a = Complex(l, 1) + Complex(5);

  cout << a.real() << + << a.imag() <

  return 0;

  }

  程序执行后的输出结果是

  A) 6+6i B) 6+1i C) 1+6i D) 1+1i

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

  请将每一个空的正确答案写在答题卡[1]-[15]序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。

  (1)算法的复杂度主要包括 [1] 复杂度和空间复杂度。

  (2)数据的逻辑结构在计算机存储空间中的存放形式称为数据的 [2] 。

  (3)若按功能划分,软件测试的方法通常分为白盒测试方法和 [3] 测试方法。

  (4)如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在 [4] 的联系。

  (5)关系数据库管理系统能实现的专门关系运算包括选择、连接和 [5] 。

  (6)设有定义语句:int a=12;,则表达式a*=2+3的运算结果是 [6] 。

  (7)从实现的角度划分,C++所支持的两种多态性分别是 [7] 时的多态性和运行时的多态性。

  (8)将—个函数声明为一个类的友元函数必须使用关键字 [8] 。

  (9)请按下面注释的提示,将类B的构造函数定义补充完整。

  class A

  {

  int a;

  public:

  A(int aa=0) { a=aa; }

  };

  class B: public A {

  int b;

  A c;

  public:

  //用aa初始化基类A,用aa+1初始化类对象成员c

  B(int aa): [ 9 ] { b=aa+2; }

  };

  (10)下列程序的输出结果是 [10] 。

  #include

  using namespace std;

  int main()

  {

  int i = 5;

  int &r = i; r = 7;

  cout << i << endl;

  return 0;

  }

  (11)下列程序的输出结果是 [11] 。

  #include

  using namespace std;

  class Test {

  public:

  Test() { cnt++; }

  ~Test() {cnt--; }

  static int Count() { return cnt;}

  private:

  static int cnt;

  };

  int Test::cnt = 0;

  int main()

  {

  cout << Test::Count0 << ;

  Test tl, t2;

  Test* pT3 = new Test;

  Test* pT4 = new Test;

  cout << Test::Count0 << ;

   pT4;

   pT3;

  cout << Test::Count() << endl;

  return 0;

  }

  (12)下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!=n*(n-1)*...*2*1)

  unsigned fact(unsigned n)

  {

  if ( n<= 1)

  return 1;

  return [ 12 ] ;

  }

  (13)下列程序的输出结果是 [13] 。

  #include

  using namespace std;

  template

  T fun(T a, T b) { return (a<=b)?:b;}

  int main()

  {

  cout << fun(3, 6) << , << fun (3.14F, 6.28F) << endl;

  return 0;

  }

  (14)与成员访问表达式p->name等价的表达式是 [14] 。

  (15)下列程序的输出结果是 [15] 。

  #include

  using namespace std;

  class base {

  public:

  int n;

  base(int x) { n = x;}

  virtual void set(int m) { n = m; cout << n << ;}

  };

  class deriveA:public base {

  public:

  deriveA(int x):base(x) { }

  void set(mt m) { n += m; cout << n << ;}

  };

  class deriveB:public base [

  public:

  deriveB(int x):base(x) { }

  void set(int m) { n +=m; cout <

  };

  int main()

  {

  deriveA dl(1);

  deriveB d2(3);

  base *pbase;

  pbase = &dl;

  pbase->aet(1);

  pbase = &d2;

  pbase->set(2);

  return 0;

  }

  2004年9月

  全国计算机等级考试二级笔试试卷

  公共基础知识及C++语言程序设计

  答案及评分标准

  选择题((1)—(35)每小题2分,共70分)

  (1) C (2) C (3) B (4) A (5) D

  (6) B (7) D (8) B (9) C (10)A

  (11)D (12)D (13)C (14)D (15)A

  (16)A (17)D (18)B (19)D (20)C

  (21)B (22)A (23)B (24)B (25)C

  (26)D (27)C (28)A (29)A (30)C

  (31)C (32)B (33)D (34)B (35)B

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

  (1)[1] 时间

  (2)[2] 存储结构 或 物理结构 或 物理存储结构

  (3)[3] 黑盒 或 黑箱

  (4)[4] 一对多 或 1对多 或 I:M 或 I:N(其中M、N大小写均可)

  (5)[5] 投影

  (6)[6] 60

  (7)[7] 编译

  (8)[8] friend

  (9)[9] A(aa),c(aa+1) 或 c(aa+1),A(aa)

  (10)[10] 7

  (11)[11] 042

  (12)[12] n*fact(n-1)

  (13)[13] 3,3.14

  (14)[14] (*p).name

  (15)[15] 25

  相关文档推荐:

  2011年3月全国计算机二级C++考试真题与答案

  计算机全部等级考试

  2011年9月计算机等级考试二级C++

  2009年9月二级C++笔试

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

  2010年9月全国计算机二级C++笔试

  2008年9月二级C++笔试

  2012年3月全国计算机等级考试二级C++

  全国计算机等级考试二级笔试试卷 2

  01.数据结构与算法

  1.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再

  依次出栈,则元素出栈的顺序是(B)

  A.12345ABCDE

  B.EDCBA54321

  C.ABCDE12345

  D.54321EDCBA

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

  A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构

  B.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况

  C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况

  D.循环队列中元素的个数是由队头指针和队尾指针共同决定

  3.下列叙述中正确的是(A)

  A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的

  B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构

  C.顺序存储结构能存储有序表,链式存储结构不能存储有序表

  D.链式存储结构比顺序存储结构节省存储空间

  4.下列叙述中正确的是(D)。

  A.栈是“先进先出”的线性表

  B.队列是“先进后出”的线性表

  C.循环队列是非线性结构

  D.有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

  5.支持子程序调用的数据结构是(A)。

  A.栈

  B.树

  C.队列

  D.二叉树

  6.某二叉树有 5 个度为 2 的结点,则该二叉树中的叶子结点数是(C)。

  A.10

  B.8

  C.6

  D.4

  7.下列排序方法中,最坏情况下比较次数最少的是(D)。

  A.冒泡排序

  B.简单选择排序

  C.直接插入排序

  D.堆排序

  8.算法的有穷性是指(A)。

  A.算法程序的运行时间是有限的

  B.算法程序所处理的数据量是有限的

  C.算法程序的长度是有限的

  D.算法只能被有限的用户使用

  9.对长度为 n 的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2 的排序方法是(D)。

  A.快速排序

  B.冒泡排序

  C.直接插入排序

  D.堆排序

  10.下列关于栈的叙述正确的是(B)。

  A.栈按“先进先出”组织数据

  B.栈按“先进后出”组织数据

  C.只能在栈底插入数据

  D.不能删除数据

  11.算法的空间复杂度是指(A)。

  A.算法在执行过程中所需要的计算机存储空间

  B.算法所处理的数据量

  C.算法程序中的语句或指令条数

  D.算法在执行过程中所需要的临时工作单元数

  12.下列关于线性链表的叙述中,正确的是(C)。

  A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致

  B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续

  C.进行插入与删除时,不需要移动表中的元素

  D.以上说法均不正确

  13.一棵二叉树共有 25 个结点,其中 5 个是叶子结点,则度为 1 的结点数为(A)

  A.16

  B.10

  C.6

  D.4

  14.下列关于栈叙述正确的是(A)。

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

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

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

  D.栈底元素最先被删除

  15.下列叙述中正确的是(C)。

  A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

  B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

  C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

  D.以上说法均不正确

  16.设循环队列的存储空间为 Q(1:35),初始状态为 front=rear=35。现经过一系列入队

  与退队运算后,front=15,rear=15,则循环队列中的元素个数为(D)。

  A.15

  B.16

  C.20

  D.0 或 35

  17.下列与队列结构有关联的是(D)。

  A.函数的递归调用

  B.数组元素的引用

  C.多重循环的执行;

  D.先到先服务的作业调度

  【解析】:队列的进出原则是“先进先出”,即为先到先服务,所以选 D。

  18.对下列二叉树进行前序遍历的结果为(C)。

  A.DYBEAFCZX

  B.YDEBFZXCA

  C.ABDYECFXZ

  D.ABCDEFXYZ

  19.设顺序表的长度为 n。下列算法中,最坏情况下比较次数小于 n 的是(A)。

  A.寻找最大项

  B.堆排序

  C.快速排序

  D.顺序查找法

  20.设栈的顺序存储空间为 S(1:m),初始状态为 top=m+1。现经过一系列正常的入栈与退

  栈操作后,top=20,则栈中的元素个数为(C)。

  A.30

  B.20

  C.m-19

  D.M-20

  21.某二叉树的后序遍历序列与中序遍历序列相同,均为 ABCDEF,则按层次输出(同一层

  从左到右)的序列为(A)。

  A.FEDCBA

  B.CBAFED

  C.DEFCBA

  D.ABCDEF

  22.设栈的顺序存储空间为 S(1:m),初始状态为 top=0。现经过一系列正常的入栈与退栈操

  作后,top=m+1,则栈中的元素个数为(A)。

  A.不可能

  B.m+1

  C.0

  D.m

  23.下列排序法中,最坏情况下时间复杂度最小的是(A)。

  A.堆排序

  B.快速排序

  C.希尔排序

  D.冒泡排序

  24.下列叙述中正确的是(A)。

  A.对数据进行压缩存储会降低算法的空间复杂度

  B.算法的优化主要通过程序的编制技巧来实现

  C.算法的复杂度与问题的规模无关

  D.数值型算法只需考虑计算结果的可靠性

  25.下列排序法中,每经过一次元素的交换会产生新的逆序的是(A)。

  A.快速排序

  B.冒泡排序

  C.简单插入排序

  D.简单选择排序

  26.在具有 2n 个结点的完全二叉树中,叶子结点个数为(A)。

  A.n

  B.n+1

  C.n-1

  D.n/2

  27.下列叙述中正确的是(A)。

  A.在栈中,栈顶指针的动态变化决定栈中元素的'个数

  B.在循环队列中,队尾指针的动态变化决定队列的长度

  C.在循环链表中,头指针和链尾指针的动态变化决定链表的长度

  D.在线性链表中,头指针和链尾指针的动态变化决定链表的长度

  28.某二叉树的中序遍历序列为 CBADE,后序遍历序列为 CBADE,则前序遍历序列为(A)。

  A.EDABC

  B.CBEDA

  C.CBADE

  D.EDCBA

  29.下列叙述中正确的是(A)。

  A.在循环队列中,队头指针和队尾指针的动态变化决定队列的长度

  B.在循环队列中,队尾指针的动态变化决定队列的长度

  C.在带链的队列中,队头指针与队尾指针的动态变化决定队列的长度

  D.在带链的栈中,栈顶指针的动态变化决定栈中元素的个数

  30.设顺序表的长度为 n。下列排序方法中,最坏情况下比较次数小于 n(n-1)/2 的是(A)。

  A.堆排序

  B.快速排序

  C.简单插入排序

  D.冒泡排序

  31.某二叉树共有 12 个结点,其中叶子结点只有 1 个。则该二叉树的深度为(根结点在第 1

  层)(D)

  A.3

  B.6

  C.8

  D.12

  32.设一棵树的度为 3,其中度为 3,2,1 的结点个数分别为 4,1,3。则该棵树中的叶子

  结点数为(A)。

  A.10

  B.11

  C.12

  D.不可能有这样的树

  33.设表的长度为 15。则在最坏情况下,快速排序所需要的比较次数为(A)。

  A.105

  B.55

  C.15

  D.75

  34.设循环队列的存储空间为 Q(1:100),初始状态为空。现经过一系列正常操作后,front=49,则循环队列中的元素个数为(A)。

  A.不确定

  B.49

  C.51

  D.50

  35.某完全二叉树按层次输出(同一层从左到右)的序列为 ABCDEFGH。该完全二叉树的中

  序序列为(A)。

  A.HDBEAFCG

  B.HDEBFGCA

  C.ABDHECFG

  D.ABCDEFGH

  36.下面属于整数类 I 的实例的是(A)

  A.229

  B.0.229

  C.229E-2

  D."229"

  37.下列叙述中正确的是(C)。

  A.所谓有序表是指在顺序存储空间内连续存放的元素序列

  B.有序表只能顺序存储在连续的存储空间内

  C.有序表可以用链接存储方式存储在不连续的存储空间内

  D.任何存储方式的有序表均能采用二分法进行查找

  38.设二叉树如下则后序序列为(C)

  A.ABDEGCFH

  B.DBGEAFHC

  C.DGEBHFCA

  D.ABCDEFGH

  39.下列叙述中正确的是(B)。

  A.结点中具有两个指针域的链表一定是二叉链表

  B.结点中具有两个指针域的链表可以是线性结构,也可以是非线性结构

  C.二叉树只能采用链式存储结构

  D.循环链表是非线性结构

  40.某二叉树中有15个度为1的结点,16个度为2的结点,则该二叉树中总的结点数为(C)。

  A.32

  B.46

  C.48

  D.49

  41.下列叙述中正确的是(A)

  A.有的二叉树也能用顺序存储结构表示

  B.有两个指针域的链表就是二叉链表

  C.多重链表一定是非线性结构

  D.顺序存储结构一定是线性结构

  42.设二叉树共有 375 个结点,其中度为 2 的结点有 187 个。则度为 1 的结点个数是(A)。

  A.0

  B.1

  C.188

  D.不可能有这样的二叉树

  43.某系统结构图如下图所示该系统结构图的宽度是(B)。

  A.5

  B.4

  C.2

  D.1

  44.设二叉树的前序序列为 ABDEGHCFIJ,中序序列为 DBGEHACIFJ。则按层次输出(从上

  到下,同一层从左到右)的序列为(A)

  A.ABCDEFGHIJ

  B.DGHEBIJFCA

  C.JIHGFEDCBA

  D.GHIJDEFBCA

  45.设顺序表的长度为 16,对该表进行简单插入排序。在最坏情况下需要的比较次数为(D)

  A.15

  B.60

  C.30

  D.120

  46.下列叙述中正确的是(A)

  A.循环队列是线性结构

  B.循环队列是线性逻辑结构

  C.循环队列是链式存储结构

  D.循环队列是非线性存储结构

  47.设某棵树的度为 3,其中度为 3,2,1 的结点个数分别为 3,0,4。则该树中的叶子结点数为

  (B)

  A.6

  B.7

  C.8

  D.不可能有这样的树

  48.下列叙述中错误的是(C)

  A.具有两个根结点的数据结构一定属于非线性结构

  B.具有两个以上叶子结点的数据结构一定属于非线性结构

  C.具有两个以上指针域的链式结构一定属于非线性结构

  D.具有一个根结点且只有一个叶子结点的数据结构也可能是非线性结构

  49.下列结构中属于非线性结构的是(C)

  A.循环队列

  B.二维数组

  C.二叉链表

  D.双向链表

  50.从表中任何一个结点位置出发就可以不重复地访问到表中其他所有结点的链表是(A)

  A.循环链表

  B.双向链表

  C.单向链表

  D.二叉链表

  51.设元素集合为 D={1,2,3,4,5,6}。B=(D,R)为线性结构所对应的 R 是(A)。

  A.R={(6,1),(5,6),(1,3),(2,4),(3,2)}

  B.R={(4,5),(6,1),(5,6),(1,3),(2,4),(3,2)}

  C.R={(6,1),(5,6),(1,3),(3,4),(3,2)}

  D.R={(6,1),(5,6),(2,3),(2,4),(3,2)}

  全国计算机等级考试二级笔试试卷 3

  1.下列叙述中错误的是( )。

  A.对于各种特定的输入,算法的时间复杂度是固定不变的

  B.算法的时间复杂度与使用的计算机系统无关

  C.算法的时间复杂度与使用的程序设计语言无关

  D.算法的时间复杂度与实现算法过程中的具体细节无关

  正确答案:A

  解析:算法的时间复杂度是指执行算法所需要的计算工作量。为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。算法所执行的基本运算次数还与问题的规模有关;对应一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关。故本题答案为A选项。

  2.在长度为n的顺序表中查找一个元素,假设需要查找的元素一定在表中,并且元素出现在每个位置上的可能性是相同的,则在平均情况下需要比较的次数为( )。

  A.(n+1)/2

  B.n

  C.3n/4

  D.n/2

  正确答案:A

  解析:在顺序表中查找,最好情况下第一个元素就是要查找的元素,则比较次数为1;在最坏情况下,最后一个元素才是要找的元素,则比较次数为n。两种情况平均即(1+n)/2.故本题答案为A选项。

  3.设非空二叉树的所有子树中,其左子树上的结点值均小于根结点值,而右子树上的结点值均不小于根结点值,则称该二叉树为排序二叉树。对排序二叉树的遍历结果为有序序列的是( )。

  A.中序序列

  B.前序序列

  C.后序序列

  D.前序序列或后序序列

  正确答案:A

  解析:前序遍历:访问根结点在访问左子树和访问右子树之前。即先访问根结点,然后遍历左子树,最后遍历右子树;并且在遍历左子树和右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。中序遍历:访问根结点在访问左子树和访问右子树两者之间。即先遍历左子树,然后访问根结点,最后遍历右子树。并且在遍历左子树与右子树时,仍然首先遍历左子树,然后访问根结点,最后遍历右子树。后序遍历:访问根结点在访问左子树和访问右子树之后。即首先遍历左子树,然后遍历右子树,最后访问根结点;并且在遍历左子树和右子树时,仍然首先遍历左子树,然后遍历右子树,最后访问根结点。题目给出的二叉树显示是左结点小于根结点,根结点小于等于右结点。如果要使结果为有序序列,那么遍历过程应该是左结点-根结点-右结点,或者右结点-根结点=左结点。根据前面3种遍历特点可知,中序遍历符合要求。故本题答案为A选项。

  4.循环队列的存储空间为Q(1:50),初始状态为front=rear=50.经过一系列正常的入队与退队操作后,front=rear=25,此后又插入一个元素,则循环队列中的元素个数为( )。

  A.1或50且产生上溢错误

  B.51

  C.26

  D.2

  正确答案:A

  解析:循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。入队运算时,队尾指针进1(即rear+1),然后在rear指针指向的位置插入新元素。当front=rear=25时可知队列空或者队列满,此后又插入了一个元素,如果之前队列为空,插入操作之后队列里只有一个元素,如果插入之前队列已满(50个元素),执行插入则会产生溢出错误。故本题答案为A选项。

  5.软件生命周期是指( )。

  A.软件产品从提出、实现、使用维护到停止使用退役的.过程

  B.软件的工程实施阶段

  C.软件的开发与管理

  D.软件的实现和维护

  正确答案;A

  解析:通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。故本题答案为A选项。

  6.设二叉树的前序序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ.则按层次输出(从上到下,同一层从左到右)的序列为( )。

  A.ABCDEFGHIJ

  B.DGHEBIJFCA

  C.JIHGFEDCBA

  D.CHIJDEFBCA

  正确答案:A

  7.设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。现经过一系列入队与退队操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为( )。

  A.0

  B.1

  C.48

  D.49

  正确答案:C

  8.设顺序表的长度为40,对该表进行冒泡排序。在最坏情况下需要的比较次数为( )。

  A.820

  B.780

  C.40

  D.41

  正确答案:B

  9.张编辑休假前正在审阅一部Word 书稿,他希望回来上班时能够快速找到上次编辑的位置,在Word 2010 中最优的操作方法是( )。

  A.下次打开书稿时,直接通过滚动条找到该位置

  B.记住一个关键词,下次打开书稿时,通过“查找”功能找到该关键词

  C.记住当前页码,下次打开书稿时,通过“查找”功能定位页码

  D.在当前位置插入一个书签,通过“查找”功能定位书签

  正确答案:D

  10.在Word 中编辑一篇文稿时,纵向选择一块文本区域的最快捷操作方法是( )。

  A.按下Ctrl 键不放,拖动鼠标分别选择所需的文本

  B.按下Alt 键不放,拖动鼠标选择所需的文本

  C.按下Shift 键不放,拖动鼠标选择所需的文本

  D.按Ctrl+Shift+F8 组合键,然后拖动鼠标所需的文本

  正确答案:B

  11.手写板或者鼠标属于( )。

  A.输入设备

  B.输出设备

  C.中央处理器

  D.存储器

  正确答案:A

  解析:计算机有输入、存储、运算、控制和输出五个部分组成。手写板和鼠标都属于输入设备。故正确答案为A选项。 12.某企业需要在一个办公室构建适用于20多人的小型办公网络环境,这样的网络环境属于( )。

  A.城域网

  B.局域网

  C.广域网

  D.互联网

  正确答案:B

  解析:按照覆盖地理范围和规模不同,可以将计算机网络分为局域网、城域网和广域网。局域网是一种在有限区域内使用的网络,它所覆盖的地区范围较小,一般在几千米之内,适用于办公室网络、企业与学校的主干局网络。故正确答案为B选项。

  13.第四代计算机的标志是微处理器的出现,微处理器的组成是( )。

  A.运算器和存储器

  B.存储器和控制器

  C.运算器和控制器

  D.运算器、控制器和存储器

  正确答案:C

  解析:微处理器由运算器和控制器组成。运算器是计算机处理数据形成信息的加工厂,它的主要功能是对数据进行算术运算和逻辑运算。控制器是计算机的指挥中心,它统一控制计算机的各个部件。故正确答案为C选项。

  14.在计算机内部,大写字母?G?的ASCII码为?1000111?,大写字母?K?的ASCII码为( )。

  A.1001001

  B.1001100

  C.1001010

  D.1001011

  正确答案:D

  解析:1000111对应的十进制数是71,则?K?的码值是75,转换成二进制位1001011.故正确答案为D选项。

  15.以下不属于Word文档视图的是( )。

  A.阅读版式视图

  B.放映视图

  C.Web版式视图

  D.大纲视图

  正确答案:B

  解析:Word提供了5种视图方式,分别为页面视图、阅读版式视图、Web版式视图、大纲视图和草稿,不包括放映视图。故正确答案为B选项。

【全国计算机等级考试二级笔试试卷】相关文章:

全国计算机等级考试二级笔试试卷及答案08-04

全国计算机等级考试二级visualBasic笔试试卷08-07

全国计算机等级考试2016年二级笔试试卷10-04

2016年全国计算机等级考试二级笔试试卷08-14

2009年9月全国计算机等级考试二级笔试试卷09-22

2008年9月全国计算机等级考试二级笔试试卷10-21

2008年4月全国计算机等级考试二级笔试试卷08-21

2009年3月全国计算机等级考试二级笔试试卷10-12

全国计算机等级考试二级C笔试试卷(含参考答案)08-04