⼀、选择题
  1.已知⼀棵⼆叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该⼆叉树的后序遍历为( )
A.GEDHFBCA
B.DGEBHFCA
C.ABCDEFGH
D.ACBFEDHG
  【参考答案】 B
  2.如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是( )
A.e3,e1,e4,e2
B.e2,e4,e3,e1
C.e3,e4,e1,e2
D.任意顺序
  【参考答案】 B
  3.程序设计语⾔的基本成分是数据成分、运算成分、控制成分和( )
A.对象成分
B.变量成分
C.语句成分
D.传输成分
  【参考答案】 D
  4.下列不属于软件⼯程的3个要素的是( )
A.⼯具
B.过程
C.⽅法
D.环境
  【参考答案】 D
  5.将E-R图转换到关系模式时,实体与联系都可以表⽰成( )
A.属性
B.关系
C.键
D.域
  【参考答案】 B
  6.在深度为5的满⼆叉树中,叶⼦结点的个数为( )
A.32
运算符优先级按从高到低排列
B.31
C.16
D.15
  【参考答案】 B
  7.⼀些重要的程序语⾔(如C语⾔和Pascal语⾔)允许过程的递归调⽤。⽽实现递归调⽤中的存储分配通常⽤( )
A.栈
B.堆
C.数组
D.链表
  【参考答案】 A
  8.开发软件时对提⾼开发⼈员⼯作效率⾄关重要的是( )
A.操作系统的资源管理功能
B.先进的软件开发⼯具和环境
C.程序⼈员的数量
D.计算机的并⾏处理能⼒
  【参考答案】 B
  9.数据处理的最⼩单位是( )
A.数据
B.数据元素
C.数据项
D.数据结构
  【参考答案】 C
  10.下述关于数据库系统的叙述中正确的是( )
  A.数据库系统减少了数据冗余
  B.数据库系统避免了⼀切冗余
  C.数据库系统中数据的⼀致性是指数据类型⼀致
  D.数据库系统⽐⽂件系统能管理更多的数据
  11.以下各选项组中,均是C++语⾔关键字的组是( )
  A.public operator this
  B.shod string static
  C.it while>=
  D.private cout printf
  【参考答案】 A
  12.下列描述正确的是( )
  A.表⽰m>n为true或mn&&m
  B.switch语句结构中必须有default语句
  C.if语句结构中必须有else语句
  D.如果⾄少有⼀个操作数为true,则包含“||”运算符的表达式为true   【参考答案】 D
  13.下⾯关于break语句的描述中,不正确的是( )
  A.break可以⽤于循环体内
  B.break语句可以在for循环语句中出现多次
  C.break语句可以在switch语句中出现多次
  D.break语句可⽤于if条件判断语句内
  【参考答案】 D
  14.下⾯程序错误的是( )
  ① #include
  ② void main()
  ③ {
  ④ int *p=new int[1];
  ⑤ p=9;
  ⑥ cout<
  ⑦ delete[]p;
  ⑧ }
A.④
B.⑤
C.⑥
D.⑦
  【参考答案】 B
  15.不能作为重载函数的调⽤的依据是( )
A.参数个数
B.参数类型
C.函数类型
D.函数名称
  【参考答案】 D
  16.在C++语⾔中,数据封装要解决的问题是( )
A.数据的规范化
B.便于数据转换
C.避免数据丢失
D.防⽌不同模块之间数据的⾮法访问
  【参考答案】 D
  17.类的构造函数和析构函数描述正确的是()
  A.构造函数可以重载,析构函数不能重载
  B.构造函数不能重载,析构函数可以重载
  C.构造函数可以重载,析构函数也可以重载
  D.构造函数不能重载,析构函数也不能重载
  【参考答案】 A
  18.对静态数据成员的描述中,正确的是( )
  A.静态数据成员是类的所有对象共享的数据
  B.类的每个对象都有⾃⼰的静态数据成员
  C.类的不同对象有不同的静态数据成员值
  D.静态数据成员不能通过类的对象调⽤
  【参考答案】 A
  19.可以⽤p.a的形式访问派⽣类对象p的基类成员a,其中a是( )
A.私有继承的公有成员
B.公有继承的私有成员
C.公有继承的保护成员
D.公有继承的公有成员
  【参考答案】 D
  20.下⾯关于虚函数的描述,错误的是( )
  A.在成员函数声明的前⾯加上virtual修饰,就可把该函数声明为虚函数
  B.基类中说明了虚函数后,派⽣类中对应的函数也必须说明为虚函数
  C.虚函数可以是另⼀个类的友元函数,但不能是静态成员函数
  D.基类中说明的纯虚函数在其任何派⽣类中都必须实现
  【参考答案】 B
  21.语句ofstream f(″SALARY.DAT″,
  ios::app|ios::binary);的功能是建⽴流对象f,试图打开⽂件SALARY.DAT并与之连接,且( )
  A.若⽂件存在,将⽂件写指针定位于⽂件尾;若⽂件不存在,建⽴⼀个新⽂件
  B.若⽂件存在,将其置为空⽂件;若⽂件不存在,开失败
  C.若⽂件存在,将⽂件写指针定位于⽂件⾸;若⽂件不存在,建⽴⼀个新⽂件
  D.若⽂件存在,开失败;若⽂件不存在,建⽴⼀个新⽂件
  【参考答案】 A
  22.下⾯程序的运⾏结果是( )
  #include
  void fun(int *a,int *b)
  {int x=*a;
    *a=*b;*b=x;
    cout<
  void main()
  {int x=1,y=2;
  fun(&x,&y);
    cout<
A.12 12
B.12 21
C.21 12
D.21 21
  【参考答案】 D
  23.以下哪个特征不是⾯向对象思想中的主要特征?( )
A.多态
B.继承
C.封装
D.垃圾回收
  【参考答案】 D
  24.C++中运算符优先级由⾼到低排列正确的是( )
A.:: ++ +||
B.< * ||,
C.sizeof % + ::
D., && new sizeof
  【参考答案】 A
  25.以下for语句中不是死循环的是( )
A.for(int i=0;i<1;++i);
B.for(int i=0;;++i);
C.for(int i=1;i>0;++i);
D.for(;;);  【参考答案】 A
  26.以下定义数组中错误的是( )
A.int a[10];
B.int a[2][20];
C.int a[20][];
D.int a[];
  【参考答案】 C
  27.下⾯程序错误的语句是( )
  #include ″iostrteam.h″
  ① void main()
  ② {
  ③ int A=0;
  ④ int & B;
  ⑤ B=A;
  ⑥ cout<
  ⑦ cout<
  ⑧ }
A.②
B.③
C.④
D.⑥
  【参考答案】 C
  28.函数int test(int a,int b=1,int c=0),下列调⽤不合法的个数是( )
  test(0); test(0,0); test(); test(0,0,0);
A.0
B.1
C.2
D.3
  【参考答案】 C
  29.C++语⾔中关于构造函数的说法正确的是( )
A.构造函数的函数名不必和类名相同
B.构造函数只能每⼀个
C.每个类必定有构造函数
D.构造函数必有返回值
  【参考答案】 C
  30.下⾯程序的执⾏结果为( )
  #include ″iostream″
  using namespace std;
  class A
  {
  int a;
  public:
  void Seta(int x){a=x;}
  void Display_a(){cout<
  };
  class B
  {
  int b;
  public:
  void Setb(int x){b=x;}
  void Dispaly_b(){cout<
  };
  class C:public A,private B
  {private:
  int c;
  public:
  void Setc(int x,int y,int z)
  { c=z;Seta(x);Setb(y);}
  void Display_c(){cout<
  ① void main()
  ② {
  ③ C cc;
  ④ cc.Seta(1);
  ⑤ cc.Display_a();
  ⑥ cc.Setc(2,2,3);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。