aopeng 发表于 2017-5-9 10:30:44

兰大《面向对象程序设计》17春平时作业123答案辅导

《面向对象程序设计》17春平时作业1

一、单选题:
1.C++的继承性允许派生类继承基类的          (满分:4)
    A. 部分特性,并允许增加新的特性或重定义基类的特性
    B. 部分特性,但不允许增加新的特性或重定义基类的特性
    C. 所有特性,并允许增加新的特性或重定义基类的特性
    D. 所有特性,但不允许增加新的特性或重定义基类的特性
2.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是(    )          (满分:4)
    A. 友元函数
    B. 虚函数
    C. 构造函数
    D. 析构函数
3.当类中的一个整型指针成员指向一块具有n*sizeof(int)大小的存储空间时,它最多能够存储(    )个整数          (满分:4)
    A. n
    B. n+1
    C. n-1
    D. 1
4.假定a为一个整型数组名,则元素a的字节地址为(    )          (满分:4)
    A. a+4
    B. a+8
    C. a+16
    D. a+32
5.有以下程序 void fun1(char *p) { char *q; q=p; while(*q!='\0') {(*q)++; q++; } } main(    ) { char a[]={“Program”},*p; p=&a; fun1(p); printf(“%s\n”,a); } 程序执行后的输出结果是(    )          (满分:4)
    A. Prohsbn
    B. Prphsbn
    C. Progsbn
    D. Program
6.以下不合法的字符常量是(    )          (满分:4)
    A. \018'
    B. '\”'
    C. '\\'
    D. ‘\xcc'
7.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是(    )          (满分:4)
    A. 公有类型
    B. 私有类型
    C. 保护类型
    D. 友元类型
8.在C++程序中,对象之间的相互通信通过          (满分:4)
    A. 继承实现
    B. 调用成员函数实现
    C. 封装实现
    D. 函数重载实现
9.在多文件结构中,通常把含有main(    )函数的文件称为          (满分:4)
    A. 主文件,实现文件,程序文件,头文件
10.下列有关运算符重载的叙述中,正确的是(    )          (满分:4)
    A. 运算符重载是多态性的一种表现
    B. C++中可以通过运算符重载创造新的运算符
    C. C++中所有运算符都可以作为非成员函数重载
    D. 重载运算符时可以改变其结合性
11.类中定义的成员默认为(    )访问属性          (满分:4)
    A. public
    B. private
    C. protected
    D. friend
12.设int a=10,b=11,c=12;,表达式(a+b)<c&&b==c的值是(    )          (满分:4)
    A. 2
    B. 0
    C. -2
    D. 1
13.下列符号常量定义中错误的是          (满分:4)
    A. constM=10
    B. constintM=10
    C. constcharch
    D. constboolmark=ture
二、多选题:
1.C++将内存划分为三个逻辑区域,分别为:(    )          (满分:4)
    A. 栈
    B. 队列
    C. 堆
    D. 静态存储区
2.一个指针变量会涉及以下哪些内容(    )          (满分:4)
    A. 指针的类型
    B. 指针所指向的类型
    C. 指针的值
    D. 指针本身所占的存储区
三、判断题:
1.所有的表达式都有值          (满分:4)
    A. 错误
    B. 正确
2.在访问权限省略时,默认为public。          (满分:4)
    A. 错误
    B. 正确
3.如果定义了不带初始值的类的实例,却没有显式的定义不带参数的默认构造函数,编译时程序就会报错。          (满分:4)
    A. 错误
    B. 正确
4.构造函数可以使用默认参数。          (满分:4)
    A. 错误
    B. 正确
5.在类体内实现的成员函数也是内联函数。          (满分:4)
    A. 错误
    B. 正确
6.类的静态数据成员需要在定义每个类的对象时初始化          (满分:4)
    A. 错误
    B. 正确
7.数据成员在初始化列表中的书写顺序无关紧要,但初始化列表对数据成员初始化的执行次序就是类中定义数据成员的次序。          (满分:4)
    A. 错误
    B. 正确
8.没有返回值或者返回值为空是一回事。          (满分:4)
    A. 错误
    B. 正确
9.若要保证一个公共的基类在在派生类中只产生一个基类子对象,则必须都以虚基类的方式继承它          (满分:4)
    A. 错误
    B. 正确
10.C++支持两种多态:编译时的多态(重载)和运行时的多态(虚函数)          (满分:4)
    A. 错误
    B. 正确

《面向对象程序设计》17春平时作业2

一、单选题:
1.建立包含有类对象成员的派生类对象时,自动调用构造函数的执行顺序依次为(    )的构造函数          (满分:4)
    A. 自己所属类、对象成员所属类、基类
    B. 对象成员所属类、基类、自己所属类
    C. 基类、对象成员所属类、自己所属类
    D. 基类、自己所属类、对象成员所属类
2.一个类的静态数据成员所表示属性          (满分:4)
    A. 是类的或对象的属性
    B. 只是对象的属性
    C. 只是类的属性
    D. 类和友元的属性
3.下面程序的运行结果为(    )#include    class A    {          (满分:4)
    A. 1234
    B. 1324
    C. 1342
    D. 3142
4.有如下类和对象的定义:class Constants{public; static double getPI(    ){return 3.1416;}};Constants constants;下列各组语句中,能输出 3.1416 的是(    )          (满分:4)
    A. cout<<constants->getPI(    )和cout<<Constants::gerPI(    )
    B. cout<<constants.getPI(    )和cout<<Constants.getPI(    )
    C. cout<<constants->getPI(    )和cout<<Constants->getPI(    )
    D. cout<<constants.getPI(    )和cout<<Constants::getPI(    )
5.假定AB为一个类,则执行“AB*s=newAB(a,5)”语句得到的一个动态对象为          (满分:4)
    A. s
    B. s->a
    C. s.a
    D. *s
6.在下列关键字中,不能用来表示继承方式的是(    )          (满分:4)
    A. private
    B. static
    C. public
    D. protected
7.对于任意一个类,析构函数最多为          (满分:4)
    A. 0
    B. 1
    C. 2
    D. 3
8.在重载一个运算符时,其参数表中没有任何参数,这表明该运算符是          (满分:4)
    A. 作为友元函数重载的一元运算符
    B. 作为成员函数重载的一元运算符
    C. 作为友元函数重载的二元运算符
    D. 作为成员函数重载的二元运算符
9.当保护继承时,基类的(    )在派生类中成为保护成员,在类作用域外不能够通过派生类的对象来直接访问该成员。          (满分:4)
    A. 任何成员
    B. 公有成员和保护成员
    C. 保护成员和私有成员
    D. 私有成员
10.下列有关模板的叙述中,正确的是(    )          (满分:4)
    A. 函数模板不能含有常规形参
    B. 函数模板的一个实例就是一个函数定义
    C. 类模板的成员函数不能是模板函数
    D. 用类模板定义对象时,绝对不能省略模板实参
11.有以下程序 fun(char p[]) {int n=0,i; for(i=0;i<7;i++) if(p=='T') n++; return n; } main(    ) { char str[]={“Mon”, “Tue”, “Wed”, “Thu”,”Fri”,”Sat”,”Sun”}; printf(“%d\n”,fun(str)); } 程序执行后的输出结果是(    )          (满分:4)
    A. 1
    B. 2
    C. 3
    D. 0
12.C++语言的跳转语句中,对于break和continue说法正确的是(    )          (满分:4)
    A. break语句只应用于循环体中
    B. continue语句只应用于循环体中
    C. break是无条件跳转语句,continue不是
    D. break和continue的跳转范围不够明确,容易产生问题。
13.当派生类中有和基类一样名字的成员时,一般来说          (满分:4)
    A. 将产生二义性
    B. 派生类的同名成员将覆盖基类的成员
    C. 是不能允许的
    D. 基类的同名成员将覆盖派生类的成员
二、多选题:
1.类的基本特征(    )          (满分:4)
    A. 封装
    B. 继承
    C. 安全
    D. 多态
2.编写自己的头文件时,一般包含以下内容(    )          (满分:4)
    A. 头文件开头处的文件信息声明
    B. 预处理语句块
    C. 函数和类结构声明
    D. 函数和类结构定义
三、判断题:
1.在C++中,允许用变量对数组进行初始化。          (满分:4)
    A. 错误
    B. 正确
2.没有返回值或者返回值为空是一回事。          (满分:4)
    A. 错误
    B. 正确
3.字符串“hello,word”占用11个字节的空间          (满分:4)
    A. 错误
    B. 正确
4.如果定义了不带初始值的类的实例,却没有显式的定义不带参数的默认构造函数,编译时程序就会报错。          (满分:4)
    A. 错误
    B. 正确
5.虚函数声明只能出现在类声明的函数原型中。          (满分:4)
    A. 错误
    B. 正确
6.用struct定义类的时候,如果没有指明成员的访问权限,则默认为公有类型。          (满分:4)
    A. 错误
    B. 正确
7.用new动态申请的的内存空间,必须用delete来释放          (满分:4)
    A. 错误
    B. 正确
8.数据成员在初始化列表中的书写顺序无关紧要,但初始化列表对数据成员初始化的执行次序就是类中定义数据成员的次序。          (满分:4)
    A. 错误
    B. 正确
9.C++使用new和delete时需要包含头文件。          (满分:4)
    A. 错误
    B. 正确
10.虚函数由成员函数调用或通过指针,引用来访问。          (满分:4)
    A. 错误
    B. 正确

《面向对象程序设计》17春平时作业3

一、单选题:
1.已知枚举类型声明语句为:enum COLOR{ WHITE,YELLOW,GREEN=5,RED,BLACK=10 };则下列说法中错误的是(    )          (满分:4)
    A. 枚举常量YELLOW的值为1
    B. 枚举常量RED的值为6
    C. 枚举常量BLACK的值为10
    D. 枚举常量WHITE的值为1
2.循环体至少被执行一次的语句为          (满分:4)
    A. for循环
    B. while循环
    C. do循环
    D. 任何一种循环
3.有如下程序:#includeusing namespace std;class VAC{public; int f(    ) const { return 3; }int f(    ) {return 5;}};int main(    ){VAC v1; const VAC v2;cout<<v1.f(    )<<v2.f(    );return 0; }运行时的输出结果是(    )          (满分:4)
    A. 53
    B. 35
    C. 55
    D. 33
4.有如下类定义:class Point{private;static int howmany;};howmany=0; 要初始化 Point 类的静态成员 howmany,下划线处应填入的内容是(    )          (满分:4)
    A. int
    B. staticint
    C. intPoint::
    D. staticintPoint::
5.以下各选项组中,均是C++语言关键字的组是(    )          (满分:4)
    A. publicoperatorthis
    B. shodstringstatic
    C. itwhile>=
    D. privatecoutprintf
6.下列有关函数重载的叙述中,错误的是(    )          (满分:4)
    A. 函数重载就是用相同的函数名定义多个函数
    B. 重载函数的参数列表必须不同
    C. 重载函数的返回值类型必须不同
    D. 重载函数的参数可以带有默认值
7.有如下程序:#includeusing namespace std;class Base {int x; public;Base{int n=0}; x(n){cout<<n;}int getX(    )const{return x;}};class Derived public Base{int y;public;Derived(int m, int n): y(m), Base(n){cout<<m;}Derived(int m): y(m){cout<<m;}          (满分:4)
    A. 375
    B. 357
    C. 0375
    D. 0357
8.一个函数功能不太复杂,但要求被频繁调用,则应把它定义为          (满分:4)
    A. 内联函数
    B. 重载函数
    C. 递归函数
    D. 嵌套函数
9.下面程序的运行结果为(    )#include    class A    {          (满分:4)
    A. 1234
    B. 1324
    C. 1342
    D. 3142
10.一个类的构造函数通常被定义为该类的(    )成员          (满分:4)
    A. 公用
    B. 保护
    C. 私有
    D. 友元
11.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是          (满分:4)
    A. 派生类的对象可以赋给基类的对象
    B. 派生类的对象可以初始化基类的引用
    C. 派生类的对象可以直接访问基类中的成员
    D. 派生类的对象的地址可以赋给指向基类的指针
12.下列有关 C++流的叙述中,错误的是(    )          (满分:4)
    A. C++操作符setw设置的输出宽度永久有效
    B. C++操作符endl可以实现输出的回车换行
    C. 处理文件I/O时,要包含头文件fstream
    D. 进行输入操作时,eof(    )函数用于检测是否到达文件尾
13.下面关于数组的描述错误的是(    )          (满分:4)
    A. 在C++语言中数组的名字就是指向该数组第一个元素的指针
    B. 长度为n的数组,下标的范围是0-n-1
    C. 数组的大小必须在编译时确定
    D. 数组只能通过值参数和引用参数两种方式传递给函数
二、多选题:
1.C++将内存划分为三个逻辑区域,分别为:(    )          (满分:4)
    A. 栈
    B. 队列
    C. 堆
    D. 静态存储区
2.C++的模板可以分为:          (满分:4)
    A. 成员模板
    B. 对象模板
    C. 类模板
    D. 函数模板
三、判断题:转载请注明无忧答案网www.ap5u.com
1.面向对象程序设计方法比面向过程程序设计方法更加吻合计算机的工作过程。          (满分:4)
    A. 错误
    B. 正确
2.同名的变量或函数定义在不同的名字的命名空间来解决冲突问题。          (满分:4)
    A. 错误
    B. 正确
3.用struct定义类的时候,如果没有指明成员的访问权限,则默认为公有类型。          (满分:4)
    A. 错误
    B. 正确
4.用虚函数实现动态性时,派生类应从基类以保护方式派生。          (满分:4)
    A. 错误
    B. 正确
5.在定义类的数据成员时,不可以在类中直接对它们进行初始化。          (满分:4)
    A. 错误
    B. 正确
6.static成员函数不能用const修饰,但是可以声明为虚函数。          (满分:4)
    A. 错误
    B. 正确
7.用virtual声明的函数为虚函数          (满分:4)
    A. 错误
    B. 正确
8.当将一个类S 定义为零一个类A 的友元类时,类S的所有成员函数都可以直接访问类A 的所有成员          (满分:4)
    A. 错误
    B. 正确
9.类除了用class定义外,还可以用struct定义。          (满分:4)
    A. 错误
    B. 正确
10.编译时多态性通过重载函数实现          (满分:4)
    A. 错误
    B. 正确

页: [1]
查看完整版本: 兰大《面向对象程序设计》17春平时作业123答案辅导