c 选择题题集讲解

更新时间:2024-06-18 18:00:02 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C++选择题集

1.下列的各类函数中,不是类的成员函数。( C )

A)构造函数 B)析构函数 C)友元函数 D)拷贝初始化构造函数 2.作用域运算符“::”的功能是:( B ) A)标识作用域的级别的 B)指出作用域的范围的 C)给定作用域的大小的 D)标识成员是属于哪个类的 3.下列说明中const char *ptr;其中ptr应该是:( C ) A)指向字符常量的指针 B)指向字符的常量指针 C)指向字符串常量的指针 D)指向字符串的常量指针

4.已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,是正确的。( A ) A)void print()const; B)const void print(); C)void const print(): D)void print(const); 5.在类定义的外部,可以被访问的成员有( C ) A)所有类成员 B)private的类成员

C)public的类成员 D)public或private的类成员

6.要求打开文件\,可写入数据,正确的语句是:( B ) ifstream infile(\; ifstream infile(\; ofstream infile(\;

fstream infile(\; 7.关于类和对象不正确的说法是:( C )

A)类是一种类型,它封装了数据和操作 B)对象是类的实例 C)一个类的对象只有一个 D)一个对象必属于某个类 8.在C++中,类与类之间的继承关系具有( C ) A)自反性 B)对称性 C)传递性 D)反对称性 9.结构化程序设计所规定的三种基本控制结构是:( C ) A)输入、处理、输出 B)树形、网形、环形 C)顺序、选择、循环 D)主程序、子程序、函数

10.C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是:( B )

A)面向过程 B)面向对象 C)安全性 D)复用性 11.在C++中实现封装是借助于( B )

A)枚举 B) 类 C) 数组 D)函数

12.C++语言是从早期的C语言逐渐发展演变而来的与C语言相比,它在求解问题方法上进行的最大改进是:( B )

A)面向过程 B)面向对象 C)安全性 D)复用性

13.在C++中用( D )能够实现将参数值带回。

a)数组 b)指针 c)引用 d)上述ABC都可

14.考虑函数原型void test(int a,int b=7,char ch=\下面的函数调用中,属于不合法调用的是:( C )

A)test(5) B)test(5,8) C)test(6,\ D)test(0,0,\;

15.下列关于类和对象的叙述中,错误的是:( A )

A)一个类只能有一个对象; B)对象是类的具体实例;

C)类是对某一类对象的抽象; D)类和对象的关系是一种数据类型与变量的关系。

16.已知: int m=10;下列表示引用的方法中,正确的是:( C )

A)int &Z; B)int &t=10; C)int &X=m; D)float &f=&m;

17.对于int *pa[5];的描述中,正确的是:( D ) A)pa是一个指向数组的指针,所指向的数组是5个int型元素 B)pa是一个指向某数组中第5个元素的指针,该元素是int型变量 C)pa[5]表示数组的第5个元素的值,是int型的值

D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针

18.定义析构函数时,应该注意:( C )

A)其名与类名完全相同 B)返回类型是void类型

C)无形参,也不可重载 D)函数体中必须有delete语句

19.在公有继承的情况下,基类的成员(私有的除外)在派生类中的访问权限( B )

A)受限制 B)保持不变 C)受保护 D)不受保护

20.下列不是函数重载所要求的条件是:( D ) A)函数名相同 B)参数个数不同

C)参数类型不同 D)函数返回值类型不同

21.在C++中执行以下4条语句后输出rad值为:( C ) static int hot=200; int &rad=hot; hot=hot+100; cout<

A) 0 B) 100 C) 300 D) 200

22.类clase CC1的说明如下,错误的语句是:( A ) clase CC1{

int a=2; //(A) CC1(); //(B) public:

CC1(int val); //(C) ~CC1(); //(D)

};

23.下列各类函数中,不是类的成员函数是:( C ) A)构造函数 B)析构函数

C)友元函数 D)拷贝构造函数

24.类的指针成员的初始化是通过函数完成的,这个函数通常是:( C )

A)析构函数 B) 构造函数 C)其它成员函数 D)友元函数

25.关于构造函数的说法,不正确的是:( A )

A)没有定义构造函数时,系统将不会调用它 B)其名与类名完全相同

C)它在对象被创建时由系统自动调用 D)没有返回值

26.按解释中的要求在下列程序划线处填入的正确语句是:( C ) #include class Base{ public:

void fun(){cout<<\;} };

class Derived:public Base{ public:

void fun()

{ //在此空格处调用基类的函数fun() cout<<\;} };

A)fun(); B)Base.fun(); C)Base::fun(); D)Base->fun();

27.在C++中编译器所生成的文件的扩展名为( B )

A) .cpp B) .obj C) .lib D) .exe

28.在保护继承的情况下,基类的成员(私有的除外)在派生类中的访问权限( C )

A)受限制 B)保持不变 C)受保护 D)不受保护

29.有如下一段程序: int f1(float); int f2(char); int f3(float); int f4(float); int(*pf)(float); 则以下不合法的是:( C )

A)int(*p)(float)=&f1; B)pf=&f4; C)pf=&f2; D)pf=&f3;

30.通常拷贝构造函数的参数是:( C )

A)对象名 B)对象的成员名 C)对象的引用名 D)对象的指针名

31.系统在调用重载函数时,不能作为确定哪个重载函数被调用的依据是:( D )

A)参数个数 B)参数类型 C)函数名称 D)函数的返回值类型

32.下列描述中,正确的是:( D )

A)所有的运算符号都可以重载。不能重载的运算符只有 4 个,作用域运算符: '::', 成员解引用运算符: '.*', 成员访问

运算符: '.', 条件运算符: '?:'

B)基类类型的指针可以指向子类,子类类型的指针也可以指向基类。

C)可以在类的构造函数中对静态数据成员进行初始化。

D)动态联编要满足两个条件:被调用的成员函数是虚函数;用指针或引用调用虚函数。

33.关于成员函数特征的描述中,错误的是:( A ) A)成员函数一定是内联函数 B)成员函数可以重载

C)成员函数可以设置参数的默认值 D)成员函数可以是静态的

34.下列关于构造函数的描述中,错误的是:( D )

A)构造函数可以设置默认参数; B)构造函数在定义类对象时自动执行

C)构造函数可以是内联函数; D)构造函数不可以重载

35.下面描述中,表达错误的是:( B )

A)公有继承时,基类中的public成员在派生类中仍是public的 B)公有继承时,基类中的private成员在派生类中仍是private的 C)公有继承时,基类中的protected成员在派生类中仍是protected的

D)私有继承时,基类中的public成员在派生类中是private的

36.C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,C++在求解问题方法上进行的最大改进是:( B )

A)面向过程 B)面向对象 C)安全性 D)复用性

37.有如下类声明“class A{int x; ……};”,则A类的成员x是:( B )

A)公有数据成员 B)私有数据成员 C)公有成员函数 D)私有成员函数

38.有如下程序:执行后的输出结果应该是:( A ) #include class cla{

static int n; public:

cla(){n++;} ~cla(){n--;}

static int get_n(){return n;} };

int cla::n=0; int main() {

B)类的对象只能访问该类的公有成员

C)普通函数不能直接访问类的公有成员,必须通过对象访问 D)一个类可以将另一个类的对象作为成员

80.在编译指令中,宏定义使用哪个指令( B ) A)#include B)#define C)#if D)#else

81.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是:( B ) A)A类构造函数先执行 B)成员构造函数先执行 C)两者并行执行 D)不能确定 82.下列描述错误的是:( A )

A)在创建对象前,静态成员不存在 B)静态成员是类的成员

C)静态成员不能是虚函数 D)静态成员函数不能直接访问非静态成员 83.对于友元描述正确的是:( B )

A)友元是本类的成员函数 B)友元不是本类的成员函数 C)友元不是函数 D)友元不能访问本类私有成员

84.在哪种派生方式中,派生类可以访问基类中的protected成员( B ) A)public和private B)public和protected C)protected和private D)仅protected

85.在每个C++程序中都必须包含的一个函数是( B ) A)main() B)MAIN() C)name() D)function() 86.设x和y均为bool量,则x&&y为真的条件是( A )

A)它们均为真 B)其中一个为真 C)它们均为假 D)其中一个为假 87.下面的哪个保留字不能作为函数的返回类型( C ) A)void B)int C)new D)long

88.假定a为一个整型数组名,则元素a[4]的字节地址为( C ) A)a+4 B)a+8 C)a+16 D)a+32

89.假定有类AB,有相应的构造函数定义,能正确执行“AB a(4),b(5), c[3] , *p[2]={&a,&b};”语句,请问执行完此语句后共调用该类构造函数的次数为( C ) A)3 B)4 C)5 D)6

90.假定有类AB,有相应的构造函数定义,能正确执行 “AB a(4),b(5), c[3] , *p[2]={&a,&b};”语句,请问执行完此语句后共调用该类析构函数的次数为( C ) A)3 B)4 C)5 D)6

91.对类中声明的变量,下列描述中正确的是:( B )

A)属于全局变量 B)属于该类,某些情况下也可被该类不同实例所共享 C)只属于该类 D)任何情况下都可被该类所有实例共享

92.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为( ? )

A)AB operator+(AB & A , AB & B); B)AB & operator+(AB A); C)AB operator+(AB & A); D)AB * operator+(AB A);

本文来源:https://www.bwwdw.com/article/9sq3.html

Top