2020年电大面向对象程序设计期末复习指导参考必考重点【精编版】
- 格式:doc
- 大小:55.00 KB
- 文档页数:6
电大面向对象程序设计期末复习指导小抄
一、单项选题
1.字符串”a+b=12\n”的长度为()。
A. 6
B. 7
C. 8
D. 9
2. x>0 || y==5的相反表达式为()。
A. x<=0 || y!=5
B. x<=0 && y!=5
C. x>0 || y!=5
D. x>0 && y==5
3. 循环体有可能一次都不执行的语句为()。
A. for循环
B. switch循环
C. do循环
D. 任一种循环
4. 函数调用func((exp1,exp2,exp3),exp4,exp5))中所含实参的个数为( )个。
A. 1
B. 2
C. 3
D. 5
5. 假定p是具有int**类型的指针变量,则给p赋值的正确语句为()。
A. p=new int;
B. p=new int[10];
C. p=new int**;
D. p=new int*;
6.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。
A. 2
B. 4
C. 6
D. 0
7. 假定一个类的构造函数为“A(int aa=1, int bb=0) {a=aa; b=bb;}”,则执行“A x(0);”语句后,x.a和x.b的值分别为( )。
A. 0和0
B. 0和1
C. 1和0
D. 1和1
8. 假定AA为一个类,int a()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为()。
A.int AA::a() B.int AA:a()
C.AA::a() D.AA::int a()
9.关于插入运算符<<的重载,下列说法不正确的是()。
A. 运算符函数的返回值类型是ostream & 。
B. 重载的运算符必须定义为类的成员函数。
C. 运算符函数的第一个参数的类型是ostream & 。
D. 运算符函数有两个参数。
10. 假定AB为一个类,px为指向该类的一个含有n个对象的动态数组的指针,则执行“delete []px;”语句时共调用该类析构函数的次数为( )。
A. 0
B. 1
C. n
D. n+1
二、填空题
1. 当使用_______保留字作为函数类型时,该函数不返回任何值。
2. 执行char *p=new char(’x’)操作后,p所指向的数据对象的值为________。
3. 当在程序中执行到________语句时,将结束本次循环,执行下一次循环语句。
4. 一个指针类型的对象占用内存的________个字节的存储空间。
5. 假定用户为类AB定义了一个构造函数“AB(int aa) {a=aa;}”,则系统(会/不会)_________为该类自动定义一个无参构造函数"AB() {}"。
6.已知语句“cout<
7. 如果一个派生类的基类不止一个,则这种继承称为____________。
8. 重载一个函数的条件是:该函数必须在参数的个数或参数对应的__________上与其它同名函数不相同。
9. 假定用户为类AB定义了一个构造函数“AB(int aa) {a=aa;}”,则系统(会/不会)_________为该类自动定义一个无参构造函数"AB() {}"。
10.假定用户为类AB定义了一个构造函数“AB(int aa=0):a(aa){}”,则定义该类的对象时,可以有________种不同的定义格式。
三、程序填充题,根据题意在横线上填写合适的内容。
1. 已知一个类的定义如下:
#include
class AA {
int a[10];
int n;
public:
void SetA(int aa[], int nn); //初始化函数
int MaxA(); //从数组a中前n个元素中查找最大值
void SortA(); //采用选择排序的方法对数组a中前n个元素进行从小到大排序
};
该类中MaxA()函数的实现如下,请在标号位置补充适当的内容。
int ____(1)_____
{
int x=a[0];
for(int i=1; i if(a[i]>x) ___(2)___; ___(3)___; } (1) (2) (3) 2. 类A的定义 class A { int *a; int n; int MaxLen; public: A(): a(0), n(0), MaxLen(0) {} //无参构造函数 A(int *aa, int nn, int MM) { //带参构造函数 n=nn; MaxLen=MM; if(n>MaxLen) exit(1); a=new int[MaxLen]; for(int i=0; i } ~A(){_____(2)_________;} }; (1) (2) 3.在下面一段类定义中,Derived类公有继承了基类Base。需要填充的函数由注释内容给出了功能。class Base{ private: int mem1,mem2; //基类的数据成员 public: Base(int m1,int m2) { mem1=m1; mem2=m2; } void output(){cout< }; class Derived: public Base{ private: int mem3; //派生类本身的数据成员 public: //构造函数,由m1和m2分别初始化mem1和mem2,由m3初始化mem3