MOOC 面向对象程序设计-平顶山学院 中国大学慕课答案_第1页
MOOC 面向对象程序设计-平顶山学院 中国大学慕课答案_第2页
MOOC 面向对象程序设计-平顶山学院 中国大学慕课答案_第3页
MOOC 面向对象程序设计-平顶山学院 中国大学慕课答案_第4页
MOOC 面向对象程序设计-平顶山学院 中国大学慕课答案_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MOOC面向对象程序设计-平顶山学院中国大学慕课答案测试1、问题:下列那个选项不是程序语言?选项:A、C++B、中文C、JavaD、Python正确答案:【中文】2、填空题:()是指挥机器工作的一系列指令正确答案:【程序】测试1、问题:每一个C++语言程序都必须有仅有一个main函数,一个程序中包含2个或多个main函数将运行错误。选项:A、正确B、错误正确答案:【正确】2、填空题:()函数,是程序开始执行的入口点。正确答案:【main】第1章作业本章测试1、问题:下列那个选项不是程序语言?选项:A、C++B、中文C、JavaD、Python正确答案:【中文】2、问题:c++源程序文件的扩展名是()选项:A、.cppB、.cC、.docD、.txt正确答案:【.cpp】3、问题:程序语言有很多,下列选项是编程语言的是()选项:A、C++B、scratchC、PythonD、Java正确答案:【C++#scratch#Python#Java】4、问题:每一个C++语言程序都必须有仅有一个main函数,一个程序中包含2个或多个main函数将运行错误。选项:A、正确B、错误正确答案:【正确】5、填空题:()函数,是程序开始执行的入口点。正确答案:【main】6、填空题:()是指挥机器工作的一系列指令。正确答案:【程序】测试1、问题:()的程序中,各条语句的执行顺序与书写顺序一致。选项:A、顺序结构B、选择结构C、循环结构D、goto语句正确答案:【顺序结构】2、问题:小红的年龄是19岁,程序中想要定义一个变量存储她年龄的值:19,那么这个变量的类型最好是()选项:A、intB、charC、floatD、longint正确答案:【int】3、问题:小红的成绩是89.5分,程序中想要定义一个变量存储她成绩的值:89.5,那么这个变量的类型最好是()选项:A、intB、floatC、charD、longint正确答案:【float】测试1、问题:在程序中,圆半径r=10,下面计算圆面积s的程序命令,错误的是()选项:A、s=*r*r;B、s=3.14*r*r;C、floatPi=3.14;s=Pi*r*r;D、s=r*r*3.14;正确答案:【s=*r*r;】2、填空题:大小写字母的ASCII码值相差()正确答案:【32】测试1、问题:分情况处理的问题或带条件的问题,如判断一个数是奇数还是偶数,编程时要使用哪种结构的程序?选项:A、顺序结构B、选择结构C、循环结构D、goto语句正确答案:【选择结构】2、问题:switch语句语法格式如下,下面说法错误的是:switch(表达式){case常量1:case常量2:case常量3:.......default:}选项:A、表达式的计算结果必须是整型或字符型B、每一个case,代表表达式取值的一种情况。C、default是指前面所有case之外的其他情况。D、case后的常量位置可以写条件判定表达式:比如s60,表示成绩小于60分,即成绩不及格的情况。正确答案:【case后的常量位置可以写条件判定表达式:比如s60,表示成绩小于60分,即成绩不及格的情况。】3、问题:判断成绩是满分100,则输出“满分”的if命令为()选项:A、if(s=100);cout满分\n;B、if(s=100)cout满分\n;C、if(s==100)cout满分\n;D、if(s==100);cout满分\n;正确答案:【if(s==100)cout满分\n;】4、问题:选择结构的典型特点是:由判定条件引出2个分支,那么执行情况是()选项:A、一次选择结构语句执行中,两个分支都被执行。B、一次选择结构语句执行中,只能选择其中一个分支执行。C、一次选择结构语句执行中,两个分支可以都没有执行。D、满足判定条件和不满足判断条件时,可以执行同一个分支。正确答案:【一次选择结构语句执行中,只能选择其中一个分支执行。】测试1、问题:关于循环结构语句,错误的是:选项:A、执行流程为一个环状结构,周而复始地执行环状内的语句。B、循环结构的特点是:环状执行重复性的功能。C、根据是否满足判定条件,决定是否执行循环体。D、当判定条件为真,退出循环正确答案:【当判定条件为真,退出循环】2、填空题:有规律的重复操作类问题,如要依次输出1,2,3……30,编程时要使用()结构的程序。正确答案:【循环】3、填空题:下面循环语句中,当循环变量i等于()时,终止和退出循环。for(inti=1;;i++){if(i==10)break;couti;}正确答案:【10】测试1、问题:命令inta[10];中,数组a的数组长度是选项:A、0B、10C、9D、11正确答案:【10】2、问题:定义数组inta[10];t=a[0];引用a数组中下标为()的元素选项:A、2B、1C、-1D、0正确答案:【0】3、问题:数组中的每一个元素都属于同一个数据类型。选项:A、正确B、错误正确答案:【正确】4、填空题:()是一组有序数据的集合。数组中各数据的排列是有一定规律的,下标代表数据在数组中的序号。正确答案:【数组】测试1、问题:要定义3行4列的数组a,下面命令中正确的是选项:A、inta[3,4];B、inta[12];C、inta[3][4];D、inta[3*4];正确答案:【inta[3][4];】2、问题:以下对二维数组a进行不正确初始化的是选项:A、inta[2][3]={0};B、inta[][3]={{1,2},{0}};C、inta[2][3]={{1,2},{3,4},{5,6}};D、inta[][3]={1,2,3,4,5,6);正确答案:【inta[2][3]={{1,2},{3,4},{5,6}};】3、填空题:()是多个一维数组的有序集合,可以形象的表示多行多列的数据。正确答案:【二维数组】测试1、问题:关于函数调用的执行流程,错误的是选项:A、当函数调用发生时,主调函数暂停,程序控制转入被调函数,B、被调函数执行结束后,回到主调函数继续C、在函数的调用过程中,可能还涉及到参数数据的传递。参数较多时,实际参数值逐一赋值,保持数目、类型、顺序一致。D、自定义函数一般不需要调用就可被执行正确答案:【自定义函数一般不需要调用就可被执行】2、问题:个函数最多只能有一个返回值,通过return语句返回,返回值通常是计算结果或者表示计算状态的信息,由调用者使用。选项:A、正确B、错误正确答案:【正确】3、问题:当函数中的return语句一旦执行,整个函数就结束。选项:A、正确B、错误正确答案:【正确】4、填空题:()包含一组命令,完成一个特定的功能,可以有0个或多个参数。正确答案:【函数】测试1、问题:关于下例中,形参和实参描述错误的是()main(){inta,b,c;cinab;c=max(a,b);coutMaxisc;}intmax(intx,inty){intz;z=xy?x:y;return(z);}选项:A、A.a,b是形参B、B.a,b是实参C、C.x,y是形参D、D.函数执行时,a,b的值会依次传递给x,y正确答案:【A.a,b是形参】2、问题:关于值传递的描述中,错误的是选项:A、调用函数时,将实际参数的值赋予对应的形式参数。B、值传递方式的特点是“参数值的单向传递”。C、当函数体执行完毕,形式参数中的值将会带到对应的实际参数中。D、当函数体执行完毕,形式参数中的值将不会带到对应的实际参数中。正确答案:【当函数体执行完毕,形式参数中的值将会带到对应的实际参数中。】3、问题:关于地址传递方式,错误的是选项:A、A.地址传递方式是实际参数向形式参数传递内存地址的一种方式。B、B.当函数体执行完毕,形式参数中的值将不会带到对应的实际参数中。C、C.调用函数时,将实际参数的地址赋予对应的形式参数作为其地址。D、D.由于形式参数和实际参数地址相同,即它们占用相同的内存空间。所以发生调用时,形式参数值的改变将会影响实际参数的值。正确答案:【B.当函数体执行完毕,形式参数中的值将不会带到对应的实际参数中。】4、问题:若用数组名作为函数调用的实参,传递给形参的是()选项:A、数组的首地址B、数组中第一个元素的值C、数组全部元素的值D、数组元素的个数正确答案:【数组的首地址】测试1、问题:以下关于结构体的叙述错误的是()。选项:A、结构体是用户定义的一种数据类型B、结构体中可设定若干个不同类型的数据成员C、结构体中成员的数据类型可以是另一个已定义的结构D、在定义结构体时,可以为成员设置默认值正确答案:【在定义结构体时,可以为成员设置默认值】2、问题:想要将学生的的学号、姓名、性别和成绩等信息作为一个整体进行存储,则使用()数据类型选项:A、结构体B、intC、charD、float正确答案:【结构体】3、问题:阅读下面结构体代码,描述错误的是()structStudent{intnum;stringname;charsex;intage;floatscore;stringaddr;};structStudents1={10101,LiLin,'M',18,98,WeilaiRoad};选项:A、s1的num是10101B、s1的name是LiLinC、s1的age是98D、s1的age是18正确答案:【s1的age是98】第2章作业第2章作业2第2章作业1第2章作业0实验1-C++运行环境和语言基础本章测试1、问题:()的程序中,各条语句的执行顺序与书写顺利一致。选项:A、顺序结构B、选择结构C、循环结构D、goto语句正确答案:【顺序结构】2、问题:在程序中,圆半径r=10,下面计算圆面积s的程序命令,错误的是()选项:A、s=*r*r;B、s=3.14*r*r;C、floatPi=3.14;s=Pi*r*r;D、s=r*r*3.14;正确答案:【s=*r*r;】3、问题:分情况处理的问题或带条件的问题,如判断一个数是奇数还是偶数,编程时要使用哪种结构的程序?选项:A、顺序结构B、选择结构C、循环结构D、goto语句正确答案:【选择结构】4、问题:选择结构的典型特点是:由判定条件引出2个分支,那么执行情况是()选项:A、一次选择结构语句执行中,两个分支都被执行。B、一次选择结构语句执行中,只能选择其中一个分支执行。C、一次选择结构语句执行中,两个分支可以都没有执行。D、满足判定条件和不满足判断条件时,可以执行同一个分支。正确答案:【一次选择结构语句执行中,只能选择其中一个分支执行。】5、问题:判断成绩是满分100,则输出“满分”的if命令为选项:A、if(s=100);cout满分\n;B、if(s=100)cout满分\n;C、if(s==100)cout满分\n;D、if(s==100);cout满分\n;正确答案:【if(s==100)cout满分\n;】6、问题:switch语句语法格式如下,下面说法错误的是:switch(表达式){case常量1:case常量2:case常量3:.......default:}选项:A、表达式的计算结果必须是整型或字符型B、每一个case,代表表达式取值的一种情况。C、default是指前面所有case之外的其他情况。D、case后的常量位置可以写条件判定表达式:比如s60,表示成绩小于60分,即成绩不及格的情况。正确答案:【case后的常量位置可以写条件判定表达式:比如s60,表示成绩小于60分,即成绩不及格的情况。】7、问题:以下关于结构体的叙述错误的是()。选项:A、结构体是用户定义的一种数据类型B、结构体中可设定若干个不同类型的数据成员C、结构体中成员的数据类型可以是另一个已定义的结构D、在定义结构体时,可以为成员设置默认值正确答案:【在定义结构体时,可以为成员设置默认值】8、填空题:大小写字母的ASCII码值相差()。正确答案:【32】9、填空题:有规律的重复操作类问题,如要依次输出1,2,3……30,编程时要使用()结构的程序。正确答案:【循环】10、填空题:()包含一组命令,完成一个特定的功能,可以有0个或多个参数。正确答案:【函数】测试1、问题:以下关于类和对象的叙述错误的是()。选项:A、对象是类的一个实例B、任何一个对象都归属于一个具体的类C、一个类只能有一个对象D、类与对象的关系和数据类型与变量的关系相似正确答案:【一个类只能有一个对象】2、问题:定义类的一般形式为,如下选项中正确的是:选项:A、Class类名{private:私有的数据和成员函数;public:公用的数据和成员函数;};B、class类名{private:私有的数据和成员函数;public:公用的数据和成员函数;}C、class类名{private:私有的数据和成员函数;public:公用的数据和成员函数;D、class类名{private:私有的数据和成员函数;public:公用的数据和成员函数;};正确答案:【class类名{private:私有的数据和成员函数;public:公用的数据和成员函数;};】3、问题:UML类图可以清晰形象地表示类的构成,它有3个组成部分,分别是选项:A、类名B、类的属性(数据成员)C、类的行为(成员函数)D、类的消息正确答案:【类名#类的属性(数据成员)#类的行为(成员函数)】测试1、问题:类的成员访问限定符不包含()。选项:A、private:限定成员称为私有成员:私有成员的数据或函数使用受到类的限制,本类的成员函数可以访问,但类外不能访问。B、public:限定成员称为公有成员:公有成员的数据或函数不受类的限制,可以在类内或类外自由使用,本类的成员函数可以访问,类外也能访问。C、protected:限定成员为保护成员,只允许在类内及该类的派生类中使用保护的数据或函数。即保护成员的作用域是该类及该类的派生类。D、const:限定类的成员为常类型,不允许修改数据的值。正确答案:【const:限定类的成员为常类型,不允许修改数据的值。】2、问题:用class定义的类,如果不作private或public声明,系统将其成员默认为()选项:A、publicB、protectedC、privateD、const正确答案:【private】3、问题:结构体中的成员默认是私有的。选项:A、正确B、错误正确答案:【错误】4、填空题:如果某类定义了五个对象,那么会在内存中存储()个该类的数据项的副本,1个其成员函数的幅本?(请填写阿拉伯数字)正确答案:【5】测试1、问题:关于类的成员函数的说法,错误的是()选项:A、是类的成员,可以访问本类中任何成员(包括私有成员),只能出现在类体中且具有访问属性的限定B、调用具有权限(它能否被调用)和作用域的限制C、成员函数在类外调用,只需要书写函数名和实参即可D、是函数的一种,用法和作用和普通函数基本一样正确答案:【成员函数在类外调用,只需要书写函数名和实参即可】2、问题:类的成员函数体定义必须写在类体之内。选项:A、正确B、错误正确答案:【错误】测试1、问题:以下关于构造函数的叙述错误的是()选项:A、构造函数名必须与类名相同B、构造函数在定义对象时自动执行C、构造函数无任何函数类型D、在一个类中构造函数又且仅有一个正确答案:【在一个类中构造函数又且仅有一个】2、填空题:类中有一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化,这种成员函数是()正确答案:【构造函数】测试1、问题:以下有关析构函数的叙述不正确的是()选项:A、在一个类只能定义一个析构函数B、析构函数和构造函数一样可以有形参C、析构函数不允许用返回值D、析构函数名前必须冠有符号“~”正确答案:【析构函数和构造函数一样可以有形参】2、问题:析构函数是特殊的成员函数,它的作用与构造函数相反,完成程序结束前的清理工作。选项:A、正确B、错误正确答案:【正确】3、问题:构造函数和析构函数的执行顺序为先构造的后析构,后构造的先析构选项:A、正确B、错误正确答案:【正确】测试1、问题:关于封装,描述错误的是()选项:A、封装是指设计一个类时,要周密的考虑把类的所有成员进行封装到一起,其所有成员都设置为private,对外隐蔽起来。B、封装将属性和行为,即数据和操作代码封装在一个对象中,形成一个基本单位,各个对象之间相对独立。C、将对象中某些部分对外隐蔽,即隐蔽其内部细节,只留下少量接口,以便与外界联系,接收外界的消息。D、封装的好处时大大降低了人们操作对象的复杂程度。这样利于内部数据的安全,防止无关的人了解和修改数据。正确答案:【封装是指设计一个类时,要周密的考虑把类的所有成员进行封装到一起,其所有成员都设置为private,对外隐蔽起来。】2、问题:为了实现信息隐蔽,对类成员函数的定义一般不放在头文件中,而另外放在一个文件中。选项:A、正确B、错误正确答案:【正确】第3章作业实验2-类设计及简单应用本章测试1、问题:下列有关类和对象的说法不正确的是()。选项:A、对象是类的一个实例B、任何一个对象只能属于一个具体的类C、类是对对象的概括和抽象D、一个类只能有1个对象正确答案:【一个类只能有1个对象】2、问题:定义类的一般形式为,如下选项中正确的是:选项:A、Class类名{private:私有的数据和成员函数;public:公用的数据和成员函数;};B、class类名{private:私有的数据和成员函数;public:公用的数据和成员函数;}C、Class类名{private:私有的数据和成员函数;public:公用的数据和成员函数;}D、class类名{private:私有的数据和成员函数;public:公用的数据和成员函数;};正确答案:【class类名{private:私有的数据和成员函数;public:公用的数据和成员函数;};】3、问题:类的成员访问限定符不包含()。选项:A、private:限定成员称为私有成员:私有成员的数据或函数使用受到类的限制,本类的成员函数可以访问,但类外不能访问B、public:限定成员称为公有成员:公有成员的数据或函数不受类的限制,可以在类内或类外自由使用,本类的成员函数可以访问,类外也能访问。C、protected:限定成员为保护成员,只允许在类内及该类的派生类中使用保护的数据或函数。即保护成员的作用域是该类及该类的派生类。D、const:限定类的成员为常类型,不允许修改数据的值。正确答案:【const:限定类的成员为常类型,不允许修改数据的值。】4、问题:以下关于构造函数的叙述错误的是()。选项:A、构造函数名必须与类名相同B、构造函数在定义对象时自动执行C、构造函数无任何函数类型D、在一个类中构造函数又且仅有一个正确答案:【在一个类中构造函数又且仅有一个】5、问题:UML类图可以清晰形象地表示类的构成,它有3个组成部分,分别是()选项:A、类名B、类的属性(数据成员)C、类的行为(成员函数)D、类的消息正确答案:【类名#类的属性(数据成员)#类的行为(成员函数)】6、填空题:用class定义的类,如果不作private或public声明,系统将其成员默认为()正确答案:【private##%_YZPRLFH_%##私有】7、填空题:类中有一种特殊的成员函数,它主要用来为对象分配内存空间,对类的数据成员进行初始化,这种成员函数是()正确答案:【构造函数】8、填空题:()的作用是当对象被撤销时,释放该对象所占据的存储空间。正确答案:【析构函数】测试1、填空题:对象数组由对象组成,其类型为类类型。数组中的每一个元素就是一个()正确答案:【对象】2、填空题:在对象数组初始化时,对每个元素初始化要分别调用()。正确答案:【构造函数】3、填空题:创建一个Studentstu[50]的数组对象,其中stu[10]的对象类型为正确答案:【Student】测试1、问题:类组合先调用本类的构造函数,再调用内嵌对象的构造函数。选项:A、正确B、错误正确答案:【错误】2、问题:通过对复杂对象进行分解、抽象,使我们能够将一个复杂对象理解为简单对象的组合。选项:A、正确B、错误正确答案:【正确】3、填空题:一个类中若包含另一个类的(),则这种情况称为类的组合,这个对象称为子对象。正确答案:【对象】测试1、问题:定义指向类Box的对象指针的命令,正确的是:选项:A、Box*p;B、Boxp*;C、*Box*p;D、Box**p;正确答案:【Box*p;】2、问题:定义时间类Time类指针Time*pt;定义t1为Time类对象;如何把指针pt指向t1?选项:A、pt=t1;B、pt=t1;C、pt=*t1;D、pt=t1;正确答案:【pt=t1;】3、问题:定义Time类成员函数指针void(Time::*pt2)(),指向了Time类的getTime()操作;下列选项正确的是选项:A、p2=Time∷get_timeB、p2=Time∷get_timeC、p2=get_timeD、p2=*Time∷get_time正确答案:【p2=Time∷get_time】测试1、问题:对象的动态建立与释放,可以提高内存空间的利用率。选项:A、正确B、错误正确答案:【正确】2、填空题:在不再需要使用由new建立的对象时,可以用()运算符予以释放。正确答案:【delete】3、填空题:动态建立对象的语法格式:new类名;其中()运算返回一个指向新对象内存空间的起始地址。正确答案:【new】测试1、问题:下面对静态数据成员的描述中,错误的是()。选项:A、静态成员在类的所有对象中是共享的。这意味着无论创建多少个类的对象,静态成员都只有一个副本。B、静态数据成员可以在类体内进行初始化C、使用static关键字来把类成员定义为静态的D、静态数据成员可以用类名加作用域限定符::访问正确答案:【静态数据成员可以在类体内进行初始化】2、问题:定义静态成员函数的主要目的是()选项:A、方便调用B、有利于数据隐藏C、处理类的静态成员变量D、便于继承正确答案:【处理类的静态成员变量】3、填空题:将类中的数据成员声明为static的目的是使类的多个()之间共享数据。正确答案:【对象】4、填空题:类的静态数据成员的初始化工作,只能在()外进行。备注:答案只能写两个字正确答案:【类体】测试1、问题:常对象的作用:保证一个对象中的数据成员不被改变。选项:A、正确B、错误正确答案:【正确】2、问题:常成员函数只能引用本类中的数据成员,而不能修改。常用于数据输出等选项:A、正确B、错误正确答案:【正确】3、填空题:如果想将类的一般成员函数说明为类的常成员函数,则应该使用关键字___________说明成员函数。正确答案:【const】测试1、问题:一个类的友元函数或友元类可以访问该类的()。选项:A、私有成员B、保护成员C、共有成员D、所有成员正确答案:【所有成员】2、问题:以下关于友元函数的叙述中正确的是()。选项:A、友元函数的实现必须在类的内部定义B、友元函数是类的成员函数C、友元函数破坏了类的封装性和隐藏性D、友元函数不能访问类的私有成员正确答案:【友元函数破坏了类的封装性和隐藏性】3、填空题:若外界函数想直接访问类的私有数据成员,则必须把该函数声明为类的___________。正确答案:【友元函数】测试1、问题:可见性表示从内层作用域向外层作用域“看”时能看见什么。如果标识在某处可见,则就可以在该处引用此标识符。选项:A、正确B、错误正确答案:【正确】2、问题:函数的形参,在块中声明的标识符,其作用域自声明处起,限于块中。选项:A、正确B、错误正确答案:【正确】测试1、问题:关于#include编译预处理命令,描述错误的是()选项:A、将一个源文件嵌入到当前源文件中该点处。C、include文件名:按标准方式搜索,文件位于C++系统目录的include子目录下。E、include文件名:首先在当前目录中搜索,若没有,再按标准方式搜索。F、要使用存放在当前目录中的自定义头文件book.h,使用命令G、includebook.h即可。正确答案:【要使用存放在当前目录中的自定义头文件book.h,使用命令#includebook.h即可。】2、问题:一个源程序可以划分为多个源文件,这些文件是()选项:A、类声明文件B、类实现文件C、类的使用文件D、函数文件正确答案:【类声明文件#类实现文件#类的使用文件】第4章作业实验3第4章测试1、问题:【对象数组】设有定义如下,则以下叙述不正确的是()classperson{intnum;charname[10];public:voidinit(intn,char*m);...};personstd[30];选项:A、std是一个含有30个元素的对象数组B、std数组中的每一个元素都是person类对象C、std数组中的每一个元素都有自己的私有变量num和nameD、std数组中的每一个元素都有各自的成员函数init正确答案:【std数组中的每一个元素都有各自的成员函数init】2、问题:下列对静态数据成员的描述正确的是()。选项:A、静态数据成员不可以被类的对象调用B、静态数据成员可以在类体内进行初始化C、静态数据成员不能受protected控制符的作用D、静态数据成员可以直接用类名调用正确答案:【静态数据成员可以直接用类名调用】3、问题:以下关于友元函数的叙述中正确的是()。选项:A、友元函数的实现必须在类的内部定义B、友元函数是类的成员函数C、友元函数破坏了类的封装性和隐藏性D、友元函数不能访问类的私有成员正确答案:【友元函数破坏了类的封装性和隐藏性】4、问题:下列对友元叙述正确的是()。选项:A、友元可以提高程序的执行效率B、友元加强了类的继承性C、友元加强了类的多态性D、友元提高了程序的封装性正确答案:【友元可以提高程序的执行效率】5、问题:如果想在同类的多个对象之间实现数据共享,不用全局对象,可以用静态的数据成员。选项:A、正确B、错误正确答案:【正确】6、问题:一个类中若包含另一个类的对象,则这种情况称为类的组合,这个对象称为子对象。选项:A、正确B、错误正确答案:【正确】7、填空题:对象数组由对象组成,其类型为类类型。数组中的每一个元素就是一个()正确答案:【对象】8、填空题:动态建立对象的语法格式:new类名;其中()运算返回一个指向新对象内存空间的起始地址。正确答案:【new】第4章测试(有效)1、问题:设有定义如下,则以下叙述不正确的是()classperson{intnum;charname[10];public:voidinit(intn,char*m);...};personstd[30];选项:A、std数组中的每一个元素都有各自的成员函数initB、std是一个含有30个元素的对象数组C、std数组中的每一个元素都是person类对象D、std数组中的每一个元素都有自己的私有变量num和name正确答案:【std数组中的每一个元素都有各自的成员函数init】2、问题:下列对静态数据成员的描述正确的是()。选项:A、静态数据成员可以直接用类名调用B、静态数据成员不可以被类的对象调用C、静态数据成员可以在类体内进行初始化D、静态数据成员不能受protected控制符的作用正确答案:【静态数据成员可以直接用类名调用】3、问题:以下关于友元函数的叙述中正确的是()。选项:A、友元函数破坏了类的封装性和隐藏性B、友元函数的实现必须在类的内部定义C、友元函数是类的成员函数D、友元函数不能访问类的私有成员正确答案:【友元函数破坏了类的封装性和隐藏性】4、问题:下列对友元叙述正确的是()。选项:A、友元可以提高程序的执行效率B、友元加强了类的继承性C、友元加强了类的多态性D、友元提高了程序的封装性正确答案:【友元可以提高程序的执行效率】5、问题:如果想在同类的多个对象之间实现数据共享,不用全局对象,可以用静态的数据成员。选项:A、正确B、错误正确答案:【正确】6、问题:一个类中若包含另一个类的对象,则这种情况称为类的组合,这个对象称为子对象。选项:A、正确B、错误正确答案:【正确】7、填空题:对象数组由对象组成,其类型为类类型。数组中的每一个元素就是一个()正确答案:【对象】8、填空题:动态建立对象的语法格式:new类名;其中()运算返回一个指向新对象内存空间的起始地址。正确答案:【new】测试1、问题:在C++中不用重载就能直接作用于类对象的运算符是()。选项:A、赋值运算符=B、*C、+D、-正确答案:【赋值运算符=】2、问题:运算符重载函数的重载为成员函数的格式为:函数类型类名::operator运算符(参数表){函数体;},其参数可以比实际运算数少一个,由调用这个成员函数的当前对象提供。选项:A、正确B、错误正确答案:【正确】3、填空题:运算符重载的本质是()(这里填写4个字)正确答案:【函数重载】测试1、问题:双目运算符重载函数一般采用重载为类的()形式。选项:A、成员函数B、友元函数C、常成员函数D、转换函数正确答案:【友元函数】2、问题:双目运算符重载时,由于友元函数不是该类的成员函数,因此函数的形参列表中必须有2个参数代表2个操作数,一个也不能省略选项:A、正确B、错误正确答案:【正确】测试1、问题:为了区别单目运算符的前置和后置运算,在后置运算符进行重载时,额外添加一个参数,其类型是()。选项:A、voidB、charC、floatD、int正确答案:【int】2、问题:单目运算符的重载与双目运算符重载区别明显,单目运算符重载一般使用成员函数法,双目运算符重载一般使用友元函数法。选项:A、正确B、错误正确答案:【正确】3、填空题:对单目运算符进行重载的函数需要传入_________(填写阿拉伯数字)个参数。正确答案:【0】测试1、问题:只能将重载“”和“”的函数作为友元函数或全局函数,而不能将它们定义为成员函数。选项:A、正确B、错误正确答案:【正确】2、填空题:cin和cout分别是____类和ostream类的对象。正确答案:【istream】测试1、问题:关于标准类型数据间的转换,下面说法错误的是()选项:A、标准类型数据间的转换分为2类:隐式类型转换、显式类型转换。B、隐式类型转换是指:在某些不同类型数据之间可以自动转换(如基类型),如flaotf=5;//将整型5转换成float类型。C、显式类型转换是指:用于将现有数据转换为用户指定的类型,支持强制类型转换。其形式为类型名(数据),如int(98.5)//将实数98.5转换为整型数据98。D、将实数转换为整型数据时,能够保证数据一点也不丢失。正确答案:【将实数转换为整型数据时,能够保证数据一点也不丢失。】2、问题:关于类型转换函数,下面说法错误的是()选项:A、类型转换函数的作用是将一个类的对象转换成另一类型的数据。例如将一个Complex类对象转换成double类型数据。B、类型转换函数的一般形式为:operator类型名(){实现转换的语句}C、在类型转换函数名前面能指定函数类型;函数没有参数;D、函数返回值的类型是由函数名中指定的类型名来确定;类型转换函数只能作为成员函数,因为转换的主体是本类的对象,不能作为友元函数或普通函数;正确答案:【在类型转换函数名前面能指定函数类型;函数没有参数;】3、填空题:转换构造函数是一种特殊的构造函数,只有____(填写阿拉伯数字)个形参,用作类型转换。正确答案:【1】本章测验1、问题:双目运算符重载为普通函数时,其参数表中应带有几个参数。()选项:A、0B、1C、2D、3正确答案:【2】2、问题:如果表达式a+b中的“+”是作为成员函数重载的运算符,若采用运算符函数调用格式,则可表示为()。选项:A、a.operator+(b)B、b.operator+(a)C、operator+(a,b)D、operator(a+b)正确答案:【a.operator+(b)】3、问题:关于插入运算符的重载,下列说法不正确的是()选项:A、运算符函数的返回值类型是ostream。B、重载的运算符必须定义为类的成员函数。C、运算符函数的第一个参数的类型是ostream。D、运算符函数有两个参数。正确答案:【重载的运算符必须定义为类的成员函数。】4、问题:为了区别单目运算符的前置和后置运算,在后置运算符进行重载时,额外添加一个参数,其类型是()。选项:A、voidB、charC、floatD、int正确答案:【int】5、问题:关于标准类型数据间的转换,下面说法错误的是()。选项:A、标准类型数据间的转换分为2类:隐式类型转换、显式类型转换B、隐式类型转换是指:在某些不同类型数据之间可以自动转换(如基类型),如flaotf=5;//将整型5转换成float类型。C、显式类型转换是指:用于将现有数据转换为用户指定的类型,支持强制类型转换。其形式为类型名(数据),如int(98.5)//将实数98.5转换为整型数据98。D、将实数转换为整型数据时,能够保证数据一点也不丢失。正确答案:【将实数转换为整型数据时,能够保证数据一点也不丢失。】6、问题:运算符重载的本质是函数重载。选项:A、正确B、错误正确答案:【正确】7、问题:运算符重载函数的重载为成员函数的格式为:函数类型类名::operator运算符(参数表){函数体;}选项:A、正确B、错误正确答案:【正确】8、问题:只能将重载“”和“”的函数作为友元函数或全局函数,而不能将它们定义为成员函数。选项:A、正确B、错误正确答案:【正确】9、问题:成员函数法对单目运算符进行重载的函数需要传入0个参数。选项:A、正确B、错误正确答案:【正确】10、问题:cin和cout分别是istream类和ostream类的对象。选项:A、正确B、错误正确答案:【正确】测试1、问题:下列关于继承的描述中,错误的是()。选项:A、继承是重用性的重要机制B、C++语言不支持多重继承C、继承关系不是可逆的D、继承是面向对象程序设计语言的重要特性正确答案:【C++语言不支持多重继承】2、问题:下面对派生类的描述中,错误的是()。选项:A、一个派生类可以作为另外一个派生类的基类B、派生类至少有一个基类C、派生类的成员除了它自己的成员外,还包含了它的基类的成员D、派生类中继承的基类成员的访问权限到派生类中保持不变正确答案:【派生类中继承的基类成员的访问权限到派生类中保持不变】3、问题:多重继承是指一个基类派生出多个派生类的情况。选项:A、正确B、错误正确答案:【错误】测试1、问题:派生类的对象可以直接访问的基类成员是()。选项:A、公有继承的公有成员B、保护继承的公有成员C、私有继承的公有成员D、公有继承的保护成员正确答案:【公有继承的公有成员】2、问题:私有继承中基类的私有成员在派生类中还是私有的。选项:A、正确B、错误正确答案:【错误】3、问题:保护继承方式下基类的保护成员在派生类仍是保护成员。选项:A、正确B、错误正确答案:【正确】4、问题:公有继承中,派生类会原样继承基类中的所有成员(私有成员除外)。选项:A、正确B、错误正确答案:【正确】测试1、问题:C++类体系中,不能被派生类继承的有()。选项:A、构造函数B、虚函数C、静态成员函数D、赋值操作函数正确答案:【构造函数】2、问题:派生类的构造函数包含着直接基类的构造函数。选项:A、正确B、错误正确答案:【正确】测试1、问题:包含子对象的派生类构造函数的任务是()选项:A、对基类数据成员初始化;B、对子对象数据成员初始化;C、对派生类数据成员初始化。D、对程序的全局变量进行初始化正确答案:【对基类数据成员初始化;#对子对象数据成员初始化;#对派生类数据成员初始化。】2、问题:子对象是指:在一个类中可以用类对象作为数据成员。这样就可以利用简单的对象组合成复杂的对象。选项:A、正确B、错误正确答案:【正确】测试1、问题:关于派生类的析构函数,下面说法错误的是()。选项:A、派生类不能继承基类的析构函数。B、如果需要的话,程序员应当在派生类中定义自己的析构函数,用来对派生类中所增加的成员进行清理工作。C、在执行派生类的析构函数时,系统会自动调用基类的析构函数和子对象的析构函数,对基类和子对象进行清理。D、派生类析构函数可以有参数和返回类型正确答案:【派生类析构函数可以有参数和返回类型】2、问题:多级派生的派生类构造函数只需要调用其直接父类的构造函数即可。选项:A、正确B、错误正确答案:【正确】测试1、问题:下列关于多继承二义性的描述中,错误的是()。选项:A、一个派生类的多个基类中出现了同名成员时,派生类对同名成员的访问可能出现二义性B、一个派生类有多个基类,而这些基类又有一个共同的基类,派生类访问公共基类成员时,可能出现二义性C、解决二义性的方法是采用类名限定D、基类和派生类中同时出现同名成员时,会产生二义性正确答案:【基类和派生类中同时出现同名成员时,会产生二义性】2、问题:多重继承派生类的构造函数中应包含所有直接基类的构造函数。选项:A、正确B、错误正确答案:【正确】3、问题:多重继承的派生类构造函数中执行基类构造函数的顺序取决于该派生类构造函数的成员初始化列表中出现基类初始化项的顺序。选项:A、正确B、错误正确答案:【错误】测试1、问题:【虚基类】设置虚基类的目的是()。选项:A、简化程序B、消除二义性,使得在继承间接共同基类只保留重复成员中的一份。C、提高运行效率D、减少目标代码正确答案:【消除二义性,使得在继承间接共同基类只保留重复成员中的一份。】2、问题:下列虚基类的声明中,正确的是()。选项:A、classvirtualB:publicAB、virtualclassB:publicAC、classB:publicAvirtualD、classB:virtualpublicA正确答案:【classB:virtualpublicA】本章测试1、问题:下列关于继承的描述中,错误的是()。选项:A、继承是重用性的重要机制B、C++语言不支持多重继承C、继承关系不是可逆的D、继承是面向对象程序设计语言的重要特性正确答案:【C++语言不支持多重继承】2、问题:面对派生类的描述中,错误的是()。选项:A、一个派生类可以作为另外一个派生类的基类B、派生类至少有一个基类C、派生类的成员除了它自己的成员外,还包含了它的基类的成员D、派生类中继承的基类成员的访问权限到派生类中保持不变正确答案:【派生类中继承的基类成员的访问权限到派生类中保持不变】3、问题:继承与派生可以给软件开发带来很多好处,下述中不正确的是:选项:A、避免公用代码的重复开发,提高了程序开发的效率和质量。B、可以减少代码和数据的冗余。C、通过层次关系组织对象,给编码与代码重用带来了方便。D、软件的执行效率大大提高正确答案:【软件的执行效率大大提高】4、问题:下列描述中,错误的是()。选项:A、基类的protected成员在public派生类中仍然是protected成员B、基类的private成员在public派生类中是不可访问的C、基类public成员在private派生类中是private成员D、基类public成员在protected派生类中仍是public成员正确答案:【基类public成员在protected派生类中仍是public成员】5、问题:派生类的对象可以直接访问的基类成员是()。选项:A、公有继承的公有成员B、保护继承的公有成员C、私有继承的公有成员D、公有继承的保护成员正确答案:【公有继承的公有成员】6、问题:公有继承中,派生类会原样继承基类中的所有成员(私有成员除外)。选项:A、正确B、错误正确答案:【正确】7、问题:如果一个类是另一个类的子类型,则这个类的对象可以给另一个类的对象赋值,反之亦然。选项:A、正确B、错误正确答案:【错误】8、问题:在执行派生类的析构函数时,系统会自动调用基类的析构函数和子对象的析构函数,对基类和子对象进行清理。选项:A、正确B、错误正确答案:【正确】9、问题:派生类的成员除了它自己的成员外,还包含了它的基类的成员选项:A、正确B、错误正确答案:【正确】10、问题:多继承派生类构造函数构造对象时,构造函数的调顺序是:基类的构造函数,派生类中子对象类的构造函数,派生类自己的构造函数。选项:A、正确B、错误正确答案:【正确】测试1、问题:()是面向对象程序设计的一个重要特征,是指相同的消息被不同类型的对象接收时产生不同的行为的特性。这里所说的消息就是对类成员函数的调用。选项:A、多态性B、继承C、抽象D、封装正确答案:【多态性】2、问题:【多态性】下面不属于静态多态的是()选项:A、函数重载B、运算符重载C、函数模板D、虚函数正确答案:【虚函数】测试1、问题:实现动态多态(运行时的多态性)要使用()。选项:A、函数重载B、构造函数C、析构函数D、虚函数正确答案:【虚函数】2、问题:如果一个类至少有一个纯虚函数,那么该类称为()。选项:A、虚基类B、抽象类C、派生类D、以上都不对正确答案:【抽象类】3、问题:下列关于虚函数的描述中,()是正确的。选项:A、虚函数是一个非成员函数。B、派生类的虚函数与基类种对应的虚函数具有相同的参数个数和类型。C、虚函数是指在基类中用virtual关键字声明的成员函数。D、虚函数既可以在函数说明时定义,也可以在函数实现时定义。正确答案:【虚函数既可以在函数说明时定义,也可以在函数实现时定义。】4、问题:下列各函数的说明中,()表示纯虚函数。选项:A、virtualintvf(int);B、voidvf(int)=0;C、virtualvoidvf()=0;D、virtualvoidvf(int){}正确答案:【virtualvoidvf()=0;】本章测试1、问题:下面有关重载函数的说法中正确的是()选项:A、必须具有不同的返回值类型ꢀB、形参个数必须不同ꢀꢀC、必须有不同的形参列表ꢀꢀD、重载函数名可以不同正确答案:【必须有不同的形参列表ꢀꢀ】2、问题:()是面向对象程序设计的一个重要特征,是指相同的消息被不同类型的对象接收时产生不同的行为的特性。这里所说的消息就是对类成员函数的调用。选项:A、多态性B、继承C、抽象D、封装正确答案:【多态性】3、问题:下面不属于静态多态的是()。选项:A、函数重载B、运算符重载C、函数模板D、虚函数正确答案:【虚函数】4、问题:动态多态的调用是指()。选项:A、以任何方式调用一个虚函数B、以任何方式调用一个纯虚函数C、借助于指向对象的基类指针或引用调用一个虚函数D、借助于指向对象的基类指针或引用调用一个纯虚函数正确答案:【借助于指向对象的基类指针或引用调用一个虚函数】5、问题:下列各函数的说明中,()表示纯虚函数。选项:A、virtualintvf(int);B、voidvf(int)=0;C、virtualvoidvf()=0;D、virtualvoidvf(int){}正确答案:【virtualvoidvf()=0;】测试1、问题:当多个函数的函数体相同,仅参数不同,可以考虑使用(),从而减少多个函数的重复代码。选项:A、函数模板B、类模板C、友元D、继承正确答案:【函数模板】2、问题:如果有两个或多个类,其功能是相同的,仅仅是数据类型不同时,可以使用(),达到减少重复工作的目的。选项:A、函数模板B、类模板C、友元D、继承正确答案:【类模板】3、填空题:()就是实现代码重用机制的一种工具,它可以实现类型参数化,即把类型定义为参数,从而实现了真正的代码可重用性。正确答案:【模板】测试1、问题:异常处理的命令格式如下:下面说法错误的是()try{被检查的语句}catch(异常信息类型[变量名]){进行异常处理的语句}其他语句选项:A、try语句块中的“被检查的语句”执行正常后,程序将跳转到“其他语句”进行执行。B、try语句块中的“被检查的语句”执行正常后,程序将跳转到“进行异常处理的语句”进行执行。C、try语句块中的“被检查的语句”执行正常后,程序将跳转到“进行异常处理的语句”进行执行。D、只有try语句块中的“被检查的语句”执行正常,才会执行catch语句块的语句。正确答案:【try语句块中的“被检查的语句”执行正常后,程序将跳转到“进行异常处理的语句”进行执行。】2、问题:下面关于命名空间的说法,错误的是()。选项:A、命名空间的引入让程序员可以在不同的模块中使用相同名字表示不同事物,避免命名冲突的问题。B、一个命名空间中可以集合很多不同的标识符。C、一个命名空间中的标识符命名作用域相同。D、程序员不可以自定义命名空间正确答案:【程序员不可以自定义命名空间】3、问题:常见的运行错误有()选项:A、内存空间不足B、除数为0C、数据读取错误D、输入数据类型错误等正确答案:【内存空间不足#除数为0#数据读取错误#输入数据类型错误等】4、填空题:命令“usingnamespacestd;”的意思是使用命名空间()。正确答案:【std】本章测试1、问题:如果try中不抛出异常,那么try块执行完后控制权会转向何处?()选项:A、catch后的第一条语句B、catch语句块的第一条语句C、throw语句D、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论