西安电子科技大学2022上学期《面向对象程序设计(C++)》期末考试试题 (综合大作业)

第 1 页 (共 4 页)YOV傲朋学习网
学习中心/函授站_YOV傲朋学习网
姓 名 学 号YOV傲朋学习网
西安电子科技大学网络与继续教育学院YOV傲朋学习网
2022 学年上学期YOV傲朋学习网
《面向对象程序设计(C++)》期末考试试题YOV傲朋学习网
(综合大作业)YOV傲朋学习网
题号 一 二 三 四 五 总分YOV傲朋学习网
题分 10 20 20 20 30YOV傲朋学习网
得分YOV傲朋学习网
考试说明:YOV傲朋学习网
1、大作业试题公布时间:2022 年 4 月 22 日;YOV傲朋学习网
2、考试必须独立完成,如发现抄袭、雷同均按零分计;YOV傲朋学习网
3、答案须用《西安电子科技大学网络与继续教育学院 2022 春期末考试答题纸》(个YOV傲朋学习网
人专属答题纸)手写完成,要求字迹工整、卷面干净、整齐;YOV傲朋学习网
4、拍照要求完整、清晰,一张图片对应一张个人专属答题纸(A4 纸),正确上传。YOV傲朋学习网
一、(共 10 分)YOV傲朋学习网
1.(3 分)什么是引用?它与指针有什么区别?YOV傲朋学习网
2.(3 分)C++提供了哪些循环语句?它们各自的特点是什么?YOV傲朋学习网
3.(4 分)构造函数的作用是什么?在创建派生类的对象时,应按照怎样YOV傲朋学习网
的顺序调用构造函数?YOV傲朋学习网
二、填空题(每空 2 分,共 20 分)YOV傲朋学习网
1. C++程序中的数据可以分为两大类,其中 是指在程序执行过程中值不改变的数据;YOV傲朋学习网
是程序中用于存储信息的单元,并对应于某个内存空间。YOV傲朋学习网
2. C++中函数之间传递参数有 和 两种方式。YOV傲朋学习网
3. 假设 x = 5,y = 0,z = 3,则表达式 !x || y++ && z 的值为 ,执行表达式后 yYOV傲朋学习网
的值为 。YOV傲朋学习网
4. 下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现。YOV傲朋学习网
class MyClass {YOV傲朋学习网
private:YOV傲朋学习网
int *x;YOV傲朋学习网
public:YOV傲朋学习网
MyClass(int a);YOV傲朋学习网
第 2 页 (共 4 页)YOV傲朋学习网
~MyClass();YOV傲朋学习网
};YOV傲朋学习网
MyClass :: MyClass(int a) { ; }YOV傲朋学习网
MyClass :: ~MyClass() { ;}YOV傲朋学习网
5. 在 C++中,类 A 的每一个非静态成员函数都有一个隐藏的指针类型的形参 ,它YOV傲朋学习网
指向当前正在操作的对象,其类型为 。YOV傲朋学习网
三、选择题(每题 2 分,共 20 分)YOV傲朋学习网
1. 下列常量中, 不是字符常量。YOV傲朋学习网
A.'\007' B. 'a' C. '\n' D. "x"YOV傲朋学习网
2. 类的析构函数是 时被自动调用的。YOV傲朋学习网
A. 创建类 B. 创建对象YOV傲朋学习网
C. 引用对象 D. 释放对象YOV傲朋学习网
3. 在 C++语言中,下列变量名正确的是 。YOV傲朋学习网
A. char 89_name; B. bool is-loan;YOV傲朋学习网
C. int class D. int _abc;YOV傲朋学习网
4. 正确的 for 语句是 。已知 int i, a;YOV傲朋学习网
A. for(i < 10) a--;YOV傲朋学习网
B. for(i = 0, i < 10, i++) a--;YOV傲朋学习网
C. for(i = 0; i < 10; i++, a--);YOV傲朋学习网
D. for(i = 0; i < 10; a--);YOV傲朋学习网
5. 下列关键字中, 不是类定义中使用的关键字。YOV傲朋学习网
A. class B. publicYOV傲朋学习网
C. switch D. protectedYOV傲朋学习网
6. 关于对象的描述中, 是错误的。YOV傲朋学习网
A. 对象就是 C 语言中的结构变量YOV傲朋学习网
B. 对象是状态和操作的封装体YOV傲朋学习网
C. 对象之间的信息传递是通过消息进行的YOV傲朋学习网
D. 对象是某个类的实例YOV傲朋学习网
7.下列关于运算符重载的描述中, 是正确的。YOV傲朋学习网
A. 运算符重载可改变其优先级YOV傲朋学习网
B. 运算符重载不改变其语法结构YOV傲朋学习网
C. 运算符重载可改变其结合性YOV傲朋学习网
D. 运算符重载可改变其操作数的个数YOV傲朋学习网
8. 虚函数使用关键字 。YOV傲朋学习网
A. virtual B. static C. public D. privateYOV傲朋学习网
9. 下面的函数中,静态成员函数不能访问的是 。YOV傲朋学习网
A. 静态数据成员 B. 静态成员函数YOV傲朋学习网
C. 类以外的函数和数据 D. 非静态数据成员YOV傲朋学习网
10. 假定 A 是一个类,那么执行语句“A a, b(3), *p;”调用了 次构造函数。YOV傲朋学习网
A. 2 B. 3 C. 4 D. 5YOV傲朋学习网
四、读程题(每题 5 分,共 20 分)YOV傲朋学习网
1.给出下述源程序的运行结果。YOV傲朋学习网
#include YOV傲朋学习网
void fun(int i, int &j)YOV傲朋学习网
第 3 页 (共 4 页)YOV傲朋学习网
{ j = i * 3; }YOV傲朋学习网
void main()YOV傲朋学习网
{ int a, b;YOV傲朋学习网
fun(3, a);YOV傲朋学习网
fun(9, b);YOV傲朋学习网
cout << "a + b = " << a + b << endl;YOV傲朋学习网
}YOV傲朋学习网
2.给出下述源程序的运行结果。YOV傲朋学习网
#include YOV傲朋学习网
void main() {YOV傲朋学习网
int a = 5;YOV傲朋学习网
do {YOV傲朋学习网
a++;YOV傲朋学习网
cout << ++a << endl;YOV傲朋学习网
if(a == 10) break;YOV傲朋学习网
}while(a == 9 )YOV傲朋学习网
cout << "ok\n"; }YOV傲朋学习网
3.给出下述源程序的运行结果。YOV傲朋学习网
#include YOV傲朋学习网
int add(int *x, int n)YOV傲朋学习网
{ int sum , i;YOV傲朋学习网
for(sum = 0, i = 0; i < n; i++) sum += *(x+i);YOV傲朋学习网
return sum;YOV傲朋学习网
}YOV傲朋学习网
void main(){YOV傲朋学习网
int arr[] = {1, 3, 5, 7};YOV傲朋学习网
cout << add(arr, 4) << endl;YOV傲朋学习网
}YOV傲朋学习网
4.给出下述源程序的运行结果。YOV傲朋学习网
#include YOV傲朋学习网
class A {YOV傲朋学习网
public:YOV傲朋学习网
A() { a1 = a2 = 0; cout << "Default constructor called.\n"; }YOV傲朋学习网
A(int i, int j) { a1 = i; a2 = j; cout << "Constructor called.\n"; }YOV傲朋学习网
void print() { cout << "a1 = " << a1 <<" , " << "a2 = " << a2 << endl; }YOV傲朋学习网
private:YOV傲朋学习网
int a1, a2;YOV傲朋学习网
};YOV傲朋学习网
void main() {YOV傲朋学习网
A x, y(3,9);YOV傲朋学习网
x.print();YOV傲朋学习网
y.print();YOV傲朋学习网
}YOV傲朋学习网
五 编程题(每题 15 分,共 30 分)YOV傲朋学习网
第 4 页 (共 4 页)YOV傲朋学习网
5.1 有 n 个整数已按由小到大的顺序排列好,要求输入一个整数,把它插入到原有数列中,YOV傲朋学习网
而且仍然保持有序,同时输出新的数列。(插入时应考虑到插入的数的各种可能性,比所有YOV傲朋学习网
的数都小;比所有的数都大;在最大数和最小数之间)YOV傲朋学习网
5.2 定义并实现一个类 Myst,使下列语句能够正常运行。YOV傲朋学习网
Myst x(3.2), y(5,5), z(0.0);YOV傲朋学习网
z = 8.9 – y;YOV傲朋学习网
y = x – 6.3;
版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: