计算机学院《C++程序设计》期末试题
年度: 2016-2017 考核形式:闭卷    班级:              姓名:              学号:             
析构函数的定义题号
总分
得分
一、选择题(共40分,每题2分,)
1.执行cout<<123<<endl<<”123”;,屏幕上显示的是(  )
A.123endl”123”      B.123endl123            C.123                D.123
“123”                  123
2.A>B&&A<=B的值(  )
A.true              B.false                  C.与A>B值相同      D.与A<=B值相同
3.下列表达式中正确的是(  )
A.{{(k+b)*c}-s}      B.++k-=5                C.3                D.5
4.x>=0的等价条件是(  )
A.x<0              B.!(x>=0)                C.!(x<0)              D.!(x>0)
5.执行cin>>k;
Switch (k) {
  default :
  case 1: cout<<”G”;
case 2: cout<<”L”; 后显示输出的是GL,则k不可能出现的情况是(  )
A.k= =1            B.k= =2                C.k<1                  D.k>2
6.与if (x>0) if (y<0) x+=y; else x-=y; 等效的语句有(  )
A.if (x>0||y<0) x+=y; else x-=y;                    B.if (x<=0||y>=0) x+=y; else x-=y;
C.if (x>0) x=(y>=0? x-y : x+y);                    D.if (y>=0) if (x<=0) x-=y; else x+=y;
7.要使字符串变量str具有初值“hello!”,正确的定义语句是(  )
A.char str[6]={‘h’,’e’,’l’,’l’,’o’,’!’};                B.char str[6]=”hello!”;
C.char str[ ]={‘h’,’e’,’l’,’l’,’o’,’!’,’\0’};              D.char str[]={”hello!”};
8.关于全局变量,下列说法正确的是(  )
A.全局变量必须定义于文件的首部,位于任何函数定义之前
B.全局变量可以在函数中定义
C.全局变量可用于函数之间传递数据
D.任何全局变量都只能被定义它的函数中的语句访问
共  5  页 第  1  页
9.已知一运行正常的唾弃中有这样两个语句:
int *p2=&x, *p1=a;
*p2=b;            由此可知,变量a和b的类型分别是(  )
A.int 和int            B.int* 和int          C.int 和int*          D.int* 和int*
10.已知函数f1的原形是:void f1(int *a,char *b);,变量v1,v2的定义是:int v1; char v2[ ]=”ABCDW”;,把v1和v2分别作为第一参数和第二参数来调用函数f1,正确的调用语句是( )
A.f1(v1,v2)            B.f1(&v1,v2)          C.f1(v1,&v2)            D.f1(&v1,&v2)
11.关于类和对象不正确的说法是( )
A.类是一种类型,它封装了数据和操作    B.对象是类的实例
C.一个类的对象只有一个                D.一个对象必属于某个类
12.下面对析构函数的正确描述是( )
A.系统可以提供默认的析构函数。    B.析构函数必须由用户定义。
C.析构函数没有参数。              D.析构函数可以设置默认参数。
13.下列关于运算符重载的描述中,( )是正确的。
A.可以改变参与运算的操作数个数    B.可以改变运算符原来的优先级
C.可以改变运算符原来的结合性      D.不能改变原运算符的语义
14.在Complex类中定义了重载运算符">"的成员函数,已知Complex类的对象c1和c2,当执行c1>c2时,C++编译器解释为(  )
A.operator >( c1, c2);      B.>(c1,c2);        C.c1.operator >(c2);        D.c2.operator >(c1);
15.设置虚基类的目的是( )
A.简化程序    B.消除二义性      C.提高运行效率    D.减少目标代码
16.在C++中,不能被派生类继承的函数是( )
A.成员函数    B.构造函数        C.析构函数        D.静态成员函数
17.下面函数原型声明中,( )声明了fun 为纯虚函数。
A.void fun()=0    B.virtual void fur()=0    C.virtual void fun()    D.virtual void fun()
18.关于类模板,描述错误的是(  ).
A.一个普通基类不能派生类模板
B.类模板从普通类派生,也可以类模板派生
C.根据建立对象时的实际数据类型,编译器把类模板实例化为模板类
D.函数的类模板参数须通过构造函数实例化
19.使用重载函数编程序的目的是(  )
A.使用相同的函数名调用功能相似的函数      B.共享程序代码
C.提高程序的运行速度                      D.节省存储空间
C.ifstream  infile("D:\f1.txt", ios::in);      D.ifstream  infile("D:\\f1.txt", ios::in);
共  5  页 第  2  页
20.在下列选项中(  )不是ostream类的对象。
A. cin          B. cerr          C. clog          D.cout
二、填空题(共20分,每空2分)
1.与a3+3a3b+3ab2+b3 对应的C++表达式是                           
2.执行if (x || !x) cout<<”ABC”; else cout<<”XYZ”;屏幕上显示的是                 
3.p为一指针变量,使p指向前一个单元,然后取该单元的数据作为表达式的值的表达式是         
4.假定AB为一个类,则语句AB(AB&x);为该类            构造函数的原型说明。
5.在具有继承关系的类层次结构中,一个类的数据成员有从基类继承的成员和自身定义成员构成,从基类继承的成员需要调用_______________进行初始化。
6.C++有三种文件流:分别是______________、__________________和fstream。
7.在定义类的对象时,C++程序将自动调用该对象的          函数初始化对象自身;在撤销类的对象时,C++程序将自动调用该对象的          函数。
8.面向对象程序设计语言的特点是:__________、继承性和多态性。
三、给出以下程序的输出结果 (18分,每题6分)
1.# include<iostream.h>
1.输出结果:
  void main( )
  {  int i,sum;
      for ( i=sum=1 ; i<5 ; i++)
      {  sum*=i;
          if ( sum>5*i )
                break;
      }
      cout<<”i=”<<i<<endl;
      cout<<”sum=”<<sum<<endl;
  }
2.#include<iostream.h>
class TriCoor
{ public:
TriCoor( int mx = 0, int my = 0, int mz = 0 ) { x = mx ; y = my ; z = mz ; }
TriCoor operator + ( TriCoor t )
{ TriCoor temp ;
temp.x = x+t.x ;  temp.y = y+t.y ;  temp.z = z+t.z ;
return temp ; }
TriCoor operator = ( TriCoor t ) { x = t.x ;  y = t.y ;  z = t.z ;  return * this ; }
TriCoor operator ++ () { x ++ ;  y ++ ;  z ++ ;  return *this ; }
void show() { cout << x << " , " << y << " , " << z << "\n"; }
共  5  页 第  3  页
void assign( int mx, int my, int mz ) { x = mx;  y = my;  z = mz; }
private:
int x, y, z ;   
} ;
2.输出结果:
void main()
{ TriCoor a( 1, 2, 3 ), b, c ;

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