




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MOOC程序设计与算法(三)C++面向对象程序设计-北京大学中国大学慕课答案第一章测验1、问题:下面程序片段哪个没错?选项:A、intn=4;intr=n*5;B、intn=6;constintr=n;r=7;C、intn=8;constintr1=n;intr2=r1;D、intn=8;intr1=n;constintr2=r1;正确答案:【intn=8;intr1=n;constintr2=r1;】2、问题:下面程序片段输出结果是什么?inta=1,b=2;intr=a;r=b;r=7;coutaendl;选项:A、1B、2C、7D、8正确答案:【7】3、问题:下面说法哪种是对的?选项:A、常引用所引用的变量,其值不能被修改B、不能通过常量指针,去修改其指向的变量C、常量指针一旦指向某个变量,就不能再指向其他变量D、1+1=3正确答案:【不能通过常量指针,去修改其指向的变量】4、问题:表达式“newint”的返回值类型是:选项:A、intB、int*C、intD、void正确答案:【int*】5、问题:下面小段程序,哪个是正确的:选项:A、char*p=newchar[10];p[0]='K';delete[]p;B、int*p=newint[25];p[10]=100;deletepC、char*p=newint;p='a';deletep;D、int*p=newchar[20];正确答案:【char*p=newchar[10];p[0]='K';delete[]p;】6、问题:下面说法正确的是:选项:A、多个重载函数的参数个数必须不同。B、两个函数,参数表相同,返回值类型不同,它们是重载关系。C、调用一个第二个和第三个参数都有有缺省值的函数时,可以不写第二个实参而写第三个实参。D、使用内联函数的目的是提高程序的运行速度。正确答案:【使用内联函数的目的是提高程序的运行速度。】7、填空题:001简单的swap通过码(请参考公告中的“关于编程作业的说明”完成编程作业(请注意,编程题都要求提交通过码,在openjudge上提交了程序并且通过以后,就可以下载到通过码。)正确答案:【2297987f48c190c80b791cf274cd0df67d630711d43052f9de2f0df98db622bf】8、填空题:002难一点的swap通过码正确答案:【b757f8feee4e88616a075612389e1b2fbe0b62151f472c81e214116cb2a09aac】9、填空题:003好怪异的返回值通过码正确答案:【a61a68f5083be61db341d79e7101a5cf6a2c7dcaed887cf9c9d70d604bfa8b46】10、填空题:004神秘的数组初始化通过码正确答案:【b1262823f8355bd467ae4da4350c7076657725d9d19c7b4b614851d422348cee】第二周测验1、问题:有类A如下定义:classA{intv;public:A(intn){v=n;}};下面哪条语句是编译不会出错的?选项:A、A)Aa=newA();B、B)Aa2;C、C)A*p=newA();D、D)Aa1(3);正确答案:【D)Aa1(3);】2、问题:假设A是一个类的名字,下面的语句生成了几个类A的对象?A*arr[4]={newA(),NULL,newA()};选项:A、A)1B、B)2C、C)3D、D)4正确答案:【B)2】3、问题:假设A是一个类的名字,下面哪段程序不会用到A的复制构造函数?选项:A、A)Aa1,a2;a1=a2;B、B)voidfunc(Aa){coutgoodendl;}C、C)Afunc(){Atmp;returntmp;}D、D)Aa1;Aa2(a1);正确答案:【A)Aa1,a2;a1=a2;】4、问题:类A定义如下:classA{intv;public:A(inti){v=i;}A(){}};下面哪段程序不会引发类型转换构造函数被调用?选项:A、A)Aa1(4)B、B)Aa2=4;C、C)Aa3;a3=9;D、D)Aa1,a2;a1=a2;正确答案:【D)Aa1,a2;a1=a2;】5、问题:假设A是一个类的名字,下面的程序片段会调用类A的调用析构函数几次?intmain(){A*p=newA[2];A*p2=newA;Aa;delete[]p;}选项:A、A)1B、B)2C、C)3D、D)4正确答案:【C)3】6、填空题:005编程填空:学生信息处理程序通过码正确答案:【0986faf7463864ffb1bb7f1cf02a4769c4493069af87aed9de2571bfa7c2c4fc】7、填空题:006奇怪的类复制通过码正确答案:【650e4c2a00e5a0e8e75ffb63754c5257e4290e011dc679ed70bc005928151d22】8、填空题:007返回什么才好呢通过码正确答案:【7bf348bd6ca620ffbc68d80556cf9d823ad5642635f576faa0c347f14fe7b357】9、填空题:008超简单的复数类通过码正确答案:【b8697c792a0d1a0cc59da151f784d9f78361389f0b4df52a929cb65e2ff3cc24】10、填空题:009哪来的输出通过码正确答案:【d00365f15354d0b82b8df6833ee128216b1be3e4833b15e85f1d9631c43f4c91】第三章测验1、问题:1)以下说法不正确的是:选项:A、A)静态成员函数中不能使用this指针B、B)this指针就是指向成员函数所作用的对象的指针C、C)每个对象的空间中都存放着一个this指针D、D)类的非静态成员函数,真实的参数比所写的参数多1正确答案:【C)每个对象的空间中都存放着一个this指针】2、问题:2)下面说法哪个不正确?选项:A、A)静态成员函数内部不能访问同类的非静态成员变量,也不能调用同类的非静态成员函数B、B)非静态成员函数不能访问静态成员变量C、C)静态成员变量被所有对象所共享D、D)在没有任何对象存在的情况下,也可以访问类的静态成员正确答案:【B)非静态成员函数不能访问静态成员变量】3、问题:3)以下说法正确的是:选项:A、A)成员对象都是用无参构造函数初始化的B、B)封闭类中成员对象的构造函数先于封闭类的构造函数被调用C、C)封闭类中成员对象的析构函数先于封闭类的析构函数被调用D、D)若封闭类有多个成员对象,则它们的初始化顺序取决于封闭类构造函数中的成员初始化列表正确答案:【B)封闭类中成员对象的构造函数先于封闭类的构造函数被调用】4、问题:4)以下关于友元的说法哪个是不正确的?选项:A、A)一个类的友元函数中可以访问该类对象的私有成员B、B)友元类关系是相互的,即若类A是类B的友元,则类B也是类A的友元C、C)在一个类中可以将另一个类的成员函数声明为友元D、D)类之间的友元关系不能传递正确答案:【B)友元类关系是相互的,即若类A是类B的友元,则类B也是类A的友元】5、填空题:010返回什么才好呢通过码正确答案:【e17d847383d653eb1abc31a9e04d722336d5f303dcdfec3cacc995075035de47】6、填空题:011BigBase封闭类问题通过码正确答案:【8d76ad3e84cf6e16b45b2fa265690107c6082d7d4c373f40f20f77f16cdb23df】7、填空题:012这个指针哪来的通过码正确答案:【2f3957a70e41c8289889c9b37f589b9c36e73b6258d6ce9072b44c013d0293b4】8、填空题:013魔兽世界之一:备战通过码正确答案:【3555ebfe15177f870849132e5b2d89113f162e8150ff88e13848e2a7a1d5f0ce】第四章测验1、问题:1)如果将[]运算符重载成一个类的成员函数,则该重载函数有几个参数?选项:A、A)0B、B)1C、C)2D、D)3正确答案:【B)1】2、问题:2)以下说法正确的是:选项:A、A)成员对象都是用无参构造函数初始化的B、B)封闭类中成员对象的构造函数先于封闭类的构造函数被调用C、C)封闭类中成员对象的析构函数先于封闭类的析构函数被调用D、D)若封闭类有多个成员对象,则它们的初始化顺序取决于封闭类构造函数中的成员初始化列表正确答案:【B)封闭类中成员对象的构造函数先于封闭类的构造函数被调用】3、问题:3)重载“”用于将自定义的对象通过cout输出时,以下说法哪个是正确的?选项:A、A)可以将重载为ostream类的成员函数,返回值类型是ostreamB、B)可以将重载为全局函数,第一个参数以及返回值,类型都是ostreamC、C)可以将重载为全局函数,第一个参数以及返回值,类型都是ostreamD、D)可以将重载为ostream类的成员函数,返回值类型是ostream正确答案:【C)可以将重载为全局函数,第一个参数以及返回值,类型都是ostream】4、问题:4)如何区分自增运算符重载的前置形式和后置形式?选项:A、A)重载时,前置形式的函数名是++operator,后置形式的函数名是operator++B、B)后置形式比前置形式多一个int类型的参数C、C)无法区分,使用时不管前置形式还是后置形式,都调用相同的重载函数D、D)前置形式比后置形式多了一个int类型的参数正确答案:【B)后置形式比前置形式多一个int类型的参数】5、填空题:014MyString通过码正确答案:【708c6fde7f7d617db7752d96fc1e1ea610b498f1d96c7614f0b863a17ff166a1】6、填空题:015看上去好坑的运算符重载通过码正确答案:【2ba3f03e6d1ebb53e56af4b5936135a445a7c16a03f7e0b82cabcab63edbfe4a】7、填空题:016惊呆!Point竟然能这样输入输出通过码正确答案:【4c9aa29fcf2c2ba1ea359baf5ac5135a46b57181dba985fc9868618b9592f265】8、填空题:017第四周程序填空题3(二维数组类Array2)通过码正确答案:【1dc3f2775546bcf02ce549dfa3aaf05375bb8c31ce78f17be225155d5b01bded】9、填空题:018别叫,这个大整数已经很简化了!通过码正确答案:【b90b694683addba8e49d88b36728b74296d7d8c00764cf9c08475be4dfbb3e73】第五章测验1、问题:1)如果多种事物,有一些共同的特点,又有一些各自不同的特点,如何编写类来代表这些事物比较合适?选项:A、A)为每种事物独立编写一个类,各类之间互相无关B、B)写一个类代表其中一种事物,代表其他事物的类,都从这个类派生出来C、C)概括所有事物的共同特点,写一个基类。然后为每种事物写一个类,都从基类派生而来D、D)一共就写一个类,包含所有事物的所有特点,然后用一个成员变量作为标记来区分不同种类的事物正确答案:【C)概括所有事物的共同特点,写一个基类。然后为每种事物写一个类,都从基类派生而来】2、问题:2)以下哪种派生关系是合理的选项:A、A)从“虫子”类派生出“飞虫”类B、B)从“点”类派生出“圆”类C、C)从“狼”类派生出“狗”类D、D)从“爬行动物”类派生出“哺乳动物”类正确答案:【A)从“虫子”类派生出“飞虫”类】3、问题:3)派生类和基类有同名同参数表的成员函数,这种现象:选项:A、A)叫重复定义,是不允许的B、B)叫函数的重载C、C)叫覆盖。在派生类中基类的同名函数就没用了D、D)叫覆盖。体现了派生类对从基类继承得到的特点的修改正确答案:【D)叫覆盖。体现了派生类对从基类继承得到的特点的修改】4、问题:4)以下说法正确的是:选项:A、A)派生类可以和基类有同名成员函数,但是不能有同名成员变量B、B)派生类的成员函数中,可以调用基类的同名同参数表的成员函数C、C)派生类和基类的同名成员函数必须参数表不同,否则就是重复定义D、D)派生类和基类的同名成员变量存放在相同的存储空间正确答案:【B)派生类的成员函数中,可以调用基类的同名同参数表的成员函数】5、问题:5)以下说法正确的是:选项:A、A)派生类对象生成时,派生类的构造函数先于基类的构造函数执行B、B)派生类对象消亡时,基类的析构函数先于派生类的析构函数执行C、C)如果基类有无参构造函数,则派生类的构造函数就可以不带初始化列表D、D)在派生类的构造函数中部可以访问基类的成员变量正确答案:【C)如果基类有无参构造函数,则派生类的构造函数就可以不带初始化列表】6、填空题:019全面的MyString通过码正确答案:【d5ab9a523a8794883d05d962589b9175af1a9e318ceeb51d2f9ec30b18afa7a0】7、填空题:020继承自string的MyString通过码正确答案:【cf734cc1c2cac2927e100f2bee23ce9deb5a63cd59d0b2e257944645a810ee01】8、填空题:021魔兽世界2通过码正确答案:【63fc93b2bee4d53039586b36f625b7fcd731fba36eaebfc6ef57d9e800d403a7】第六章测验1、填空题:022看上去像多态通过码正确答案:【f88fc0158b4bd90f6ffadf1210aa3713e1761ef48fc34cd80186088da58f0dad】2、填空题:023Fun和Do通过码正确答案:【25ebd6dfc4d75c85ff2efb8ffda4fba25894db942d94457cc413858bd8b38e3e】3、填空题:024这是什么鬼delete通过码正确答案:【8ad37091472c97fa24a0e071f35bb210fac761503af54d6cb79a3b34032077b6】4、填空题:025怎么又是Fun和Do通过码正确答案:【d50fb817ed55415635325cc07cafcffd670d2255dcb4e51b397d73b4681a7189】5、填空题:026统计动物数量通过码正确答案:【954852231c972c3e0dc89b7be63c63547e6c893b4f1d7f986b71ad9538ba0ecb】第七章测验1、填空题:027简单的SumArray通过码正确答案:【1f520b295ff40fe0fbcf91920d9412740b789ebe4693d45de7ad7a2ca1246a16】2、填空题:028简单的foreach通过码正确答案:【08f708f818b1edfc56f8bd46297d106e76b52ad1eec1f6b13dfab9c40a70b639】3、填空题:029简单的Filter通过码正确答案:【a5f451ca3e3adaeeb6fee16cc3a4b2a6c22c106d89a0752fff89b54cd5c7bf2c】4、填空题:030你真的搞清楚为啥while(cinn)能成立了吗?通过码正确答案:【037388521c3b606dd392943cc7ee7053198860d48229c5dadaac965e22e1f89f】5、填空题:031山寨版istream_iterator通过码正确答案:【0e84ae5172a617cbe241cfd76364a0f8af6ba94afc614562a24bc6bfc307ff0f】6、填空题:032这个模板并不难通过码正确答案:【fa3dc37a50af85046377c99ef923235d79e57fce0579a3dd1be4b402217868d7】7、填空题:033排序,又见排序!通过码正确答案:【d521bf56241b22c0aa5767f6b78182500f17e08dd92dd2efe4d12f8bf901e44a】第八章测验1、填空题:034goodcopy通过码正确答案:【60b921099f55ba19d9ceaf7c56fef570008438eca4b8b96b1b30918491408167】2、填空题:035按距离排序通过码正确答案:【8014c4c198b2e55090e47d911f87c249968ea1f876e7ee78da384f3416a90a73】3、填空题:036很难蒙混过关的CArray3d三维数组模板类通过码正确答案:【8091e7a6711980e120f33dfc4554c859ddba0920db645322b79bd48d183967cb】4、填空题:037函数对象的过滤器通过码正确答案:【393841dc3a2967e9dc6bf0d3035f35de4f87f61d35b69630fde281a4960e4f18】5、填空题:038白给的list排序通过码正确答案:【2a72ad708a42b1f7c64269edde3ab8e53c7e66b1f769b6715aecf24cf97e2860】6、填空题:039我自己的ostream_iterator通过码正确答案:【c2e3cb733e457b47cd58c91fe2e1c49630167e97ae9f7187b6226e1d2284b804】7、填空题:040List通过码正确答案:【9e9a5a2f6adcb30b110ea63987a052ba4e4c26c93e79c7472b82b945802cd3bb】第九章测验1、填空题:041Set通过码正确答案:【fbb33215d3a8e178cd5fee49034438d32b531d2bd8080e34b4ce519263b9413f】2、填空题:042热血格斗场通过码正确答案:【290559f1274cae7334eaa2a9f623a9bcbef667d39d79342c4ced66f3de5ed36c】3、填空题:043冷血格斗场通过码正确答案:【263c66d8a03d90b46a667ba1d49ba9972acfa77d73f1fdfc049767c4439e2bf9】4、填空题:044编程填空:数据库内的学生信息通过码正确答案:【33f5c3e8ecbbab20d90b9cbb9151e579f4b8035154e96f67324b39f17653e982】魔兽世界大作业期末考试1、问题:1)关于复制构造函数,下列说法正确的是选项:A、A.系统不会生成缺省复制构造函数,因此必须自己实现B、B.复制构造函数是形如X::X(X)的函数C、C.Myclassc1,c2;c1.n=1;c2=c1;第三句将会调用复制构造函数D、D.调用函数AFunc(){Aa(4);returna;}时,将会调用A的复制构造函数正确答案:【D.调用函数AFunc(){Aa(4);returna;}时,将会调用A的复制构造函数】2、问题:2)关于虚函数,下列说法不正确的是选项:A、A.不允许以虚函数作为构造函数B、B.没有虚函数便无法实现多态C、C.一般来讲,如果一个类中定义了虚函数,则不可将析构函数也定义为虚函数D、D.不能用抽象类定义对象正确答案:【C.一般来讲,如果一个类中定义了虚函数,则不可将析构函数也定义为虚函数】3、问题:3)关于this指针,以下说法不正确的是选项:A、A.static成员函数内部不可以使用this指针B、B.在构造函数内部可以使用this指针C、C.在析构函数内部可以使用this指针D、D.const成员函数内部不可以使用this指针正确答案:【D.const成员函数内部不可以使用this指针】4、问题:4)以下关于多态的说法那个不正确?选项:A、A.在成员函数中调用虚函数,是多态B、B.通过“基类对象名.函数名的方式调用虚函数,不是多态C、C.多态的函数调用语句中,函数一定是虚函数D、D.通过“基类引用名.函数名的方式调用虚函数,是多态正确答案:【A.在成员函数中调用虚函数,是多态】5、问题:5)map的每个元素包括KEY(first)和VALUE(second)。关于map容器,下列哪种说法错误选项:A、A.map支持下标运算符B、B.map的不同元素可以有相同的VALUEC、C.map支持STL的sort算法D、D.map支持双向迭代器正确答案:【C.map支持STL的sort算法】6、问题:6)下列说法错误的是选项:A、A.可以在一个类的友元函数中使用this指针B、B每个类只有一个析构函数C、C抽象类至少包含一个纯虚函数D、D构造函数不可以是virtual函数正确答案:【A.可以在一个类的友元函数中使用this指针】7、问题:7)关于继承和派生的描述中,下列说法错误的是:选项:A、A.派生类的成员函数中,不能访问基类的private成员B、B.在派生类的析构函数执行之前,会先调用基类的析构函数C、C.派生类对象的地址可以赋值给基类指针D、D.派生类可以有和基类同名同参数的成员函数`正确答案:【B.在派生类的析构函数执行之前,会先调用基类的析构函数】8、问题:8)以下哪种使用std::sort算法的方式是不合法的:选项:A、A.vectorinta;…;sort(a.begin(),a.end());B、B.boolb[99];…;sort(b,b+99);C、C.stringc=“2333”;…;sort(c.begin(),c.end());D、D.listintd;…;sort(d.begin(),d.end());正确答案:【D.listintd;…;sort(d.begin(),d.end());】9、问题:9)类A重载的运算符声明是intoperator(Aother)const,那么以下说法中正确的是:选项:A、A.小于号左侧的A对象不可以是const的B、B.小于号右侧的A对象不可以是const的C、C.这个写法是错误的,因为小于号的返回类型必须是boolD、D.使用小于号的时候,other参数处,传进来的对象实际上会被复制一次正确答案:【B.小于号右侧的A对象不可以是const的】10、问题:10)以下STL中的函数模板哪个可以作用于set选项:A、A.sortB、B.random_shuffleC、C.findD、D.都不行正确答案:【C.find】11、填空题:编程填空:二进制输出通过码正确答案:【57a8559be2a717522977b2a6e6ac33e921aeb53399690f9a55d36982017c3394】12、填空题:编程填空:统计动物数量通过码正确答案:【bda27988f5b4ca01c256dd34d75506267db01919235b29da0ed8fcf5d18e227d】13、填空题:编程填空:简单的计算通过码正确答案:【b643258a6b4b87659c8f5729a1a841749d3209087ed10b994f49ba41ff229d12】14、填空题:编程填空:MyClass通过码正确答案:【6e7ff5a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能用电系统产品合作协议书
- 合伙经营铲车合同范本
- 土壤改良工程填土施工合同范本
- 剧组法律顾问合同范本
- 合伙运输协议合同范本
- 商品陈列协议合同范本
- 各类广告合同范本
- 厂房喷漆合同范本
- 俱乐部管理合同范本
- 厨师和饭店合同范本
- 办公用品供货服务计划方案
- 《普通生物学教案》word版
- 贵州省就业失业登记表
- 预防电信诈骗网络诈骗讲座PPT幻灯片课件
- 反兴奋剂知识试题及答案
- 初中八年级上册音乐课件4.2欣赏沃尔塔瓦河(14张)ppt课件
- 人教版五年级数学下册每个单元教材分析(共九个单元)
- 深圳氢燃料共享单车项目投资计划书【参考范文】
- 主要肠内营养制剂成分比较
- 小学生如何理解句子的含义(课堂PPT)
- 实际控制关系账户申报表
评论
0/150
提交评论