论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: 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:45:33

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

选择题
(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)设有如下三个关系表下列操作中正确的是
  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)、内联函数体的最后一条语句必须是rennin 语句

(12)下列情况中,不会调用拷贝构造函数的是______。
  A)、用一个对象去初始化同一类的另一个新对象时
  B)、将类的一个对象赋予该类的另一个对象时
  C)、函数的形参是类的对象,调用函数进行形参和实参结合时
  D)、函数的返回值是类的对象,函数执行返回调用时

(13)下列有关继承和派生的叙述中,正确的是______。
  A)、如果一个派生类私有继承其基类,则该派生类对象不能访问基类的保护成员
  B)、派生类的成员函数可以访问基类的所有成员
  C)、基类对象可以赋值给派生类对象
  D)、如果派生类没有实现基类的一个纯虚函数,则该派生类是一个抽象类

(14)下列运算不能重载为友元函数的是______。
  A)、= ( ) [] -> 
  B)、+ - ++ --
  C)、> < >= <= 
  D)、+= -= *= /=

(15)关于在调用模板函数时模板实参的使用,下列表述正确的是______。
  A)、对于虚类型参数所对应的模板实参,如果能从模板函数的实参中获得相同的信息,则都可以省略
  B)、对于虚拟类型参数所对应的模板实参,如果它们是参数表中的最后的若干个参数,FC EA DBG则都可以省略
  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+7
(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(){
  count  return 0;
  }
  若程序的输出是:
  **12.345**34.567
  则程序中下划线处遗漏的操作符是______。
  A)、setprecision(3) 
  B)、fixed 
  C)、setfill(*) 
  D)、stew(8)

(27)有如下程序
  #include
  #include
  using namespace std;
  class MyClass{
  public:
  MyClass(){cout<<’A”;}
  MyClass(char c {cout<~MyClass(){sout<<’B”;}
  };
  Int main(){
  MyClassp1,*p2
  p2=new MyClass(‘X’);
  delete 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(){teturn i;}
  };
  int Obj::i=0;
  void f (){Obj ob2;cout  Obj obl;
  F();
  Obj*ob3=new Obj;cout  Delete ob3;cout  }
  程序的输出结果是______。
  A)、232 
  B)、231 
  C)、222 
  D)、221

(30)有如下程序
  #include
  using namespace std;
  class Base{
  protected;
  Base(){cout<<’A’;}
  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 gutj()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)语句ofstreamf(“SALARY.DAT”,ios_base::app)的功能是建立流对象f,并试图打开文件SALARY.DAT 与f 关联,而且______。
  A)、若文件存在,将其置为空文件;若文件不存在,打开失败
  B)、若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件
  C)、若文件存在,将文件指针定位于文件首;若文件不存在,打开失败
  D)、若文件存在,打开失败;若文件不存在,建立一个新文件

(35)有如下程序
  #include
  using namespace std;
  class A{
  public:
  virtual Void funcl(){cout<< “A1”;}
  void fune2(){cout<< “A2”;}
  };
  class B: public A{
  public:
  void func1(){cout<< “B1”;}
  void func2(){cout<< “B2”;}
  };
  Int main(){
  A*p=new B;
  p->funcl();
  p->func2();
  retum0;
  }
  运行程序,屏幕上将显示输出______。
  A)、B1B2 
  B)、A1A2 
  C)、B1A2 
  D)、A1B2

(答案:01—05  DACBD          06—10    CDBBA  

  11—15  ADDAD          16—20    CCBBC  

  21—25  DACBC          26—30    ABCDC
  
  31—35  ADBAD          36—40    BBADC 
 
  41—45  CBBCD          46—50    BABDC  )

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