东师《C++程序设计》2012秋第二次在线作业(随机)第1份

所属学校:东北师范大学 科目:C++程序设计 2015-03-17 12:06:15

2012秋第二次在线作业
试卷总分:100
单选题 判断题


一、单选题(共 20 道试题,共 60 分。)
1.下列输出字符''A''的方法中,错误的是()。
A. cout<<put(''A'');
B. cout<<''A'';
C. cout.put(''A'');
D. char a=''A'';cout<<a;

2.对于类定义 class A{ public: virtual void func1( ){ } void func2( ){ } }; class B:public A{ public: void func1( ){cout<<″class B func 1″<<end1;} virtual void func2( ){cout<<″class B f
A. A::func2( )和B::func1( )都是虚函数
B. A::func2( )和B::func1( )都不是虚函数
C. B::func1( )是虚函数,而A::func2( )不是虚函数
D. B::func1( )不是虚函数,而A::func2( )是虚函数

3.对于类定义 class A{ public: virtual void func1( ){ } void func2( ){ } }; class B:public A{ public: void func1( ){cout<<″class B func 1″<<end1;} virtual void func2( ){cout<<″class B f
A. A::func2( )和B::func1( )都是虚函数
B. A::func2( )和B::func1( )都不是虚函数
C. B::func1( )是虚函数,而A::func2( )不是虚函数
D. B::func1( )不是虚函数,而A::func2( )是虚函数

4.在下面格式化命令的解释中,错误的是()。
A. ios::skipws 跳过输入中的空白字符
B. ios::fill() 获得当前的填充字符
C. ios::hex 转换基数为八进制形式
D. ios::precision 返回当前的精度

5.可以用p.a的形式访问派生类对象p的基类成员a,其中a是()
A. 私有继承的公有成员
B. 公有继承的私有成员
C. 公有继承的保护成员
D. 公有继承的公有成员
此题选: D
6.应在下列程序划线处填入的正确语句是()。 #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();

7.下面选项中,()是用来声明虚函数的。
A. virtual
B. void
C. static
D. inline

8.内部格式控制操作函数是在头文件()中定义的。
A. strstream.h
B. iomanip.h
C. istream.h
D. ostream.h

9.如有以下函数模板: T min(T a,T b) { return a<b?a:b; } 则函数调用 min<int(100,’b’); 返回的结果是()。
A. 100
B. 98
C. b
D. d

10.关于虚函数的描述中,()是正确的。
A. 虚函数是一个static类型的成员函数
B. 虚函数是一个非成员函数
C. 基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数
D. 派生类的虚函数与基类的虚函数具有不同的参数个数和类型

11.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是()。
A. 派生类的对象可以赋给基类的对象
B. 派生类的对象可以初始化基类的引用
C. 指向派生类对象的基类指针可以直接访问派生类中的成员
D. 派生类的对象的地址可以赋给指向基类的指针

12.若有定义“int x=17;”,则语句“cout<<oct<<x;”的输出结果是()
A. 11
B. 0x11
C. 21
D. 021

13.语句ofstream f(“SALARY.DAT”,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且()。
A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B. 若文件存在,将其置为空文件;若文件不存在,打开失败
C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D. 若文件存在,打开失败;若文件不存在,建立一个新文件

14.()是iostream的派生类,可以同时处理文件的输入和输出。
A. ifstream
B. ofstream
C. fstream
D. fstream.h

15.cout是I/O流库中预定义的()。
A. 类
B. 对象
C. 文件
D. 常量

16.类模板的使用实际上是将类模板实例化成一个具体的()。
A. 类
B. 对象
C. 模板函数
D. 模板类
此题选: D
17.下列关于动态联编的描述中,错误的是()。
A. 动态联编是以虚函数为基础的
B. 动态联编是在运行时确定所调用的函数代码的
C. 动态联编需要用指向对象对象的指针或引用来调用需函数
D. 动态联编是在编译时确定操作函数的
此题选: D
18.下面运算符中,不能被重载的运算符是()。
A. <=
B. -
C. ?:
D. []

19.下列选项中,()是istream类的对象。
A. cin
B. cout
C. cerr
D. clog

20.对虚函数的调用()。
A. 一定使用动态联编
B. 一定使用静态联编
C. 一定使用指针
D. 不一定使用动态联编
此题选: D



2012秋第二次在线作业
试卷总分:100
单选题 判断题


二、判断题(共 20 道试题,共 40 分。)
1.析构函数是可以被派生类继承的。
A. 错误
B. 正确

2.文件流创建方式是打开二进制文件的是ios::binary。
A. 错误
B. 正确

3.在C++中,只能重载已有的运算符。
A. 错误
B. 正确

4.get()和put()函数的功能是一次读写一个字符,而read()和write()函数是一次读写一个数据块。
A. 错误
B. 正确

5.析构函数可以是虚函数,构造函数不能定义为虚函数。
A. 错误
B. 正确

6.函数模板不可以重载。
A. 错误
B. 正确

7.文本文件结束标志为EOF(即-1)。
A. 错误
B. 正确

8.当基类含有带参数的构造函数时,派生类必须定义构造函数。
A. 错误
B. 正确

9.C++标准库中的输入输出格式操作符(函数)必须由输入输出流对象来调用。
A. 错误
B. 正确

10.要对文件进行读写操作,必须在文件开头包含头文件fstream.h
A. 错误
B. 正确

11.ifstream是用于读文件的文件流。
A. 错误
B. 正确

12.重载函数是基于不同的数据类型完成类似的操作,而函数模板则是对不同的数据类型完成相同的操作。
A. 错误
B. 正确

13.ios类中的格式化输入输出成员函数必须由输入输出流对象来调用。
A. 错误
B. 正确

14.get()和put()函数的功能是一次读写一个数据块,而read()和write()函数是一次读写一个字符。
A. 错误
B. 正确

15.构造函数是不能被派生类继承的。
A. 错误
B. 正确

16.C++标准库提供了控制输入输出格式的操作符,所有不带形参的操作符都定义在头文件iomanip.h中,而带形参的操作符则定义在头文件iostream.h中
A. 错误
B. 正确

17.前缀自增运算符用成员函数方式重载时,其参数个数为0,用友元函数重载时,其参数个数为1。
A. 错误
B. 正确

18.若重载了赋值运算符“=”,则相当于重载了“+=”、“-=”、“*=”、“/=”运算符。
A. 错误
B. 正确

19.运算符=、()、[]、-不能用友元方式重载
A. 错误
B. 正确

20.在文件操作结束时,可以用eof()成员函数关闭该文件。
A. 错误
B. 正确






版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: