查看: 51|回复: 0

西安电子科技大学2021春 面向对象程序设计(C++)大作业答案

[复制链接]

40万

主题

40万

帖子

121万

积分

VIP用户

Rank: 9Rank: 9Rank: 9

积分
1219528
发表于 2021-5-9 08:18:17 | 显示全部楼层 |阅读模式
一、简答题(共 10 分)
1.(3 分)什么是引用?它与指针有什么区别?
2.(3 分)C++提供了哪些循环语句?它们各自的特点是什么?
3.(4 分)构造函数的作用是什么?在创建派生类的对象时,应按照怎样的顺序调用构造函数?
二、填空题(每空 2 分,共 20 分)
1.C++程序中的数据可以分为两大类,其中         是指在程序执行过程中值不改变的数据; 是程序中用于存储信息的单元,并对应于某个内存空间。
2.C++中函数之间传递参数有         和         两种方式。
3.假设 x = 5,y = 0,z = 3,则表达式 !x || y++ && z 的值为         ,执行表达式后 y
的值为         。
4.下列程序在构造函数和析构函数中申请和释放类的私有成员,请完成该类的实现。
class MyClass        { private:
int *x; public:
MyClass(int a);
~MyClass();
};
MyClass :: MyClass(int a) {                 ; } MyClass :: ~MyClass() {         ;}
5.在 C++中,类 A 的每一个非静态成员函数都有一个隐藏的指针类型的形参         ,它指向当前正在操作的对象,其类型为         。
三、选择题(每题 2 分,共 20 分)
1.下列常量中,         不是字符常量。
A.'\007'        B.        'a'        C.        '\n'        D.        "x"
2.类的析构函数是         时被自动调用的。
A. 创建类        B. 创建对象
C. 引用对象        D. 释放对象
3.在 C++语言中,下列变量名正确的是         。
A. char 89_name;        B. bool is-loan;
C. int class        D. int _abc;
4.正确的 for 语句是         。已知 int i, a; A. for(i
B. for(i = 0, i
C. for(i = 0; i
D. for(i = 0; i
5.下列关键字中,        不是类定义中使用的关键字。
A. class        B. public
C. switch        D. protected
6.关于对象的描述中,        是错误的。
A.对象就是 C 语言中的结构变量
B.对象是状态和操作的封装体
C.对象之间的信息传递是通过消息进行的
D.对象是某个类的实例
7.下列关于运算符重载的描述中,         是正确的。
A.运算符重载可改变其优先级
B.运算符重载不改变其语法结构
C.运算符重载可改变其结合性
D.运算符重载可改变其操作数的个数
8.虚函数使用关键字         。
A. virtual        B. static        C. public        D. private
9.下面的函数中,静态成员函数不能访问的是         。
A. 静态数据成员        B. 静态成员函数
C. 类以外的函数和数据        D. 非静态数据成员
10.假定 A 是一个类,那么执行语句“A a, b(3), *p;”调用了         次构造函数。
A. 2        B. 3        C. 4        D. 5
四、读程题(每题 5 分,共 20 分)
1.给出下述源程序的运行结果。
#include [i]
void fun(int i, int &j)
{        j = i * 3;        } void main()
{        int a, b;
fun(3, a);
fun(9, b);
cout
}
2.给出下述源程序的运行结果。#include [i]
void main() {
int a = 5; do {
a++;
cout
}while(a == 9 ) cout
3.给出下述源程序的运行结果。#include [i]
int add(int *x, int n)
{        int sum , i;
for(sum = 0, i = 0; i
}
void main(){
int arr[] = {1, 3, 5, 7}; cout
}
4.给出下述源程序的运行结果。#include [i]
class A { public:
A() { a1 = a2 = 0; cout
A(int i, int j) {        a1 = i; a2 = j; cout
private:
int a1, a2;
};
void main() {
A x, y(3,9);
x.print();
y.print();
}
五 编程题(每题 15 分,共 30 分)
5.1有 n 个整数已按由小到大的顺序排列好,要求输入一个整数,把它插入到原有数列中, 而且仍然保持有序,同时输出新的数列。(插入时应考虑到插入的数的各种可能性,比所有的数都小;比所有的数都大;在最大数和最小数之间)
5.2定义并实现一个类 Myst,使下列语句能够正常运行。Myst x(3.2), y(5,5), z(0.0);
z = 8.9 – y;
y = x – 6.3;
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立刻注册

本版积分规则

QQ| Archiver|手机版|小黑屋| 师哈哈 |网站地图

Copyright © 2019-2025 Www.biiyy.Com.   All Rights Reserved.

Powered by Discuz! X3.4( 苏ICP备14049462号-3 )