【北京大学】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]