黄老师 发表于 2014-5-5 08:16:25

东师《c++程序设计(高起专)》14春在线作业答案

东师《c++程序设计(高起专)》2014春第一次在线作业
试卷总分:100   测试时间:--
一、单选题(共20道试题,共60分。)
1.静态成员函数仅能访问()。
A. 静态的数据成员
B. 非静态的成员函数
C. 非静态的数据成员
D. 以上都不对
满分:3分
2.假设已经有定义char*const name="chen"; 下面的语句中正确的是()。
A. name= 'q';
B. name="lin";
C. name=new char;
D. name=new char ('q') ;
满分:3分
3.通常拷贝构造函数的参数是()。
A. 某个对象名
B. 某个对象的成员名
C. 某个对象的引用名
D. 某个对象的指针名
满分:3分
4.已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明()。
A. f1和f2都是静态函数
B. f1是静态函数,f2不是静态函数
C. f1不是静态函数,f2是静态函数
D. f1和f2都不是静态函数
满分:3分
5.假定classA为一个类,a为该类公有的数据成员,px为指向该类对象的指针,则访问px所指对象中数据成员a的格式为()。
A. px(a)
B. px
C. px->a
D. px.a
满分:3分
6.在C++中,编写一个内联函数Fun,使用int类型的参数,求其平方并返回,返回值也为int类型,下列定义正确的是()。
A. int Fun(int x){return x*x;}
B. inline int Fun(int x){return x*x;}
C. int inline Fun(int x){return x*x;}
D. int Fun(int x){inline return x*x;}
满分:3分
7.下面的类型声明中正确的是()。
A. int &a;
B. int &*p;
C. int & &q;
D. int I,*pp=&I;
满分:3分
8.下面对类的析构函数的定义是() 。
A. X::~ X( 参数 );
B. void X::~ X( 参数 );
C. void X::~ X();
D. X::~ X();
满分:3分
9.下列语句中错误的是()。
A. int *p=new int (10);
B. int *p=new int;
C. int *p=new int;
D. int *p=new int(0);
满分:3分
10.下面对于指针的描述不正确的是()。
A. 指针是地址变量
B. 指针不能用除0以外的常量赋值
C. 两个指针变量的加减法无意义
D. 指针指向不同基类型的变量长度不同
满分:3分
11.为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义为()。
A. public
B. protected
C. private
D. static
满分:3分
12.C++程序的执行总是从()开始的。
A. main函数
B. 第一行
C. 头文件
D. 函数注释
满分:3分
13.在函数定义前加上关键字"inline",表示该函数被定义为()。
A. 重载函数
B. 友元函数
C. 内联函数
D. 成员函数
满分:3分
14.在声明类时,下面的说法正确的是()。
A. 可以在类的声明中给数据成员赋初值
B. 数据成员的数据类型可以是register
C. private、public、protected可以按任意顺序出现
D. 没有用private、public、protected定义的数据成员是公有成员
满分:3分
15.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()。
A. 类
B. 对象
C. 函数体
D. 数据块
满分:3分
16.面向对象程序设计将数据与()放在一起,作为一个相互依存、不可分割的整体来处理。
A. 对数据的操作
B. 信息
C. 数据隐藏
D. 数据抽象
满分:3分
17.假定classA为一个类,则执行“classA x;”语句时将自动调用该类的()。
A. 无参构造函数
B. 带参构造函数
C. 复制构造函数
D. 赋值重载函数
满分:3分
18.静态数据成员的初始化必须在()。
A. 类内
B. 类外
C. 在构造函数内
D. 静态成员函数内
满分:3分
19.构造函数是在()时被执行的。
A. 程序编译
B. 创建对象
C. 创建类
D. 程序装入内存
满分:3分
20.将客观实体的特征与行为作为不可分割的整体进行程序设计的方法称为()程序设计。
A. 面向应用
B. 面向过程
C. 面向对象
D. 面向系统
满分:3分
二、判断题(共20道试题,共40分。)
1.C++对由const修饰符定义的常量进行严格的类型检查,但对用define定义的常量则不进行类型检查。
A. 错误
B. 正确
满分:2分
2.多态性是指不同的对象收到相同的消息时产生多种不同的行为方式。
A. 错误
B. 正确
满分:2分
3.类中可以包含各种数据类型的数据成员,但不能有其他类对象。
A. 错误
B. 正确
满分:2分
4.C++不允许定义有默认参数的函数。
A. 错误
B. 正确
满分:2分
5.类和对象之间的关系是抽象和具体的关系。
A. 错误
B. 正确
满分:2分
6.数组中的每个元素它们的类型可以是不同的。
A. 错误
B. 正确
满分:2分
7.C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己申请和释放。
A. 错误
B. 正确
满分:2分
8.用对象访问成员时应使用运算符“.",用指向对象的指针访问成员时应使用运算符“->"。
A. 错误
B. 正确
满分:2分
9.在默认参数函数的原型中,所有取缺省值的参数都必须出现在不取缺省值的参数的右边。
A. 错误
B. 正确
满分:2分
10.私有静态数据成员不能被类外部函数访问,也不能用对象进行访问。
A. 错误
B. 正确
满分:2分
11.在删除一个动态对象时,将自动调用该动态对象所属类的析构函数。
A. 错误
B. 正确
满分:2分
12.在面向对象的程序设计中,将一组对象的共同特性抽象出来形成类。
A. 错误
B. 正确
满分:2分
13.一个类可以定义多个构造函数和多个析构函数。
A. 错误
B. 正确
满分:2分
14.常量和引用在声明时必须初始化。
A. 错误
B. 正确
满分:2分
15.C++中的函数调用就是面向对象理论中的消息。
A. 错误
B. 正确
满分:2分
16.在类定义体内,只有具有public访问属性的成员间可以相互访问。
A. 错误
B. 正确
满分:2分
17.如果一个类只定义了一个带参的构造函数,则系统会给它提供缺省的无参构造函数。
A. 错误
B. 正确
满分:2分
18.不能在类声明中给数据成员赋初值。
A. 错误
B. 正确
满分:2分
19.对于类中的对象成员既可以在构造函数的初始化列表中初始化也可以在构造函数体中初始化。
A. 错误
B. 正确
满分:2分
20.构造函数和析构函数都与类同名。
A. 错误
B. 正确
东师《c++程序设计(高起专)》2014春第二次在线作业
试卷总分:100   测试时间:--
一、单选题(共20道试题,共60分。)
1.进行文件操作需包含头文件()。
A. fstream.h
B. ostream.h
C. stdio.h
D. stdlib.h
满分:3分
2.下列关于动态联编的描述中,错误的是()。
A. 动态联编是以虚函数为基础的
B. 动态联编是在运行时确定所调用的函数代码的
C. 动态联编需要用指向对象对象的指针或引用来调用需函数
D. 动态联编是在编译时确定操作函数的
满分:3分
3.派生类的对象对它的基类成员中什么是可访问的()
A. 公有继承的公有成员
B. 公有继承的私有成员
C. 公有继承的保护成员
D. 私有继承的公有成员
满分:3分
4.应在下列程序划线处填入的正确语句是()。 #include class Base {  public: void fun(){cout<<"Base::fun"<<ENDL;} }; class Derived:public Base {  void fun()   {_____________ //显示调用基类的函数fun()     cout<<"Derived::fun"<<ENDL;   } };
A. fun();
B. Base.fun();
C. Base::fun();
D. Base->fun();
满分:3分
5.在I/O流库中定义的控制浮点数输出精度的函数为()。
A. width()
B. fill()
C. precision()
D. setprecision()
满分:3分
6.下列函数中,()是对文件进行写操作的。
A. get()
B. read()
C. seekg()
D. put()
满分:3分
7.设有函数模板 template<class Q> Q Sum(Q x,Q y){ return(x)+(y); } 则下列语句中对该函数模板错误的使用是()。
A. Sum(10,2);
B. Sum(5.0,6.7);
C. Sum(15.2f,16.0f);
D. Sum(″AB″,″CD″);
满分:3分
8.在C++中继承方式有几种()。
A. 1
B. 2
C. 3
D. 4
满分:3分
9.若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的()。
A. 私有成员
B. 公有成员
C. 保护成员
D. 保护成员或私有成员
满分:3分
10.如有以下模板类定义: 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分
11.可以用p.a的形式访问派生类对象p的基类成员a,其中a是()
A. 私有继承的公有成员
B. 公有继承的私有成员
C. 公有继承的保护成员
D. 公有继承的公有成员
满分:3分
12.在派生类中重新定义虚函数时,除了(),其它方面都必须与基类中相应的虚函数保持一致。
A. 参数个数
B. 参数类型
C. 函数体
D. 函数名称
满分:3分
13.C++语言建立类库是通过()实现的。
A. 类的嵌套
B. 类的继承
C. 虚函数
D. 抽象类
满分:3分
14.要将类A说明是类B的虚基类,正确的描述是()。
A. class virtual B:public A
B. class B:virtual public A
C. virtual class B:public A
D. class B:public A virtual
满分:3分
15.当需要使用ostream流类定义一个流对象并联系一个字符串时,应在文件开头使用#include命令,使之包含()文件。
A. iostream.h
B. stdlib.h
C. strstream.h
D. fstream.h
满分:3分
16.#include <iostream.h>   class BASE{     char c;   public:     BASE(char n):c(n){}     virtual~BASE(){cout<<C;}   };   class DERIVED:public BASE{     char c;   public:     DERIVED(char n):BASE(n+1),c(n){}     ~DERIVED(){cout
A. XY
B. YX
C. X
D. Y
满分:3分
17.如有以下模板类定义: 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分
18.如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,则采用运算符函数调用格式,该表达式还可以表示为()。
A. x.operator++(0).operator*(y)
B. operator*(x.operator++(0),y)
C. operator*(operator++(x,0),y)
D. y.operator*(operator++(x,0))
满分:3分
19.撤销包含有对象成员的派生类对象时,自动调用析构函数的执行顺序依次为()的析构函数。
A. 基类、自己所属类、对象成员所属类
B. 对象成员所属类、基类、自己所属类
C. 自己所属类、对象成员所属类、基类
D. 基类、对象成员所属类、自己所属类
满分:3分
20.下面描述中,表达错误的是()。
A. 公有继承时基类中的public成员在派生类中仍是public的
B. 公有继承时基类中的private成员在派生类中仍是private的
C. 公有继承时基类中的protected成员在派生类中仍是protected的
D. 保护继承时基类中的public成员在派生类中是private的
满分:3分
二、判断题(共20道试题,共40分。)
1.get()和put()函数的功能是一次读写一个字符,而read()和write()函数是一次读写一个数据块。
A. 错误
B. 正确
满分:2分
2.类A继承类B,则A称为B的基类,B称为A的派生类。
A. 错误
B. 正确
满分:2分
3.构造函数和析构函数都可以是虚函数。
A. 错误
B. 正确
满分:2分
4.若有声明:class B: A{};则类B的继承方式为公有继承。
A. 错误
B. 正确
满分:2分
5.函数模板不可以重载。
A. 错误
B. 正确
满分:2分
6.函数重载与运算符重载都是编译时的多态。
A. 错误
B. 正确
满分:2分
7.当基类的构造函数没有参数,或没有显式定义构造函数时,派生类可以不定义构造函数。
A. 错误
B. 正确
满分:2分
8.ostrstream是向字符数组的输出流,istrstream是从字符数组的输入流。
A. 错误
B. 正确
满分:2分
9.前缀自增运算符用成员函数方式重载时,其参数个数为0,用友元函数重载时,其参数个数为1。
A. 错误
B. 正确
满分:2分
10.操纵符函数setw(n)只对下一个输出有效。
A. 错误
B. 正确
满分:2分
11.使用重载运算符既可以用运算符的方式又可以用函数调用的方式。
A. 错误
B. 正确
满分:2分
12.类模板必须由程序员实例化成模板类。
A. 错误
B. 正确
满分:2分
13.cout是I/O流库中预定义的输出流对象,cin是输入流对象。
A. 错误
B. 正确
满分:2分
14.在文件操作结束时,可以用close()成员函数关闭该文件。
A. 错误
B. 正确
满分:2分
15.当基类含有带参数的构造函数时,派生类可以不定义构造函数。
A. 错误
B. 正确
满分:2分
16.如果一个类至少有一个虚函数,那么该类就被称为抽象类。
A. 错误
B. 正确
满分:2分
17.析构函数可以是虚函数,构造函数不能定义为虚函数。
A. 错误
B. 正确
满分:2分
18.fstream是既可用于写文件又可用于读文件的文件流。
A. 错误
B. 正确
满分:2分
19.一个派生类继承多个基类称为虚拟继承。
A. 错误
B. 正确
满分:2分
20.我们不能用抽象类定义对象,但可以定义对象的指针。
A. 错误
B. 正确
满分:2分

页: [1]
查看完整版本: 东师《c++程序设计(高起专)》14春在线作业答案