《c++选择题题集.doc》由会员分享,可在线阅读,更多相关《c++选择题题集.doc(11页珍藏版)》请在金锄头文库上搜索。
1、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 pr
2、int();C)void const print(): D)void print(const);5.在类定义的外部,可以被访问的成员有( C )A)所有类成员 B)private的类成员C)public的类成员 D)public或private的类成员6.要求打开文件d:file.dat,可写入数据,正确的语句是:( B )ifstream infile(d:file.dat, ios:in);ifstream infile(d:file.dat, ios:in);ofstream infile(d:file.dat, ios:out);fstream infile(d:file.dat, i
3、os:in|ios:out);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+中实现封装是
4、借助于( 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)一
5、个类只能有一个对象; 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 *pa5;的描述中,正确的是:( D )A)pa是一个指向数组的指针,所指向的数组是5个int型元素B)pa是一个指向某数组中第5个元素的指针,该元素是int型变量C)pa5表示数组的第5个元素的值,是int型的值D)pa是一个具有5个元素的指针数组,每个元素是一个int型指针18.定义
6、析构函数时,应该注意:( 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;coutradendl;A) 0 B) 100 C) 300
7、D) 20022.类clase CC1的说明如下,错误的语句是:( A )clase CC1int 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)它在对象被创建时由系统自动调用
8、D)没有返回值26.按解释中的要求在下列程序划线处填入的正确语句是:( C )#include class Basepublic:void fun()coutBase:funendl;class Derived:public Basepublic:void fun() /在此空格处调用基类的函数fun()coutDerived:funfun();27.在C+中编译器所生成的文件的扩展名为( B )A) .cpp B) .obj C) .lib D) .exe28.在保护继承的情况下,基类的成员(私有的除外)在派生类中的访问权限( C )A)受限制 B)保持不变 C)受保护 D)不受保护29.有
9、如下一段程序: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)所有的运算符号都可以重载。
10、B)基类类型的指针可以指向子类,子类类型的指针也可以指向基类。C)可以在类的构造函数中对静态数据成员进行初始化。D)动态联编要满足两个条件:被调用的成员函数是虚函数;用指针或引用调用虚函数。33.关于成员函数特征的描述中,错误的是:( A )A)成员函数一定是内联函数 B)成员函数可以重载C)成员函数可以设置参数的默认值 D)成员函数可以是静态的34.下列关于构造函数的描述中,错误的是:( D )A)构造函数可以设置默认参数; B)构造函数在定义类对象时自动执行C)构造函数可以是内联函数; D)构造函数不可以重载35.下面描述中,表达错误的是:( B )A)公有继承时,基类中的public成员
11、在派生类中仍是public的B)公有继承时,基类中的private成员在派生类中仍是private的C)公有继承时,基类中的protected成员在派生类中仍是protected的D)私有继承时,基类中的public成员在派生类中是private的36.C+语言是从早期的C语言逐渐发展演变而来的,与C语言相比,C+在求解问题方法上进行的最大改进是:( B )A)面向过程 B)面向对象 C)安全性 D)复用性37.有如下类声明“class Aint x; ;”,则A类的成员x是:( B )A)公有数据成员 B)私有数据成员 C)公有成员函数 D)私有成员函数38.有如下程序:执行后的输出结果应该
12、是:( A )#includeclass clastatic int n;public:cla()n+;cla()n-;static int get_n()return n;int cla:n=0;int main()cla * p=new cla;delete p;coutn=cla:get_n()endl;return 0;A)n=0 B)n=1 C)n=3 D)n=439.有如下程序:执行后的输出结果应该是:( A )#include class Apublic:A()coutA;class C:public Apublic:C()coutC;void main()C cobj;A) AC B) CA C) A D) C40.有如下程序:执行后的输出结果应该是:( D )#include class BASEpublic:BASE()coutBASE;class DERIVED: public BASEpublic:DERIVED()coutDERIVED;void main()DERIVED x;A)BASE B)DERIVED C)BASEDERIVED D)DERIVEDBASE41.类TM和类TN是两个独立的类,那么类TM中哪种形式的数据成员一定是不允许的:( C )A)TM * a B)TN & a C)TM a D)TN a;42.通过下述哪