ImageVerifierCode 换一换
格式:DOC , 页数:12 ,大小:64.50KB ,
资源ID:1324773      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1324773.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】二级C++笔试39及答案解析.doc)为本站会员(terrorscript155)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C++笔试39及答案解析.doc

1、二级 C+笔试 39及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列关于 break语句的叙述不正确的是( )。(分数:2.00)A.break语句可用在循环体中,它将使执行流程跳出本层循环体B.break语句可用在 switch语句中,它将使执行流程跳出当前 switch语句C.break语句可用在 if语句中,它将使执行流程跳出当前 if语句D.break语句在一层循环体中可以出现多次2.下列程序段中有错的是( )。 Templateclass Type /A Type /B Func(Type a,b) /C retum(a

2、b)?(a):(b); /D(分数:2.00)A.B.C.D.3.关于 new运算符的错误的描述是( )。(分数:2.00)A.使用运算符 new创建对象数组时必须定义初始值B.使用运算符 new创建对象时,会调用类的构造函数C.运算符 new可以用来动态创建对象和对象数组D.使用 new运算符创建的对象可以使用运算符 delete删除4.有以下程序 #includeiostream.h float fun(int x,int y) return(x+y); void main() int a=2,b=5,c=8; coutfun(int)fun(a+c,b),a-c); 程序运行后的输出结果

3、是( )。(分数:2.00)A.编译出错B.9C.21D.9.05.有如下程序 #gincludeiostream.h void main() char ch2 5”6937“,“8254“),*p2; int i,j,S=0 for(i=0;i2:i+)pi=chi; for(i=0;i2:i+) for(j=0;pi j/0;j+=2) s=10*s+pi j-0: couts; 该程序的输出结果是( )。(分数:2.00)A.69825B.63825C.6385D.6938256.在 C+语言中,形参的缺省存储类型是( )。(分数:2.00)A.autoB.registerC.stati

4、cD.extern7.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )。(分数:2.00)A.软件投机B.软件危机C.软件工程D.软件产生8.以下程序的正确运行结果是( )。 #includeiostream.h int f(int); void main() int a=2,i; for(i=0;i3;i+)coutf(a)“ “; coutendl; int f(int a) int b=0 static int c=3; b+:c+; return(a+b+c); (分数:2.00)A.777B.7 10 13C.79 11D.7 8 99.当使用 ifstream

5、流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式是( )。(分数:2.00)A.ios:inB.ios:outC.ios:truncD.ios:binary10.假定 MyClass为一个类,则执行 MyClassa,b(2),*p;语句时,自动调用该类构造函数( )次。(分数:2.00)A.2B.3C.4D.511.类模板的使用实际上是将类模板实例化成一个具体的( )。(分数:2.00)A.类B.对象C.函数D.模板类12.函数模板:templateclass T T add(T x,T y)returnx+y; 下列对 add函数的调用不正确的是( )。(分数:2.00)A.ad

6、d(1,2)B.=addint(1,2)C.add(1.0,2)D.add(1.0,2.0)13.下述关于 break语句的描述中,( )是不正确的。(分数:2.00)A.break语句可用于循环体内,它将退出该重循环B.break语句可用于 switch语句中,它将退出 switch语句C.break语句可用于对体内,它将退出 if语句D.break语句在一个循环体内可以出现多次14.如果一个类至少有一个纯虚函数,那么就称该类为( )。(分数:2.00)A.抽象类B.虚基类C.派生类D.以上都不对15.算法分析的目的是( )。(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出

7、之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进16.以下函数调用语句中实参的个数是( )。 excc(v1,v2), (V3,v4,V5),V6);(分数:2.00)A.3B.4C.5D.617.对于常成员函数,下面描述正确的是( )。(分数:2.00)A.类的成员函数可以操作常对象B.类的成员函数不能操作常对象C.只有常成员函数可以操作常对象D.在常成员函数中,常对象可以被更新18.下面关于运算符重载的描述错误的是( )。(分数:2.00)A.运算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构B.不是所有的运算符都可以进行重载C.运算符函数的调

8、用必须使用关键字 operatorD.在 C+语言中不可通过运算符重载创造出新的运算符19.以下不能正确进行字符串赋值初值的语句是( )。(分数:2.00)A.char str5=“good!“;B.char str=“good!“;C.char*str=“good!“;D.char str5=g,o,o,d;20.已知各变量的定义如下 int i=8,k,a,b: unsigned long w=5; double x=1.42,y=5.2; 则以下符合 C+语言语法的表达式是( )。(分数:2.00)A.a+=a-=(b=4)*(a=3)B.a=a*3+2C.x(-3)D.y=float

9、i21.关于 read()函数的下列描述中,( )是对的。(分数:2.00)A.该函数是用来从键盘输入中获取字符串B.该函数所获取的字符的多少是不受限制的C.该函数只能用于文本文件的操作中D.该函数只能按规定读取所指定的字符数22.对于某个函数调用,不给出初调用函数的声明的情况是( )。(分数:2.00)A.被调用函数是无参函数B.被调用函数是无返回值的函数C.函数的定义在调用处之前D.函数的定义有别的程序文件中23.有关析构函数的说法不正确的是( )。(分数:2.00)A.析构函数有且只有一个B.析构函数无任何函数类型C.析构函数和构造函数一样可以有形参D.析构函数的作用是在对象被撤消时收回

10、先前分配的内存空间24.当一个函数无返回值时,函数的类型应为( )。(分数:2.00)A.任意B.voidC.intD.char25.如果类 A被说明成类 B的友元,则( )。(分数:2.00)A.类 A的成员即类 B的成员B.类 B的成员即类 A的成员C.类 A的成员函数不得访问类 B的成员D.类 A的成员函数可以访问类 B的成员26.下面程序的运行结果为( )。 #includeiostream.h void main() char a=3; switch(a) case3: cout“3”: case2: cout“2”; break; default:cout“1”: (分数:2.00

11、)A.3B.321C.31D.3227.要实现动态联编,必须通过( )调用虚函数。(分数:2.00)A.对象指针B.成员名限定C.对象名D.派生类名28.下列关于继承的描述中,错误的是( )。(分数:2.00)A.析构函数不能被继承B.派生类是基类的组合C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类保持不变29.下列关于成员函数特征的描述中,错误的是( )。(分数:2.00)A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的30.定义如下一维数组:int a5,*p;,则下列描述错误的是

12、( )。(分数:2.00)A.表达式 p=p+1是合法的B.表达式 a=a+1是合法的C.表达式 p-a是合法的D.表达式 a+2是合法的31.一个函数为 void(int,char=a),另一个函数为 void f(int),则它们( )。(分数:2.00)A.不能在同一程序中定义B.可以在同一程序中定义并可重载C.可以在同一程序中定义,但不可以重载D.以上说法均不正确32.有以下函数: char fun(char*p) return p;) 则该函数的返回值是( )。(分数:2.00)A.无确切的值B.形参 p中存放的地址值C.一个临时存储单元的地址D.形参 p自身的地址值33.以下程序段

13、的执行结果是( )。 int a,y: a=10;y=10 do a+=2: y+=a; cout“a”=“a”,“”y=“y”/n”; if(y20)break; while(a=14);(分数:2.00)A.a=12,y=12B.a=12,y=12 a=14,y=1 a=16,y=28C.a=12,y=12D.a=12,y=12 a=14,y=26 a=14,y=4434.若类 A和类 B的定义如下: class A int i, public: void get(); / / ; class B:A/默认为私有派生 int k; public: void make(); / / ; vo

14、id B: :make() k=i*j; 则上述定义中, ( )是非法的表达式。(分数:2.00)A.void get();B.int k:C.void make();D.k=i*j;35.若有以下定义和语句: int s45,(*ps)5; ps=s; 则对 s数组元素的正确引用形式是( )。(分数:2.00)A.ps+1B.*(ps+3)C.ps02D.*(ps+1)+3二、B填空题/B(总题数:15,分数:30.00)36.fstream、ifstream 和 ofstream文件流类的成员函数 1 关闭文件。(分数:2.00)填空项 1:_37.类 1 支持输入操作,类 2 支持输出操

15、作。(分数:2.00)填空项 1:_填空项 1:_38.以下程序的执行结果是_。 #includeiostream.h #includeiomanip.h voidmain() coutfill(*); coutwidth(10); coutsetiosflags(ios:left)“123.45“endl; coutwidth(8); cout“123.45“endl: coutwidth(4); cout“123.45“endl; (分数:2.00)填空项 1:_39.数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和 1 两个含义。(分数:2.00)填空项 1:_40.C+是

16、一种面向对象的程序设计语言,它充分支持面向对象思想中的三个主要特征是 1 性; 2 性和 3性。(分数:2.00)填空项 1:_填空项 1:_填空项 1:_41.如果一个模板声明列出多个参数,则多个参数之间必须使用 1 隔开,每个参数都必须重复使用关键字 2。(分数:2.00)填空项 1:_填空项 1:_42.以下程序的功能是输出 1至 100之间每位数的乘积大于每位数的和的数,例如对于数字 12,有1*21+2,故不输出该数:对于 27,有 2*72+7,故输出该数。请填空。 #includeiostream.h void main() int n,k=1,s=o,m; for (n=1:n

17、=100:n+= k=1;s=0; _, while( ) k*=m10;s+=m10; U (3) /U; if(ks)coutn: (分数:2.00)填空项 1:_43.C+语言的基本控制结构为顺序结构、选择结构和 1。(分数:2.00)填空项 1:_44.C+是通过 1 译成目标语言的。(分数:2.00)填空项 1:_45.在析构函数中调用虚函数时,采用 1 联编。(分数:2.00)填空项 1:_46.运算符重载仍然保持其原来的优先级、_和_(分数:2.00)填空项 1:_47.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序

18、设计语言写成程序。(分数:2.00)填空项 1:_48.每个以符号 1 开头的行,为编译预处理行。(分数:2.00)填空项 1:_49.对虚函数使用对象指针或引用调用,系统使用_联编;使用对象调用时,系统使用 _联编。(分数:2.00)填空项 1:_50.以下程序的执行结果是_ #includeiostreamh #includeiomanip.h void print(int n) if(n!=0) print(n-1); for(int i=1;i=n;i+= coutsetw(3)i; coutendl; void main() print (4); (分数:2.00)填空项 1:_二级

19、 C+笔试 39答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.下列关于 break语句的叙述不正确的是( )。(分数:2.00)A.break语句可用在循环体中,它将使执行流程跳出本层循环体B.break语句可用在 switch语句中,它将使执行流程跳出当前 switch语句C.break语句可用在 if语句中,它将使执行流程跳出当前 if语句 D.break语句在一层循环体中可以出现多次解析:2.下列程序段中有错的是( )。 Templateclass Type /A Type /B Func(Type a,b) /C retum(

20、ab)?(a):(b); /D(分数:2.00)A.B.C. D.解析:3.关于 new运算符的错误的描述是( )。(分数:2.00)A.使用运算符 new创建对象数组时必须定义初始值 B.使用运算符 new创建对象时,会调用类的构造函数C.运算符 new可以用来动态创建对象和对象数组D.使用 new运算符创建的对象可以使用运算符 delete删除解析:4.有以下程序 #includeiostream.h float fun(int x,int y) return(x+y); void main() int a=2,b=5,c=8; coutfun(int)fun(a+c,b),a-c); 程

21、序运行后的输出结果是( )。(分数:2.00)A.编译出错B.9 C.21D.9.0解析:5.有如下程序 #gincludeiostream.h void main() char ch2 5”6937“,“8254“),*p2; int i,j,S=0 for(i=0;i2:i+)pi=chi; for(i=0;i2:i+) for(j=0;pi j/0;j+=2) s=10*s+pi j-0: couts; 该程序的输出结果是( )。(分数:2.00)A.69825B.63825C.6385 D.693825解析:6.在 C+语言中,形参的缺省存储类型是( )。(分数:2.00)A.auto

22、 B.registerC.staticD.extern解析:7.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做( )。(分数:2.00)A.软件投机B.软件危机 C.软件工程D.软件产生解析:8.以下程序的正确运行结果是( )。 #includeiostream.h int f(int); void main() int a=2,i; for(i=0;i3;i+)coutf(a)“ “; coutendl; int f(int a) int b=0 static int c=3; b+:c+; return(a+b+c); (分数:2.00)A.777B.7 10 13C.7

23、9 11D.7 8 9 解析:9.当使用 ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式是( )。(分数:2.00)A.ios:in B.ios:outC.ios:truncD.ios:binary解析:10.假定 MyClass为一个类,则执行 MyClassa,b(2),*p;语句时,自动调用该类构造函数( )次。(分数:2.00)A.2 B.3C.4D.5解析:11.类模板的使用实际上是将类模板实例化成一个具体的( )。(分数:2.00)A.类 B.对象C.函数D.模板类解析:12.函数模板:templateclass T T add(T x,T y)retu

24、rnx+y; 下列对 add函数的调用不正确的是( )。(分数:2.00)A.add(1,2)B.=addint(1,2)C.add(1.0,2) D.add(1.0,2.0)解析:13.下述关于 break语句的描述中,( )是不正确的。(分数:2.00)A.break语句可用于循环体内,它将退出该重循环B.break语句可用于 switch语句中,它将退出 switch语句C.break语句可用于对体内,它将退出 if语句 D.break语句在一个循环体内可以出现多次解析:14.如果一个类至少有一个纯虚函数,那么就称该类为( )。(分数:2.00)A.抽象类 B.虚基类C.派生类D.以上都

25、不对解析:15.算法分析的目的是( )。(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进 解析:16.以下函数调用语句中实参的个数是( )。 excc(v1,v2), (V3,v4,V5),V6);(分数:2.00)A.3 B.4C.5D.6解析:17.对于常成员函数,下面描述正确的是( )。(分数:2.00)A.类的成员函数可以操作常对象B.类的成员函数不能操作常对象C.只有常成员函数可以操作常对象 D.在常成员函数中,常对象可以被更新解析:18.下面关于运算符重载的描述错误的是( )。(分数:2.00)A.运

26、算符重载不能改变操作数的个数、运算符的优先级、运算符的结合性和运算符的语法结构B.不是所有的运算符都可以进行重载C.运算符函数的调用必须使用关键字 operator D.在 C+语言中不可通过运算符重载创造出新的运算符解析:19.以下不能正确进行字符串赋值初值的语句是( )。(分数:2.00)A.char str5=“good!“; B.char str=“good!“;C.char*str=“good!“;D.char str5=g,o,o,d;解析:20.已知各变量的定义如下 int i=8,k,a,b: unsigned long w=5; double x=1.42,y=5.2; 则以

27、下符合 C+语言语法的表达式是( )。(分数:2.00)A.a+=a-=(b=4)*(a=3) B.a=a*3+2C.x(-3)D.y=float i解析:21.关于 read()函数的下列描述中,( )是对的。(分数:2.00)A.该函数是用来从键盘输入中获取字符串B.该函数所获取的字符的多少是不受限制的C.该函数只能用于文本文件的操作中D.该函数只能按规定读取所指定的字符数 解析:22.对于某个函数调用,不给出初调用函数的声明的情况是( )。(分数:2.00)A.被调用函数是无参函数B.被调用函数是无返回值的函数C.函数的定义在调用处之前 D.函数的定义有别的程序文件中解析:23.有关析构

28、函数的说法不正确的是( )。(分数:2.00)A.析构函数有且只有一个B.析构函数无任何函数类型C.析构函数和构造函数一样可以有形参D.析构函数的作用是在对象被撤消时收回先前分配的内存空间 解析:24.当一个函数无返回值时,函数的类型应为( )。(分数:2.00)A.任意B.void C.intD.char解析:25.如果类 A被说明成类 B的友元,则( )。(分数:2.00)A.类 A的成员即类 B的成员B.类 B的成员即类 A的成员C.类 A的成员函数不得访问类 B的成员D.类 A的成员函数可以访问类 B的成员 解析:26.下面程序的运行结果为( )。 #includeiostream.h

29、 void main() char a=3; switch(a) case3: cout“3”: case2: cout“2”; break; default:cout“1”: (分数:2.00)A.3B.321C.31D.32 解析:27.要实现动态联编,必须通过( )调用虚函数。(分数:2.00)A.对象指针 B.成员名限定C.对象名D.派生类名解析:28.下列关于继承的描述中,错误的是( )。(分数:2.00)A.析构函数不能被继承B.派生类是基类的组合C.派生类的成员除了它自己的成员外,还包含了它的基类的成员D.派生类中继承的基类成员的访问权限到派生类保持不变 解析:29.下列关于成员

30、函数特征的描述中,错误的是( )。(分数:2.00)A.成员函数一定是内联函数 B.成员函数可以重载C.成员函数可以设置参数的默认值D.成员函数可以是静态的解析:30.定义如下一维数组:int a5,*p;,则下列描述错误的是( )。(分数:2.00)A.表达式 p=p+1是合法的B.表达式 a=a+1是合法的 C.表达式 p-a是合法的D.表达式 a+2是合法的解析:31.一个函数为 void(int,char=a),另一个函数为 void f(int),则它们( )。(分数:2.00)A.不能在同一程序中定义B.可以在同一程序中定义并可重载C.可以在同一程序中定义,但不可以重载 D.以上说

31、法均不正确解析:32.有以下函数: char fun(char*p) return p;) 则该函数的返回值是( )。(分数:2.00)A.无确切的值B.形参 p中存放的地址值 C.一个临时存储单元的地址D.形参 p自身的地址值解析:33.以下程序段的执行结果是( )。 int a,y: a=10;y=10 do a+=2: y+=a; cout“a”=“a”,“”y=“y”/n”; if(y20)break; while(a=14);(分数:2.00)A.a=12,y=12B.a=12,y=12 a=14,y=1 a=16,y=28C.a=12,y=12 D.a=12,y=12 a=14,y

32、=26 a=14,y=44解析:34.若类 A和类 B的定义如下: class A int i, public: void get(); / / ; class B:A/默认为私有派生 int k; public: void make(); / / ; void B: :make() k=i*j; 则上述定义中, ( )是非法的表达式。(分数:2.00)A.void get();B.int k:C.void make();D.k=i*j; 解析:35.若有以下定义和语句: int s45,(*ps)5; ps=s; 则对 s数组元素的正确引用形式是( )。(分数:2.00)A.ps+1B.*(

33、ps+3)C.ps02 D.*(ps+1)+3解析:二、B填空题/B(总题数:15,分数:30.00)36.fstream、ifstream 和 ofstream文件流类的成员函数 1 关闭文件。(分数:2.00)填空项 1:_ (正确答案:close)解析:37.类 1 支持输入操作,类 2 支持输出操作。(分数:2.00)填空项 1:_ (正确答案:istream)填空项 1:_ (正确答案:ostream)解析:38.以下程序的执行结果是_。 #includeiostream.h #includeiomanip.h voidmain() coutfill(*); coutwidth(10

34、); coutsetiosflags(ios:left)“123.45“endl; coutwidth(8); cout“123.45“endl: coutwidth(4); cout“123.45“endl; (分数:2.00)填空项 1:_ (正确答案:123.45*)解析:123.45* 123.4539.数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和 1 两个含义。(分数:2.00)填空项 1:_ (正确答案:逻辑独立性)解析:40.C+是一种面向对象的程序设计语言,它充分支持面向对象思想中的三个主要特征是 1 性; 2 性和 3性。(分数:2.00)填空项 1:_ (

35、正确答案:封装)填空项 1:_ (正确答案:继承)填空项 1:_ (正确答案:多态)解析:41.如果一个模板声明列出多个参数,则多个参数之间必须使用 1 隔开,每个参数都必须重复使用关键字 2。(分数:2.00)填空项 1:_ (正确答案:逗号)填空项 1:_ (正确答案:class)解析:42.以下程序的功能是输出 1至 100之间每位数的乘积大于每位数的和的数,例如对于数字 12,有1*21+2,故不输出该数:对于 27,有 2*72+7,故输出该数。请填空。 #includeiostream.h void main() int n,k=1,s=o,m; for (n=1:n=100:n+

36、= k=1;s=0; _, while( ) k*=m10;s+=m10; U (3) /U; if(ks)coutn: (分数:2.00)填空项 1:_ (正确答案:m-n m m/=10)解析:43.C+语言的基本控制结构为顺序结构、选择结构和 1。(分数:2.00)填空项 1:_ (正确答案:循环结构)解析:44.C+是通过 1 译成目标语言的。(分数:2.00)填空项 1:_ (正确答案:编译程序)解析:45.在析构函数中调用虚函数时,采用 1 联编。(分数:2.00)填空项 1:_ (正确答案:静态)解析:46.运算符重载仍然保持其原来的优先级、_和_(分数:2.00)填空项 1:_

37、 (正确答案:结合性 语法结构)解析:47.在程序设计阶段应该采取 1 和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。(分数:2.00)填空项 1:_ (正确答案:自顶而下)解析:48.每个以符号 1 开头的行,为编译预处理行。(分数:2.00)填空项 1:_ (正确答案:#)解析:49.对虚函数使用对象指针或引用调用,系统使用_联编;使用对象调用时,系统使用 _联编。(分数:2.00)填空项 1:_ (正确答案:动态 静态)解析:50.以下程序的执行结果是_ #includeiostreamh #includeiomanip.h void print(int n) if(n!=0) print(n-1); for(int i=1;i=n;i+= coutsetw(3)i; coutendl; void main() print (4); (分数:2.00)填空项 1:_ (正确答案:1)解析:1 2 1 2 3 1 2 3 4

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1