青青 发表于 2013-10-16 16:32:30

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

东师《c++程序设计(高起专)》2013秋第一次在线作业
试卷总分:100   测试时间:--
一、单选题(共20道试题,共60分。)
1.在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)c++程序设计(高起专){return x*x;}
D. int Fun(int x){inline return x*x;}
满分:3分
2.假定一个类A只含有一个整型数据成员x,当用户不定义任何构造函数时,系统为该类定义的默认无参构造函数为()。
A. A(){x=0;}
B. A(int a=0):x(a){}
C. A(){}
D. A(int a):x(a){}
满分:3分
3.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()。
A. 类
B. 对象
C. 函数体
D. 数据块
满分:3分
4.不能作为重载函数的调用依据的是()。
A. 参数个数
B. 参数类型
C. 返回值类型
D. 函数名称
满分:3分
5.类的析构函数是在()被调用的。
A. 类创建时
B. 创建对象时
C. 删除对象时
D. 不自动调用
满分:3分
6.下面有关重载函数的说法中正确的是()。
A. 重载函数必须具有不同的返回值类型
B. 重载函数形参个数必须不同
C. 重载函数必须有不同的形参列表
D. 重载函数名可以不同;
满分:3分
7.类MyA的拷贝初始化构造函数是()。
A. MyA()
B. MyA(MyA*)
C. MyA(MyA&)
D. MyA(MyA)
满分:3分
8.静态成员函数仅能访问()。
A. 静态的数据成员
B. 非静态的成员函数
C. 非静态的数据成员
D. 以上都不对
满分:3分
9.下面对类的构造函数的定义是() 。
A. void X::X( 参数 )
B. X::X( 参数 )
C. int X::X( 参数 )
D. float X::X( 参数 )
满分:3分
10.下列语句中错误的是()。
A. int *p=new int (10);
B. int *p=new int;
C. int *p=new int;
D. int *p=new int(0);
满分:3分
11.C++利用()实现面向对象程序设计的继承性。
A. 构造数据类型—类
B. 类的派生机制
C. 构造数据类型—枚举
D. 函数重载与运算符重载
满分:3分
12.关于void指针,下列说法正确的是()。
A. void指针就是已定义而未初始化的指针
B. void指针就是未指向任何数据的指针
C. void指针值可以直接赋给一个非void指针
D. 指向任何类型数据的指针可直接赋值给一个void指针
满分:3分
13.定义p并使p指向动态空间中的包含10个整数的数组所使用的定义语句为()。
A. int *p=new;
B. int *p=new int(10);
C. *p=new int;
D. int *p=new int;
满分:3分
14.假设已经有定义const char*const name="chen"; 下面的语句中正确的是()。
A. name= 'a';
B. name="lin";
C. name=new char;
D. cout<<name;
满分:3分
15.在函数定义前加上关键字"inline",表示该函数被定义为()。
A. 重载函数
B. 友元函数
C. 内联函数
D. 成员函数
满分:3分
16.()不是构造函数的特征。
A. 构造函数的函数名与类名相同
B. 构造函数可以重载
C. 构造函数可以设置缺省参数
D. 构造函数必须指定类型说明
满分:3分
17.已知f1和f2是同一类的两个成员函数,但f1不能直接调用f2,这说明()。
A. f1和f2都是静态函数
B. f1是静态函数,f2不是静态函数
C. f1不是静态函数,f2是静态函数
D. f1和f2都不是静态函数
满分:3分
18.下面对类的析构函数的定义是() 。
A. X::~ X( 参数 );
B. void X::~ X( 参数 );
C. void X::~ X();
D. X::~ X();
满分:3分
19.在函数声明中,()是不必要的。
A. 函数名
B. 函数类型
C. 参数的名称
D. 参数类型
满分:3分
20.当将一个类A说明为另一个类B的友元后,类A能够直接访问类B的()。
A. 只能是公有成员
B. 只能是保护成员
C. 只能是除私有成员之外的任何成员
D. 具有任何权限的成员
满分:3分
二、判断题(共20道试题,共40分。)
1.构造函数是不能说明它的返回值类型的,但可以说明为void类型。
A. 错误
B. 正确
满分:2分
2.C++中,对象保存在内存中,堆内存是自动分配和释放的,而栈内存需要用户自己申请和释放。
A. 错误
B. 正确
满分:2分
3.C++中,对象保存在内存中,栈内存是自动分配和释放的,而堆内存需要用户自己申请和释放。
A. 错误
B. 正确
满分:2分
4.赋值号两边的数据类型不一致时,将无法进行赋值运算。
A. 错误
B. 正确
满分:2分
5.凡是用inline说明的函数一定是内联函数。
A. 错误
B. 正确
满分:2分
6.C++程序设计中,每个语句应以分号结束。
A. 错误
B. 正确
满分:2分
7.原型说明中没有指出返回类型的函数(包括主函数main),C++默认该函数的返回类型是int
A. 错误
B. 正确
满分:2分
8.构造函数和析构函数既可以由程序员调用,也可以由系统自动调用。
A. 错误
B. 正确
满分:2分
9.构造函数和析构函数都不可以由程序员调用,只能由系统自动调用。
A. 错误
B. 正确
满分:2分
10.用对象访问成员时应使用运算符“.",用指向对象的指针访问成员时应使用运算符“->"。
A. 错误
B. 正确
满分:2分
11.当一个类被说明为另一个类的友元时,它的所有的成员函数都成为另一个类的友元函数。
A. 错误
B. 正确
满分:2分
12.静态成员函数与在一般的成员函数一样,都隐含有一个this指针。
A. 错误
B. 正确
满分:2分
13.静态数据成员是类中所有对象共享的,可以通过类的对象访问。
A. 错误
B. 正确
满分:2分
14.在一般的成员函数中都隐含有一个this指针,用来指向对象自身,而在静态成员函数中是没有this指针的。
A. 错误
B. 正确
满分:2分
15.类中成员的默认访问属性为私有,结构中成员的默认访问属性为公有。
A. 错误
B. 正确
满分:2分
16.C++利用类的派生机制实现面向对象程序设计的多态性。
A. 错误
B. 正确
满分:2分
17.重载函数至少在参数个数、参数类型或参数顺序上要有所不同。
A. 错误
B. 正确
满分:2分
18.若将函数说明为返回一个引用,则该函数可以用在赋值运算符的左边。
A. 错误
B. 正确
满分:2分
19.C++利用函数重载实现面向对象程序设计的封装性。
A. 错误
B. 正确
满分:2分
20.成员函数体写在类的外部时不必在类的内部保留函数声明。
2013秋第二次在线作业
试卷总分:100   测试时间:--
一、单选题(共20道试题,共60分。)
1.cout是I/O流库中预定义的()。
A. 类
B. 对象
C. 文件
D. 常量
满分:3分
2.read()函数的功能是从输入流中读取()。
A. 一个字符
B. 当前字符
C. 一行字符
D. 指定若干个字符
满分:3分
3.下面选项中,()是用来声明虚函数的。
A. virtual
B. void
C. static
D. inline
满分:3分
4.要将类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分
5.一个()允许用户为类定义一种模式,使得类中的某些数据成员及成员函数的返回值能取任意类型。
A. 函数模板
B. 模板函数
C. 类模板
D. 模板类
满分:3分
6.下列关于纯虚函数的描述中,正确的是()。
A. 纯虚函数是一种特殊的虚函数,它是个空函数
B. 具有纯虚函数的类称为虚基类
C. 一个基类中说明有纯虚函数,其派生类一定要实现该纯虚函数
D. 具有纯虚函数的类不能创建类对象
满分:3分
7.对于类定义 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分
8.语句ofstream f(“SALARY.DAT”,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且()。
A. 若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件
B. 若文件存在,将其置为空文件;若文件不存在,打开失败
C. 若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件
D. 若文件存在,打开失败;若文件不存在,建立一个新文件
满分:3分
9.关于函数模板,描述错误的是()。
A. 函数模板必须由程序员实例化
B. 函数模板的实例化由编译器实现
C. 一个类定义中,只要有一个函数模板,则这个类是类模板
D. 若类模板的成员函数是函数模板,则类模板实例化后,成员函数也随之实例化
满分:3分
10.可以用p.a的形式访问派生类对象p的基类成员a,其中a是()
A. 私有继承的公有成员
B. 公有继承的私有成员
C. 公有继承的保护成员
D. 公有继承的公有成员
满分:3分
11.下列关于虚基类的描述,错误的是()。
A. 设置虚基类的目的是为了消除二义性
B. 虚基类的构造函数在非虚基类之后调用
C. 若同一层中包含多个虚基类,这些虚基类的构造函数按它们说明的次序调用
D. 若虚基类由非虚基类派生而来,则仍然先调用基类构造函数,再调用派生类的构造函数
满分:3分
12.如果表达式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分
13.内部格式控制操作函数是在头文件()中定义的。
A. strstream.h
B. iomanip.h
C. istream.h
D. ostream.h
满分:3分
14.下面运算符中,不能被重载的运算符是()。
A. <=
B. -
C. :
D. []
满分:3分
15.以下有关继承的叙述正确的是()。
A. 构造函数和析构函数都能被继承
B. 派生类是基类的组合
C. 派生类对象除了能访问自己的成员以外,不能访问基类中的所有成员
D. 基类的公有成员一定能被派生类的对象访问
满分:3分
16.下列函数中,()是对文件进行读操作的。
A. put
B. read
C. write
D. seekp
满分:3分
17.下列语句中不存在类型转换的是()。
A. int(1.1);
B. (double)2.2;
C. int i=1;
D. char c=97;
满分:3分
18.在多继承的构造函数的定义中,若干个基类的构造函数之间用()分隔开。
A. ::
B. :
C. ;
D. ,
满分:3分
19.C++的继承性允许派生类继承基类的()。
A. 部分特性,并允许增加新的特性或重定义基类的特性
B. 部分特性,但不允许增加新的特性或重定义基类的特性
C. 所有特性,并允许增加新的特性或重定义基类的特性
D. 所有特性,但不允许增加新的特性或重定义基类的特性
满分:3分
20.撤销包含有对象成员的派生类对象时,自动调用析构函数的执行顺序依次为()的析构函数。
A. 基类、自己所属类、对象成员所属类
B. 对象成员所属类、基类、自己所属类
C. 自己所属类、对象成员所属类、基类
D. 基类、对象成员所属类、自己所属类
满分:3分
二、判断题(共20道试题,共40分。)
1.若有声明:class B: A{};则类B的继承方式为公有继承。
A. 错误
B. 正确
满分:2分
2.C++流类库是用继承方法建立起来的,它具有两个平行的基类,即streambuf类和ios类,所有其他的流类都是从它们直接或间接地派生出来的。
A. 错误
B. 正确
满分:2分
3.当基类含有带参数的构造函数时,派生类可以不定义构造函数。
A. 错误
B. 正确
满分:2分
4.如果抽象类的虚函数在基类中被实现,我们就可以用它创建对象。
A. 错误
B. 正确
满分:2分
5.建立包含有对象成员的派生类对象时,自动调用构造函数的执行顺序依次为对象成员所属类、基类、派生类的构造函数。
A. 错误
B. 正确
满分:2分
6.在文件操作结束时,可以用close()成员函数关闭该文件。
A. 错误
B. 正确
满分:2分
7.测试二进制文件是否结束应调用eof()成员函数。
A. 错误
B. 正确
满分:2分
8.若有声明:class C: public A,B{};则类C公有继承自类A及类B。
A. 错误
B. 正确
满分:2分
9.撤销包含有对象成员的派生类对象时,自动调用析构函数的执行顺序依次为派生类、对象成员所属类、基类的析构函数。
A. 错误
B. 正确
满分:2分
10.类中重载提取运算符“>>”和插入运算符“<<”时只能用成员函数而不能用友元函数的形式。
A. 错误
B. 正确
满分:2分
11.若有声明:class B:virtual public A{};则类A为类B的虚基类。
A. 错误
B. 正确
满分:2分
12.函数重载与运算符重载都是编译时的多态。
A. 错误
B. 正确
满分:2分
13.如果派生类没有实现虚函数,那么它将使用它的基类的虚函数。
A. 错误
B. 正确
满分:2分
14.公有继承方式下,基类成员的访问权限在派生类中保持不变。
A. 错误
B. 正确
满分:2分
15.基类的公有成员在派生类中的访问权限由派生方式决定。
A. 错误
B. 正确
满分:2分
16.ios类中的格式化输入输出成员函数可以直接用在提取运算符“>>”或插入运算符“<<”后面。
A. 错误
B. 正确
满分:2分
17.fstream是既可用于写文件又可用于读文件的文件流。
A. 错误
B. 正确
满分:2分
18.无论什么方式的继承,基类的私有成员都不能被派生类访问。
A. 错误
B. 正确
满分:2分
19.IO流库重载的插入和析取运算符能处理所有的数据类型(包括自定义类型)。
A. 错误
B. 正确
满分:2分
20.一个派生类继承多个基类称为虚拟继承。
A. 错误
B. 正确
满分:2分
页: [1]
查看完整版本: 东师13秋《c++程序设计(高起专)》在线作业答案