甘肃农业大学C++考试题

来源:托福 发布时间:2020-07-24 点击:

《面向对象程序设计》课程考试试卷(A)
一、 选择题(每题2分,共30分)
1.C++对C语言作了很多改进,下列描述中( )使得C语言发生了质变,从面向过程变成了面向对象。

A、增加了一些新的运算符;

B、允许函数重载,并允许设置缺省参数;

C、规定函数说明必须用原型;

D、引进了类和对象的概念;

2.下列描述中,( )是错误的。

A、内联函数主要解决程序的运行效率问题;
B、内联函数的定义必须出现在内联函数第一次被调用之前;

C、内联函数中可以包括各种语句;

D、对内联函数不可以进行异常接口声明;

3.在C++中,关于下列设置缺省参数值的描述中,( )是正确的。

A、不允许设置缺省参数值;

B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;

C、只能在函数的定义性声明中指定参数的缺省值;
D、设置缺省参数值时,必须全部都设置;

4.( )不是构造函数的特征。

 A、构造函数的函数名与类名相同;
 B、构造函数可以重载;

 C、构造函数可以设置缺省参数;

 D、构造函数必须指定类型说明。

5.( )是析构函数的特征。

 A、析构函数可以有一个或多个参数;

 B、析构函数名与类名不同;

 C、析构函数的定义只能在类体内;

 D、一个类中只能定义一个析构函数;

6.关于成员函数特征的下列描述中,( )是错误的。

 A、成员函数一定是内联函数;

 B、成员函数可以重载;

 C、成员函数可以设置缺省参数值;
 D、成员函数可以是静态的;

7.下列静态数据成员的特性中,( )是错误的。

 A、说明静态数据成员时前边要加修饰符static B、静态数据成员要在类体外进行初始化;

 C、静态数据成员不是所有对象所共用的;
D、引用静态数据成员时,要在其名称前加<类名>和作用域运算符;

8.友元的作用是( )。

 A、提高程序的运用效率;

 B、加强类的封装性;

 C、实现数据的隐藏性;

 D、增加成员函数的种类;

9.关于new运算符的下列描述中,( )是错误的。

 A、它可以用来动态创建对象和对象数组;

 B、使用它创建的对象或对象数组可以使用运算符delete删除;

 C、使用它创建对象时要调用构造函数;

 D、使用它创建对象数组时必须指定初始值;

10.关于delete运算符的下列描述中,( )是错误的。

 A、它必须用于new返回的指针;

  B、使用它删除对象时要调用析构函数;

 C、对一个指针可以使用多次该运算符;
D、指针名前只有一对方括号符号,不管所删除数组的维数。

11.const int *p说明不能修改( )。

 A、p指针;
 B、p指针指向的变量;
C、p指针指向的数据类型;
D、上述A、B、C三者;

12.已知:print()函数是一个类的常成员函数,它无返回值,下列表示中( )是正确的;

 A、void print() const;

 B、const void print();
 C、void const print();
D、void print(const);

13.派生类的对象对它的基类成员中( )是可以访问的。

 A、公有继承的公有成员;

 B、公有继承的私有成员;
C、公有继承的保护成员;
D、私有继承的公有成员;

14.设置虚基类的目的是( )。

 A、简化程序;
  B、消除二义性;

C、提高运行效率;

D、减少目标代码;

15.下列描述中,正确的是( )
  A、虚函数是一个static 类型的成员函数;
 B、虚函数是一个非成员函数;

C、抽象类是指具有纯虚函数的类;

D、抽象类可以说明其对象;

二、判断下列描述的正确性,正确填T,错误填F。(每题2分,共30分)
1.C++中标识符内的大小写字母是没有区别的。( )
2.C++是一种以编译方式实现的高级语言。( )
3.计算函数参数顺序引起的二义性是由不同的编译系统决定的。( )
4.返回值类型、参数个数和类型都相同的函数也可以重载。( )
5.使用关键字class定义的类中缺省的访问权限是私有(private)的。( )
6.类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。( )
7.多继承情况下,派生类的构造函数的执行顺序取决于成员初始化列表中的顺序。( )
8.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。( )
9.在私有继承中,基类中所有成员对派生类都是不可见的。( )
10.在保护继承中,对于垂直访问等同于公有继承,对于水平访问等同于私有继承。( )
11.构造函数可以声明为虚函数。( )
12.在析构函数中调用虚函数时,采用动态束定。( )
13.在一个成员函数内调用一个虚函数时,对该虚函数的调用进行动态束定。( )
14.公有继承可以实现子类型。( )
15.构造函数可以声明为纯虚函数。( )
 三、分析下列程序的输出结果。(每题10分,共40分)
1.#include <iostream.h> class Test; void fun1(Test t); Test fun2(); class Test { public: Test(int n=1) {val=n; cout<<“Con.“<<endl; } Test(const Test& t) {val=t.val; cout<<“Copy con.“<<endl;} Test& operator = (Test& t) { val=t.val; cout<<“Assignment.“<<endl; return *this;} private: int val;}; void main() { Test t1(1); Test t2=t1; Test t3; t3=t1; fun1(t2); t3=fun2(); } void fun1(Test t){ } Test fun2() { Test t; return t; }   2.#include <iostream.h> class A { public: A() {cout<<“A's con.“<<endl; } ~A(){cout<<“A's des.“<<endl; } }; class B { public: B() {cout<<“B's con.“<<endl; } ~B(){cout<<“B's des.“<<endl; } }; class C:public A,public B { public: C():member(),B(),A() {cout<<“C's con.“<<endl;} ~C(){cout<<“C's des.“<<endl; } private: A member; }; void main() { C obj; }   3.#include <iostream.h> class R { public: R(int r1,int r2) {R1=r1;R2=r2;} void print(); void print() const; private: int R1,R2; }; void R::print() { cout<<R1<<“:“<<R2<<endl; } void R::print() const { cout<<R1<<“;“<<R2<<endl; } void main() {   R a(5,4); a.print(); const R b(20,52); b.print(); }  4.#include <iostream.h> class A { public: virtual void act1(); void act2() {act1();} }; void A::act1() { cout<<“A::act1() called. “<<endl; } class B : public A { public: void act1(); }; void B::act1() { cout<<“B::act1() called. “<<endl; } void main() { B b; b.act2(); } 《面向对象程序设计》课程考试试卷(B)
一、 填空题(每空1分,共20分)。

1. 对象是       和       的封装体。

2. 定义重载函数时,要从        和       上进行区分。

3. 类定义中,缺省的成员是     成员。

4. 当一个成员函数被调用时,该成员函数的    指向调用它的对象。

5. 设置虚基类的目的是   ,虚基类子对象的初始化由   完成。

6. 对虚函数使用基类类型的指针或引用调用,系统使用   联编;
使用对象调用时,系统使用   联编。

7. 一元运算符作为类成员函数重载时       形参;
二元运算符作为    重载时需声明其右操 8. 带有      的类称为抽象类,它只能作为      来使用。

9. 请填写下列表格(填写直接派生类实例对基类成员的可见性)。

直接派生类继承方式 基类中成员类型 public private protected public       private 不可见 不可见 不可见 protected       二, 单项选择题(每题2分,共20分)。

1. 下列描述中,( )是不正确的。

A、面向对象程序设计可重用性较好;

B、对象之间通过消息进行信息传递;

C、多态性体现了行为共享;

D、面向对象方法的核心是继承;

2. 执行下列语句后的输出结果是( )。

int hot=100; int &rad=hot; hot+=100; cout<<rad<<endl; A、0;

B、100;

C、200;

D、300;

3. 在C++中,关于下列函数参数的描述中,( )是正确的。

A、C++语言中,实参是按照自左至右的顺序求值的;

B、若一个参数设置了默认值,则其右边的所有参数都具有默认值;

C、函数参数的默认值不允许是表达式;

D、设置参数默认值时,应该全部参数都设置;

4. 在( )情况下适宜采用inline定义内联函数。

A、函数体含有循环语句;
B、函数体含有递归语句;
C、函数代码小,频繁调用;
D、函数代码多,不常调用;

5. 定义析构函数时,应该注意( )。

A、其函数名与类名完全相同;

B、函数返回类型是void类型;

C、无形参,也不可重载;

D、函数体中必须有delete语句;

6. 下列关于构造函数的描述中,( )是正确的。

A、构造函数可以设置缺省参数 B、构造函数可以被继承;

C、构造函数可以对静态数据成员进行初始化;
D、构造函数可以说明为虚函数;

7. 友元的作用是( )。

A、提高程序的运用效率;

B、加强类的封装性;

C、实现数据的隐藏性;

D、增加成员函数的种类;

8. int * const p说明不能修改( )。

A、p指针;

B、p指针指向的变量;

C、p指针指向的数据类型;

D、上述A、B、C三者;

9. 关于堆运算符的下列描述中,( )是错误的。

A、使用堆运算符可以动态建立或删除对象;

B、new运算符创建对象时要调用构造函数;

C、可以在使用new[]创建数组时,为每个数组元素指定初始值;

D、delete运算符可以作用于空指针;

10. 关于继承的描述中,( )是正确的。

A、派生类是基类的子集;
B、析构函数不能被继承;
C、子类型关系是可逆的;
D、派生类是基类的子类型;

《面向对象程序设计》课程考试试卷(C)
一、 填空题(每空1分,共20分)。

1. 所有的面向对象程序设计语言,都支持三个共同的本质特征   、   、   。

2. 为了解决程序中函数调用的效率问题,引入了   ,定义时需在函数前面加上   说明;
为了提高程序的运行效率,引入了   ,定义时需在函数前面加上   说明。

3. 在类的定义当中,缺省的成员是   成员。

4. 请填写下列表格(填写派生类中成员的类型)。

  派生类继承方式 基类中成员类型 public private protected public       private 不可见 不可见 不可见 protected       5. 利用成员函数对二元运算符进行重载时,其左操作数为   ,右操作数为   。

6. 设置虚基类的目的是   ,可通过   标识虚基类。

7. 动态联编是在   的支持下实现的,它通过   来调用该函数操作。

二、 选择题(每题2分,共20分)。

1. 下列关于类型转换的描述中,( )是错误的。

A、在不同类型操作数组成的表达式中,其表达式类型一定是最高类型double型;

B、逗号表达式的类型是最后一个表达式的类型;

C、赋值表达式的类型是左值的类型;

D、由低向高的类型转换是保值映射。

2. ( )不是构造函数的特征。

A、构造函数的函数名与类名相同;

B、构造函数可以重载;

C、构造函数可以设置缺省参数;

D、构造函数必须指定类型说明。

3. 在C++中,关于下列设置参数默认值的描述中,( )是正确的。

A、不允许设置参数的默认值;

B、设置参数默认值只能在定义函数时设置;

C、设置参数默认值时,应该是先设置右边的,再设置左边的;

D、设置参数默认值时,应该全部参数都设置。  4. 关于new运算符的下列描述中,( )是错误的。

A、它可以用来动态创建对象和对象数组;

B、使用它创建的对象或对象数组可以使用运算符delete删除;

C、使用它创建对象时要调用构造函数;

D、使用它创建对象数组时必须指定初始值。

5. 重载函数在调用时选择的依据中,( )是错误的。

A、参数个数;

B、参数的类型;

C、函数名字;

D、函数的类型。  6. 下列描述中,( )是抽象类的特性。

A、可以说明虚函数;

B、可以进行构造函数重载;

C、可以定义友元函数;

D、不能说明其对象。  7. ( )是析构函数的特征。

A、一个类中只能定义一个析构函数;

B、析构函数名与类名不同;

C、析构函数的定义只能在类体内;

D、析构函数可以有一个或多个参数;

8. 关于delete运算符的下列描述中,( )是错误的。

A、它必须用于new返回的指针;

B、它也适用于空指针;

C、对一个指针可以使用多次该运算符;

D、指针名前只有一对方括号符,不管所删除数组的维数。  9. const int *p说明不能修改( )。

A、p指针;

B、p指针指向的变量;

C、p指针指向的数据类型;

D、上述A、B、C三者。  10、关于子类型的描述中,( )是错误的。

A、子类型就是指派生类是基类的子类型;

B、一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型;

C、在公有继承下,派生类是基类的子类型;

D、子类型关系是不可逆的。

《面向对象程序设计》课程考试试卷(D)
一、 单项选择题(每题1分,共20分)
1.面向对象程序设计中的数据隐藏指的是( )。

A.输入数据必须输入保密口令 B.数据经过加密处理 C.对象内部数据结构上建有防火墙 D.对象内部数据结构的不可访问性 2.下列各项中不符合函数重载必须满足的条件的是( )。

 A.必须有不同的参数个数  B.对应的参数类型必须不相同  C.A和B必须同时满足  D.A和B只要满足一个即可 3.下列带缺省值参数的函数说明中,正确的说明是( )。

 A.int Fun(int x,int y=2,int z=3);  B.int Fun(int x=1,int y,int z=3);  C.int Fun(int x,int y=2,int z);  D.int Fun(int x=1,int y,int z=3); 4.有如下的对类“CSample”的说明,其中( )是错误的。

 class CSample {    A.int a=23;  B.CSample();  public:C. CSample(int val);  D.~ CSample();
} 5.已知类A中的一个成员函数的说明如下:  void Set(A &a); 则该函数的参数“A &a”的含义是( )。

A.指向A的指针为a  B.将变量a的地址赋给类A  C.类A对象引用a用作函数的形参 D.变量A与a按位与后作函数参数 6.若类A和类B的定义如下:
  class A {
  public:
  int i,j;

    void get();

  };

  class B:A {
   int i,j;

    protected:
    int k;

    public:
   void make();

  };

  void B::make() { k=i*j;

}
则其中( )是非法的表达式。

  A.void get();
  B.int k;
  C.void make();
  7.下面的主程序中,语句( )是错误的。

    class A {
  int i;
  public:
  virtual void fun()=0;
  A(int a) { i=a; }
  };
  class B {
  int j;
  public:
  void fun() { cout<<”B::fun()\n”; }
  B(int b,int c) :A(b) { j=c; }
  };
  void main() 
A.{ A a(5);
B.A *pa;
C.B b(7);
D.B *pb; } 8.拷贝(复制)构造函数的作用是( )。

  A.进行数据类型的转换  B.用对象调用成员函数  C.用对象初始化对象  D.用一般类型的数据初始化对象 9.下列说法中,正确的说法是( )。

 A.所有的运算符都能被重载  B.运算符被重载时,它们的优先级与结合性不会改变  C.当需要时,我们可以自定义一个运算符来进行重载 D.每个运算符都可以被重载成成员函数和友元函数 10.下面对结构或类中成员的访问中,不正确的访问是( )。

  A.*pointer.salary; (其中pointer为指向类对象的指针)
B.pointer->salary;
C.x=worker.salary; (其中worker为具有类类型的对象)
  D.Location &rA=A1;int x=rA.GetX(); (Location为已定义的类,A为对象)
 二、填空题(每空2分,共20分)
1.面向对象程序设计中的多态性包括静态多态性和动态多态性,前者由____________机制支持,而后者则由____________机制支持。

2.由char const *str=”stucture”;
所以定义的指针称为____________,关键字const 所修饰的是____________。

3.引入虚基类的目的是为了解决多重继承中的____________和____________问题。

4.派生类中所定义的虚函数的____________不影响对它的动态联编,即基类中已定义的虚函数,其同名函数放在派生类中的__________,都可以实现运行时多态性。

5.构造函数与析构函数所调用的虚函数是____________的函数,因此调用时实现的是____________联编。

6.C++的____________规则能保证编译器调用正确的成员函数。有时为更保险地保证编译器调用正确的成员函数,可以使用____________操作符。

7.说明一个const成员函数(又称常量成员函数)的方法是,将const写在______之间,而且它修饰的是__________。

8.除析构函数外,不能带有参数的函数还有_______,而且它的返回数据类型不能随便指定,而由______来决定。

9.当使用new动态生成一个对象时,隐含着对____________的一次调用;
而当使用delete删除一个对象时,隐含着对____________的一次调用。

10.对某个运算符的重载,实际上是用关键字____________与该运算符组成一个运算符函数,而且该运算符函数的返回类型不能是_______________的。

《面向对象程序设计》课程考试试卷(E)
一.对错题。判断以下说法的正确性,在下面表格中对应的编号下面写上“对”或“错”。(20分,每个题目2分)
1.  说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。( ) 2.  所有的表达式都有值。( ) 3.  程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。

4.  类的静态数据成员需要在定义每个类的对象时进行初始化。( ) 5.  基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问。( ) 6.  当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都可以直接访问类A的所有成员。( ) 7.  当函数的返回值是数组类型的,传递的是数组第一个元素的地址。( ) 8.  如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。( ) 9.  字符串’hello,world”在内存中存放时,占用11个字节的空间。( ) 10. 用new动态申请的内存空间,必须用delete来释放 。( ) 二、简单编程题。根据程序要求,写出函数的完整定义。(共25分)
1.(本小题15分)写一个函数,找出给定字符串中数字字符(即’0’—‘9’这10个数字)的个数(如字符串”olympic2000”中数字字符的个数为4个。函数的原型为:
int CalcDigital(char *str); 函数参数:str为所要处理的字符串。

函数返回值:所给字符串中数字字符的个数。

int CalcDigital(char *str) {   } 2.(本小题10分)用递归函数完成以下运算:
sum(n)=12+22+…+n2 函数的原型如下:
long sum(int n); 该函数完成12+22+…+n2的运算,并返回运算结果,其中n>0。

提示:你可以使用递归表达式:sum(n)=sum(n-1)+n2 long sum(int n) {     } 《面向对象程序设计》课程考试试卷(F)
一、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。每小题2分,共40分) 1.C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( ) A.增加了一些新的运算符 B.允许函数重载,并允许设置缺省参数 C.规定函数说明符必须用原型 D.引进了类和对象的概念 2.下列符号不能组成标识符的是( ) A.连接符 B.下划线 C.大小写字母 D.数字字符 3.类型修饰符unsigned不能修饰( ) A. char B. int C. long int D. float 4.在int a=3,int *p=&a;
中,*p的值是( ) A.变量a的地址值 B.无意义 C.变量p的地址值 D.3 5.下列关于指针的操作中,错误的是( ) A.两个同类型的指针可以进行比较运算 B.可以用一个空指针赋给某个指针 C.一个指针可以加上两个整数之差 D.两个同类型的指针可以相加 6.重载函数在调用时选择的依据中,错误的是( ) A.函数的参数 B.参数的类型 C.函数的名字 D.函数的类型 7.一个函数功能不太复杂,但要求被频繁调用,选用( ) A.内联函数 B.重载函数 C.递归函数 D.嵌套函数 8.下列不是描述类的成员函数的是( ) A.构造函数 B.析构函数 C.友元函数 D.拷贝构造函数 9.构造函数不具备的特征的是( ) A.构造函数的函数名与类名相同 B.构造函数可以重载 C.构造函数可以设置默认参数 D.构造函数必须指定类型说明 10.通常,拷贝构造函数的参数是( ) A.某个对象名 B.某个对象的成员名 C.某个对象的引用名 D.某个对象的指针名 11.继承机制的作用是( ) A.信息隐藏 B.数据封装 C.定义新类 D.数据抽象 12.类的析构函数的作用是( ) A.一般成员函数 B.类的初始化 C.对象的初始化 D.删除对象创建的所有对象 13.类的析构函数是在( )调用的。

A.类创建时 B.创建对象时 C.删除对象时 D.不自动调用 14.在( )情况下适宜采用inline定义内联函数。

A.函数体含有循环语句 B.函数体含有递归语句 C.函数代码少、频繁调用 D.函数代码多、不常调用 15.如果类A被说明成类B的友元,则( ) A.类A的成员即类B的成员 B.类B的成员即类A的成员 C.类A的成员函数不得访问类B的成员 D.类B不一定是类A的友元 16.在类中声明转换函数时不能指定( ) A.参数 B.访问权限 C.操作 D.标识符 17.在公有继承的情况下,基类成员在派生类中的访问权限( ) A.受限制 B.保持不变 C.受保护 D.不受保护 18.C++类体系中,不能被派生类继承的有( ) A.转换函数 B.构造函数 C.虚函数 D.静态成员函数 19.假定AB为一个类,则执行AB x;
语句时将自动调用该类的( ) A.有参构造函数 B.无参构造函数 C.拷贝构造函数 D.赋值构造函数 20.C++语言建立类族是通过( ) A.类的嵌套 B.类的继承 C.虚函数 D.抽象类 二、填空题(每空2分,共20分) 1.对象的三大基本特性是多态性、_______、封装性。

2.C++语言的函数参数传递方式有传值和_______。

3.重载赋值操作符时,应声明为_______函数。

4.用_______声明的基类称为虚基类。

5.用_______声明函数称为虚函数。

6.派生类对基类继承控制访问有三种。派生类可以定义其基类中不具备的_______。

7.静态成员是对象的成员,_______函数不是类的成员。

8.在函数体之前加_______关键字可以防止覆盖函数改变数据成员的值。

9.一个const对象只能访问_______成员函数。

10.使用友元函数是为了提高程序效率,且节约了_______开销。

《面向对象程序设计》课程考试试卷(G)
一、 填空题(每空1分,共20分)。

1.所有的面向对象程序设计语言,都支持三个共同的本质特征   、   、   。

2.为了解决程序中函数调用的效率问题,引入了   ,定义时需在函数前面加上   说明;
为了提高程序的运行效率,引入了   ,定义时需在函数前面加上   说明。

3.在类的定义当中,缺省的成员是   成员。

4.请填写下列表格(填写派生类中成员的类型)。

  派生类继承方式 基类中成员类型 public private protected public       private 不可见 不可见 不可见 protected       5.利用成员函数对二元运算符进行重载时,其左操作数为   ,右操作数为   。

6.设置虚基类的目的是   ,可通过   标识虚基类。

7.动态联编是在   的支持下实现的,它通过   来调用该函数操作。

二、 选择题(每题2分,共20分)。

1.下列关于类型转换的描述中,( )是错误的。

A、在不同类型操作数组成的表达式中,其表达式类型一定是最高类型double型;

B、逗号表达式的类型是最后一个表达式的类型;

C、赋值表达式的类型是左值的类型;

D、由低向高的类型转换是保值映射。

2.( )不是构造函数的特征。

A、构造函数的函数名与类名相同;

B、构造函数可以重载;

C、构造函数可以设置缺省参数;

D、构造函数必须指定类型说明。

3.在C++中,关于下列设置参数默认值的描述中,( )是正确的。

A、不允许设置参数的默认值;

B、设置参数默认值只能在定义函数时设置;

C、设置参数默认值时,应该是先设置右边的,再设置左边的;

D、设置参数默认值时,应该全部参数都设置。

4.关于new运算符的下列描述中,( )是错误的。

A、它可以用来动态创建对象和对象数组;

B、使用它创建的对象或对象数组可以使用运算符delete删除;

C、使用它创建对象时要调用构造函数;

D、使用它创建对象数组时必须指定初始值。

5.重载函数在调用时选择的依据中,( )是错误的。

A、参数个数;

B、参数的类型;

C、函数名字;

D、函数的类型。

6.下列描述中,( )是抽象类的特性。

A、可以说明虚函数;
B、可以进行构造函数重载;

C、可以定义友元函数;

D、不能说明其对象。

 7.( )是析构函数的特征。

A、一个类中只能定义一个析构函数;

B、析构函数名与类名不同;

C、析构函数的定义只能在类体内;

D、析构函数可以有一个或多个参数;

8.关于delete运算符的下列描述中,( )是错误的。

A、它必须用于new返回的指针;

B、它也适用于空指针;

C、对一个指针可以使用多次该运算符;

D、指针名前只有一对方括号符,不管所删除数组的维数。

9.const int *p说明不能修改( )。

A、p指针;

B、p指针指向的变量;

C、p指针指向的数据类型;

D、上述A、B、C三者。

10、关于子类型的描述中,( )是错误的。

A、子类型就是指派生类是基类的子类型;

B、一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型;

C、在公有继承下,派生类是基类的子类型;

D、子类型关系是不可逆的。

六、 定义一个表示三维空间坐标点的类,并对下列运算符重载。(共9分)
1、<<:按 (x,y,z) 格式输出该点坐标(坐标为整型);
(5分)
2、 > :如果A点到原点的距离大于B点到原点的距离,则A>B为真,否则为假。(4分)
《面向对象程序设计》课程考试试卷(H)
一、 选择题(每题2分,共30分)
1.面向对象程序设计中的数据隐藏指的是( )。

A、输入数据必须输入保密口令;

B、数据经过加密处理;

C、对象内部数据结构上建有防火墙;

D、对象内部数据结构的不可访问性;

2.下列描述中,不符合函数重载必须满足的条件的是( )。

A、必须有不同的参数个数;

B、对应的参数类型必须不相同;

C、A和B必须同时满足;

D、A和B只要满足一个即可;

3.下列带缺省值参数的函数说明中,正确的说明是( )。

A、int Fun(int x,int y=2,int z=3);

B、int Fun(int x=1,int y,int z=3);

C、int Fun(int x,int y=2,int z);

D、int Fun(int x=1,int y,int z=3);

4.有如下的对类“CSample”的说明,其中( )是错误的。

Class CSample {  A、int a=23;

B、CSample();

C、CSample(int val);

 D、.~ CSample();。} 5.( )是析构函数的特征。

 A、析构函数可以有一个或多个参数;

 B、析构函数名与类名不同;

 C、析构函数的定义只能在类体内;

 D、一个类中只能定义一个析构函数;

6.关于成员函数特征的下列描述中,( )是错误的。

 A、成员函数一定是内联函数;

 B、成员函数可以重载;

 C、成员函数可以设置缺省参数值;

 D、成员函数可以是静态的;

7.拷贝(复制)构造函数的作用是( )。

 A、进行数据类型的转换;

 B、用对象调用成员函数;

 C、用对象初始化对象;

 D、用一般类型的数据初始化对象;

8.友元的作用是( )。

 A、提高程序的运用效率;

 B、加强类的封装性;

 C、实现数据的隐藏性;

 D、增加成员函数的种类;

9.关于new运算符的下列描述中,( )是错误的。

A、它可以用来动态创建对象和对象数组;
 B、使用它创建的对象或对象数组可以使用运算符delete删除;

 C、使用它创建对象时要调用构造函数;
  D、使用它创建对象数组时必须指定初始值;

10.关于delete运算符的下列描述中,( )是错误的。

 A、它必须用于new返回的指针;

 B、使用它删除对象时要调用析构函数;

 C、对一个指针可以使用多次该运算符;

D、指针名前只有一对方括号符号,不管所删除数组的维数。

11.const int *p说明不能修改( )。

 A、p指针;

 B、p指针指向的变量;
 C、p指针指向的数据类型;

D、上述A、B、C三者;

12.已知:print()函数是一个类的常成员函数,它无返回值,下列表示中( )是正确的;

 A、void print() const;

B、const void print();
 C、void const print();

D、void print(const);

13.派生类的对象对它的基类成员中( )是可以访问的。

A、公有继承的公有成员;
 B、公有继承的私有成员;

C、公有继承的保护成员;

D、私有继承的公有成员;

14.设置虚基类的目的是( )。

A、简化程序;

 B、消除二义性;

C、提高运行效率;

D、减少目标代码;

15.下列描述中,正确的是( )
A、虚函数是一个static 类型的成员函数;

 B、虚函数是一个非成员函数;

C、抽象类是指具有纯虚函数的类;

D、抽象类可以说明其对象;

二、判断下列描述的正确性,正确填T,错误填F。(每题2分,共30分)
1.C++中标识符内的大小写字母是没有区别的。( )
2.C++是一种以编译方式实现的高级语言。( )
3.计算函数参数顺序引起的二义性是由不同的编译系统决定的。( )
4.返回值类型、参数个数和类型都相同的函数也可以重载。( )
5.使用关键字class定义的类中缺省的访问权限是私有(private)的。( )
6.类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。( )
7.多继承情况下,派生类的构造函数的执行顺序取决于成员初始化列表中的顺序。( )
8.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。( )
9.在私有继承中,基类中所有成员对派生类都是不可见的。( )
10.在保护继承中,对于垂直访问等同于公有继承,对于水平访问等同于私有继承。( )
11.构造函数可以声明为虚函数。( )
12.在析构函数中调用虚函数时,采用动态束定。( )
13.在一个成员函数内调用一个虚函数时,对该虚函数的调用进行动态束定。( )
14.公有继承可以实现子类型。( )
15.构造函数可以声明为纯虚函数。( )
《面向对象程序设计》课程试卷(I)
一, 选择题(每题2分,共30分)
1.面向对象程序设计中的数据隐藏指的是( )。

A、输入数据必须输入保密口令;

B、数据经过加密处理;

C、对象内部数据结构上建有防火墙;

D、对象内部数据结构的不可访问性;

2.下列描述中,不符合函数重载必须满足的条件的是( )。

A、必须有不同的参数个数;

B、对应的参数类型必须不相同;

C、A和B必须同时满足;

D、A和B只要满足一个即可;

3.下列带缺省值参数的函数说明中,正确的说明是( )。

A、int Fun(int x,int y=2,int z=3);

B、int Fun(int x=1,int y,int z=3);

C、int Fun(int x,int y=2,int z);

D、int Fun(int x=1,int y,int z=3);

4.有如下的对类“CSample”的说明,其中( )是错误的。

Class CSample { A、int a=23;

 B、CSample();
 C、CSample(int val);

D、.~ CSample();。

} 5.( )是析构函数的特征。

 A、析构函数可以有一个或多个参数;

B、析构函数名与类名不同;

 C、析构函数的定义只能在类体内;

D、一个类中只能定义一个析构函数;

6.关于成员函数特征的下列描述中,( )是错误的。

 A、成员函数一定是内联函数;

B、成员函数可以重载;

 C、成员函数可以设置缺省参数值;

D、成员函数可以是静态的;

7.拷贝(复制)构造函数的作用是( )。

 A、进行数据类型的转换;

B、用对象调用成员函数;

 C、用对象初始化对象;

 D、用一般类型的数据初始化对象;

8.友元的作用是( )。

A、提高程序的运用效率;

B、加强类的封装性;
 C、实现数据的隐藏性;

D、增加成员函数的种类;

9.关于new运算符的下列描述中,( )是错误的。

A、它可以用来动态创建对象和对象数组;
 B、使用它创建的对象或对象数组可以使用运算符delete删除;

C、使用它创建对象时要调用构造函数;
  D、使用它创建对象数组时必须指定初始值;

10.关于delete运算符的下列描述中,( )是错误的。

 A、它必须用于new返回的指针;

 B、使用它删除对象时要调用析构函数;

 C、对一个指针可以使用多次该运算符;

D、指针名前只有一对方括号符号,不管所删除数组的维数。

11.const int *p说明不能修改( )。

 A、p指针;
B、p指针指向的变量;
C、p指针指向的数据类型;
D、上述A、B、C三者;

12.已知:print()函数是一个类的常成员函数,它无返回值,下列表示中( )是正确的;

A、void print() const;

B、const void print();
C、void const print();
D、void print(const);

13.派生类的对象对它的基类成员中( )是可以访问的。

 A、公有继承的公有成员;
B、公有继承的私有成员;
C、公有继承的保护成员;
D、私有继承的公有成员;

14.设置虚基类的目的是( )。

A、简化程序;
 B、消除二义性;
C、提高运行效率;
D、减少目标代码;

15.下列描述中,正确的是( )
A、虚函数是一个static 类型的成员函数;
B、虚函数是一个非成员函数;

C、抽象类是指具有纯虚函数的类;

D、抽象类可以说明其对象;

二、判断下列描述的正确性,正确填T,错误填F。(每题2分,共30分)
1.C++中标识符内的大小写字母是没有区别的。( )
2.C++是一种以编译方式实现的高级语言。( )
3.计算函数参数顺序引起的二义性是由不同的编译系统决定的。( )
4.返回值类型、参数个数和类型都相同的函数也可以重载。( )
5.使用关键字class定义的类中缺省的访问权限是私有(private)的。( )
6.类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。( )
7.多继承情况下,派生类的构造函数的执行顺序取决于成员初始化列表中的顺序。( )
8.在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。( )
9.在私有继承中,基类中所有成员对派生类都是不可见的。( )
10.在保护继承中,对于垂直访问等同于公有继承,对于水平访问等同于私有继承。( )
11.构造函数可以声明为虚函数。( )
12.在析构函数中调用虚函数时,采用动态束定。( )
13.在一个成员函数内调用一个虚函数时,对该虚函数的调用进行动态束定。( )
14.公有继承可以实现子类型。( )
15.构造函数可以声明为纯虚函数。( )
2.(满分12分)下面是一个类的测试程序,设计出能使用如下测试程序的类:
void main() { Test x; x.initx(300,200); x.printx(); } 输入结果:300-200=100  甘肃农业大学信息科学技术学院200 ~ 200 学年第 学期 《面向对象程序设计》课程 试卷(A)参考答案及评分标准 开课二级学院:
_____ ,学生专业:     ,教师:

  一、 选择题(每题2分,共30分)
1.D 2.C 3.B 4.D 5.D 6.A 7.C 8.A 9.D 10.C 11.B 12.A 13.A 14.B 15.C 二、判断下列描述的正确性,正确填T,错误填F。(每题2分,共30分)
1.F 2.T 3.T 4.F 5.T 6.F 7.F 8.F 9.F 10.T 11.F 12.F 13.T 14.T 15.F   三、分析下列程序的输出结果。(每题10分,共40分)
1. Con. Copy con. Con. Assignment. Copy con. Con. Copy con. Assignment. 《 》课程试卷参考答案及评分标准        第 1 页 共 2 页 2. A's con. B's con. A's con. C's con. C's des. A's des. B's des. A's des. 3. 5:4 20;52 4. B::act1() called. 《 》课程试卷参考答案及评分标准        第 2 页 共 2 页 甘肃农业大学信息科学技术学院200 ~ 200 学年第 学期 《面向对象程序设计》课程 试卷(B)参考答案及评分标准 开课二级学院:
_____ ,学生专业:     ,教师:

一、填空题(每空1分,共20分)。

1. 状态、操作/方法 2. 参数个数、参数类型 3. 私有/private 4. this指针 5. 解决二义性问题,最派生类 6. 动态、静态 7. 无/不需要、类成员函数 8. 纯虚函数、基类 9. 可见 不可见 不可见 不可见 不可见 不可见 二、选择题(每题2分,共20分)。

1、D 2、C 3、B 4、C 5、C 6、A 7、A 8、A 9、C 10、B  三、改错题(共20分)。

1. 错误 改正 Line12 MyClass obj1(0); (实参可以为任意值) Line14 obj1.SetMember(5); Line15 obj2.SetMember(10); 2. Line4出错。

原因:构造函数中不能调用纯虚函数。

3. 程序运行时将出现错误。

原因:Line18将调用拷贝初始化构造函数,由于类中没有定义拷贝初始化构造函数,因此编译器会自动生成一个缺省拷贝初始化构造函数,但由于类成员是一个指针,缺省拷 《 》课程试卷参考答案及评分标准        第 1 页 共 3 页 贝初始化构造函数构造的新对象中的指针将与原对象指向同一个变量,结果是在对象消失进行析构时,该变量会被删除两次。

程序改正:
为Test类定义一个拷贝初始化构造函数。

Test(const Test& t) { ptr=new int(*t.ptr); } 四、简答题(每题10分,共30分)。

1、(1)、支配规则:
类X中的名字N支配类Y中同名的名字N是指类X以类Y为它的一个基类。

如果一个名字支配另外一个名字,则二者之间不存在二义性。当选择该名字时,使用支配者的名字。

 (2)、S1、S3有二义性,S2无二义性。

原因:
 S1:二义性检查在访问控制权限之前进行。

 S2:符合支配规则。

 S1:二义性检查在类型检查之前进行。

2、6/4=1 Exception of dividing zero. It is OK. 3、A's cons.a B's cons.d C's cons.b A's cons.e D's cons.f D's des. A's des. C's des. B's des. A's des.   《 》课程试卷参考答案及评分标准        第 2 页 共 3 页 五、程序填充(每空2分,共10分)。

1、virtual void Print()=0; 2、Derive1(int i):Base(i) {} 3、public: Derive2(int i):Base(i) {} void Print() { cout<<“Derive2's Print() called.“<<endl; } 4、Base *obj 5、输出结果:
Derive1 *d1=new Derive1(1); Derive2 *d2=new Derive2(2); 《 》课程试卷参考答案及评分标准        第 2 页 共 3 页 甘肃农业大学信息科学技术学院200 ~ 200 学年第 学期 《面向对象程序设计》课程 试卷(C)参考答案及评分标准 开课二级学院:
_____ ,学生专业:     ,教师:

一、填空题(每空1分,共20分)。

1.类、对象、继承 2.内联函数、inline、友元、friend 3.私有的(private) 4.public private protected protected private protected 5.this指针、成员函数形参 6.解决二义性问题、virtual 7.虚函数、指针或引用 二、选择题(每题2分,共20分)。

1.A 2.D 3.C 4.D 5.D 6.D 7.A 8.C 9.B 10.A 三、改错题(共15分)。

1.x2.writeme(2);出错。原因如下:非常对象可以调用常成员函数和非常成员函数,而常对象只能调用常成员函数。

2.参考答案如下:
#include <iostream.h> class TV { public: //成员默认访问权限为private,不能被类的对象所访问 void SetStation(int Station); int GetStation(); 《 》课程试卷参考答案及评分标准        第 1 页 共4 页 private: int itsStation; }; //类定义结束时未使用语句结束符;

void main() { TV myTV; myTV.SetStation(9); //私有成员不能被类对象myTV直接访问 myTV.SetStation(10); TV myOtherTV; //使用默认构造函数建立对象时不需要提供参数 cout<<myTV.GetStation(); }   四、 写出下列程序的输出结果(每题10分,共20分)。

1. Con. Copy con. Con. Assignment. Copy con. Con. Copy con. Assignment. 2. A's con. B's con. A's con. C's con. C's des. A's des. B's des. A's des. 《 》课程试卷参考答案及评分标准        第 2 页 共 4 页 五、 将下列程序补充完整。(每空2分,共16分)
1.(1) pumpkin(int w) (2) total_weight-=weight; (3) int pumpkin::total_weight=0; (4) pumpkin::total_display(); 说明:(1)源程序中pumkin应为pumpkin;

(2)total_weight++;应为total_weight+=weight; 2. (1) virtual void compute()=0; (2) l_to_g(double i):convert(i) {} (3) public: f_to_c(double i):convert(i) {} void compute() { val2=(val1-32)*5/9; cout<<val1<<“ Fahrenheit is “<<val2<<“ Celsius.“<<endl; } (4) convert& f   六、 编程(共9分)。

#include <iostream.h> #include <math.h> class Point3D { public: Point3D(int xx=0,int yy=0,int zz=0):x(xx),y(yy),z(zz) {} friend bool operator >(const Point3D& A,const Point3D& B); friend ostream& operator <<(ostream& ostr,const Point3D& p); private: int x,y,z; }; bool operator >(const Point3D& A,const Point3D& B) 《 》课程试卷参考答案及评分标准        第 3 页 共 4 页 { double disA=sqrt(A.x*A.x+A.y*A.y+A.z*A.z); double disB=sqrt(B.x*B.x+B.y*B.y+B.z*B.z); return (disA>disB)?true:false; } ostream& operator <<(ostream& ostr,const Point3D& p) { ostr<<'('<<p.x<<','<<p.y<<','<<p.z<<')'; return ostr; } void main() { Point3D p1(1),p2(2,3,4); if(p1>p2) cout<<“The point p1:“<<p1<<“ is the far point.“<<endl; else cout<<“The point p2:“<<p2<<“ is the far point.“<<endl; } 《 》课程试卷参考答案及评分标准        第 4 页 共 4 页 甘肃农业大学信息科学技术学院200 ~ 200 学年第 学期 《面向对象程序设计》课程 试卷(E)参考答案及评分标准 开课二级学院:
_____ ,学生专业:     ,教师:

  一、 题号 1 2 3 4 5 6 7 8 9 10 对/错 对 错 对 错 错 对 错 对 错 对 二、 1.  程序为:
int CalcDigital(char *str) { //判断字符指针是否为空 if(str==NULL) return 0; //记录数字字符个数的变量 int num_of_digital=0; //依次检查各个字符,如果是数字,则总数加1 for(int i=0;str[i]!=0x0;i++) if(str[i]<=’9’&&str[i]>=’0’) num_of_digital++; //返回数字字符个数 return num_of_digital; }   2.  程序为:
long sum(int n) { if(n==1) return 1; else return n*n+sum(n-1); } 三、 问题1:答案为:
(A)      back(NULL) (B)      front==NULL或back==NULL (C)      pFront=front (D)     pNew->nextItem=NULL (E)      back=pNew 问题2:
答:不正确。因为在类QueueItem模板类的定义中用到了模板类Queue,而此时Queue还没有定义,所以要先声明一下,告诉编译程序Queue是一个模板类,它将在程序的其它地方定义。如果没有这个说明,编译程序就不知道标识符Queue代表什么样的含义了。

问题3:
答:第22行的const修饰的是函数的参数,表示在这个函数体中不能改它所修饰的参数所对应的实际参数的值。

第23行的const修饰的是模板类Queue的成员函数is_empty(),它表示在函数is_empty()的函数体中不能改变任何数据成员的值。

问题4:
答:析构函数中主要是释放链表中存放的各个节点的空间。因为Queue对象在其生存期间可能加入了很多节点,从堆中申请了一些内存空间,这些空间应该随着对象的消亡而释放掉,所以需要在析构函数中来解放这些空间。

问题5:
  语句号 1 2 3 4 5 对/错 错 对 错 对 对   四、 问题1:
答:输出结果为:
class B: 1 class A: haha 问题2:
答:不正确。

问题3:类A的定义如下:
class A{ private: static object_count; //…其它成员 public: A(){ object_count++;} ~A(){ object_count—; } static int GetObjectCount(){ return object_count; } //其它函数 virtual void func(int data){cout<<”class A: “<<data<<endl; } void func(char *str){ cout<<”class A: “<<str<<endl; } }; object_count的初始化语句如下:
int A::object_count=0;   五、 问题1:
答:不能将插入运算符和抽取运算符定义为类的成员函数。

因为这两个运算符对第一个运算数有特殊的要求,即必须分别是ostream和istream类的对象,而不能是用户自己定义的其它类,而类的成员函数默认的第一个参数为指向该类对象的指针类型,所以不符合插入和抽取运算符的要求。

问题2:
重载的运算符的实现如下:
SmallInt &SmallInt::operator+=(const SmallInt &si) { SmallInt tmp(val+si.val); val=tmp.val; return *this; } 或 SmallInt &SmallInt::operator+=(const SmallInt &si) { val+=si.val; if(val>127) val-=256; if(val<-128 val=256; return *this; } 甘肃农业大学信息科学技术学院200 ~ 200 学年第 学期 《面向对象程序设计》课程 试卷(F)参考答案及评分标准 开课二级学院:
_____ ,学生专业:     ,教师:

一、单项选择题(每小题2分,共40分) 1.D 2.A 3.D 4.D 5.D 6.A 7.A 8.C 9.D 10.C 11.C 12.C 13.D 14.C 15.D 16.C 17.B 18.C 19.B 20.B 二、填空题(每空2分,共20分) 1.抽象 2.传地址 3.友元 4.class virtual 5.virtual 6.数据和操作 7.友元 8.const 9.const 10.调用类的成员函数 三、完成程序题(每小题5分,共20分) 1. x=f; num=t.num; 2.int num; base(int n); 3.test T(10); T.P(); 4.Operator return val; 四、综合应用题(共20分) 1.分析下列程序可能的输出结果。(满分8分) Exiting main Destructor is active Destructor is active Destructor is active 2.(满分12分) #include <iostream.h> class Test { private: int x,y; public: void initx(int initx,int inity){x=initx;y=inity; } void printx() {count<<x<<″-″<<y<<″=″<<x-y;} };

void main() { Test x; x.initx(300,200); x.printx(); } 甘肃农业大学信息科学技术学院200 ~ 200 学年第 学期 《面向对象程序设计》课程 试卷(G)参考答案及评分标准 开课二级学院:
_____ ,学生专业:     ,教师:

一、填空题(每空1分,共20分)。

1.类、对象、继承 2.内联函数、inline、友元、friend 3.私有的(private) 4.public private protected protected private protected 5.this指针、成员函数形参 6.解决二义性问题、virtual 7.虚函数、指针或引用 二、选择题(每题2分,共20分)。

1.A 2.D 3.C 4.D 5.D 6.D 7.A 8.C 9.B 10.A 三、改错题(共15分)。

1.x2.writeme(2);出错。原因如下:非常对象可以调用常成员函数和非常成员函数,而常对象只能调用常成员函数。

2.参考答案如下:
#include <iostream.h> class TV { public: //成员默认访问权限为private,不能被类的对象所访问 void SetStation(int Station); int GetStation(); 《 》课程试卷参考答案及评分标准        第 1 页 共4 页 private: int itsStation; }; //类定义结束时未使用语句结束符;

void main() { TV myTV; myTV.SetStation(9); //私有成员不能被类对象myTV直接访问 myTV.SetStation(10); TV myOtherTV; //使用默认构造函数建立对象时不需要提供参数 cout<<myTV.GetStation(); }   七、 写出下列程序的输出结果(每题10分,共20分)。

1. Con. Copy con. Con. Assignment. Copy con. Con. Copy con. Assignment. 2. A's con. B's con. A's con. C's con. C's des. A's des. B's des. A's des. 《 》课程试卷参考答案及评分标准        第 2 页 共 4 页 八、 将下列程序补充完整。(每空2分,共16分)
1.(1) pumpkin(int w) (2) total_weight-=weight; (3) int pumpkin::total_weight=0; (4) pumpkin::total_display(); 说明:(1)源程序中pumkin应为pumpkin;

(2)total_weight++;应为total_weight+=weight; 2. (1) virtual void compute()=0; (2) l_to_g(double i):convert(i) {} (3) public: f_to_c(double i):convert(i) {} void compute() { val2=(val1-32)*5/9; cout<<val1<<“ Fahrenheit is “<<val2<<“ Celsius.“<<endl; } (4) convert& f   九、 编程(共9分)。

#include <iostream.h> #include <math.h> class Point3D { public: Point3D(int xx=0,int yy=0,int zz=0):x(xx),y(yy),z(zz) {} friend bool operator >(const Point3D& A,const Point3D& B); friend ostream& operator <<(ostream& ostr,const Point3D& p); private: int x,y,z; }; bool operator >(const Point3D& A,const Point3D& B) 《 》课程试卷参考答案及评分标准        第 3 页 共 4 页 { double disA=sqrt(A.x*A.x+A.y*A.y+A.z*A.z); double disB=sqrt(B.x*B.x+B.y*B.y+B.z*B.z); return (disA>disB)?true:false; } ostream& operator <<(ostream& ostr,const Point3D& p) { ostr<<'('<<p.x<<','<<p.y<<','<<p.z<<')'; return ostr; } void main() { Point3D p1(1),p2(2,3,4); if(p1>p2) cout<<“The point p1:“<<p1<<“ is the far point.“<<endl; else cout<<“The point p2:“<<p2<<“ is the far point.“<<endl; } 《 》课程试卷参考答案及评分标准        第 4 页 共 4 页 甘肃农业大学信息科学技术学院200 ~ 200 学年第 学期 《面向对象程序设计》课程 试卷(H)参考答案及评分标准 开课二级学院:
_____ ,学生专业:     ,教师:

  二、 选择题(每题2分,共30分)
1.D 2.C 3.A 4.A 5.D 6.A 7.C 8.A 9.D 10.C 11.B 12.A 13.A 14.B 15.C 二、判断下列描述的正确性,正确填T,错误填F。(每题2分,共30分)
1.F 2.T 3.T 4.F 5.T 6.F 7.F 8.F 9.F 10.T 11.F 12.F 13.T 14.T 15.F   三、分析下列程序的输出结果。(每题10分,共40分)
1. Con. Copy con. Con. Assignment. Copy con. Con. Copy con. Assignment. 《 》课程试卷参考答案及评分标准        第 1 页 共 2 页 2. A's con. B's con. A's con. C's con. C's des. A's des. B's des. A's des. 3. 5:4 20;52 4. B::act1() called. 《 》课程试卷参考答案及评分标准        第 2 页 共 2 页 甘肃农业大学信息科学技术学院200 ~ 200 学年第 学期 《面向对象程序设计》课程 试卷(I)参考答案及评分标准 开课二级学院:
_____ ,学生专业:     ,教师:

  三、 选择题(每题2分,共30分)
题号 1 2 3 4 5 6 7 8 9 10 答案 C D B B A C B A C B 二、判断下列描述的正确性,正确填T,错误填F。(每题2分,共30分)
1.F 2.T 3.T 4.F 5.T 6.F 7.F 8.F 9.F 10.T 11.F 12.F 13.T 14.T 15.F   三、分析下列程序的输出结果。(每题10分,共40分)
1. Con. Copy con. Con. Assignment. Copy con. Con. Copy con. Assignment. 《 》课程试卷参考答案及评分标准        第 1 页 共 2 页 2. A's con. B's con. A's con. C's con. C's des. A's des. B's des. A's des. 3. 5:4 20;52 4. B::act1() called. 《 》课程试卷参考答案及评分标准        第 2 页 共 2 页

推荐访问:3三期白阳会考证《龙华经》 2质点动力学习题详解 2步计算应用题 3000字反思政治没考好 330题库 347论述题 35kV变电所及低压配电系统设计论文开题 35kv电缆预防性试验 3dmax产品专员参考样题 3d北京试机号字谜
上一篇:合辑乡镇基层农业农村干部支部书记乡村振兴战略培训心得体会与收获
下一篇:高中定语从句练习

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有