《高级语言程序设计》测试题_第1页
《高级语言程序设计》测试题_第2页
《高级语言程序设计》测试题_第3页
《高级语言程序设计》测试题_第4页
《高级语言程序设计》测试题_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

高级语言程序设计》一、判断题(错误的在后面写“F”,正确的写“T”,每题1分)程序是描述算法的编程工具。化将函数模板与某个具体数据类型连用,就产生了模板函数,称这个过程为函数模板实例化.C++语言中,用来为对象初始化的特殊成员函数称为构造函数;用于在对象撤销时执行一些清理任务的特殊成员函数称为析构函数.逐条翻译并执行的翻译程序称为编译程序把所有类组织在一个树形结构中,这时所有类,不管它们之间的差别有多大,都有一个共同的相关类,这种结构被称为类树。类群是由一些彼此密切相关的类和类族组成的.如果在定义一个类时,该类继承了多个基类的特征,那么这个继承关系称为多重继承。不同对象可以调用相同名称的函数,并可导致完全相同的行为的现象称为多态性.形式参数表是用括号分隔的变量说明列表,变量称为函数的形式参数,有时也简称为形参。9•.在C++语言中,只要在声明函数原型时形式参数的个数或者对应的类型不同,两个或更多的函数就可以共用同一个名字。这种在同一作用域中允许多个函数使用同一函数名的措施被称为重载。C++的作用域分辨:可以迫使编译器“看到”当前作用域的外层部分,存取那些被隐藏的名字。这是由作用域分辨操作符实现的,这一过程叫做作用域分辨。11.说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。12.所有的表达式都有值。13.程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。14.类的静态数据成员需要在定义每个类的对象时进行初始化。15.基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问。当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都可以直接访问类A的所有成员。当函数的返回值是数组类型的,传递的是数组第一个元素的地址。如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。字符串’heHo,worl在内存中存放时,占用11个字节的空间。用new动态申请的内存空间,必须用delete来释放。变量必须先定义或说明,后说明.23、常量不能作为左值使用.23、头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。24、类的友元函数可以直接访问该类的所有成员。25、派生类的成员函数可以直接访问基类的所有成员。26、一个类可以作为另一个类的友元类.27、函数的参数和返回值类型可以是简单数据类型,也可以是指什、引用、数组和类.28、在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征。29、下面两个语句是等价的:charstr[]=”hello,world”;charstr[11]=”hello,world”;30、 用new动态申请的内存是在堆中分配的,而不是在栈中分配的。静态联编所支持的多态性称为编译时的多态性。如果一个类中至少有一个实函数,则称这个类为抽象类。33。 用于在对象消失时执行一些清理任务的函数叫虚函数。C++源程序文件的缺省扩展名为cpp35。 由C++源程序文件编译而成的目标文件的缺省扩展名为lik36。 由C++目标文件连接而成的可执行文件的缺省扩展名为obj37。 编写C++程序一般需经过的几个步骤依次是编辑、编译、连接、调试38。 标识符defaultthenwhile全是保留字能作为C++程序的基本单位是语句程序中主函数的名字为任意标识符二、填空题(每题3分)TOC\o"1-5"\h\z1。假定x=5,y=6,则执行表达式y+二x--计算后,x和y的值分别为 和2。 C++常数0x145对应的十进制值为 。3。 C++常数0345对应的十进制值为 .4。 十进制常数245对应的十六进制的C++表示为 .5。 十进制常数245对应的八进制的C++表示为 。6。 signedchar类型的值域范围是 至 之间的整数。7。 int和float类型的数据分别占用 和 个字节。&float和double类型的数据分别占用 和 个字节。bool和char类型的数据分别占用 和 个字节。11TOC\o"1-5"\h\zunsignedshortint和int类型的长度分别为 和 。字符串“This、'sabook.\n”的长度为 。字符串、'\nThis\'sapen\n\n”的长度为 。在C++中存储字符串“abcdef”至少需要 个字节.在C++中存储字符串“a+b=c〃至少需要 个字节.假定x和y为整型,其值分别为16和5,则x%y和x/y的值分别为 和 .若while循环的“头"为”while(i++〈=10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行 次后正常结束。若do循环的“尾〃为〃while(++i〈10)〃,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行 次后正常结束.当在程序中执行到 语句时,将结束本层循环类语句或switch语句的执行。当在程序中执行到 语句时,将结束所在循环语句中循环体的一次执行。在程序中执行到 语句时,将结束所在函数的执行过程,返回到调用该函数的位置。在程序执行完 函数调用后,将结束整个程序的执行过程,返回到C++集成开发窗口.元素类型为int的数组a[10]共占用 字节的存储空间。元素类型为double的二维数组a[4][6]共占用 字节的存储空间。元素类型为char的二维数组a[10][30]共占用 字节的存储空间。存储字符'a'和字符串〃a〃分别需要占用 和 个字节。空串的长度为 ,存储它需要占用 个字节。TOC\o"1-5"\h\z字符串”\'a\'xy=4\n〃的长度为 .字符串”a:\\xxk\\数据〃的长度为 。用于存储一个长度为n的字符串的字符数组的长度至少为 。若a是一个字符数组,则从键盘上向该数组输入一个字符串的表达式为—。C++是将源程序 ,然后再执行,这种翻译程序称为编译程序。联合的若干数据成员使用地址 ,占据的内存是联合中占内存最大的数据成员所占用的内存。作用域分辨操作符的一般形式为类名::类标识符,作用域分辨不仅可用于类中,而且可以用在 时。将关键词const写在 之后, , 之前,说明该函数是一个const成员函数。C++是在 的基础上,引入面向对象概念而扩充形成的混合型面向对象语言。在动态联编中,直到 时才能确定调用哪个函数。静态联编是在程序编译时进行的。类型转换函数 带有参数,当被派生类继承并被说明为 时,可以定义多个转换函数。继承是 的一个特点,继承支持 类概念.C++的 规则能保证编译器调用正确的成员函数.在C++中,声明构造函数和析构函数时, 使用const或volatile关键词.41。只能用类运算符来重载的运算符是: , , , 。应该养成将所有extern说明放到 中去的习惯,对于自己编写的函数,必须自己给出 说明。结构是 ,的一种特例,其中成员在缺省情况下是 。当使用delete删除一个对象时‘delete隐含着对 函数的一次调用,如果这个函数为虚函数,则这个调用采用 联编。const放在函数前面使常量成员返回 。如果定义一个const对象,则只能访问该对象的const成员函数。在面向对象的程序设计中,一切都是围绕着 展开的。析构造函数是和 同名的函数。48.指向基类的对象的指针变量也可以指向 的对象。49.若多继承时,多个基类中拥有一个同名的成员,则 用调整访问权限确定对该成员的访问50.多继承情况下,派生类的构造函数的执行顺序取决于 派生类时所指定的各基类的顺序。51.构造函数___①___被继承,析构函数 ② 被继承。52.___①___继承情况下,派生类中对基类成员的访问会出现二义性.解决二义性的方法是 ② 、___③___和___④___53.垂直访问时,保护成员的访问控制权限与 成员相同.54.派生类可以调用其 中不具备的数据和操作。55.利用继承能够实现 。这种实现缩短了程序的开发时间,促使开发人员复用已经测试和调试好的高质量软件。56.当撤消一个含有基类和子对象成员的派生类对象时,将首先完成___①___的析构函数定义体的执行,接着完成 ② 的析构函数定义体的执行,最后完成___③___的析构函数定义体的执行.57.如果类Alpha继承了类Beta,则类Alpha称为 ① 类,类Beta称为 ② 类58.对基类数据成员的初始化必须在派生类构造函数中的 处执行。在派生类中使用基类的成员,可以显示地使用 来使用基类成员当将基类指针转换为派生类指针时,由于编译器认为这种操作是危险的,所以必须要使用多继承可以视为是___①___的扩展,派生类及其基类可用一个___②___表示。62。 继承是___①___的一个特点,继承支持___②___类概念。TOC\o"1-5"\h\z63•若需要定义一个标识符常量,并且使C++能够进行类型检查,则应在定义语句的开始使用保留字 。逻辑表达式x>3&&xvlO的相反表达式为 .逻辑表达式a〉blib==5的相反表达式为 .假定一个二维数组的定义为”chara[5][6];",则该数组所含元素的个数为 ,所占存储空间的字节数为 变量分为全局和局部两种, 变量没有赋初值时,将由系统自动置为0.假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为 假定一个结构类型的定义为”structA{inta,b;A*c;};”,则该类型的大小为 字节.TOC\o"1-5"\h\z假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为 。三、单选题(每题2分,在下列各题的备选答案中,选出一个正确答案并将其号码填写在题目后面的括号内.)1。 C++源程序文件的缺省扩展名为( )。cpp B.exe C.obj D。lik2。 由C++源程序文件编译而成的目标文件的缺省扩展名为( )。A。 cpp B.exe C.obj D.lik3。 由C++目标文件连接而成的可执行文件的缺省扩展名为()。cpp B.exe C。obj D。lik4。 编写C++程序一般需经过的几个步骤依次是( )•编译、编辑、连接、调试

B。 编辑、编译、连接、调试编译、调试、编辑、连接编辑、调试、编辑、连接)。)。)。)。C.函数D。源程序文件C。MainD。任意标识符C.语句D.函数caseforintdefaultthenwhileC。 boolclasslongD。 gotoreturnchar6。 能作为C++程序的基本单位是(A。 字符 B。语句7。 程序中主函数的名字为( ).A。 main B.MAIN8。 C++程序的基本模块为( )。A。表达式B。标识符9.可用作C++语言用户标识符的一组标识符是()。A。voiddefine+WORDB.a3_b3_123YNC。for—abcCaseD.2aDOsizeof10.存储以下数据,占用存储字节最多的是()0B。‘0' C。“0” D。0.011。 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号作为分隔符。A。空格或逗号 B.逗号或回车 C.逗号或分号D。空格或回车12。 设”inta=12;”,则执行完语句"a+=a*a;”后,a的值是( )。A。 12B.144C.156D。288113。 假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示代数式丁abc的表达式是()。A。1.0/a*b*cB.1/(a*b*c)C.1/a/b/(float)c D。1。0/a/b/cTOC\o"1-5"\h\z设”inta=15,b=26;",则"cout〈〈(a,b);”的输出结果是( )。A。15B。26,15C。15,26D.26设x是一个bool型的逻辑量,y的值为10,则表达式x&&y的值为( )。A。1 B。0 C.与x值相同Do与x值相反16。x〉0&&x<=10的相反表达式为().A。x〈=0I|x>10 B.x<=0&&x〉10C.x<=0I|x〈=10 D。x>0&&x〉1017。x>0|Iy==5的相反表达式为()。TOC\o"1-5"\h\zA.x<=0|Iy!=5 B.x<=0&&y!=5C.x>0|Iy!=5 D.x>0&&y==5设x和y均为bool量,则x&&y为真的条件是( )。A.它们均为真 B.其中一个为真C.它们均为假 D。其中一个为假设x和y均为bool量,则xIIy为假的条件是( ).A。它们均为真 B.其中一个为真Co它们均为假 D.其中一个为假字符串”a+b=12\n〃的长度为()。TOC\o"1-5"\h\zAo6 B.7 Co8 Do9假定下列x和y均为int型变量,则不正确的赋值为( )oA.x+=y++ B.x++=y++ C.x=++y D。++x=++y下列的符号常量定义中,错误的定义是( )。A.constM=10; B.constintM=20;C.constcharch; D。constboolmark=true;循环语句“for(inti=0;i〈n;i++)cout〈〈i*i〈〈’’;”中循环体执行的次数为( )。A。1B。n-1C.nD.n+1在下面循环语句中循环体执行的次数为()。for(inti=0;i〈n;i++)if(i>n/2)break;A。n/2B。n/2+1C.n/2-1D.n—125o在下面循环语句中内层循环体S语句的执行总次数为()ofor(inti=0;i〈n;i++)for(intj=i;j〈n;j++)S;A.n2 B.(n+1)/2Con(n—1)/2 D.n(n+1)/226o在下面循环语句中循环体执行的次数为( )•inti=0,s=0;while(s〈20){i++; s+=i;}A.4B.5Co6Do727o在下面循环语句中循环体执行的次数为( )•inti=0;doi++;while(i*i〈10);Ao4B.3C.5D.228o当处理特定问题时的循环次数已知时,通常采用( )来解决。A.for循环 Bowhile循环Codo循环Doswitch语句29.循环体至少被执行一次的语句为( )oAofor循环 B.while循环Codo循环Do任一种循环30.switch语句能够改写为( )语句。A.for Boif CodoDowhile31.do语句能够改写为( )语句。Ao复合 B.if C.switchDowhile32o在下面的一维数组定义中,哪一个有语法错误.( )A.inta□二{1,2,3}; B.inta[10]={0};C.inta[]; D.inta[5];在下面的字符数组定义中,哪一个有语法错误。()oA.chara[20]=〃abcdefg〃; B.chara[]=〃x+y=55.〃;Cochara[15];Dochara[10]='5';在下面的二维数组定义中,正确的是( )oA.inta[5][]; Bointa[][5];C.inta[][3]={{1,3,5},{2}};Dointa[](10);35o假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};",则元素a[1][2]的值为()o

A.2Bo4Co636.假定一个二维数组的定义语句为A.2Bo4Co636.假定一个二维数组的定义语句为“int的值为()。D。8a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]A.0Bo4C.8D.6若定义了函数double大function(),则函数function的返回值为( )。Ao实数型B.实数的地址C.指向函数的指针D.函数的地址以下说法中正确的是()oC++程序总是从第一个定义的函数开始执行C++程序总是从main函数开始执行CoC++函数必须有返回值,否则不能使用函数DoC++程序中有调用关系的所有函数必须放在同一个程序文件中以下叙述中不正确的是()oAo在一个函数中,可以有多条return语句函数的定义不能嵌套,但函数的调用可以嵌套函数必须有返回值Do不同的函数中可以使用相同名字的变量函数重载是指()oA.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同Bo两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同Co两个以上的函数名字不同,但形参的个数或类型相同Do两个以上的函数取相同的函数名,并且函数的返回类型相同以下关于函数模板叙述正确的是().Ao函数模板也是一个具体类型的函数Bo函数模板的类型参数与函数的参数是同一个概念Co通过使用不同的类型参数,函数模板可以生成不同类型的函数用函数模板定义的函数没有类型下列( )的调用方式是引用调用。Ao形参和实参都是变量 Bo形参是指针,实参是地址值形参是引用,实参是变量 D.形参是变量,实参是地址值为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()Ao内联函数B.重载函数Co递归函数Do函数模板0445.46.47。函数原型语句正确的是(A.intFunction(voida);C.intFunction(a);C++中函数返回值的类型是由函数原型语句正确的是(A.intFunction(voida);C.intFunction(a);C++中函数返回值的类型是由(A.return语句中表达式的类型C.调用函数时的调用语句

以下函数的返回结果是()ointfunction(char*x){char*p=x;while(*p++);)oBovoidFunction(int);D.voidint(doublea);决定的.B.该函数定义时的类型Do系统根据结果return(p-x-1);}}A.CoBo将字符串Bo将字符串x连接到字符串p后面将字符串x复制到字符串p中Do将字符串x反向存放函数调用func((expl,exp2),(exp3,exp4,exp5))中所含实参的个数为( )个.

Ao1Bo2C.4D.5设有如下函数定义intf(char大s){char*p=s;while(*p!='\0')p++;return(p-s);}在主函数中用cout〈〈f(“good〃)调用上述函数,则输出结果为()oAo3 B.4 Co5 D.649o以下正确的函数原型语句是( )odoublefun(intx,inty)doublefun(intx;inty)Codoublefun(int,int);Dodoublefun(intx,y);50o以下正确的说法是( ).用户调用标准库函数前,必须重新定义用户可以重新定义标准库函数,若如此,该函数将失去原有含义Co系统不允许用户重新定义标准库函数Do用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用户源文件中函数调用不可以( )oAo出现在一个表达式中出现在执行语句中作为一个函数的实参作为一个函数的形参以下正确的描述是( ).Ao函数的定义可以嵌套,函数的调用不可以嵌套Bo函数的定义不可以嵌套,函数的调用可以嵌套Co函数的定义和函数的调用均可以嵌套Do函数的定义和函数的调用均不可以嵌套若用数组名作为函数调用的实参,传递给形参的是().Ao数组的首地址 Bo数组中第一个元素的值数组全部元素的值 D.数组元素的个数54o以下错误的描述是()oAo被调用函数中可以不用return语句被调用函数中可以用多个return语句Co被调用函数中,如果有返回值,就一定要有return语句被调用函数中,一个return语句可返回多个值给调用函数以下正确的描述是( )oA.不允许设置参数的默认值Bo设置参数的默认值只能在定义函数时设置设置参数的默认值时,应该设置右边的参数Do设置参数的默认值时,应该全部参数都设置56。 采用重载函数的目的是( )o

57.5859.60.6162.636465666768.69。A。实现共享 B。减少空间提高速度 Do使用方便,提高可读性将两个字符串连接起来组成一个字符串时,选用()函数.strlen()Bostrcap()Costrcat()Dostrcmp()以下叙述中正确的是( )oAo使用#define可以为常量定义一个名字,该名字在程序中可以再赋另外的值使用const定义的常量名有类型之分,其值在程序运行时是不可改变的在程序中使用内联函数使程序的可读性变差在定义函数时可以在形参表的任何位置给出缺省形参值下面的标识符中,()是文件级作用域.A.函数形参B。语句标号C.外部静态类标识符D.自动类标识符以下叙述不正确的是().Ao宏替换不占用运行时间 B.宏名无类型宏替换只是字符替换 Do宏名必须用大写字母表示C++语言的编译系统对宏命令的处理是()•Ao在程序运行时进行Bo在程序连接时进行Co和C++程序的其它语句同时进行编译在对源程序中其它成分正式编译之前进行当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是()。直接按系统设定的标准方式搜索目录先在源程序所在目录搜索,再按系统设定的标准方式搜索目录仅仅搜索源程序所在目录搜索当前逻辑盘上的所有目录当#include后面的文件名用尖括号括起来时,寻找被包含文件的方式是()oAo直接按系统设定的标准方式搜索目录先在源程序所在目录搜索,再按系统设定的标准方式搜索目录Co仅仅搜索源程序所在目录搜索当前逻辑盘上的所有目录在下面存储类中,( )对象的可见性与生存期不一致。Ao外部类Bo自动类C.内部静态类 D.寄存器类在下面存储类中,( )的对象不是局部变量。外部静态类Bo自动类Co函数形参 D.寄存器类关于局部变量,下面说法正确的是()oAo定义该变量的程序文件中的函数都可以访问定义该变量的函数中的定义处以下的任何语句都可以访问Co定义该变量的复合语句中的定义处以下的任何语句都可以访问Do定义该变量的函数中的定义处以上的任何语句都可以访问文件包含命令中被包含的文件的扩展名()oAo必须是。hBo不能是。hCo可以是。h或.cppD.必须是.cpp预处理命令在程序中都是以( )符号开头的。A.* B.# C.&D。@设array为一个数组,则表达式sizeof(array)/sizeof(array[0])的结果为( )。A.array数组首地址

Boarray数组中元素个数Coarray数组中每个元素所占的字节数Doarray数组占的总字节数70o用new运算符创建一个含10个元素的一维整型数组的正确语句是()。A.int*p=newa[10];Boint*p=newfloat[10];int*p=newint[10];D.int*p=newint[10]={1,2,3,4,5}TOC\o"1-5"\h\z下列给字符数组赋初值时,正确的是( )oAochars1[]=”abcdef”; B.chars2[4]=”abcd";chars3[2][3]={“abc”,"xyz”}; D.chars4[4][]={‘a','x','s','t'};72o设有定义“staticintdata[5][6];”设该数组在静态存储区中的起始地址为十进制的100,若每个int型数占4个字节,则数组元素data[2][3]的地址为( ).Ao115 B.124 C.130 Do16073o假定变量m定义为“intm=7;”,则定义变量p的正确语句为()。Aointp=&m; B.int*p=&m; Coint&p=*m;Doint*p=m;假定k是一个double类型的变量,则关于变量p的正确定义语句为()。A.doublep=&k; B.int*p=&k;C.double&p=*k; Dochar*p=”Thankyou!”;变量s的定义为“char*s=”Helloworld!”;”要使变量p指向s所指向的同一个字符串,则应选取()oAochar*p=s;Bochar*p=&s;C.char*p;p=*s;D.char*p;p=&s;76o关于void指针,下列说法正确的是()oAovoid指针就是未指向任何数据的指针B.void指针就是已定义而未初始化的指针Co指向任何类型数据的指针可直接赋值给一个void指针void指针值可直接赋给一个非void指针77.假定一条定义语句为“inta[10],x,*pa=a;",若要把数组a中下标为3的元素值赋给x,则不正确的语句为()oA.x=pa[3]; Box=*(a+3); C.x=a[3]; Dox=*pa+3;78o假定有定义“intb[10];int大pb;”则不正确的赋值语句为()•A.pb=b; Bopb=&b[0];C.*pb=newint; Dopb=b[5];79o假定p是具有double类型的指针变量,则表达式++p使p的值(以字节为单位)增加().A.1 B.4 C.sizeof(double) Dosizeof(p)80o假定p指向的字符串为”string",则cout〈〈p+3的输出结果为( )。A.stringB.ring CoingDoiA.stringB.ring CoingDoi问答题(每题10分)1.为什么称C++语言是混合型面向对象的语言?2o下面是一个联合的定义:ClassCU{union{intivalue;floatfvalue;}//};这是一个什么联合的说明?它说明ivalue和fvalue具有什么关系?什么是C++的多态性?如何通过抽象形成“类"的概念?类的概念来自于什么过程?下面是类C的定义:classC:publicA,privateB{private:intc;public:voidsetC(intx,inty){c=x;setB(y);}voidshowC(){showB();cout〈c<<endl;}};讨论类C属于何种方式的继承及其派生方法对访问基类成员的影响.C++的流库预定义了哪几个流?与这几个流所联结的具体设备是什么?在使用C++时,是否应仍然保持C语言的习惯及思维方式?为什么?C++中有哪些机制可以实现命名常量?简述模板类的动态特征。10.简述静态成员的特性,然后就作用域与全局变量进行比较?用指针或引用调用虚函数与通过对象访问虚函数的区别是?12。 多重继承的构造顺序一般可分为4步,下面给出这4个步骤:13。 在C++中,应该使用什么语句来动态分配和释放内存?下面的程序的正确的输出结果是什么?#include〈iostream。h>#include<string.h>classbase{public:virtualchar*fun(void)const=0;};char*base::fun(void)const{return”base";}classderived1:virtualpublicbase{public:char*fun(void)const{return”derived1”;}};classderived2:virtualpublicbase{public:char*fun(void)const{return"derived2”;};classsubderived:publicderivedl,publicderived2{public:char*fun(void)const{char*pch;pch=newchar[strlen(derivedl::fun())+strlen(derived2::fun())+l];strcpy(pch,derivedl::fun());strcat(pch,derived2::fun());returnpch;}};voidmain(void){base*pb;pb=newderivedl;cout〈<pb—>fun()<<endl;pb=newderived2;cout〈〈pb->fun()<〈endl;pb=newsubderived;cout<<pb->fun()〈〈endl;}目前推荐的C++标准十分虚构造函数?友元运算符@obj会被C++编译器解释为什么?写出下面程序的运行结果。#include<iostream。h>#include<iomanip.h〉voidprint(floata[],intcount,intwidth);voidmain(void){floatf[2]={1.0f,10。0f};cout<<"Defaultnumericformat:”〈<endl;print(f,2,10);cout〈〈"Settingios::showpoint:”〈〈endl;cout。setf(ios::showpoint);print(f,2,10);cout。unsetf(ios::showpoint);cout<〈”Settingios::scientific:"〈〈endl;cout。setf(ios::scientific);print(f,2,10);cout.unsetf(ios::scientific);}voidprint(floata[],intcount,intwidth){for(inti=0;i<count;i++){cout.width(width);cout<<a[i]<<endl;}}一个const对象是否能访问所有成员函数?私有与保护之间的区别是什么?20、 在C++中,封装是借助于什么达到的?21、 C++可通过什么建立类库?22、 用于类中虚成员函数说明的关键字是什么?23、 完成下面的类定义。ClassMyClass{public:MyClass(){x=0;} ① intGetNum( ② my);private:intx;};intGetNum( ② my){ returnmy。x;}24。在下面程序的横线处填上适当的语句,使类型该程序执行结果为10。#include<iostream。h>classMyClass{pub1ic: ① //为x置值 ② //取x值private:intx;};voidmain(){Myclassmy(10);Cout<〈my.GetNum()〈<end;}25。下面的类中定义了一个关于星期的枚举类型,请完成下面的程序。ClassMyClass{public:enumWeek{Sun,Mon,Tue,Wed,Thu,Fri,Sat};Weekweek;}voidfun(MyClass&my){ ① = ② ; 〃将对象my的week赋值为所定义的枚举类型//值为3的枚举量}26。下列程序将x,y和z按从小到大的顺序排列,在划线处填入正确的内容。Template〈classT>voidorder( ① ){ ② if(x〉y){a=x;x=y;y=a;}if(y〉z){a=y;y=z;z=a;}if(x〉y){a=x;x=y;y=a;}}27。什么是数据封装?28什么叫做支配规则?29。为什么引入函数模板和类模板?30•在使用C++时,是否应仍然保持C语言的习惯及思维方式?为什么?C++中有哪些机制可以实现命名常量?简述模板类的动态特征。简述静态成员的特性,然后就作用域与全局变量进行比较?用指针或引用调用虚函数与通过对象访问虚函数的区别是?仔细阅读下面的程序,给出正确的输出结果。#include〈iostream。h〉enumnote{middleA,middleB,middleC,middleD};classinstrument{public:voiddisplay(note)const{cout〈<"instrument::display"<〈endl;}};classpiano:publicinstrument{public:voiddisplay(note)const{cout〈〈”piano::display"〈<endl;}};classguitar:publicinstrument{public:voiddisplay(note)const{cout〈<”guitar::display"〈〈endl;}};voidtone(instrument&i){i.display(middleC);}voidmain(void){guitarguitar1;tone(guitar1);pianopiano1;tone(piano1);}仔细阅读下面的程序,分析程序使用何种运算符重载,它的用法可以与程序中的哪种构造函数的用法做比较,并给出程序的输出结果。#include<iostream.h〉classbase{intlength;intwidth;inthight;public:base(){length=width=hight=1;cout<<”Construcingbaseobjectdefault"〈<endl;base(int,int,int);base(base&);intsurface(void);intvolume(void);base&operator=(constbase&BB);};base::base(inta,intb,intc){length=a;width=b;hight=c;cout〈〈"Constructingbaseobjectbybase(。。.)!"vvendl;}base::base(base&B){length=B.length;width=B.width;hight=B。hight;cout〈〈"Constructingbaseobjectbybase(base&)!”<〈endl;}base&base::operator=(constbase&BB){length=BB.length;width=BB。width;hight=BB。hight;cout〈<”Constructingbaseobjectbyoperator”〈〈endl;return*this;}intbase::surface(void){return2*(length*width+length*hight+width*hight);}intbase::volume(void){returnlength*width*hight;}voidmain(void){baseA;cout〈<”cubeA:surface=”〈〈A.surface()〈<”volume=”〈<A.volume()<<endl;baseB(10,10,10);cout〈〈"cubeB:surface="<〈B。surface()<〈"volume="<<B.volume()〈〈endl;A=B;cout<<”cubeA(B):surface="<<A。surface()〈〈”volume="<〈A.volume()<〈endl;baseC(A);cout<〈”cubeC(A):surface="〈〈C.surface()<<”volume=”〈〈C。volume()<<endl;}阅读程序,给出正确的输出结果。#include〈iostream。h〉classbase{public:virtualintfun(void)const{cout〈<”base::fun"〈<endl;return10;}};classdivide:publicbase{public:intfun(void)const{cout〈〈"divide::fun"<〈endl;return20;}};voidmain(void){divided;base*b1=&d;base&b2=d;baseb3;b1-〉fun();b2。fun();b3.fun();}38。下面这个程序使用了静态成员变量,仔细阅读程序然后给出正确的输出结果#include〈iostream.h>#include〈stdlib.h〉classroom{intwidth;intheight;intlength;public:room(int,int,int);intgetW(void)const{returnwidth;}intgetH(void)const{returnheight;}intgetL(void)const{returnlength;}intfloorarea(void){returnlength*width;}voiddisplay(void);room&operator+= (int);};room::room(intl=0,intw=0,inth=0){length=l;width=w;height=h;}voidroom::display(void){cout<〈”Theroom'slengthis:”<<length〈〈endl;cout<<”Theroom'swidthis:"<<width〈<endl;cout<<”Theroom'sheightis:"<〈height〈〈endl;}room&room::operator+= (inthh){height+=hh;return*this;}classbuilding{staticroomroomaray[5];staticintheightaray[5];building(){for(inti=1;i〈=5;i++){heightaray[i]+=i;}}voidaddheight(void);voidprint(void);};voidbuilding::addheight(void){for(inti=0;i〈5;i++){roomaray[i]+=i+1;}}voidbuilding::print(void){for(inti=0;i〈5;i++){cout<〈"The"〈〈i〈〈”throom'sinfomationsuchas:”〈<endl;roomaray[i]。display();}}intbuilding::heightaray[5]={0,0,0,0,0};roombuilding::roomaray[5]={room(10,4,3),room(10,4,3),room(10,4,3),room(10,4,3),room(10,4,3)};voidmain(void){buildingbd;bd。print();cout<〈”Doyouwanttoaddtherooms?(y/n)"〈〈endl;charch;cin>〉ch;if(ch=='y'){bd。addheight();bd.print();}elseif(ch=='n')exit(1);elseexit(1);}39。 下面这一程序是关于多重继承时构造函数的调用顺序问题,给出正确的输出结果并说明原因.#include<iostream。h〉classbase{public:intb;base(){b=0;}};classdivide1:virtualpublicbase{intb1;dividel(){b=10;}};classdivide2:virtualpublicbase{intb2;public:divide2(){b=20;}};classsubdivide:publicdivide1,publicdivide2{intd;};voidmain(void){subdivided;inti=d.b;cout<<i<〈endl;}注意下面程序中析构函数的调用顺序,假设该长方体的长宽高分别是10、6、8,仔细阅读程序并给出正确的输出结果。#includeviostream。h>classrectangle{intwidth,height;public:rectangle(intw=0,inth=0):width(w),height(h){}intgetwidth(void)const{returnwidth;}voidsetwidth(intw){width=w;}intgetheight(void)const{returnheight;}voidsetheight(inth){height=h;}intsurface(void){returnwidth*height;}〜rectangle(void){cout〈〈"〜rectangle"vvendl;}};classcuboid{rectangleside1,side2,side3;public:cuboid(rectangles1,rectangles2,rectangles3):side1(s1),side2(s2),side3(s3){}intgetsurface(void){return2*(side1.surface()+side2。surface()+side3.surface());}intgetvolume(void){inta[3];a[0]=side1.getwidth();a[1]=side1.getheight();a[2]=((side2。getwidth()==side3。getwidth())I|(side2。getwidth()=side3.getheight()))?(side2.getwidth()):(side2。getheight());returna[0]*a[1]*a[2];}voidprint(void)const{cout〈v”Thecuboid's3sidessuchas:”〈vendl;cout〈〈”sideI:"〈〈side1.getwidth()v〈”,"v〈side1。getheight()〈〈endl;cout〈v"sidell: "<〈side2.getwidth()vv","〈vside2。getheight()vvendl;cout〈<”sideIII:"〈〈side3。getwidth()<<","<〈side3.getheight()<〈endl;}~cuboid(void){cout〈〈"〜cuboid"〈vendl;}};voidmain(void){coutv〈"pleaseinputlength,width,height:"〈〈endl;intl,w,h;cin〉>l〉>w>>h;rectangles1(l,w),s2(l,h),s3(w,h);cuboidcb(s1,s2,s3);cb。print();cout〈v"Surfaceis:"vvcb.getsurface()〈vendl;cout〈v"Volumeis: "〈vcb。getvolume()〈vendl;}分析下面的程序,说明它演示的概念并给出输出结果。#includeviostream。h〉classMemoryManage{public:MemoryManage(){cout〈〈"Allocatingmemory!:-)"vvendl;}~MemoryManage(){cout〈〈"Dellocatingmemory! :—("vvendl;}};voidmain(){cout〈〈"Iamsurethememoryisenoghifyouarenottoofat! :-0"v〈endl;MemoryManageMM;cout〈v"Whatdoyouthinkofourmemoryservice:-8"vvendl;}分析下面程序的作用及测试结果。#includeviostream。h〉classtest{private:inti;floatf;charch;public:test(){}test(inta,floatb,charc){i=a;f=b;ch=c;}friendostream&operator〈〈(ostream&stream,testobj);friendistream&operator〉〉(istream&t_stream,test&obj);};ostream&operatorv〈(ostream&stream,testobj){stream〈〈obj。i〈v",";stream〈vobj。fvv",";stream〈〈obj.ch<〈endl;returnstream;}istream&operator>〉(istream&t_stream,test&obj){cout〈<”Inputasifch:”;t_stream»obj。i;t_stream>〉obj.f;t_stream>〉obj。ch;returnt_stream;}voidmain(){testB(45,8.5,'W');cout〈〈B;testA;cin>>A;cout<〈A;}43。请写出程序的输出#include〈iostream.h>classPoint{public:Point(inta){X=a;cout<〈Xvvendl;}Point(Point&p){X=p。X;cout〈vXv〈endl;}VoidSetx(inta){X=a;}〜Point(){coutvvXv〈endl;}private:intX;}voidmain(){Pointp1(1),p2(p1);P2。Sex(2);Pointp3=p2;}#include〈iostream。h〉#include〈stdlib。h〉voidmain(){inta[8]={25,48,32,85,64,18,48,29};intmax,min;max=min=a[0];for(inti=0;i〈8;i++) {if(x>a[i])max=a[i];if(x〈a[i])min=a[i];}cout〈〈"max:”〈〈max〈〈endl;cout〈〈"min:”〈〈min〈〈endl;#include〈iostream.h>voidmain(){inta,b;for(a=1,b=2;b<50;){cout〈〈a〈<''〈〈b<〈'';a=a+b;b=a+b;}cout〈<endl;cout〈〈a〈〈' '<〈b〈〈''〈〈endl;}#include〈iostream.h〉constintM=3,N=4;voidmain(){inti,j,s=0;for(i=1;i〈=M;i++)for(j=1;j〈=N;j++)s+=i*j;cout〈〈”s=”〈〈s〈〈endl;}#include〈iostream。h〉voidmain(){inta=2,b=5,c=0;if(a+b〉10)c=a*b;elsec=3*a+b;if(c〈=20)cout〈〈c*c;elsecout〈〈4+c—5;cout〈〈endl;a=a+b;b=a+b;c+=a+b;cout〈〈"a,b,c=”〈〈a〈〈','〈〈b〈〈','〈〈c〈〈endl;}48.#include〈iomanip。h〉voidmain(){inti,j;for(i=0;i〈5;i++){for(j=i;j〈5;j++)cout〈〈'*';cout〈〈endl;}}#include〈iostream。h>voidmain(){for(inti=l,s=0;i〈20;i++) {if(i%2==0I|i%3==0)continue;cout〈〈i〈〈'';s+=i;}cout〈〈s〈〈endl;}#include〈iostream。h>voidmain(){inta,b,c=0;for(a=1;a〈4;a++)for(b=6;b〉1;b-=2){if((a+b)%2==0) c+=a+b;elsec+=a*b;if(b==2)cout〈〈a〈〈''〈〈b〈〈''〈〈c〈〈endl}}51。 #include〈iostream.h〉constintB=2;voidmain(){intp=1,s=1;while(s〈50){p*=B;s+=p;}cout〈〈"s="〈〈s〈〈endl;}#include〈iostream.h>voidmain(){intx=24,y=88;inti=2,p=1;do{while(x%i==0&&y%i==0) {p*=i;x/=i;y/=i;}i++;}while(x〉=i&&y〉=i);cout〈<p*x*y<<endl;53。 #include〈iomanip。h>constintN=3;voidmain(){inta[N][N]={{7,—5,3},{2,8,-6},{1,-4,—2}};intb[N][N]={{3,6,-9},{2,-8,3},{5,—2,—7}};inti,j,c[N][N];for(i=0;i〈N;i++) //计算矩阵Cfor(j=0;j<N;j++)c[i][j]=a[i][j]+b[i][j];for(i=0;i<N;i++) { //输出矩阵Cfor(j=0;j〈N;j++)cout〈〈setw(5)〈〈c[i][j];cout〈〈endl;}}54。 #include〈iostream.h>inta=5;voidmain(){intb=a+20;inta=10;cout〈〈a〈〈''〈〈b〈〈endl;{inta=0,b=0;for(inti=1; i〈6; i++){a+=i;b+=a;}cout〈〈a〈〈''〈〈b〈〈endl;}cout〈〈a〈〈''〈〈b〈〈endl;}55。 #include〈iostream。h>intf1(intx,inty){x=x+y;y=x+y;cout〈〈"x="〈〈x〈〈",y=”〈〈y〈〈endl;returnx+y;}运行结果:voidmain(){intx=5,y=8;intz=f1(x,y);cout〈<”x=”<<x<〈",y=”〈<ycout〈<",z=”<〈z〈<endl;}56。#include〈iostream.h56。voidf2(int&x,int&y){intz=x;x=y;y=z;}voidf3(int*x,int*y){intz=*x;*x=*y;*y=z;}voidmain()intx=10,y=26;cout〈<"x,y="〈〈x<<”,"<<y〈<endl;f2(x,y);cout<〈”x,y="〈<x<<",”<<y<<endl;f3(&x,&y);cout<〈"x,y=”<〈x<〈","<<y<<endl;x++;y-—;f2(y,x);cout<〈"x,y=”〈〈x〈〈”,”<〈y〈<endl#include〈iostream.h>voidf4(inta[],intn,int&s){s=0;for(inti=0;i〈n;i++)s+=a[i];}voidmain(){intb[8]={4,&6,9,2,10,7,12};intx;f4(b,5,x);cout<<x<<'';inty;f4(b+3,4,y);cout<<y〈<'';cout<<x+y〈〈endl;}#include〈iostream.h〉

voidmain(){inta[8]={36,25,48,14,55,40,50,24};intb1,b2;b1=b2=a[0];for(inti=1;i〈8;i++)if(a[i]>b1){b2=b1;b1=a[i];}elseif(a[i]〉b2)b2=a[i];cout〈<b1<<''〈〈b2<<endl;}59。 #include〈iostream。h〉voidmain(){chara[]="abcdabcabfgacd";inti1=0, i2=0,i=0;while(a[i]){if(a[i]=='a')i1++;if(a[i]=='b')i2++;i++;}cout〈〈i1〈〈''〈〈i2〈〈''〈〈i〈〈endl;}运行结果:4314#include〈iostream。h>voidmain(){inta[10]={76,83,54,62,40,75,90,92,77,84}intb[4]={60,70,90,101};intc[4]={0};for(inti=0;i〈10;i++){intj=0;while(a[i]>=b[j])j++;c[j]++;}}61.for(i=0;i〈4;i++)cout〈〈c[i]〈cout〈〈}61.#include<iostream。h〉#include〈string。h>voidmain(){chara[5][10]={"student”,”worker”,"soldier",”cadre","peasant"};chars1[10],s2[10];strcpy(s1,a[0]);strcpy(s2,a[0]);for(inti=1;i〈5;i++){if(strcmp(a[i],s1)〉0)strcpy(s1,a[i]);if(strcmp(a[i],s2)〈0)strcpy(s2,a[i]);cout<〈s1<〈''<〈s2〈<endl}建立普通的基类Building,用来存储一座楼房的层数、房间数以及它的总平方米数。建立派生类House,继承Building,并存储下面的内容:卧室与浴室的数量。另外,建立派生类office,继承Building,并存储灭火器与电话的数目.设计一个程序,按照如下格式显示文本。例如,要求显示文本C++和ProgrammingLanguage时,屏幕输出如下:C++***ProgrammingLanguane********************64.大学里有这样几类人员:学生、教师、职员和在职读书的教师.给出这几类人员的类描述。答案《C++程序设计》一、判断题(错误的在后面写“F”,正确的写“T”,每题1分)程序是描述算法的编程工具。T将函数模板与某个具体数据类型连用,就产生了模板函数,称这个过程为函数TOC\o"1-5"\h\z模板实例化. TC++语言中,用来为对象初始化的特殊成员函数称为构造函数;用于在对象撤销时执行一些清理任务的特殊成员函数称为析构函数。 T逐条翻译并执行的翻译程序称为编译程序. F把所有类组织在一个树形结构中,这时所有类,不管它们之间的差别有多大,都有一个共同的相关类,这种结构被称为类树.类群是由一些彼此密切相关的类和类族组成的。F如果在定义一个类时,该类继承了多个基类的特征,那么这个继承关系称为多TOC\o"1-5"\h\z重继承。 T不同对象可以调用相同名称的函数,并可导致完全相同的行为的现象称为多态性。 F形式参数表是用括号分隔的变量说明列表,变量称为函数的形式参数,有时也简称为形参。 F9•.在C++语言中,只要在声明函数原型时形式参数的个数或者对应的类型不同,两个或更多的函数就可以共用同一个名字。这种在同一作用域中允许多个函数使用同一函数名的措施被称为重载. TC++的作用域分辨:可以迫使编译器“看到”当前作用域的外层部分,存取那些被隐藏的名字。这是由作用域分辨操作符实现的,这一过程叫做作用域分辨.T11.说明函数原型时不需要指明每个函数参数的名字,只需要说明每个参数的类型和返回值类型就可以了。T12.所有的表达式都有值。F13.程序的编译是以文件为单位的,因此将程序分到多个文件中可以减少每次对程序修改所带来的编译工作量。T类的静态数据成员需要在定义每个类的对象时进行初始化。F基类中被说明为protected和private的成员只能被其派生类的成员函数访问,不能被其它的函数访问.F当将一个类S定义为另一个类A的友元类时,类S的所有成员函数都可以直接访问类A的所有成员。T当函数的返回值是数组类型的,传递的是数组第一个元素的地址。F如果派生类的成员函数的原型与基类中被定义为虚函数的成员函数原型相同,那么,这个函数自动继承基类中虚函数的特性。T字符串'hello,wor在内存中存放时,占用11个字节的空间。F用new动态申请的内存空间,必须用delete来释放。T变量必须先定义或说明,后使用。T23、常量不能作为左值使用。T23、 头文件中一般存放着变量和常量的定义、函数的原型以及类的定义。F24、 类的友元函数可以直接访问该类的所有成员。T25、 派生类的成员函数可以直接访问基类的所有成员。F26、 一个类可以作为另一个类的友元类。T27、 函数的参数和返回值类型可以是简单数据类型,也可以是指什、引用、数组和类。F28、 在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才能具有多态的特征.F29、 下面两个语句是等价的:Fcharstr[]=”hello,world";charstr[11]=”hello,world";30、用new动态申请的内存是在堆中分配的,而不是在栈中分配的.TOC\o"1-5"\h\z静态联编所支持的多态性称为编译时的多态性。 T如果一个类中至少有一个实函数,则称这个类为抽象类。 F用于在对象消失时执行一些清理任务的函数叫虚函数. F34。 C++源程序文件的缺省扩展名为cpp T35。 由C++源程序文件编译而成的目标文件的缺省扩展名为lik F36。 由C++目标文件连接而成的可执行文件的缺省扩展名为obj F37。 编写C++程序一般需经过的几个步骤依次是编辑、编译、连接、调试 T38。 标识符defaultthen while全是保留字 F39。 能作为C++程序的基本单位是语句 T40。 程序中主函数的名字为任意标识符 F二、填空题(每题3分)1。假定x=5,y=6,则执行表达式y+二x计算后,x和y的值分别为 和4112。 C++常数0x145对应的十进制值为 .3253。 C++常数0345对应的十进制值为 。2294。 十进制常数245对应的十六进制的C++表示为 。0xF5(F大小写均可)5。 十进制常数245对应的八进制的C++表示为 。0365(F大小写均可)6。 signedchar类型的值域范围是 至 之间的整数。—128+1277.int和float类型的数据分别占用44__和 ___个字节。8。float和double类型的数据分别占用48 和__ 个字节.9。bool和char类型的数据分别占用___和 __个字节.TOC\o"1-5"\h\z11unsignedshortint和int类型的长度分别为 和 。24字符串、'This\'sabook。\n"的长度为 .15字符串“\nThis\'sapen\n\n”的长度为 .15在C++中存储字符串“abcdef”至少需要 个字节.7在C++中存储字符串“a+b=c〃至少需要 个字节。6假定x和y为整型,其值分别为16和5,则x%y和x/y的值分别为 和 13若while循环的“头"为”while(i++〈=10)",并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行 次后正常结束。11若do循环的“尾”为〃while(++i〈10)〃,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行 次后正常结束.10当在程序中执行到 语句时,将结束本层循环类语句或switch语句的执行。break当在程序中执行到 语句时,将结束所在循环语句中循环体的一次执行。continue在程序中执行到 语句时,将结束所在函数的执行过程,返回到调用该函数的位置。return在程序执行完 函数调用后,将结束整个程序的执行过程,返回到C++集成开发窗口。主(或main)元素类型为int的数组a[10]共占用 字节的存储空间。40元素类型为double的二维数组a[4][6]共占用 字节的存储空间。192元素类型为char的二维数组a[10][30]共占用 字节的存储空间。300存储字符'a'和字符串〃a"分别需要占用 和 个字节。12空串的长度为 ,存储它需要占用 个字节。01TOC\o"1-5"\h\z字符串”\'a\'xy=4\n〃的长度为 。7字符串”a:\\xxk\\数据〃的长度为 。11用于存储一个长度为n的字符串的字符数组的长度至少为 。n+1若a是一个字符数组,则从键盘上向该数组输入一个字符串的表达式―.cin〉>aC++是将源程序 ,然后再执行,这种翻译程序称为编译程序。一次翻译成目标程序联合的若干数据成员使用地址 ,占据的内存是联合中占内存最大的数据成员所占用的内存。同一作用域分辨操作符的一般形式为类名::类标识符,作用域分辨不仅可用于类中,而且可以用在 时。函数调用将关键词const写在 之后, , 之前,说明该函数是一个const成员函数.函数头 函数体C++是在 的基础上,引入面向对象概念而扩充形成的 混合型面向对象语言。标准C语言36。在动态联编中,直到 时才能确定调用哪个函数。静态联编是在程序编译时进行的。程序运行37.类型转换函数个转换函数。 带有参数,当被派生类继承并被说明为 不能 虚函数__时,可以定义多38.继承是 _ 的一个特点,继承支持__ 类概念。对象 层次39.C++的__规则能保证编译器调用正确的成员函数。作用域40。在C++中,声明构造函数和析构函数时,__使用const或volatile关键词。不

温馨提示

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

评论

0/150

提交评论