【MOOC答案】《C++程序设计(面向对象进阶)》(北京邮电大学)章节作业慕课答案_第1页
【MOOC答案】《C++程序设计(面向对象进阶)》(北京邮电大学)章节作业慕课答案_第2页
【MOOC答案】《C++程序设计(面向对象进阶)》(北京邮电大学)章节作业慕课答案_第3页
【MOOC答案】《C++程序设计(面向对象进阶)》(北京邮电大学)章节作业慕课答案_第4页
【MOOC答案】《C++程序设计(面向对象进阶)》(北京邮电大学)章节作业慕课答案_第5页
已阅读5页,还剩41页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

【答案】《C++程序设计(面向对象进阶)》(北京邮电大学)章节作业慕课答案

有些题目顺序不一致,下载后按键盘ctrl+F进行搜索第1单元:C++概览作业1:测试你的C++编译器支持的标准1.在C++开发环境中创建新的项目,然后创建一个main.cpp文件,将下面的代码粘贴到该源文件中;修改你的C++开发环境的配置,使它支持C++17标准、C++2a(C++20发布之前的实验性标准)、C++20或者C++23标准。编译并运行,使得程序输出C++17、C++20或者C++23。截屏展示程序的输出结果。作业提交:用文字说明你所用C++开发环境的名称、版本号、操作系统及版本号(共6分);输出结果的截屏图片(4分)。代码如下:<imgsrc="/95F11F7B0237530073373E15D43D7735.jpg?imageView&thumbnail=890x0&quality=100"alt="image"/>//注意:由于中M系统有bug,正常录入的C++代码会出现HTML控制符。//如果出现该问题,请参考上面图片中的代码。//也可以下载附件“CompilerVersion.cpp.txt”,将文件名中的“.txt”去掉#includeintmain(){//注意:__cplusplus开头是连续两个下划线if(__cplusplus>202002L)std::cout<<"C++23\n";elseif(__cplusplus==202002L)std::cout<<"C++20\n";elseif(__cplusplus==201703L)std::cout<<"C++17\n";elseif(__cplusplus==201402L)std::cout<<"C++14\n";elseif(__cplusplus==201103L)std::cout<<"C++11\n";elseif(__cplusplus==199711L)std::cout<<"C++98\n";elsestd::cout<<"pre-standardC++\n";std::cout<<"PressANYkeytoexit.";std::cin.get();return(0);}//如果上面的代码无法拷贝,也可以下载附件,将扩展名改为.cpp注意:要完成本作业,你能够使用的集成开发环境中所配置的编译器有1.VisualStudio2019/2022或者更新的版本【绝对不要使用VS2017之前的版本!!!】2.Gcc9.0或者更新版本3.Clang11.0或者更新版本各种编译器对于C++新标准的支持程度可以参考3.C++开发环境的名称、版本号其中开发环境名称2分,版本号2分,操作系统名称版本号2分截图(2分)展示运行程序的输出结果(2分)。第1单元测验1.单选题:第一个被称为“ModernC++”的标准是?

选项:

A、C++98

B、C++11

C、C++14

D、C++17

答案:【B】2.单选题:集成开发环境的英文缩写是

选项:

A、IDE

B、SDK

C、API

D、GUI

答案:【A】3.单选题:集成开发环境中不一定包括

选项:

A、编译器

B、调试器

C、图形化界面

D、版本控制系统

答案:【D】4.多选题:C++集成开发环境包括下面所列的哪些部分?

选项:

A、编辑器

B、编译器

C、调试器

D、代码分析工具

答案:【A;B;C;D】5.多选题:如何学好C++?

选项:

A、多做练习题

B、阅读优秀代码

C、学习设计模式

D、参与开源项目

答案:【A;B;C;D】6.多选题:C++11支持的编程范式包括

选项:

A、面向过程

B、面向对象

C、泛型编程

D、函数式编程

答案:【A;B;C;D】7.多选题:本课程讨论区不建议问下列哪些问题?

选项:

A、cout.flush()函数的参数是什么?

B、如何安装VisualStudio2019?

C、谁能帮我编一段排序算法的代码?

D、我的main()函数如下intmain(){charx{'\0'};std::cin>>x;std::cout<<xstdendlp>cin.get();return0;}我编译运行,并且输入了字符a之后,屏幕没有显示输出结果。我尝试了几次,都是同样的情况。我的开发环境是Windows10上面的VisualStudio2017。

答案:【A;B;C】8.多选题:集成开发环境中一般包含

选项:

A、代码编辑器

B、编译器/解释器

C、调试工具

D、自动完成功能

答案:【A;B;C;D】9.单选题:C语言支持面向对象编程范式

选项:

A、正确

B、错误

答案:【B】10.单选题:我们在C++学习过程中,选择开发工具应尽量选择简单的、问世时间比较久的工具。因为这样的工具易用且稳定。

选项:

A、正确

B、错误

答案:【B】11.填空题:编译器的英文是__________

答案:【compiler】第1单元课前测试:C语言水平评估(英文题目;选做)1.单选题:Afterexecutingthefollowingstatements:inti=0;for(;++i<=4;){};thevalueofvariableiis[]

选项:

A、3

B、4

C、5

D、6

答案:【C】2.单选题:Thestring"r\tu\r"Okay?"\n"willoccupy[]bytesmemory.

选项:

A、11

B、12

C、13

D、14

答案:【B】3.单选题:Inthefollowingstrings,thecorrectCidentifieris[]

选项:

A、2variable

B、variable2

C、*variable

D、variable-2

答案:【B】4.单选题:Thekeyword"unsigned"canmodifythekeyword[]

选项:

A、float

B、double

C、int

D、char

答案:【C】5.单选题:Thefollowingprogramsinitializeanarray.Thecorrectoneis:[]

选项:

A、inta[5]={0,1,2,3,4,5};

B、inta[]={0,1,2,3,4};

C、inta[5]="0123";

D、inta[5]=(0,1,2,3,4);

答案:【B】6.单选题:IfcompiledwithaSTANDARDCCOMPILER(e.g.gcc),whichiscorrectaboutthefollowingfunction"add"?[]doubleadd(int*,int*,intk){return(double)(8+k);}intmain(){intx=1,y=2,z=3;add(&x,&y,z);return0;}

选项:

A、Thefunctioncallisinvalidbecausethefunctionreturnsadoublebuttheresultisnotused.

B、Thefunctioncallisvalid,butthepointersarenotusedinthefunction.

C、Thefunctionwillcauseacompile-timeerror.

D、Thefunctionwillcausearuntimeerror.

答案:【B】7.单选题:Thecorrectdescriptionaboutthefollowingprogramis[]#includeint*pPointer;intnNumber;voidf(){nNumber=25;pPointer=&nNumber;}intmain(){f();printf("Valueof*pPointer:%d",*pPointer);return0;}

选项:

A、Theprogramwillcauseacompile-timeerror.

B、Theprogramwillcausearuntimeerror.

C、Theprogramwillprint"Valueof*pPointer:25".

D、Theprogramhasundefinedbehavior.

答案:【C】8.单选题:Forthestatement:int*a[10],*b;thecorrectdescriptionis[]

选项:

A、aisapointertoanarrayof10integers,bisapointertoaninteger.

B、aisanarrayof10pointerstointegers,bisapointertoaninteger.

C、aisapointertoaninteger,bisanarrayof10pointerstointegers.

D、aisanarrayof10integers,bisapointertoaninteger.

答案:【B】9.单选题:"xisdivisibleby3butcan'tbedivisibleby5"canbewrittenas[]

选项:

A、(x%3==0)||(x%5!=0)

B、(x%3==0)&&(x%5!=0)

C、(x%3!=0)||(x%5==0)

D、(x%3!=0)&&(x%5==0)

答案:【B】10.单选题:InCprogramminglanguage,theresultofstatement5^4is[]

选项:

A、1

B、4

C、5

D、9

答案:【A】11.单选题:Theoutputofthefollowingstatementsis[](ASCIIcodeof'a'is97)inta=98;charb=‘a’;printf("%c%d",(char)a,(int)b);

选项:

A、b97

B、a98

C、9897

D、9798

答案:【A】12.单选题:Theoutputofthestatements:inta=3,b=4;printf("%d",(a>=b?a:ais[]

选项:

A、3

B、4

C、7

D、Syntaxerror

答案:【D】13.单选题:Giventhefollowingprogram#includeintfun(){staticintx=1;x+=1;returnx;}intmain(){inti,s=1;for(i=1;i<=5;i++)s+=fun();printf("%d\n",s);return0}

选项:

A、16

B、21

C、26

D、31

答案:【B】14.单选题:Whichstatementsatisfiesthecondition:Ifstrings1equalstostringss2,thenexecuteST.[]

选项:

A、if(s1==s2)ST;

B、if(strcmp(s1,s2)==0)ST;

C、if(strcpy(s1,s2)==0)ST;

D、if(strlen(s1)==strlen(s2))ST;

答案:【B】15.单选题:Theoutputofthefollowingprogramis[]inta=0,b=3;printf("%d%d",(a<<1),(b<<2));

选项:

A、03

B、012

C、212

D、23

答案:【B】16.单选题:Whichofthefollowingstatementsarecompletelycorrect?[]

选项:

A、inta=10,*p;p=&a;

B、inta=10,*p;*p=&a;

C、inta=10,*p;p=a;

D、inta=10,*p;*p=a;

答案:【A】17.单选题:Giventhefollowingprogram,whendo-whileloopfinishes,thevalueofxis[]enum{APPLE,LEMON=6,ORANGE,BANANA=2,GRAPE};voidf(){intx=GRAPE;do{x++;}while((x-APPLE)<=ORANGE);}

选项:

A、6

B、7

C、8

D、9

答案:【C】18.单选题:TherelationshipbetweenchararrayandC-stylestringis[]

选项:

A、AchararraymustbeaC-stylestring.

B、AC-stylestringmustbestoredinachararray.

C、Theyarecompletelyidentical.

D、Noneoftheabove.

答案:【B】19.单选题:Thefollowingprogramcomputesthesummaryoftheintegersthatarelessthann.Thestatementsintheblankshouldbe[]intsum(unsignedintn){if(________){return1;}else{returnn+sum(n-1);}}

选项:

A、n==0

B、n==1

C、n>0

D、n<0

答案:【B】20.单选题:Thecorrectoneaboutpointersis:[]Weassumethatallcodesarecompiledon32-bitplatform

选项:

A、Thesizeofanypointeris2bytes.

B、Thesizeofanypointeris4bytes.

C、Thesizeofapointerdependsonthetypeitpointsto.

D、Thesizeofapointeristhesameasthesizeofaninteger.

答案:【B】21.单选题:InstandardC,localvariablesmustbedefinedbeforeanyotherstatementsinthefunctionbody.()

选项:

A、True

B、False

答案:【B】22.单选题:Thememoryaddressandthecontentsinthememoryareidentical.()

选项:

A、True

B、False

答案:【B】23.单选题:InClanguage,whendeclaringastructtype,youmustnotomitthekeyword"struct".()

选项:

A、True

B、False

答案:【A】24.单选题:InClanguage,thereare3basicfileaccessmodes:read,writeandappend.()

选项:

A、True

B、False

答案:【A】25.单选题:Inifstatement,thestatementbeforeelsemayomit";".()

选项:

A、True

B、False

答案:【B】26.单选题:InstandardC,"="isajudgmentofwhethertwonumbersareequal.()

选项:

A、True

B、False

答案:【B】27.单选题:InstandardC,intvariablecanbeusedascharvariable,andviceversa.()

选项:

A、True

B、False

答案:【A】28.单选题:Clanguageisastructuredprogramminglanguage.()

选项:

A、True

B、False

答案:【A】29.单选题:InstandardC,theindexofanarraymustbeaconstant,notanexpression()

选项:

A、True

B、False

答案:【B】30.单选题:InstandardC,allthefunctionsexceptmain()shouldbedeclaredbeforebeingcalled.()

选项:

A、True

B、False

答案:【A】第2单元:C++程序基础第2单元测验1.单选题:关于编译预处理,说法正确的是

选项:

A、编译预处理指令必须以分号结尾

B、编译预处理指令在编译阶段执行

C、#define可以定义常量和宏

D、编译预处理指令只能出现在文件开头

答案:【C】2.单选题:关于名字空间,说法正确的是

选项:

A、名字空间可以避免命名冲突

B、名字空间必须在头文件中定义

C、usingnamespacestd;语句应避免在头文件中使用

D、A和C都正确

答案:【D】3.单选题:关于C++的main()函数说法不正确的是

选项:

A、main()函数是程序的入口点

B、main()函数必须返回int类型

C、main()函数不能带参数

D、main()函数返回0表示程序正常结束

答案:【C】4.单选题:cin对象中,以下说法错误的是

选项:

A、cin是istream类的对象

B、cin>>var;会忽略前导空格和换行符

C、cin.getline()可以读取包含空格的字符串

D、cin.fail()为true表示输入成功

答案:【D】5.单选题:chara,b;cin>>a;b=cin.get();从键盘上输入字符x然后回车,那么b中存放的是

选项:

A、'x'

B、换行符'\n'

C、空格

D、未定义值

答案:【B】6.单选题:inti=1;cout<<i<<i++;上面的代码的输出是

选项:

A、11

B、12

C、21

D、行为未定义

答案:【D】7.多选题:遵守编码规范有助于

选项:

A、提高代码可读性

B、减少调试时间

C、团队协作

D、代码维护

答案:【A;B;C;D】8.多选题:c++程序中的源文件扩展名包括以下:

选项:

A、.cpp

B、.cc

C、.cxx

D、.c

答案:【A;B;C】9.单选题:编译器能帮我们检查代码的逻辑错误

选项:

A、正确

B、错误

答案:【B】10.单选题:inta,b;cin>>a>>b;输入12则a的值是2,b的值是1

选项:

A、正确

B、错误

答案:【B】11.单选题:运算符>>原本的含义是左移运算符

选项:

A、正确

B、错误

答案:【B】12.填空题:C++程序的入口点是哪个函数?

答案:【main】13.填空题:用于输出语句中,代表标准输出的对象是

答案:【cout】第2单元作业1:在线编程-输入与输出1.输入一个[1-9]之间的整数(假定该整数为n),输出1-n之间的整数。

题目内容:输入一个[1-9]之间的整数(假定该整数为n),输出1-n之间的整数(包含1和n)。输入格式:一位整数输出格式:多位整数,整数之间没有空格,所有整数输出之后也没有换行。输入样例:4输出样例:1234第2单元作业2:在线编程-名字空间1.创建两个名字空间NS1和NS2;在NS1中定义一个常量x,赋值为1;在NS2中定义一个常量x,赋值为2;在main()中输出这两个常量。

题目内容:创建两个名字空间NS1和NS2;在NS1中定义一个常量x,赋值为1;在NS2中定义一个常量x,赋值为2;在main()中输出这两个常量。输入格式:无输出格式:两个常量各占一行;第二个常量之后没有换行符;不要添加多余的空格、制表符、换行符,否则程序无法通过OJ判别。输入样例:无输出样例:12第3单元:C语法的增强及对应的C++11特性第3单元作业1:在线编程-引用作为函数参数1.本题要求实现一个swap函数,swap函数接收3个引用类型的参数,可交换3个整数a,b,c的值。将a的值存入b,b的值存入c,c的值存入a,并且返回三个整数中最大的数的值。例如a,b,c的值为1,2,3,则交换后,a,b,c的值为3,1,2,所返回的值为3。abc的值需要从键盘输入。

题目内容:在主函数中一次读入三个整数的值存入a、b、c中(使用std::cin);以a、b、c作为实参,调用swap函数;最后输出a、b、c三个整数中最大的值,以及三个整数;变量定义时均应赋初值0。不得使用C语言中的输入输出函数函数接口定义:intswap(int&x,int&y,int&z);//三个参数均为引用类型swap()函数接收3个引用类型的参数,可交换3个整数a,b,c的值。将a的值存入b,b的值存入c,c的值存入a。swap()在交换三个整数的值后,返回x,y,z中最大的数的值输入格式:空格分隔的三个整数整数1整数2整数3输出格式:用单个空格分隔的四个整数最大数a的值b的值c的值输入样例:123输出样例:3312说明:第1个3是输入的三个数的最大值,第二个3是交换后a的值,1是交换后b的值,2是交换后c的值注意1:输出的最后一个整数之后没有空格,也没有换行注意2:由于中国大学MOOC的OJ系统使用的是GCC4.7这个非常古老的编译器,因此,你在编写本作业时,不能使用类似下面的代码输入信息:autoa{2};cin>>a;上面两行代码用在这个OJ系统中会导致编译错误。(当然,上面两行代码在GCC5.1+以及MSVC2017+上都是没有问题的)解决办法是:变量定义的语句中,不能同时出现auto和列表初始化方式。要么将上面第一行代码改为inta{2};要么将其改为autoa=2;注意2:在主函数中,不要使用cout<<swap(a,b,c)<<a<<b<<c;这种连续输出的语句,会产生副作用。要将函数的调用单独作为一条语句,不要与输出语句放在一起。2.本题要求实现一个swap函数,swap函数接收3个引用类型的参数,可交换3个整数a,b,c的值。将a的值存入b,b的值存入c,c的值存入a,并且返回三个整数中最大的数的值。例如a,b,c的值为1,2,3,则交换后,a,b,c的值为3,1,2,所返回的值为3。在主函数中声明三个变量a,b,c并赋值。a的值为1,b为2,c为3本程序无需键盘输入

题目内容:在主函数中声明三个变量a,b,c并赋值。a的值为1,b为2,c为3;以a、b、c作为实参,调用swap函数;最后输出a、b、c三个整数中最大的值,以及三个整数;变量定义时均应赋初值0。不得使用C语言中的输入输出函数函数接口定义:intswap(int&x,int&y,int&z);//三个参数均为引用类型swap()函数接收3个引用类型的参数,可交换3个整数a,b,c的值。将a的值存入b,b的值存入c,c的值存入a。swap()在交换三个整数的值后,返回x,y,z中最大的数的值输入格式:无需输入输出格式:用单个空格分隔的四个整数最大数a的值b的值c的值输入样例:输出样例:3312说明:第1个3是输入的三个数的最大值,第二个3是交换后a的值,1是交换后b的值,2是交换后c的值注意1:输出的最后一个整数之后没有空格,也没有换行注意2:在主函数中,不要使用cout<<swap(a,b,c)<<a<<b<<c;这种连续输出的语句,会产生副作用。要将函数的调用单独作为一条语句,不要与输出语句放在一起。第3单元测验1.单选题:下列代码正确的是

选项:

A、intarr[5]={1,2,3,4,5,6};

B、int*ptr=newint[5]{1,2,3,4,5};

C、charstr[]="hello";str[0]='H';

D、B和C都正确

答案:【D】2.单选题:char*a=newchar[32];对应的释放内存的语句,哪种写法最好?

选项:

A、deletea;

B、delete[]a;

C、free(a);

D、以上都不对

答案:【B】3.单选题:给定函数1voidf(inta,intb=1,intc=2){}和函数2voidf(intx,inty=3){}对于下面语句f(3,,1);来说,表述正确的是:

选项:

A、语句正确,调用函数1

B、语句正确,调用函数2

C、语句错误,不能省略中间参数

D、语句错误,存在函数调用歧义

答案:【C】4.单选题:boolx,y;//......此处代码对x和y进行初始化则表达式!(x&&!y)与下面哪个表达式等价?

选项:

A、!x||y

B、!x&&y

C、x||!y

D、x&&!y

答案:【A】5.多选题:下列代码能累加数组元素的有

选项:

A、intsum=0;for(inti:arr)sum+=i;

B、intsum=0;for(inti=0;i<arr.size();i++)sum+=arr[i];

C、intsum=0;std::accumulate(arr.begin(),arr.end(),sum);

D、intsum=0;for(autoit=arr.begin();it!=arr.end();++it)sum+=*it;

答案:【A;C;D】6.多选题:char*p=newchar(32);释放内存的语句是:

选项:

A、deletep;

B、delete[]p;

C、free(p);

D、以上都不对

答案:【A】7.多选题:对于语句int&x=y,y{0};说法正确的是

选项:

A、引用x绑定到变量y

B、变量y初始化为0

C、语法错误,引用必须初始化

D、引用x的类型是int&

答案:【A;B;D】8.多选题:对于已有代码chara[3]{'\0'},b[3]{'a'};char*constp=a;合法的后续语句是:

选项:

A、p=b;

B、*p='A';

C、p[1]='B';

D、p++;

答案:【B;C】9.单选题:intp;p=NULL;在C++11中,这种代码写法是一种好的编程规范

选项:

A、正确

B、错误

答案:【B】10.单选题:autox[]{1,2,3};编译后,x的类型是int[]

选项:

A、正确

B、错误

答案:【B】11.单选题:引用在定义的时候就必须被初始化

选项:

A、正确

B、错误

答案:【A】12.单选题:表达式:static_cast<double>(3)/2与表达式:static_cast<double>(3/2)是等价的。

选项:

A、正确

B、错误

答案:【B】13.填空题:声明内联函数的关键字是

答案:【inline】14.填空题:代码#include<iostream>inti=1;intmain(){for(inti=0;i<5;i++){::i+=i;}std::cout<<::i;return0;}的输出结果是:

答案:【11】15.填空题:boolx=1&&2;则x的值为

答案:【true】16.填空题:boolx=1&2;则x的值为

答案:【false】第3单元作业2:在线编程-重载函数1.编写4个重载函数,分别求整数和字符的最小值

题目内容:编写四个重载函数,函数求对应参数中的最小值并返回该值。四个函数的原型是:charmin(charc1,charc2);charmin(charc1,charc2,charc3);intmin(inti1,inti2);intmin(inti1,inti2,inti3);在主函数中定义一些变量并赋初值(使用C++11的auto或者列表初始化方法)用第1个min函数比较字符'['和字符'N'并输出较小的字符;用第2个min函数比较字符'G'、字符'9'和字符'*'并输出较小的字符;用第3个min函数比较整数-42与0并输出较小的整数(注意第一个整数是负值)用第4个min函数比较整数42、0和std::numeric_limits::min()并输出较小的整数std::numeric_limits::min()是C++系统头文件中的成员。所以你编写代码时需要包含这个头文件。由于中国大学MOOC的OJ系统使用的是GCC4.7这个古老的编译器,因此,你不能在声明变量的时候同时使用auto和列表初始化,否则这个编译器会报告很多错误。也就是,你不能写类似下面的代码:autox{1},y{2};cout<<min(x,y);输入格式:无输出格式:用单个空格分隔开的4个数据输入样例:无输出样例:N*-42-2147483648注意:上述输出样例中,结尾没有空格,也没有换行符注意:在C++标准库头文件中,有一套min()和max()函数。你在编程序时,不要包含该头文件,也不要使用usingnamespacestd;这种会污染当前代码默认名字空间的语句第4单元:对象和类(基础)4.1.在线编程-解析整数范围1.用户从键盘输入形式如12-45这样的“数值范围”字符串,代表从12到45这个范围。请你编写一个类Parse,可以解析这个字符串。然后提供两个函数,能够获取字符串中的第一个整数和第二个整数。

题目内容:Parse类要提供一个有参构造函数,接收一个字符串参数;Parse类要提供一个intgetFirst()函数,返回“数值范围”字符串中的前面的整数;Parse类要提供一个intgetLast()函数,返回“数值范围”字符串中的后面的整数;程序的主函数如下,请将主函数代码拷贝到你的开发环境中,但是不要修改主函数内部的代码:#include#includeintmain(){std::strings{};std::cin>>s;//用户输入一个范围字符串Parsep(s);//构造Parse对象p,同时解析字符串sstd::cout<<p.getFirst()<<''<<p.getLast();//中间是两个单引号括起来的一个空格字符return0;}要求:不要使用C语言的字符串处理函数使用string类自带的函数,或者标准库中的函数提示:在string中找'-'字符,可以使用string类中的find函数,或者find_first_of()函数。find_first_of()的说明:/w/cpp/string/basic_string/find_first_of当然,你也可以用find_last_of()或者rfind()函数。find_last_of()的说明:/w/cpp/string/basic_string/find_last_of;rfind()的说明:/w/cpp/string/basic_string/rfind将字符串的一部分提取出来,需要使用substr()成员函数。substr()的说明:/w/cpp/string/basic_string/substr将字符串转换为整数,可以使用标准库的std::stoi()函数。std::stoi的说明:/w/cpp/string/basic_string/stol警告1:不要在主函数的返回语句前加std::cin.get();否则无法通过本作业的测试用例警告2:请不要使用C++14或者C++17的特性。本OJ还不支持这两个标准。比如将函数返回值写为auto(C++14的特性)警告3:请不要添加额外信息的输出(比如输出提示等)。额外输出的信息会导致OJ系统无法判别你的结果输入格式:用英文连字符分隔的两个整数构成的字符串输出格式:两个整数,中间用1个空格分隔。第二个整数后面没有空格或者换行输入样例:12345-54321输出样例:1234554321第4单元测验1.单选题:下面的代码输出结果是什么?strings{""};s.append("ABCDEFG",3,2);cout<<s;

选项:

A、AB

B、CD

C、EF

D、FG

答案:【B】2.单选题:关于C++11引入的std::array类,说法不正确的是

选项:

A、std::array的大小在编译时确定

B、std::array支持动态扩容

C、std::array是标准库中的容器

D、std::array可以使用范围for循环遍历

答案:【B】3.单选题:以下代码中,第几行有错误?classS{intx=7;intn(7);std::strings{"Hello"};inta[]={1,2,3};autob[]={1,2,3};public:S(){}};

选项:

A、第2行

B、第3行

C、第4行

D、第5行

答案:【D】4.单选题:对于如下代码CirclecircleArray[3]={Circle(3),Circle(4)};没有调用Circle类的哪些构造函数?上述代码的编译环境是C++11或者C++14。注意:在C++17中引入了“复制消除”,会对本题的结果产生重要影响。

选项:

A、默认构造函数

B、带参数的构造函数

C、复制构造函数

D、移动构造函数

答案:【A】5.单选题:对于如下代码Circle*p=newCircle[3];正确释放内存的代码是:

选项:

A、deletep;

B、delete[]p;

C、free(p);

D、以上都不对

答案:【B】6.单选题:对于如下代码:Circle*pCircle2=newCircle(5.9);释放内存的正确语句是:

选项:

A、deletepCircle2;

B、delete[]pCircle2;

C、free(pCircle2);

D、以上都不对

答案:【A】7.多选题:下面这些代码的功能是创建一个string对象s,并将其内容设置为字符串alohaworld,正确的有:

选项:

A、strings="alohaworld";

B、strings("alohaworld");

C、strings{'a','l','o','h','a','w','o','r','l','d'};

D、strings;s="alohaworld";

答案:【A;B;C;D】8.多选题:对于如下代码Circlecircle1;Circle*pCircle=&circle1;正确访问对象成员函数的方法是

选项:

A、circle1.function();

B、pCircle->function();

C、(*pCircle).function();

D、pCircle.function();

答案:【A;B;C】9.多选题:以下选项中,哪种方法可以将类中的函数成员声明为内联函数?

选项:

A、在类定义中直接定义函数体

B、使用inline关键字显式声明

C、在函数调用处使用inline关键字

D、在类定义外定义函数时使用inline关键字

答案:【A;B;D】10.多选题:考虑如下代码,在编译器不做任何优化的情况下,Circlecircle1,circle2;circle1=Circle();circle2=Circle(5);中的匿名对象有

选项:

A、Circle()

B、Circle(5)

C、circle1

D、circle2

答案:【A;B】11.多选题:classHello的构造函数的原型可以写为

选项:

A、Hello();

B、Hello(intx);

C、Hello(constHello&other);

D、Hello&operator=(constHello&other);

答案:【A;B;C】12.单选题:类的所有对象中的“this”指针都是指向同一个地址的。

选项:

A、正确

B、错误

答案:【B】13.单选题:使用this指针之前,程序员必须先声明this指针。

选项:

A、正确

B、错误

答案:【B】14.单选题:一般而言,函数里面定义的静态局部变量,在函数运行结束后仍然存在。

选项:

A、正确

B、错误

答案:【A】15.单选题:下面的代码中Circlecircle1,&circle2=circle1,*p=&circle2;两个&符号的含义是相同的。

选项:

A、正确

B、错误

答案:【B】16.单选题:一般情况下,使用对象作为函数的参数,要比使用对象的引用作为函数的参数,在运行时的开销要大

选项:

A、正确

B、错误

答案:【A】17.单选题:构造函数必须带有参数

选项:

A、正确

B、错误

答案:【B】18.填空题:下面的代码输出结果是什么?strings1("HelloWorld");strings2("HelloKitty");cout<<(s1>=s2);

答案:【1】19.填空题:struct中,如果不指明成员的访问控制属性,则默认的访问控制属性是(请填写C++关键字):

答案:【public】4.2.在线编程-【选做】解析有干扰字符的整数范围1.1.用户从键盘输入形式如#ab!#12-45*c*#+*f*这样的“数值范围”字符串,代表从12到45这个范围。12前面和45后面会有一些不包含数字以及英文连字符的干扰字符。2.请你编写一个类Parse,可以解析这个字符串。然后提供两个函数,能够获取字符串中的第一个整数和第二个整数。

题目内容:Parse类要提供一个有参构造函数,接收一个字符串参数;Parse类要提供一个intgetFirst()函数,返回“数值范围”字符串中的前面的整数;Parse类要提供一个intgetLast()函数,返回“数值范围”字符串中的后面的整数;程序的主函数如下,请将主函数代码拷贝到你的开发环境中,但是不要修改主函数内部的代码:#include#includeintmain(){std::strings{};std::cin>>s;//用户输入一个范围字符串Parsep(s);//构造Parse对象p,同时解析字符串sstd::cout<<p.getFirst()<<''<<p.getLast();//中间是两个单引号括起来的一个空格字符return0;}要求:不要使用C语言的字符串处理函数使用string类自带的函数,或者标准库中的函数提示:在string中找'-'字符,可以使用string类中的find函数,或者find_first_of()函数。find_first_of()的说明:/w/cpp/string/basic_string/find_first_of当然,你也可以用find_last_of()或者rfind()函数。find_last_of()以及rfind()的说明:/w/cpp/string/basic_string/find_last_of/w/cpp/string/basic_string/rfind将字符串的一部分提取出来,需要使用substr()成员函数。substr()的说明:/w/cpp/string/basic_string/substr将字符串转换为整数,可以使用标准库的std::stoi()函数。std::stoi的说明:/w/cpp/string/basic_string/stol警告1:不要在主函数的返回语句前加std::cin.get();否则无法通过本作业的测试用例警告2:请不要使用C++14或者C++17的特性。本OJ还不支持这两个标准。比如将函数返回值写为auto(C++14的特性)输入格式:一个字符串,其中包含一个“数值范围”子串。该“数值范围”字串是用英文连字符分隔的两个整数构成的字符串,类似“321-54103”。整数前可能有字符0,例如“012-000”该“数值范围”子串的前面和后面可能会有0个或者多个干扰字符。这些干扰字符不包含数字以及英文连字符。比如,干扰字符可能是abc!@#$%^&*()=+}{[]等重要的事情说3遍:该“数值范围”子串的前面和后面可能会有0个或者多个干扰字符该“数值范围”子串的前面和后面可能会有0个或者多个干扰字符该“数值范围”子串的前面和后面可能会有0个或者多个干扰字符输出格式:两个整数,中间用1个空格分隔。第二个整数后面没有空格或者换行输入样例:ab@r$&+fe321-54103@@@+==fsa.~输出样例:321541034.3.在线编程-遍历对象数组1.1.编写类Circle。2.编写主函数,利用std::array创建包含10个对象的Circle数组并初始化。3.用基于范围的for循环遍历Circle数组,求10个Circie对象的面积之和

题目内容:类Circle有两个构造函数。无参构造函数没有函数体,使用default关键字声明。有参构造函数接收一个double类型参数作为Circle的半径。Circle类的半径的默认值是1.0类Circle有一个doublegetArea()函数,返回圆的面积。圆周率的值取3.14在主函数中用std::array声明一个有10个Circle对象的数组。其中前5个Circle对象的半径分别设置为1.0、2.0、3.0、4.0、5.0。后5个对象使用Circle的默认构造函数初始化。在主函数中,用基于范围的for循环遍历Circle数组,求10个Circie对象的面积之和在主函数中,输出所求出的面积和。输出结果为双精度浮点数。使用系统默认精度。无需做格式和精度控制输入格式:无输入输出格式:一个浮点数。浮点数前后没有空格和换行输入样例:无输出样例:无第5单元:对象和类(高级)第5单元测验1.单选题:下面代码中,不正确使用代理构造的是

选项:

A、classA{intx;public:A(inta):x(a){}A():A(0){}};

B、classB{inty;public:B(intb):y(b){}B(doubled):B(static_cast<int>(d)){}};

C、classC{intz;public:C(){C(5);}C(intc):z(c){}};

D、classD{intm;public:D(intm_val):m(m_val){}D(){*this=D(10);}};

答案:【C】2.单选题:析构函数说法正确的是

选项:

A、析构函数可以有返回值

B、析构函数可以重载

C、析构函数的名称是类名前加~

D、析构函数可以带参数

答案:【C】3.单选题:对于下面的代码,说法正确的是classA{public:A(inta=0){x=a;}staticvoidf1(){y++;};private:intx;staticinty;};intmain(){A::f1();return0;}

选项:

A、编译错误,静态成员y未定义

B、编译错误,静态函数f1不能访问静态成员y

C、编译正确,运行正常

D、编译错误,main函数中不能直接调用A::f1()

答案:【A】4.单选题:以下类的声明中有错误,请指出错误的代码行号classA{public:A(inta=0){x=a;}staticvoidf1(){x++;};private:intx;staticinty;};

选项:

A、第2行(A(inta=0){x=a;})

B、第3行(staticvoidf1(){x++;};)

C、第4行(intx;)

D、第5行(staticinty;)

答案:【B】5.单选题:关于类的友元函数说法正确的是

选项:

A、友元函数是类的成员函数

B、友元函数可以访问类的所有成员(包括私有成员)

C、友元函数必须在类的内部定义

D、友元关系具有传递性

答案:【B】6.多选题:一个类成为immutableclass的必要条件包括

选项:

A、所有成员变量都是const的

B、没有任何修改成员变量的成员函数

C、若包含指针成员,需确保指针指向的内容不可修改

D、类本身被声明为const

答案:【A;B;C】7.多选题:关于字符串字面量,下面哪些是正确的?

选项:

A、字符串字面量的类型是constchar[]

B、"hello"和"hello"可能存储在同一块内存中

C、字符串字面量以'\0'结尾

D、可以通过指针修改字符串字面量的内容

答案:【A;B;C】8.多选题:关于assert()和static_assert说法正确的有

选项:

A、assert()在运行时检查条件,static_assert在编译时检查条件

B、assert()依赖于NDEBUG宏,未定义时生效

C、static_assert的第一个参数必须是编译期可计算的表达式

D、两者都是C++标准库提供的断言机制

答案:【A;B;C;D】9.多选题:拷贝构造函数的参数数量可以是

选项:

A、0个

B、1个(const引用类型)

C、1个(非const引用类型,不推荐)

D、2个(带默认参数的情况)

答案:【B;C;D】10.多选题:vector对象中可以保存的数据的类型包括

选项:

A、基本数据类型(如int、double)

B、自定义类对象(如Circle、Student)

C、指针类型(如int*、string*)

D、引用类型(如int&)

答案:【A;B;C】11.单选题:immutableobject一旦创建之后,就不能通过任何方法改变其内容

选项:

A、正确

B、错误

答案:【A】12.单选题:deepcopy与shallowcopy的问题是由类中的指针类型成员引起的。

选项:

A、正确

B、错误

答案:【A】13.单选题:类的静态数据成员不依赖于任何类的对象而存在

选项:

A、正确

B、错误

答案:【A】14.单选题:类中的静态成员变量可以在类的构造函数中初始化。

选项:

A、正确

B、错误

答案:【B】15.单选题:调用vector中的push_back()函数时,可能会导致当前vector对象重新申请内存并将已有的数据挪到新内存中

选项:

A、正确

B、错误

答案:【A】16.填空题:声明编译期常量表达式的关键字是

答案:【constexpr】17.填空题:为了使得一个头文件只被包含一次,除了使用#ifndefFILENAME_H#defineFILENAME_H//Thecontentsoftheheaderfile#endifFILENAME_H这种方法之外,还可以使用语句

答案:【#pragmaonce】5.1.在线编程-代理构造函数11.编写一个类C,提供2个构造函数,分别为无参构造函数、接受一个整数作为参数的构造函数。无参构造函数委托整数参数构造函数构造。请确认构造函数的初始化列表和构造函数体代码的执行次序。按照题目内容要求,输出相应的信息

题目内容:类的数据成员:类C中有一个私有整型数据成员x,被就地初始化为0;类的函数成员:1)构造函数1:整数参数构造函数该构造函数接收一个整型参数x,用该参数值初始化类中的私有数据成员x。在函数体内使用std::cout输出字符串“C(x)”并且换行,该字符串中的x要替换为整形参数x的值。不加空格、制表等空白字符。注意输出字符串中的C是大写字母,括号是半角括号。2)构造函数2:无参构造函数无参构造函数委托上面的“构造函数1”构造对象。参数值为42在无参构造函数的函数体内,用std::cout输出字符串“C()”并且换行,不加任何其它空格、制表符等额外字符。注意,一对小括号之间没有空白。主函数:在主函数中,创建两个C对象:首先调用默认构造函数创建一个对象;然后调用有参构造函数创建一个对象,参数值为18主函数中无输入输出语句输入格式:无输出格式:无输入样例:无5.2.在线编程-代理构造函数21.编写一个类C,提供3个构造函数,分别为无参构造函数、接受一个整数作为参数的构造函数、接受一个double类型浮点数作为参数的构造函数。按照题目内容要求,输出相应的信息

题目内容:类的数据成员:类C中有一个私有整型数据成员x,被就地初始化为0;类的函数成员:1)构造函数1:整数参数构造函数该构造函数接收一个整型参数x,用该参数值初始化类中的私有数据成员x。在函数体内使用std::cout输出字符串“C(x)”并且换行,该字符串中的x要替换为整型参数x的值。不加空格、制表等空白字符。注意输出字符串中的C是大写字母,括号是半角括号。2)构造函数2:double类型参数的构造函数该构造函数接收一个浮点型参数d,然后委托上面的“构造函数1”构造对象。浮点型参数d经过C++风格的强制类型转换后,作为“构造函数1”的参数。在函数体内使用std::cout输出字符串“C(d)”并且换行,该字符串中的x要替换为浮点型参数d的值。不加空格、制表等空白字符。注意输出字符串中的C是大写字母,括号是半角括号。3)构造函数3:无参构造函数无参构造函数委托上面的“构造函数2”构造对象。参数值为3.8在无参构造函数的函数体内,用std::cout输出字符串“C()”并且换行,不加任何其它空格、制表符等额外字符。注意,一对小括号之间没有空白。主函数:在主函数中,按照下列顺序创建三个C对象:1)调用构造函数3创建一个对象;2)调用构造函数2创建一个对象,参数值为2.23)调用构造函数1创建一个对象,参数值为1主函数中无std::cin.get()等输入输出语句;输入格式:无输出格式:无输入样例:无输出样例:C(3)C(3.8)C()C(2)C(2.2)C(1)注意上面的输出第6行之后有一个换行符,即第7行是空行第6单元:继承和多态3.在线编程-多态和纯虚函数(选做)1.基于前面的在线编程作业改写Dog类和Cat类继承Animal类根据用户输入的数值,创建相应个数的Dog对象和Cat对象,然后调用speak()之后再销毁。

题目内容:1.编写三个类Dog类和Cat类继承Animal类;Dog类、Cat类、Animal类各有一个默认构造函数,分别输出字符串“Dog”、“Cat”和“Animal”。输出字符串后换行。注意三个字符串的首字母都是大写。在Animal类中定义纯虚函数speak();在Dog和Cat类中覆写基类的speak()函数。Dog类的speak函数输出字符串“wang”之后换行;Cat类的speak函数输出字符串“miao”之后换行。注意字符串“wang”和“miao”都是小写字母上述三个类中如果有任何其它函数,则这些函数不直接或者间接输出任何信息2.编写主函数在主函数中接受用户输入的一个整数N(大于0);创建一个vector对象v(你可以用其它名字),存储Animal对象的指针。按照先创建一个Dog对象,紧接着再创建一个Cat对象这样交替创建的次序,一共创建N个Dog对象和N个Cat对象;将这些Dog对象和Cat对象的指针按照创建的次序都存入v中。(提示:可以使用vector::push_back()函数)。将存入v中的对象,按照先后次序,逐个调用speak()函数,然后用delete显式销毁。(注意:每调用一个对象的speak()之后,就立即用delete销毁该对象)。程序中除了接受用户输入的整数之外,没有任何其它输入语句;程序中除了构造函数和speak()的输出之外,没有任何其它输出。输入格式:一个大于零的整数输出格式:输出多行信息,最后一行是空行没有任何其它提示信息输入样例:2输出样例:AnimalDogAnimalCatAnimalDogAnimalCatwangmiaowangmiao注意:输出结果的最后一行是空行1.在线编程-继承中的构造函数1.编写Animal类和Dog类;根据用户输入的数值,创建相应个数的Animal对象和Dog对象

题目内容:1.编写两个类Dog类继承Animal类;Animal类和Dog类各有一个默认构造函数,分别输出字符串“Animal”和“Dog”。输出字符串后换行2.编写主函数在主函数中接受用户输入的一个整数N(大于0);按照先创建一个Animal对象,紧接着再创建一个Dog对象这样交替创建的次序,一共创建N个Animal对象和Dog对象程序中除了接受用户输入的整数之外,没有任何其它输入语句;程序中除了构造函数的输出之外,没有任何其它输出。输入格式:一个大于零的整数输出格式:输出多行信息,最后一行是空行没有任何其它提示信息输入样例:2输出样例:AnimalAnimalDogAnimalAnimalDog注意:输出结果的最后一行是空行2.在线编程-继承中的析构函数和静态成员1.基于前一个作业题目,改写Animal类和Dog类;根据用户输入的数值,创建相应个数的Animal对象和Dog对象,然后再销毁。用类的静态数据成员记录存活对象的数量。用构造函数和析构函数来更新存活对象的数量

题目内容:1.编写两个类Dog类继承Animal类;Animal类和Dog类各有一个默认构造函数,分别输出字符串“Animal”和“Dog”。输出字符串后换行在类中(哪个类由你自己决定)添加一个静态数据成员,用于计算运行时刻存活的所有Animal和Dog对象的数量。所谓“存活的对象数量”是指创建的对象数量减去销毁的对象数量。注意:该静态数据成员要统计所有的Animal和Dog对象的数量,不仅仅是Animal的数量或者仅仅Dog对象的数量。添加上述静态数据成员的getter函数你需要修改类中的构造函数和析构函数,使得上述静态数据成员能够正确地反映当前系统中存活的对象的数量。注意析构函数中不输出任何信息2.编写主函数在主函数中接受用户输入的一个整数N(大于0);创建两个vector对象v1和v2(你可以用其它名字),分别存储Animal对象的指针和Dog对象的指针。按照先创建一个Animal对象,紧接着再创建一个Dog对象这样交替创建的次序,一共创建N个Animal对象和N个Dog对象;将Animal对象的指针都存入v1中,将Dog对象的指针都存入v2中。(提示:可以使用vector::push_back()函数)。每创建一轮Animal和Dog对象后,输出所有对象的数量并换行(也就是创建一个Animal对象,再创建一个Dog对象,然后输出所有对象的数量并换行;之后再执行下一轮,直到执行N轮后结束)。按照先销毁一个Animal对象,紧接着再销毁一个Dog对象这样交替次序,将v1和v2中指针所指向的对象都销毁(提示,可以用数组下标运算符访问vector对象中存储的指针。使用delete运算符销毁对象)。每销毁一轮Animal和Dog对象后,输出所有对象的数量并换行(也就是销毁一个Animal对象,再销毁一个Dog对象,然后输出所有对象的数量并换行;之后再执行下一轮销毁操作,直到执行N轮后结束)。程序中除了接受用户输入的整数之外,没有任何其它输入语句;程序中除了构造函数和存活对象数量的输出之外,没有任何其它输出。输入格式:一个大于零的整数输出格式:输出多行信息,最后一行是空行没有任何其它提示信息输入样例:3输出样例:AnimalAnimalDog2AnimalAnimalDog4AnimalAnimalDog6420注意:输出结果的最后一行是空行第6单元测验1.单选题:类B是类A的派生类,对于代码Aa,*pa=&a;Bb,*pb=&b;下述说法正确的是

选项:

A、pa=pb;是合法的赋值操作

B、pb=pa;是合法的赋值操作

C、a=b;是合法的赋值操作,但会导致对象切片

D、A和C都正确

答案:【D】2.单选题:关于抽象类的正确说法是

选项:

A、抽象类不能有构造函数

B、抽象类可以被实例化

C、抽象类必须至少包含一个纯虚函数

D、抽象类的派生类必须实现所有纯虚函数

答案:【C】3.单选题:对于如下代码classB{public:voidf(){}voidg(){f();}}classD:publicB{public:voidf(){}voidg(){B::f()}}intmain(){Bb,*pb=&b;Dd,*pd=&d;d.g();pd->B::g();return0;}对第14行代码和第15行代码说法正确的是

选项:

A、第14行调用D::g(),第15行调用B::g()

B、第14行调用B::g(),第15行调用D::g()

C、第14行和第15行都调用D::g()

D、第14行和第15行都调用B::g()

答案:【A】4.单选题:对于如下代码classB{public:voidf(){}voidg(){f();}}classD:publicB{public:voidf(){}voidg(){B::f()}}intmain(){Bb,*pb=&b;Dd,*pd=&d;b.f();pd->f();return0;}其中第14行代码和第15行代码分别调用的是

选项:

A、B::f()和B::f()

B、B::f()和D::f()

C、D::f()和B::f()

D、D::f()和D::f()

答案:【B】5.多选题:消除下述代码compile阶段语法错误的方式为classA{public:virtualintf()=0;};intmain(){Aa;(&a)->f();}

选项:

A、将A::f()改为非纯虚函数

B、创建A的派生类并实现f(),实例化派生类对象

C、从A派生类B,在B中保留f()为纯虚函数,实例化B对象

D、将A声明为final类

答案:【A;B】6.多选题:函数的override现象要求基类函数与派生类函数满足下面的条件

选项:

A、函数名相同

B、参数列表相同

C、返回类型相同(协变除外)

D、基类函数必须是虚函数

答案:【A;B;C;D】7.多选题:C++11中的final特殊标识符可以用来说明

选项:

A、类不能被继承

B、函数不能被重写

C、变量不能被修改

D、虚函数必须被实现

答案:【A;B】8.多选题:对于下面代码说法正确的有classA{public:A(intx){}};classB:publicA{public:B(){}};intmain(){Bb;}

选项:

A、代码编译错误,B的构造函数没有调用A的构造函数

B、如果B的构造函数不显式调用A的构造函数,编译器会自动调用A的默认构造函数

C、应修改B的构造函数为B():A(0){}

D、A类需要提供默认构造函数

答案:【A;C;D】9.多选题:派生类中不能继承基类中的

选项:

A、构造函数

B、析构函数

C、友元关系

D、私有成员

答案:【A;B;C】10.单选题:C++实现运行时多态的必要条件是使用对象指针或者对象引用访问同名函数

选项:

A、正确

B、错误

答案:【A】11.单选题:函数的overload是dynamicbinding

选项:

A、正确

B、错误

答案:【B】12.单选题:override特殊标识符可以修饰基类函数

选项:

A、正确

B、错误

答案:【B】13.单选题:override特殊标识符要放到函数的返回值类型前

选项:

A、正确

B、错误

答案:【B】14.单选题:派生类继承基类后,可以定义新的数据成员和函数成员

选项:

A、正确

B、错误

答案:【A】15.单选题:构造函数和析构函数都是自动调用的,无法像普通成员函数一样通过对象显式调用。

选项:

A、正确

B、错误

答案:【B】16.单选题:类A的析构函数在类外部定义时可以写为如下形式:~A::A(){//dosomething}

选项:

A、正确

B、错误

答案:【B】17.单选题:基类的构造函数能够由派生类中的任何函数调用

选项:

A、正确

B、错误

答案:【B】18.单选题:类B继承类A,代码可以写作:classB:A{//Somedatafieldandfunction};B是以公有继承的方式继承了A中的成员

选项:

A、正确

B、错误

答案:【B】19.填空题:在派生类中定义虚函数时,必须在函数名字前加上__________关键字

答案:【virtual】20.填空题:下面代码的横线上,要填入什么保留字,才能使得编译器报告该行出现错误?structB{virtualvoidfoo(){};};structD:publicB{voidfoo(inta)______;};voidD::foo(intx)

温馨提示

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

最新文档

评论

0/150

提交评论