东师13春c++程序设计(高起专)在线作业答案
2013春第一次在线作业试卷总分:100 测试时间:--
一、单选题(共20道试题,共60分。)
1.下列()的调用方式是引用调用。
A. 形参是引用,实参是变量
B. 形参和实参都是变量
C. 形参是变量,实参是地址值
D. 形参是指针,实参是地址值
满分:3分
2.下面对类的析构函数的定义是() 。
A. X::~ X( 参数 );
B. void X::~ X( 参数 );
C. void X::~ X();
D. X::~ X();
满分:3分
3.下列各种高级语言中,不是面向对象的程序设计语言的是()。
A. C++
B. Java
C. VB
D. C
满分:3分
4.C++利用()实现面向对象程序设计的封装性。
A. 构造数据类型—类
B. 构造数据类型—枚举
C. 类的派生机制
D. 函数重载与运算符重载
满分:3分
5.假设已经有定义const char*const name="chen"; 下面的语句中正确的是()。
A. name= 'a';
B. name="lin";
C. name=new char;
D. cout<<name;
满分:3分
6.C++利用()实现面向对象程序设计的继承性。
A. 构造数据类型—类
B. 类的派生机制
C. 构造数据类型—枚举
D. 函数重载与运算符重载
满分:3分
7.在下面有关对构造函数的描述中,正确的是()。
A. 构造函数可以带有返回值
B. 构造函数的名字与类名完全相同
C. 构造函数必须带有参数
D. 构造函数必须定义,不能缺省
满分:3分
8.假设已经有定义char*const name="chen"; 下面的语句中正确的是()。
A. name= 'q';
B. name="lin";
C. name=new char;
D. name=new char ('q') ;
满分:3分
9.下面有关重载函数的说法中正确的是()。
A. 重载函数必须具有不同的返回值类型
B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同;
满分:3分
10.类的析构函数是在()被调用的。
A. 类创建时
B. 创建对象时
C. 删除对象时
D. 不自动调用
满分:3分
11.C++是一种()的程序设计语言。
A. 面向对象
B. 即可面向过程,又可面向对象
C. 面向过程
D. 面向系统
满分:3分
12.已知:print( )函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的。
A. void print( ) const;
B. const void print( );
C. void const print( );
D. void print(const);
满分:3分
13.在 C++ 中,数据与操作的封装是借助于()达到的。
A. 指针
B. 类
C. 数组
D. 函数
满分:3分
14.以下叙述正确的是()。
A. 设置参数的默认值时,应该全部参数都设置
B. 不允许设置参数的默认值
C. 可以为多个参数设置默认值,但默认值必须从右向左缺省
D. 可以为多个参数设置默认值,但默认值必须从左向右缺省
满分:3分
15.假设Sample是个类,则语句“Sample a[2],*p[3];”调用构造函数的次数为()。
A. 0
B. 2
C. 3
D. 5
满分:3分
16.构造函数是一种特殊的成员函数,显式定义时其访问属性应被定义为()。
A. public
B. private
C. protected
D. static
满分:3分
17.下列语句中错误的是()。
A. int *p=new int (10);
B. int *p=new int;
C. int *p=new int;
D. int *p=new int(0);
满分:3分
18.假定一个类的构造函数为“B(int a, int b):a(ax),b(bx){}”, 则执行“B x(6,5);y(3,2);”语句序列后,x.a的值为()。
A. 2
B. 3
C. 5
D. 6
满分:3分
19.假定一个类的构造函数为“A(int aa=1, int bb=0) {a=aa; b=bb;}”, 则执行“A x(4);”语句后,x.a和x.b的值分别为()。
A. 1和0
B. 1和4
C. 4和0
D. 4和1
满分:3分
20.下列关于构造函数的描述中,错误的是()。
A. 构造函数可以设置默认参数;
B. 构造函数在定义类对象时自动执行
C. 构造函数可以是内联函数
D. 构造函数不可以重载
满分:3分
二、判断题(共20道试题,共40分。)
1.this指针是一个const指针,不能在程序中修改它或给它赋值。
A. 错误
B. 正确
满分:2分
2.构造函数和析构函数都不能带参数。
A. 错误
B. 正确
满分:2分
3.类中成员的默认访问属性为私有,结构中成员的默认访问属性为公有。
A. 错误
B. 正确
满分:2分
4.重载函数至少在参数个数、参数类型或参数顺序上要有所不同。
A. 错误
B. 正确
满分:2分
5.通过类对象可以访问类中所有的成员。
A. 错误
B. 正确
满分:2分
6.在默认参数函数的原型中,所有取缺省值的参数都必须出现在不取缺省值的参数的左边。
A. 错误
B. 正确
满分:2分
7.当一个类被说明为另一个类的友元时,它的所有的成员函数都成为另一个类的友元函数。
A. 错误
B. 正确
满分:2分
8.在面向对象的程序设计中,将一组对象的共同特性抽象出来形成类。
A. 错误
B. 正确
满分:2分
9.不能在类声明中给数据成员赋初值。
A. 错误
B. 正确
满分:2分
10.C++对由const修饰符定义的常量进行严格的类型检查,但对用define定义的常量则不进行类型检查。
A. 错误
B. 正确
满分:2分
11.构造函数和析构函数既可以由程序员调用,也可以由系统自动调用。
A. 错误
B. 正确
满分:2分
12.如果一个类只定义了一个带参的构造函数,则系统会给它提供缺省的无参构造函数。
A. 错误
B. 正确
满分:2分
13.C++编译器能够区分重载的无参函数和缺省参数的函数。
A. 错误
B. 正确
满分:2分
14.C++用操作符new和delete来进行动态内存管理(分配与释放堆内存)。
A. 错误
B. 正确
满分:2分
15.C++中的函数就是面向对象理论中的消息。
A. 错误
B. 正确
满分:2分
16.类中成员的默认访问属性为公有,结构中成员的默认访问属性为私有。
A. 错误
B. 正确
满分:2分
17.一个类的友元一定是另一个类的成员函数。
A. 错误
B. 正确
满分:2分
18.拷贝构造函数是在用一个对象初始化另一个对象时被调用的。
A. 错误
B. 正确
满分:2分
19.成员函数体写在类的外部时不必在类的内部保留函数声明。
A. 错误
B. 正确
满分:2分
20.用new分配的空间,使用结束后必须用delete显式地释放。
A. 错误
B. 正确
满分:2分
2013春第二次在线作业
试卷总分:100 测试时间:--
一、单选题(共20道试题,共60分。)
1.如果在类A中用成员函数的方式重载了后缀自增运算符++,又定义了类A的一个对象a,则以下用法正确的是()。
A. operator++(a,0);
B. a.operator++();
C. a.operator++(0);
D. ++a;
满分:3分
2.在I/O流库中定义的控制输出宽度的函数为()。
A. width()
B. fill()
C. precision()
D. setw()
满分:3分
3.如有以下函数模板: T min(T a,T b) { return a<ba:b; } 则函数调用 min<int>(100,’b’); 返回的结果是()。
A. 100
B. 98
C. b
D. d
满分:3分
4.派生类的对象对它的基类成员中什么是可访问的()
A. 公有继承的公有成员
B. 公有继承的私有成员
C. 公有继承的保护成员
D. 私有继承的公有成员
满分:3分
5.下面程序的运行结果为()。 #include class A{ public: A(){cout<<”1”;} ~A(){cout<<”2”;} } class B:public A{ public: B(){cout<<”3”;} ~B(){cout<<”4”;} } void main(){ B b; }
A. 1234
B. 1324
C. 1342
D. 3142
满分:3分
6.对虚函数的调用()。
A. 一定使用动态联编
B. 一定使用静态联编
C. 一定使用指针
D. 不一定使用动态联编
满分:3分
7.一个()允许用户为类定义一种模式,使得类中的某些数据成员及成员函数的返回值能取任意类型。
A. 函数模板
B. 模板函数
C. 类模板
D. 模板类
满分:3分
8.定义类模板时要使用关键字()。
A. const
B. new
C. delete
D. template
满分:3分
9.要想以读方式打开文件“D:\File.txt”,以下不能实现目的的语句是()。
A. ifstream inf("D:\\File txt",ios::in);
B. ifstream inf("D:\\File.txt");
C. ofstream inf("D:\\File.txt",ios::out);
D. fstream inf("D:\\File.txt",ios::in|ios::out);
满分:3分
10.下面程序的运行结果为()。 #include class A{ public: A(){cout<<”1”;} ~A(){cout<<”2”;} } class B:public A{ public: B(){cout<<”3”;} ~B(){cout<<”4”;} } void main(){ B b; }
A. 1234
B. 1324
C. 1342
D. 3142
满分:3分
11.若有定义“int x=17;”,则语句“cout<<oct<<x;”的输出结果是()
A. 11
B. 0x11
C. 21
D. 021
满分:3分
12.下列类中()不是输入流类istream的派生类。
A. ifstream
B. istrstream
C. iostream
D. ofstream
满分:3分
13.如果在类A中用友元函数的方式重载了后缀自增运算符++,又定义了类A的一个对象a,则以下用法正确的是()。
A. operator++(a,0);
B. a.operator++();
C. a.operator++(0);
D. ++a;
满分:3分
14.建立包含有对象成员的派生类对象时,自动调用构造函数的执行顺序依次为()的构造函数。
A. 基类、自己所属类、对象成员所属类
B. 对象成员所属类、基类、自己所属类
C. 自己所属类、对象成员所属类、基类
D. 基类、对象成员所属类、自己所属类
满分:3分
15.下列关于动态联编的描述中,错误的是()。
A. 动态联编是以虚函数为基础的
B. 动态联编是在运行时确定所调用的函数代码的
C. 动态联编需要用指向对象对象的指针或引用来调用需函数
D. 动态联编是在编译时确定操作函数的
满分:3分
16.在磁盘文件操作中,以追加方式打开磁盘文件时,其mode值为()。
A. in
B. app
C. out
D. ate
满分:3分
17.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为()。
A. ios::in
B. ios::out
C. ios::in|ios::out
D. 以上都不对
满分:3分
18.下列运算符中,在C++语言中不能重载的是()。
A. *
B. >=
C. ::
D. /
满分:3分
19.如有以下模板类定义: Template <class T> class sum { T a, b; Public: Sum (T x, T y); } 则在类体外定义构造函数正确的是()。
A. template <class T> sum::sum(T x,T y) { a=x; b=y; }
B. template <typename T> sum(T x,T y) { a=x; b=y; }
C. template <class T> sum<T>::sum(T x,T y) { a=x; b=y; }
D. sum<T>::sum(T x,T y) { a=x; b=y; }
满分:3分
20.撤销包含有对象成员的派生类对象时,自动调用析构函数的执行顺序依次为()的析构函数。
A. 基类、自己所属类、对象成员所属类
B. 对象成员所属类、基类、自己所属类
C. 自己所属类、对象成员所属类、基类
D. 基类、对象成员所属类、自己所属类
满分:3分
二、判断题(共20道试题,共40分。)
1.当基类含有带参数的构造函数时,派生类必须定义构造函数。
A. 错误
B. 正确
满分:2分
2.ifstream是用于读文件的文件流。
A. 错误
B. 正确
满分:2分
3.ifstream是用于写文件的文件流。
A. 错误
B. 正确
满分:2分
4.析构函数可以是虚函数,构造函数不能定义为虚函数。
A. 错误
B. 正确
满分:2分
5.操纵符hex、oct、dec只对下一个输出有效。
A. 错误
B. 正确
满分:2分
6.C++流类库是用继承方法建立起来的,它具有两个平行的基类,即istream类和ostream类,所有其他的流类都是从它们直接或间接地派生出来的。
A. 错误
B. 正确
满分:2分
7.当类中有指针类型数据成员时,需重载赋值运算符,否则会产生指针悬挂问题。
A. 错误
B. 正确
满分:2分
8.ostrstream是向字符数组的输出流,istrstream是从字符数组的输入流。
A. 错误
B. 正确
满分:2分
9.C++流类库是用继承方法建立起来的,它具有两个平行的基类,即streambuf类和ios类,所有其他的流类都是从它们直接或间接地派生出来的。
A. 错误
B. 正确
满分:2分
10.若有声明:class B: A{};则类B的继承方式为公有继承。
A. 错误
B. 正确
满分:2分
11.若左操作数为基本数据类型或其它类对象时,此运算符应以友元函数的方式重载。
A. 错误
B. 正确
满分:2分
12.函数模板是基于不同的数据类型完成类似的操作,而重载函数则是对不同的数据类型完成相同的操作。
A. 错误
B. 正确
满分:2分
13.protected和private区别在于:protected成员可以被派生类访问,而private成员则不能被派生类访问。
A. 错误
B. 正确
满分:2分
14.建立包含有对象成员的派生类对象时,自动调用构造函数的执行顺序依次为基类、对象成员所属类、派生类的构造函数。
A. 错误
B. 正确
满分:2分
15.ios类中的格式化输入输出成员函数必须由输入输出流对象来调用。
A. 错误
B. 正确
满分:2分
16.函数模板不可以重载。
A. 错误
B. 正确
满分:2分
17.C++标准库中的输入输出格式操作符(函数)必须由输入输出流对象来调用。
A. 错误
B. 正确
满分:2分
18.如果一个类至少有一个虚函数,那么该类就被称为抽象类。
A. 错误
B. 正确
满分:2分
19.若重载了赋值运算符“=”,则相当于重载了“+=”、“-=”、“*=”、“/=”运算符。
A. 错误
B. 正确
满分:2分
20.若有声明:class C: public A,B{};则类C公有继承自类A及类B。
A. 错误
B. 正确
满分:2分
页:
[1]