您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > C++选择题和判断题
一、选择题(40)1.C++对C语言作了很多改进,下列描述中(D)使得C语言发生了质变,从面向过程变成了面向对象。A、增加了一些新的运算符;B、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型;D、引进了类和对象的概念;2.下列描述中,(C)是错误的。A、内联函数主要解决程序的运行效率问题;B、内联函数的定义必须出现在内联函数第一次被调用之前;C、内联函数中可以包括各种语句;D、对内联函数不可以进行异常接口声明;3.在C++中,关于下列设置缺省参数值的描述中,(B)是正确的。A、不允许设置缺省参数值;B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;C、只能在函数的定义性声明中指定参数的缺省值;D、设置缺省参数值时,必须全部都设置;4.(D)不是构造函数的特征。A、构造函数的函数名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明。5.(D)是析构函数的特征。A、析构函数可以有一个或多个参数;B、析构函数名与类名不同;C、析构函数的定义只能在类体内;D、一个类中只能定义一个析构函数;6.关于成员函数特征的下列描述中,(A)是错误的。A、成员函数一定是内联函数;B、成员函数可以重载;C、成员函数可以设置缺省参数值;D、成员函数可以是静态的;7.下列静态数据成员的特性中,(C)是错误的。A、说明静态数据成员时前边要加修饰符static;B、静态数据成员要在类体外进行初始化;C、静态数据成员不是所有对象所共用的;D、引用静态数据成员时,要在其名称前加类名和作用域运算符;8.友元的作用是(A)。A、提高程序的运用效率;B、加强类的封装性;C、实现数据的隐藏性;D、增加成员函数的种类;9.关于new运算符的下列描述中,(D)是错误的。A、它可以用来动态创建对象和对象数组;B、使用它创建的对象或对象数组可以使用运算符delete删除;C、使用它创建对象时要调用构造函数;D、使用它创建对象数组时必须指定初始值;10.关于delete运算符的下列描述中,(C)是错误的。A、它必须用于new返回的指针;B、使用它删除对象时要调用析构函数;C、对一个指针可以使用多次该运算符;D、指针名前只有一对方括号符号,不管所删除数组的维数。11.constint*p说明不能修改(B)。A、p指针;B、p指针指向的变量;C、p指针指向的数据类型;D、上述A、B、C三者;12.已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,(A)是正确的;A、voidprint()const;B、constvoidprint();C、voidconstprint();D、voidprint(const);13.派生类的对象对它的基类成员中(A)是可以访问的。A、公有继承的公有成员;B、公有继承的私有成员;C、公有继承的保护成员;D、私有继承的公有成员;14.14、设置虚基类的目的是(B)。A、简化程序;B、消除二义性;C、提高运行效率;D、减少目标代码;15.下列描述中,正确的是(C)A、虚函数是一个static类型的成员函数;B、虚函数是一个非成员函数;C、抽象类是指具有纯虚函数的类;D、抽象类可以说明其对象;16.下列描述中,(D)是不正确的。A、面向对象程序设计可重用性较好;B、对象之间通过消息进行信息传递;C、多态性体现了行为共享;D、面向对象方法的核心是继承;17.执行下列语句后的输出结果是(C)。inthot=100;int&rad=hot;hot+=100;coutradendl;A、0;B、100;C、200;D、300;18.在C++中,关于下列函数参数的描述中,(B)是正确的。A、C++语言中,实参是按照自左至右的顺序求值的;B、若一个参数设置了默认值,则其右边的所有参数都具有默认值;C、函数参数的默认值不允许是表达式;D、设置参数默认值时,应该全部参数都设置;19.在(C)情况下适宜采用inline定义内联函数。A、函数体含有循环语句;B、函数体含有递归语句;C、函数代码小,频繁调用;D、函数代码多,不常调用;20.定义析构函数时,应该注意(C)。A、其函数名与类名完全相同;B、函数返回类型是void类型;C、无形参,也不可重载;D、函数体中必须有delete语句;21.下列关于构造函数的描述中,(A)是正确的。A、构造函数可以设置缺省参数;B、构造函数可以被继承;C、构造函数可以对静态数据成员进行初始化;D、构造函数可以说明为虚函数;22.友元的作用是(A)。A、提高程序的运用效率;B、加强类的封装性;C、实现数据的隐藏性;D、增加成员函数的种类;23.int*constp说明不能修改(A)。A、p指针;B、p指针指向的变量;C、p指针指向的数据类型;D、上述A、B、C三者;24.关于堆运算符的下列描述中,(C)是错误的。A、使用堆运算符可以动态建立或删除对象;B、new运算符创建对象时要调用构造函数;C、可以在使用new[]创建数组时,为每个数组元素指定初始值;D、delete运算符可以作用于空指针;25.关于继承的描述中,(B)是正确的。A、派生类是基类的子集;B、析构函数不能被继承;C、子类型关系是可逆的;D、派生类是基类的子类型;26.下列关于类型转换的描述中,(A)是错误的。A、在不同类型操作数组成的表达式中,其表达式类型一定是最高类型double型;B、逗号表达式的类型是最后一个表达式的类型;C、赋值表达式的类型是左值的类型;D、由低向高的类型转换是保值映射。27.(D)不是构造函数的特征。A、构造函数的函数名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明。28.在C++中,关于下列设置参数默认值的描述中,(C)是正确的。A、不允许设置参数的默认值;B、设置参数默认值只能在定义函数时设置;C、设置参数默认值时,应该是先设置右边的,再设置左边的;D、设置参数默认值时,应该全部参数都设置。29.关于new运算符的下列描述中,(D)是错误的。A、它可以用来动态创建对象和对象数组;B、使用它创建的对象或对象数组可以使用运算符delete删除;C、使用它创建对象时要调用构造函数;D、使用它创建对象数组时必须指定初始值。30.重载函数在调用时选择的依据中,(D)是错误的。A、参数个数;B、参数的类型;C、函数名字;D、函数的类型。31.下列描述中,(D)是抽象类的特性。A、可以说明虚函数;B、可以进行构造函数重载;C、可以定义友元函数;D、不能说明其对象。32.(A)是析构函数的特征。A、一个类中只能定义一个析构函数;B、析构函数名与类名不同;C、析构函数的定义只能在类体内;D、析构函数可以有一个或多个参数;33.关于delete运算符的下列描述中,(C)是错误的。A、它必须用于new返回的指针;B、它也适用于空指针;C、对一个指针可以使用多次该运算符;D、指针名前只有一对方括号符,不管所删除数组的维数。34.constint*p说明不能修改(B)。A、p指针;B、p指针指向的变量;C、p指针指向的数据类型;D、上述A、B、C三者。35.关于子类型的描述中,(A)是错误的。A、子类型就是指派生类是基类的子类型;B、一种类型当它至少提供了另一种类型的行为,则这种类型是另一种类型的子类型;C、在公有继承下,派生类是基类的子类型;D、子类型关系是不可逆的。36.在下列关键字中,用于说明类中公有成员的是(A)。A.public;B.private;C.protected;D.friend37.在下列的各类函数中,(C)不是类的成员函数。A.构造函数;B.析构函数;C.友元函数;D.拷贝初始化构造函数38.作用域运算符的功能是(D)。A.标识作用域的级别的;B.指出作用域的范围的;C.给定作用域的大小的;D.标识某个成员是属于哪个类的。39.(B)是不可以作为该类的成员的。A.自身类对象的指针;B.自身类的对象;C.自身类对象的引用;D.另一个类的对象。40.(D)不是构造函数的特征。A.构造函数的函数名与类名相同;B.构造函数可以重载;C.构造函数可以设置缺省参数;D.构造函数必须指定类型说明。41.(A)是析构函数的特征。A.一个类中只能定义一个析构函数;B.析构函数名与类名不同;C.析构函数的定义只能在类体内;D.析构函数可以有一个或多个参数。42.通常的拷贝初始化构造函数的参数是(C)。A.某个对象名;B.某个对象的成员名;C.某个对象的引用名;D.某个对象的指针名。43.关于成员函数特征的下述描述中,(A)是错误的。A.成员函数一定是内联函数;B.成员函数可以重载;C.成员函数可以设置参数的缺省值;D.成员函数可以是静态的。44.下述静态数据成员的特性中,(D)是错误的。A.说明静态数据成员时前边要加修饰符static;B.静态数据成员要在类体外进行初始化;C.引用静态数据成员时,要在静态数据成员名前加类名和作用域运算符;D.静态数据成员不是所有对象所共用的。45.关于类和对象不正确的说法是(C)A)类是一种类型,它封装了数据和操作B)对象是类的实例C)一个类的对象只有一个D)一个对象必属于某个类46.在类定义的外部,可以被访问的成员有(C)A)所有类成员B)private或protected的类成员C)public的类成员D)public或private的类成员47.关于this指针的说法错误的是(A)A)this指针必须显示说明B)当创建一个对象后,this指针就指向该对象C)成员函数拥有this指针D)静态成员函数不拥有this指针48.声明一个类的对象时,系统自动调用(BC)函数,撤消对象时,系统自动调用()函数A)成员函数B)构造函数C)析构函数D)普通函数49.下面对构造函数的不正确描述是(B)A)系统可以提供默认的构造函数B)构造函数可以有参数,所以可以有返回值C)构造函数可以重载D)构造函数可以设置默认参数50.下面对析构函数的正确描述是(C)A)系统不能提供默认的析构函数B)析构函数必须由用户定义C)析构函数没有参数D)析构函数可以设置默认参数51.对静态成员的不正确描述是(C)A)静态成员不属于对象,是类的共享成员B)静态数据成员要在类外定义和初始化C)调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针D)非静态成员函数也可以操作静态数据成员8.下面选项中,不是类的成员函数为(C)A)构造函数B)析构函数C)友元函数D)缺省参数的构造函数方言52.下面对友元的错误描述是(D)A)关键字friend用于声明友元B)一个类的成员函数可以是另一个类的友元C)友元函数访问对象的成员不受访问特性影响D)友元函数通过this指针访问对象成员53.在C++中,类与类之间的继承关系具有(C)A)自反性B)对称性C)传递性D)反对称性54.下列关于类的继承描述中,(A)是错误的A)派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数B)派生类也是基类,但基类不一定具有派生类的全部属性和方法C)继承描述类的层次关系,派生类可以具有与基类相同的属性和方法D)一个基类可以有多个派生类,一个派生类可以有多个基类55.当一个派生类仅有继承一个基类时,基类中的所有公有成员成为派生类的(A)A)public成员B)private成员C)protected成员D)友元56.当一个派生类私有继承一个基类时,基类中的所有仅有成员和保护成员成为派生类的(B)A)public成员B)private成员C)protected成员D)友元57.不论派生类以何种方法继承基类,都不能使用基类的(B)A)public成员B)private成员C)protected成员D)public成员和protected成员58.下面描述中,错误的是(BC)(两个答案)A)在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问B)在基类定义的public和protected成员在私有继承的派生
本文标题:C++选择题和判断题
链接地址:https://www.777doc.com/doc-4217055 .html