您好,欢迎访问三七文档
一、选择题*【2.6】下列语句错误的是(D)A.int*p=newint(10);B.int*p=newint[10];C.int*p=newint;D.int*p=newint[40](0);【2.7】假设已经有定义“constchar*constname=”chen”;”下面的语句正确的是(D)A.name[3]=’a’;B.name=’lin’;C.name=newchar[5];D.coutname[3];【2.8】假设已经有定义“constchar*constname=”chen”;”下面的语句正确的是(错)A.name[3]=’q’;B.name=’lin’;C.name=newchar[5];D.name=newchar(‘q’);【2.9】假设已经有定义“constchar*constname=”chen”;”下面的语句正确的是()A.name[3]=’q’;B.name=’lin’;C.name=newchar[5];D.name=newchar(‘q’);【2.10】重载函数在调用时选择的依据中,(B)是错误的。A.函数名字B.函数的返回类型C.参数个数D.参数的类型【2.11】在(A)情况下适宜采用的内联函数。A.函数代码小,调用频繁B.函数代码多,调用频繁C.函数体含有递归语句D.函数体含有循环语句【2.12】下列描述中,(C)是错误的。A.内联函数主要解决程序的运行效率问题。B.内联函数的定义一般出现在内联函数第一次被调用之前。C.内联函数中可以包含各种语句。D.对内联函数不可以进行异常接口声明。*【2.13】在C++中,关于下列设置默认参数值的描述中,(B)正确的。A.不允许设置默认参数值B.在指定了默认值的参数右边,不能出现没有指定默认值的参数C.只能在函数的定义性声明中指定参数的默认值D.设置默认参数值时,必须全部都设置【2.14】下面的类型声明中正确的是(D)A.int&a[4]B.int&*pC.int&&q;D.inti,*p=&i;【2.15】下面关于重载函数的说法正确的是(C)A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须具有不同的形参列表D.重载函数名可以不同第2页共19页【2.16】关于new运算符的下列描述中,(D)是错误的。A.它可以用来动态创建对象和对象数组B.使用它创建的对象或对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值*【2.17】关于delete运算符的下列描述,(C)是错误的A.它必须用于new返回的指针B.使用它删除对象时要调用析构函数C.对一个指针可以使用多次该运算符D.指针名前只有一对方括号符号,不管所删除数组的维数【3.7】下列有关于对构造函数的描述中,正确的是(B)A.构造函数可以带有返回值B.构造函数的名字与类名完全相同C.构造函数必须带有参数D.构造函数必须有定义,不能默认【3.8】在声明类时,下列说法正确的是(C)A.可以在类的声明中给数据成员赋初值B.数据成员的数据类型可以是registerC.privatepublicprotected可以按任意键顺序出现D.没有用privatepublicprotected定义的数据成员是公有成员【3.9】在下列有关析构函数特征的描述中,正确的是(C)A.一个类中可以定义多个析构函数B.析构函数名与类名完全相同C.析构函数不能指定返回类型D.析构函数可以有一个或多个参数【3.10】构造函数是在(B)被执行的时候A.程序编译B.创建对象C.创建类D.程序装入内存【3.11】下列有关静态成员函数的描述中,正确的是(B)A.在静态成员函数中可以使用this指针B.在建立对象前,就可以为静态成员赋值C.静态成员函数在类外定义时,要用static前缀D.静态成员函数只能在类外定义【3.12】在下列有关友元函数的描述中,正确的说法是(A)A.友元函数是独立于当前类的外部函数B.一个友元函数不能同时定义为两个类的友元函数C.友元函数必须在类的外部定义D.在外部定义友元函数时,必须加上关键字friend【3.13】友元的作用之一是(A)A.提高程序的运算效率第3页共19页B.加强类的封装性C.实现数据的隐藏D.增加成员函数的种类【4.8】使用派生类的主要原因是(A)。提高代码的可重用性提高程序的运行效率加强类的封装性实现数据的隐藏【4.9】假设已经定义好了一个类student,现在要定义类derived,它是从student私有派生的,定义类derived的正确写法是(C)。classderived::studentprivate{…};classderived::studentpublic{…};classderived::privatestudent{…};classderived::publicstudent{…};【4.10】在多继承构造函数定义中,几个基类构造函数用(C)分割。:;,::【4.11】设置虚基类的目的是(B)。简化程序消除二义性提高运行效率减少目标代码【5.7】有关运算符重载正确的描述是(D)。C++语言允许在重载运算符时改变运算符的操作个数C++语言允许在重载运算符时改变运算符的优先级C++语言允许在重载运算符时改变运算符的结合性C++语言允许在重载运算符时改变运算符的原来的功能【5.8】能用友元函数重载的运算符是(A)。+=[]-【5.9】关于虚函数正确的描述是(A)。构造函数不能是虚函数析构函数不能是虚函数虚函数可以是友元函数虚函数可以是静态成员函数【5.10】派生类中虚函数原型的(D)。函数类型可以与基类中函数的原型不同参数个数可以与基类中函数的原型不同参数类型可以与基类中函数的原型不同以上都不对【5.11】如果在基类中将show声明为不带返回值得纯虚函数,正确的写法是(C)。virtualshow()=0;virtualvoidshow();第4页共19页virtualvoidshow()=0;voidshow()=0virtual;*【5.12】下列关于纯虚函数与抽象类的描述中,错误的是(C)。纯虚函数是一种特殊的函数,它允许没有具体的表现抽象类是指具有纯虚函数的类一个基类的说明中有纯虚函数,该基类的派生类一定不再是抽象类抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出1、假设已经有定义“constchar*constname=”chen”;”下面的语句中正确的是(D)。A.name[3]=’a’;B.name=”lin”;C.name=newchar[5];D.coutname[3];2、在下面的函数声明中,存在着语法错误的是__C______。AvoidBC(inta,int);BvoidBD(int,int);CvoidBE(int,int=5);DintBF(intx;inty);3、假定AB为一个类,则该类的拷贝构造函数的声明语句为____C____。A.AB&(constABx);B.AB(constABx);C.AB(constAB&x);D.AB(constAB*x);4、对于结构中定义的成员,其隐含访问权限为___C_____。ApublicBprotectedCprivateDstatic5、在下列表示引用的方法中,__A______是正确的。已知:intm=10;A.int&x=m;B.int&y=10;C.int&z;D.float&t=&m;*6、对于C/C++语言的函数,下列叙述中正确的是_A______。A.函数的定义不能嵌套,但函数调用可以嵌套B.函数的定义可以嵌套,但函数调用不能嵌套C.函数的定义和调用都不能嵌套D.函数的定义和调用都可以嵌套7、在一个被调用函数中,关于return语句使用的描述,_____D__是错误的。A.被调用函数中可以不用return语句B.被调用函数中可以使用多个return语句C.被调用函数中,如果有返回值,就一定要有return语句D.被调用函数中,一个return语句可以返回多个值给调用函数8、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用____A____。A.内联函数B.重载函数C.递归调用D.嵌套调用9、下列的各类函数中,___C_____不是类的成员函数。A.构造函数B.析构函数C.友元函数D.拷贝构造函数10、___D_____不是构造函数的特征A.构造函数的函数名与类名相同B.构造函数可以重载C.构造函数可以设置缺省参数D.构造函数必须指定类型说明11、已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,__A______是正确的。A.voidprint()const;B.constvoidprint();C.voidconstprint();D.voidprint(const);12、关于new运算符的下列描述中,___D_____是错的。A.它可以用来动态创建对象和对象数组第5页共19页B.使用它创建的对象和对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值13、下面有关重载函数的说法中正确的是(C)。A.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同14、对于int*pa[5];的描述中,_A______是正确的。A.pa是一个指向数组的指针,所指向的数组是5个int型元素B.pa是一个指向某数组中第5个元素的指针,该元素是int型变量C.pa[5]表示某个元素的第5个元素的值D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针15、在下面有关析构函数特性的描述中,正确的是(C)。a)一个类中可以定义多个析构函数b)析构函数名与类名完全相同c)析构函数不能指定返回类型d)析构函数可以有一个或多个参数16、在下面有关静态成员函数的描述中,正确的是(A)。A.在静态成员函数中可以使用this指针B.在建立对象前,就可以为静态数据成员赋值C.静态成员函数在类外定义时,要用static前缀D.静态成员函数只能在类外定义17、设置虚基类的目的是(B)。A.简化程序B.消除二义性C.提高运行效率D.减少目标代码18、下列关于虚函数与抽象类的描述中,错误的是(C)。A.纯虚函数是一种特殊的函数,它允许没有具体的实现B.抽象类是指具有纯虚函数的类C.一个基类的说明中有纯虚函数,该基类的派生类一定不再是抽象类D.抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出19、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为____A____。A.mainB.MAINC.nameD.function20、关于delete运算符的下列描述中,(D)是错误的。A.它必须用于new返回的指针B.使用它删除对象时要调用析构函数C.对一个指针可以使用多次该运算符D.指针名前只有一对方括号,不管所删除数组的维数21、设x和y均为bool量,则x||y为假的条件是___C_____。A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假22、在inta[][3]={{1},{3,2},{4,5,6},{0}};中,a[2][2]的值是_____C___A.1B.0C.6D.223、在下列表示引用的方法中,_A_______是正确的。已知:intm=10;A.int&x=m;B.int&y=10;C.int&z;D.float&t=&m;24、构造函数是在(B)时被执行的。第6页共19页A.程序编译B.创建对象C.创建类D.程序装入内存25、在下面友元函数的描述中,正确的说法是(A)。A.友元函数是独立于当前类的外部函数B.一个友元函数不能同时定义为两个类的友元函数C.友元函数必须在类的外部定义D.在外部定义友元函数时,必须加关键字friend26、使用派生类的主要原因是(B)。B.提高代码的可重用性C.提高程序的
本文标题:C++习题
链接地址:https://www.777doc.com/doc-5221002 .html