admin 发表于 2019-11-14 16:34:14

【北京大学】08281003-C++程序设计-2019秋(资料)

      
08281003-C++程序设计-2019秋
分数:100题数:52
总体情况
姓名      开始时间      结束时间      用时(分钟)      得分      得分率      是否通过      考试状态
朱小勇      2019-09-18 11:19:21      2019-09-25 18:02:27      28.70      ***      ***      ***      考试中
一、单项选择题(共46题,每题1分,共46分)
1.      21、(C++第10、11章综合知识)在C++中,类与类之间的继承关系具有( )。
      
A. 自反性
B. 对称性
C. 传递性
D. 反对称性
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:C
      考生得分:***
      是否评分:未评分
      评价描述:***
2.      58、(第11章多态性和虚函数)下面哪个不是函数重载的条件()
      
A. 函数的参数类型有所有不同。
B. 函数的参数个数有所不同。
C. 函数的参数类型和函数的参数个数都有所不同。
D. 函数的返回值不同。
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:A
      考生得分:***
      是否评分:未评分
      评价描述:***
3.      

51、(C++第10、11章综合知识)选择下面程序的输出结果。

#include <iostream.h>

class A

{

public:

A(int i,int j)

{a1=i; a2=j; }

virtual void Print()

{cout<<a1+a2<<endl; }

protected:

    int a1,a2;

};

class B:public A

{

public:

B(int i,int j):A(i,j)

{}

void Print()

{cout<<a1*a2<<endl; }

};

void fun(A &a)

{a.Print();}

void main()

{

int m=10,n=2;                           

B b(m,n);

fun(b);

}
      
A. 18
B. 19
C. 20
D. 21
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
4.      5、(C++第1-9章综合知识)关于友元函数的描述中,错误的是( )。
      
A. 友元函数说明在类体内
B. 友元函数不是成员函数
C. 友元函数必须用对象来引用
D. 友元函数可以直接访问类中的私有成员
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
5.      36、(C++第10、11章综合知识)抽象类不能定义对象,可以定义对象引用和对象指针。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
6.      16.(C++第1-9章综合知识)可以在类的构造函数中对静态数据成员进行初始化。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
7.      

52、(C++第1-9章综合知识)选择下列程序的输出结果:

#include <iostream.h>

class Student

{

public:

   Student(int i=0,double j=0)

   {num=i;score=j;}

   void print()

   {cout<<num<<’,’<<score<<endl;}

   friend void fun(Student &rs);

private:

   int num;

   double score;

};

void fun(Student &rs)

{rs.num=1100;

   rs.score=80;

   rs.print();

}

void main()

{   Student s1(1002,50),s2;               

s1.print();

    fun(s2);
}
      
A.

50,1002

1100,80
B.

1002,50

1100,80
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
8.      2、(C++第1-9章综合知识)下列关于this指针的叙述中,正确的是( )
      
A. 任何与类相关的函数都有this指针
B. 类的成员函数都有this指针
C. 类的友元函数都有this指针
D. 类的非静态成员函数才有this指针
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
9.      14.(C++第1-9章综合知识)如果一个成员函数只存取一个类的静态数据成员,则可将该成员函数说明为静态成员函数。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
10.      下列关于对象引用的描述中,错误的是()
      
A. 对象引用不能作数组元素
B. 定义对象引用时需用同类对象的地址值进行初始化
C. 对象引用可作为函数的参数和返回值
D. 对象引用成员表示与对象相同
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
11.      20.(C++第1-9章综合知识)运算符new可以创建变量或对象, 也可以创建数组。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
12.      33、(C++第10、11章综合知识)静态联编是在运行时进行的,动态联编是在编译时进行的。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
13.      17.(C++第1-9章综合知识)友元函数是成员函数,它可以访问类中私有成员。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
14.      11.(C++第1-9章综合知识)子对象的初始化可以不放在该类的构造函数中。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
15.      6、(C++第1-9章综合知识)对于类,下面哪个是不正确的( )。
      
A. 类是对象的设计蓝图
B. 使用关键字Class创建类结构
C. 类被声明后,类名成为类型名并且可以用来声明变量
D. 类与结构体相同,它们之间没有区别
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
16.      35、(C++第10、11章综合知识)私有继承方式下,基类中公有成员和保护成员在派生类中都是私有的。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
17.      27、(C++第10、11章综合知识)实现运行时的多态性采用( )
      
A. 重载函数
B. 构造函数
C. 析构函数
D. 虚函数
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
18.      若派生类中有子对象,那么构造派生类对象时,应首先调用().
      
A. 基类构造函数
B. 派生类构造函数
C. 子对象构造函数
D. 以上构造函数没有先后顺序
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
19.      1、(C++第1-9章综合知识)C++是从早期的C语言逐渐发展演变来的,与C语言相比,它在求解问题方法上最大的改进是( )。
      
A. 面向过程
B. 面向对象
C. 安全性
D. 复用性
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
20.      37、(C++第10、11章综合知识)一个对象在创建时,总是要被初始化的。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
21.      24、(C++第10、11章综合知识)下列对运算符重载的描述中,正确的是( )。
      
A. 运算符重载可以改变结合性
B. 运算符重载可以改变优先级
C. 运算符重载可以改变操作数的个数
D. 运算符重载不改变优先级和结合性
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
22.      25、(C++第10、11章综合知识)下列函数中,( )不能重载。
      
A. 成员函数
B. 非成员函数
C. 构造函数
D. 析构函数
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
23.      12.(C++第1-9章综合知识)如果一个类中没有定义任何构造函数,则该类的对象便无法初始化。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
24.      28、(C++第10、11章综合知识)关于动态联编的下列描述中,( )是错误的。
      
A. 动态联编是在编译时确定操作函数的
B. 动态联编是以虚函数为基础的
C. 动态联编是在继承的前提下的一种多态性
D. 动态联编时要求类的继承是公有的
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
25.      30、(C++第10、11章综合知识)在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
26.      

3、(C++第1-9章综合知识)若有以下类Z声明,函数fStatic的正确定义是(    )。

class Z

{int a;

public:

void fStatic(Z&)static;

};

      
A. void Z::fStatic(Z &objZ){ objZ.a=0; }
B. void Z::fStatic(Z &objZ){ a= objZ.a; }
C. void Z::fStatic(Z &objZ){ a=0; }
D. void Z::fStatic(Z &objZ){ Z::a=0; }
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
27.      19.(C++第1-9章综合知识)用class定义的类中,默认的访问权限是公有的。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
28.      下列关于构造函数的特征的描述中,正确的是()
      
A. 不可以重载
B. 需说明其类型
C. 与类名不同
D. 可以设置默认参数
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
29.      23、(C++第10、11章综合知识)关于基类和派生类的描述中,错误的是( )。
      
A. 基类和派生类间是包含关系
B. 派生类中可以定义自己的成员
C. 基类成员在派生类中的访问权限与继承方式有关
D. 一个派生类可以从一个基类派生,也可以从多个基类派生。
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
30.      (C++课件10.1基类和派生类)如果一个派生类有两个或两个以上的基类,称这种继承为多继承。C++语言支持单继承和多继承
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
31.      26、(C++第10、11章综合知识)当一个类某个函数被说明为virtual时,该函数在该类的所有派生类中( )。
      
A. 都是虚函数
B. 只有被重新说明时才识虚函数
C. 只有被重新说明为virtual时才是虚函数
D. 都不是虚函数
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
32.      18.(C++第1-9章综合知识)对象数组的元素必须是同一个类的对象。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
33.      10、(C++第1-9章综合知识)下列关于new运算符的描述中,错误的是( )。
      
A. new运算符组成的表达式的值是地址值
B. 创建对象时不调用构造函数
C. 用它创建的对象须用delete来删除
D. 可用它来创建动态的对象和对象数组
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
34.      13.(C++第1-9章综合知识)构造函数和析构函数都不能重载。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
35.      8、(C++第1-9章综合知识)已知:p是一个指向类A数据成员m的指针,a是类A的一个对象。在给m赋值为5的下列表达式中,( )是正确的。
      
A. a.p=5
B.a->p=5
C.a.*p=5
D. *a.p=5
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
36.      34、(C++第10、11章综合知识)派生类的构造函数中应包含直接基类的构造函数。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
37.      31、(C++第10、11章综合知识)基类中的保护成员在其派生类的成员函数中可以访问,而派生类对象不可访问。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
38.      派生类对它基类中不可以访问的成员是( )
      
A. 私有成员
B. 公有成员
C. 保护成员
D. 所有成员
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
39.      4、(C++第1-9章综合知识)在C++中,关于下列设置缺省参数值的描述中,(  )是正确的。
      
A. 不允许设置缺省参数值;
B. 只能在函数的定义中指定参数的缺省值;
C. 在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;
D. 设置缺省参数值时,必须全部都设置;
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
40.      22、(C++第10、11章综合知识)INT FUNC (INT,INT);不可与下列哪个函数构成重载( )
      
A. INT FUNC(INT,INT,INT)
B. DOUBLE FUNC(INT,INT)
C. DOUBLE FUNC(DOUBLE,DOUBLE)
D. DOUBLE FUNC(INT,DOUBLE);
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
41.      下列关于虚函数的描述中,错误的是( )。
      
A. 虚函数是一种静态成员函数
B. 基类中说明的虚函数在它的派生类中相同说明的也是虚函数
C. 类体内说明虚函数时使用关键字virtual
D. 虚函数是动态联编的重要条件
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
42.      9、(C++第1-9章综合知识)下面对静态数据成员的描述中,正确的选项是( )。
      
A. 静态成员可以在类体内进行初始化
B. 静态数据成员不可以被类的对象调用
C. 静态数据成员可以直接用类名调用
D. 静态数据成员不可以直接用类名调用
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
43.      29、(C++第10、11章综合知识)C++支持运算符重载,所有运算符都可以重载。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
44.      15.(C++第1-9章综合知识)构造函数和析构函数都是系统自动调用的。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
45.      7、(C++第1-9章综合知识)下列是构造函数的特点,( )是错误的。
      
A. .构造函数是一种成员函数,它具有一般成员函数的特点。
B. 构造函数的名称与其类名相同。
C. 构造函数必须指明其类型。
D. 一个类中可以定义一个或多个构造函数。
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
46.      32、(C++第10、11章综合知识)派生类的对象不可以给基类对象赋值。
      
A. 正确
B. 错误
      
      试题编号:
      试题类型:单选题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
二、简答题(共6题,每题9分,共54分)
47.      

1、(C++第1-9章综合知识)写出下列程序的输出结果:

#include <iostream.h>

using namespace std;

class Test

{

public:

       Test()

       {

            cout<<”constructor of Test”<<endl;

}

};

Test a;

int main()

{

       cout<<”main() start”<<endl;

       Test b;

       return 0;

}
      
      
      试题编号:
      试题类型:简答题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
48.      

5、(C++第10、11章综合知识)写出下面程序的输出结果。

#include <iostream.h>

class B

{

public:

   B()

   {}

   B(int i)

   {b=i;}

   virtual void virfun()

   {cout<<”B::virfun() called.\n”;}

private:

int b;

};

class D:public B

{

public:

D()

{}

D(int i,int j):B(i)

{d=j;}

private:

int d;

void virfun()

{cout<<”D::virfun() called.\n”;}

};

void fun(B *obj)

{

    obj->virfun();

}

void main()

{

B *pb=new B;

fun(pb);

D *pd=new D;

fun(pd);

}
      
      
      试题编号:
      试题类型:简答题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
49.      

3、(C++第1-9章综合知识)写出下列程序的输出结果:

#include <iostream.h>

class A

{

public:

A(int i=0)

{m=i; cout<<”Constructor called.”<<m<<endl;}

void Set(int i)

{m=i;}

void Print() const

{cout<<m<<endl;}

~A()

{cout<<”Destructor called.”<<m<<endl;}

private:

int m;

};

void main()

{

const int N=6;

A my;

my=N;

my.Print();
}
      
      
      试题编号:
      试题类型:简答题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
50.      

6、写出下列程序的输出结果。

#include <iostream.h>

#include <string.h>

void print(char *s)

{   cout.write(s,strlen(s)).put('\n');

       cout.write(s,6)<<'\n';

}

void main()

{ cout.put('B').put('E').put('I').put('J').put('I').put('N').put('G').put('\n');

       char *str="I love BEIJING!";

       cout<<"The string is "<<str<<endl;

       print(str);

}
      
      
      试题编号:
      试题类型:简答题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
51.      

4、(C++第10、11章综合知识)写出下面程序的输出结果。

#include <iostream.h>

class BASE

{public:

    void get( int i,int j,int k,int l )

      { a = i; b = j; x = k;y = l; }

    void print()

      {cout << "a = "<< a << '\t' << "b = " << b << '\t'<< "x = " << x << '\t' << "y = " << y << endl;

   }

       int a,b;

protected:

int x, y;

};



class A: public BASE

{ public:

void get( int i, int j, int k, int l )

      { BASE obj3;

       obj3.get( 50, 60, 70, 80 );

       obj3.print();

       a = i; b = j; x = k; y = l;

       u = a + b + obj3.a ; v = y - x + obj3.b;

}

void print()

    { cout << "a = " << a << '\t' << "b = " << b << '\t'<< "x = " << x << '\t' << "y = " << y << endl;

      cout << "u = " << u << '\t' << "v = " << v << endl;

}

private:

    int u, v ;

};



void main()

{ BASE obj1;

A obj2;

obj1.get( 10, 20, 30, 40 );

obj2.get( 30, 40, 50, 60 );

obj1.print();

obj2.print();

}
      
      
      试题编号:
      试题类型:简答题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
52.      

2、(C++第1-9章综合知识)写出下列程序的输出结果:

#include <iostream.h>

class A

{

private:

       int a;

public:

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

       ~A(){cout<<”Destructor A!”<<a<<endl;};

};

class B:public A

{

private:

       int b;

public:

       B(int aa = 0, int bb = 0):A(aa) {b = bb;};

       ~B(){cout<<”Destructor B!”<<b<<endl;};

};



void main()

{

       B obj1(5), obj2(6,7);

       return;

};
      
      &nnbsp;
      试题编号:
      试题类型:简答题
      标准答案:***
      试题难度:一般
      试题解析:***
      考生答案:
      考生得分:***
      是否评分:未评分
      评价描述:***
姓名:朱小勇
编号:1170300475

一、单项选择题

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46

二、简答题

    47
    48
    49
    50
    51
    52

页: [1]
查看完整版本: 【北京大学】08281003-C++程序设计-2019秋(资料)