C++复习题(1)一.单项选择题1.下列关于C++函数的叙述中,正确的是____________。A.每个函数至少要具有一个参数C.每个函数都必须返回一个值B.函数在被调用之前必须先声明D.函数不能自己调用自己2.对于语句coutxendl;错误的是描述是___________。A.“cout”是一个输出流对象C.“”称作提取运算符B.“x”是一个变量D.“endl”的作用是输出回车换行3.有如下类声明,则类MyDERIVED中保护的数据成员和成员函数的个数是___________。classMyBASE{private:intk;public:voidset(intn){k=n;}intget()const{returnk;}};classMyDERIVED:protectedMyBASE{protected:intj;public:voidset(intm,intn){MyBASE::set(m);j=n;}intget()const{returnMyBASE::get()+j;}};A.1B.2C.3D.44.下面四个选项中,___________是用来声明虚函数的。A.includeB.publicC.virtualD.usingnamespace5.以下___________成员函数表示纯虚函数。A.virtualvoidvf()=0;B.voidvf(int)=0;C.virtualintvf(int);D.virtualvoidvf(int){}6.以下不属于对象基本特点的是__________。A.继承性.B.多态性.C.耦合性D.封装性7.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是__________。A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.引进了类和对象的概念D.规定函数说明符必须用原型8.在类的定义中,用于为对象分配内存空间,对类的数据成员进行初实化并执行其他内部管理操作的函数是__________。A.友元函数B.构造函数.C.虚函数D.析构函数9.关于静态数据成员的描述中正确的是__________。A.类的静态数据成员不是类的所有对象共享的数据B.类的静态数据成员不能被类的成员函数调用C.类的静态数据成员不能被类的构造函数调用D.类的静态数据成员必须进行初始化10.在类定义的外部,可以被访问的成员有()A、所有类成员B、private的类成员C、public的类成员D、public或private的类成员11.在C++中实现封装是借助于()B½öÓÃÓÚÆÀ¹À¡£°æȨËùÓÐ(c)byFoxitSoftwareCompany,2004ÓÉFoxitPDFEditor±à¼C½öÓÃÓÚÆÀ¹À¡£°æȨËùÓÐ(c)byFoxitSoftwareCompany,2004ÓÉFoxitPDFEditor±à¼CCAC½öÓÃÓÚÆÀ¹À¡£°æȨËùÓÐ(c)byFoxitSoftwareCompany,2004ÓÉFoxitPDFEditor±à¼CBDC½öÓÃÓÚÆÀ¹À¡£°æȨËùÓÐ(c)byFoxitSoftwareCompany,2004ÓÉFoxitPDFEditor±à¼C½öÓÃÓÚÆÀ¹À¡£°æȨËùÓÐ(c)byFoxitSoftwareCompany,2004ÓÉFoxitPDFEditor±à¼A、枚举B、数组C、类D、函数12.定义析构函数时,应该注意:()A、其名与类名完全相同B、返回类型是void类型C、无形参,也不可重载D、函数体中必须有delete语句13.在C++中执行以下4条语句后输出rad值为:()staticinthot=200;int&rad=hot;rad=rad+100;couthotendl;A、0B、100C、200D、30014.在C++中编译器所生成的文件的扩展名为()A、.cppB、.objC、.libD、.exe15.C++设置虚基类的目的是()A、简化程序B、消除二义性C、提高运行效率D、减少目标代码16.以下关于this指针的叙述中正确的是:()A、任何与类相关的函数都有this指针;B、类的非静态成员函数才有this指针;C、类的友员函数都有this指针;D、类的成员函数都有this指针;17.使用如setw()的格式操纵符时需要包含头文件()A、iostream.hB、fstream.hC、iomanip.hD、stdlib.h18.intFunc(int,int);不可与下列哪个函数构成重载()A、intFunc(int,int,int);B、doubleFunc(double,double);C、doubleFunc(int,int);D、doubleFunc(int,double);19.要求打开文件d:\file.dat,可写入数据,正确的语句是:()A、ofstreaminfile(d:\file.dat,ios::out);B、fstreaminfile(d:\\file.dat,ios::in|ios::out);C、isstreaminfile(d:\file.dat,ios::in);D、ifstreaminfile(d:\\file.dat,ios::in);20类claseCC的说明如下,错误的语句是:()claseCC{intb=2;//ACDBBBCC½öÓÃÓÚÆÀ¹À¡£°æȨËùÓÐ(c)byFoxitSoftwareCompany,2004ÓÉFoxitPDFEditor±à¼DA½öÓÃÓÚÆÀ¹À¡£°æȨËùÓÐ(c)byFoxitSoftwareCompany,2004ÓÉFoxitPDFEditor±à¼CC();//Bpublic:CC(intval);//C~CC();//D};二.填空题1、表达式“11%4”的值是__________。2.表达式“45&&96”的布尔值是__________。3.数组b[3][5][7]的元素共有__________个。4、在用class定义一个类时,数据成员和成员函数的默认访问权限是__________。5、含有__________的类称为抽象类。6.在C++语言的面向对象程序设计框架中,__________是程序的基本组成单元。7.派生类的成员一般分为两部分,一部分是从__________,另一部分是自己定义的新成员8.假设类MyClass中有一个公有属性的静态数据成员staticinttp;在类外通过对象名给该成员tp赋值为9的写法:。9.一维数组的定义为char*b[9];则该数组所占存储空间的字节总数为。10.假设MyClass为一个类,则执行MyClassb[12];语句时,系统自动调用该类的构造函数的次数为。11.通过C++语言中类的机制,可以扩充和完善已有类以适应新的需求。12.函数模板既可以与函数模板重载,也可以与重载。13.不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为。14.在一个类中可以定义个析构函数。三.判断题1.字符串sdfghi的长度是6。()2.类中所提供的成员函数可以直接访问类内全部私有成员。()3.不可以在类的构造函数中对静态数据成员进行初始化。()4.如果float(*pr)(),则pr是一维数组的名字。()3false105private½öÓÃÓÚÆÀ¹À¡£°æȨËùÓÐ(c)byFoxitSoftwareCompany,2004ÓÉFoxitPDFEditor±à¼intMyClass::tp=9912½öÓÃÓÚÆÀ¹À¡£°æȨËùÓÐ(c)byFoxitSoftwareCompany,2004ÓÉFoxitPDFEditor±à¼½öÓÃÓÚÆÀ¹À¡£°æȨËùÓÐ(c)byFoxitSoftwareCompany,2004ÓÉFoxitPDFEditor±à¼