2022年四川省广元市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx

上传人:太** 文档编号:97957142 上传时间:2024-07-08 格式:DOCX 页数:42 大小:58.37KB
返回 下载 相关 举报
2022年四川省广元市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx_第1页
第1页 / 共42页
2022年四川省广元市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《2022年四川省广元市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx》由会员分享,可在线阅读,更多相关《2022年四川省广元市全国计算机等级考试C++语言程序设计模拟考试(含答案).docx(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2022年四川省广元市全国计算机等级考试 C+语言程序设计模拟考试(含答案)学校:班级:姓名:考号:一、1.选择题(10题)1.下面描述正确的是()oA.类的普通成员函数可以操作常对象B.类的成员函数可以修改常对象C.只有常成员函数才可以操作常对象D.常对象可以被常函数更新2 .数据字典是数据库设计需求分析阶段的重要工具之一,其最基本的方 法是()oA.数据库定义B.数据通信C.数据定义D.数据维护3 .有如下程序: #include using namespaee std ; class VAC public : int f( )COUStreturn 3 ; int f( )return

2、5 ; ; int main() VAC vl ; const VAC v2 ; eout vl.f() v2.f() ; return 0 ; 程序的输出结果是A.53 B.35 C.55 D.334 .下列关于C+函数的说明中,正确的是()。A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是return语句return(a b?a : b);)char*min(char*a, char*b) void main()(double a = 1.23, b = 3.45 ;charsl = ,abcd,( s2=“c鱼30 .设置标志位可使显示的正数前面带有一个加号。3

3、1 .在长度为n的线性表中查找一个表中不存在的元素,需要的比较次数为【32 .是精确定义的一系列规则,它指出怎样从给定的输入信息经过有限步骤产生所求的输出信息。33 .下列程序的运行结果是【o# include # include void main。(char * a5=stuentJworkerJteacher,soldierJ peasant;char * pl, * p2;pl=p2=a0for(int i=0;i 0) pl=ai;if(strcmp(ai,p2) 0) p2=ai;)cout pl p2 classCOpublic:/*! /不考不*举*errcr*亭亭亭亭不亭不/

4、staticintn=O:CO (n+ + :)CO):I *error* / intCO: n;voidmainCOobj;COobj27;COCNULL:c= & obj :I * *ei*por* * * !eoutC. nendl;37 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错。请改正程序中的错误,使程序输出的结果为1003732注意:错误的语句在/ / *erro*的下面,修改该语句即可。试题程序:#include/ 1* 1/不不不不不不prrcr不不不不干不voidmain/汴汴汴汴汴汴prrcr不不不不不不intm=0142:/ !* *1

5、*!/不不不不不不prmr不不不不可不intn=0X27:intq=32;cout m endl ;cout n endl;cout qendl;return;38 .使用VC+6. 0打开考生文件夹下的源程序文件1.叩p。本程序 要求输入一个字符串,然后将其中的小写字母改成大写字母,字符可 能输入多行,当输入字符“?”时,默认字符输入结束,最后把结果输出 到屏幕中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。试题程序:#include voidmain(inti=O;charstr 120;coutMEnterastring

6、endwith?. endl;/不不不不不不不不prrcr不不予不不不苓不cin. getline(str, 120);while(str)/* * * */ * * * * * * * *errcr于不不不不不予不if(stri)=a)stri=stri-a+A;i+ + ;)return;39 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:number=l number=10number = 100注意:不要改动main函数,不能增加或删除行。也不能更改程序的结构,错误的语句在/ / *error*的下面。试题

7、程序:#includeclassTC (public:TC(inti) (number=i;)voidSetNumber(intm)(number二 m;)intGetNumberconst (returnnumber;)voidPrintconst coutnumber=nnumberendl;private:intnumber;voidmain/!* * * * * * */ * 举举 * *pji*cr* * *TCobjl;objl. Print;TCobj2(3);/ *! *! *&/不不不不不不不不prrcr不不不不不不不不objl. number=10;/ / * * *err

8、or*%()* * * * * *TC. SetNumber(lOO);objl. Print;obj2. Print;40 .使用VC+6. 0打开考生文件夹下的源程序文件1.叩p,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Constructor, i=0,Destructor注意:错误的语句在/ / *err()r*的下面,修改该语句即可。试题程序:#include(iostream. h) classTC ( inti;public:TC;voiddisplay;TC;);/ / * * * 革革prmrTC: TC (cout,ConstructorM,;i=0;

9、)/不不不小不不prrcr不不不不不不TC: display ( toutni=nin, Mendl; )/ / * * * * * *error* * * * * *TC: TC (COUIDestructorHendl : voidmainTCa;a. display; )41 .使用VC+6. 0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错误,请改正错误,使程序正常运行,并且要求最后一个catch必须抛出执行的任何异常。程序异常,输出信息为errorOERROR注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在/ / *error*的下面。试题程

10、序:#includeiostream. h) intmain ( try (throwCerror*);/ *年不汴木不error不catch(chars) coutsendl ;try(throw(int)0);)/不不不小不小不不prrcr不不不不不不不不catch(coutiendl;try(throw(O);thro w( error*);)/不不不不不不不不error不不不不不不不catch(coulnERRORendl ;)returnO:)42 .使用VC+ +6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,输出的结果为Con

11、structor, i=0,Destructor注意:错误的语句在/ / *error*的下面,修改该语句即可。试题程序:#include(iostream . h)C.标准C+要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形 式43 有如下程序:#include using namespace std; class TestClass public: TestClass()cout default constructor3”; TestClass(const TestClass &x)cout copy constructorn; ; T

12、estClassuserCode(TestClass b)TestClass c(b);return c; int main() TestClass a,d; cout calling userCode()a,1; d=userCode(a); return 0;)在执行过程中, 构造函数TeslClass。和TestClass(const TestClass &x)被调用的次数分别 是()。A.1 和 1 B.1 和 2 c.2 和 3D.2 和 444 带有虚基类的多层次派生类构造函数的成员初始化列表中都要列出 虚基类的构造函数,这样对虚基类的子对象初始化()。A.与虚基类下面的派生类个数

13、有关B.多次C.二次D.一次45 包容类 Contain 和内嵌类 Embed 定义如下:#include class Contain private : intX ; protected : intz ; public : class Embed private : int y ; public :Embed()y=l 00 ; intEmbed_Fun() ; JMyEmbed ; int Contain_Fun(A.定义类Embed对象的语句是:Contain? Embed embed ;46 类Contain的成员函数Contain_Fun()中可以用MyEmbe D.y的方式访 问类

14、Embed的私有成员yclassTC inti ;public :TC ;voiddisplay ;TC ;/不小不下不不emr不不不不不不TC :TC coutConstructor, i=0;I I * * * * * *e*j*or* * * * * *TC : displaytouti=ni, endl ;、! 、! 、! 、! 、! 、!*7*4*error*TC : TCCOUInDestructorMendl :)voidmainTCa ;a . display ;43.使用VC+6. 0打开考生文件夹下的源程序文件 1. cpp,该程序运行时有错误,请改正程序中的错误。本程序要

15、求实现的功能为从键盘输入一个字符串,并将结果保存到文件1.txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *en*or*的下面试题程序:#include#include/小小小小小小小小rrcr不不不不不不不不usingstd;voidWriteFileCchar*s) ofstreamoutl ;/1* * * * */ *举举*prmr、*,、outl. open(nl. txt,binary|app);for(inti=0; siJ!=O; i + +)/! * * * * */ *汴不不P!*T*Or不/不3 3 3 3outl. p

16、uts(si); )outl. close;voidClearFile ofstreamout 1 ;outl. open(l. txt);outl. close; )intmain (charsf 10241;ClearFile;coutnpleaseinputastrin9 :uendl;cin. getline(s, 1024);WriteFile(s);returnO; )44 .使用VC+ +6 .0打开考生文件夹下的源程序文件1 .cpp,该程序运 行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果 为:sizeof(Sl)=5sizeof(s2)=10 sizeof(

17、s3)=l注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在/ / *error*的下面。(1)不能删除assert ()语句。(2)只能修改后面的数字。提示:assert函数如果为假,则会产生一个中断异常。试题程序:#include #include voidmain () char*sl=,abcn:/fkJ/不不不不不不不不error不不不不不不予不assert(sizeof(s 1 )=3):coutnsizeof(s 1 )=5uendl ;chars2llOJ=nabH:/*14 V 1 的的触* * * * */不不不不不不不不prrcr不不不不不

18、不不不asseil(sizeof(s2)=2); coutHsizeof(s2)= 10endl ;chars3=23 :assert(sizeof(s3)=4);coutnsizeof(s3)=l endl ;return ;45 .使用VC+ + 6 . 0打开考生文件夹下的源程序文件本程序要求实现1 . cpp,该程序运行时有错误,请改正程序中的错误。的功能为从键盘输入一个字符串,并将结果保存到文件1 . txt中。注意:不要改动main函数,不能增加或删除行,也不能更改程序的结 构,错误的语句在I I *error*的下面o试题程序:#include#include/ /不不不不不不不

19、不prmr不不不不不不不不usingstd ;voidWriteFile(char*s) ofstreamoutl ;outl . open(l . txt, binary|app);for(inti=0 ; si!=0 ; i + + ) outl . puts(si); )outl . close ;)voidClearFile ofstreamout 1 ;outl . open(nl . txtM);outl . close ;intmain chars1024;ClearFile ;coutpleaseinputastrin9 :uendl ;cin . getline(s, 102

20、4);WriteFile(s);returnO ;五、综合应用题(2题)46.使用VC+6. 0打开考生文件夹下的源程序文件3.p。其中定 义的类不完整,按要求完成下列操作,将类的定义补充完整。每卖出 一个水果,则计算水果的重量,还要计算所有卖出水果的总重量以及 总个数,同时允许退货,请按照以下的操作,把类补充完整。定义类TCFruit的私有静态数据成员float型变量AllWeight和int型 变量AHN0,请在注释1后添加适当的语句。(2)完成类TCFruit的带一个float型变量w的构造函数,并把这个w加 到AllWeight中,并且AllNo自加。请在注释2后添加适当的语句。在析构

21、函数中,在AllWeight中减去weight,然后AllNo自减,请 在注释3后添加适当的语句。完成静态成员变量的初始化为0,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其 他的程序代码。试题程序:#include(iostream. hclassTCFruit(private:floatWeight;/*1* *1* *1* *1*1* *1* 1 *1* *1* *1* *1*1* *4* *1*I,、 ,,、 * ,,、 *.I ,、 ,、 *,、 ,、 ,、 ,、staticintAHNo;public:TCFruit(floatw)/I *

22、1*1* *1* *1*f*i* *7* *T* *T* *T *j* *j* / T T*T *T *T *T *TAllWeight+=w:AllNo+ + :TCFruit/f*1* *1*f*7* 7* *4* 4* j *j *4*7* *7* *7*AllWeight-=Weight:voiddisplay(cout,SellaFruitwith,Weight,k9,endl;coutAllsellnumber: AllNoendl;coutHAllsellweight:,AllWeight,k9nendlendl; ):/ / *4*floatTCFruit: All Weigh

23、ts. 0; intmain(TCFruitFruitl(l. 2);Fruitl. display;TCFruitFruit2(2. 3);Fruit2. display;returnO: )47.使用VC+6.。打开考生文件夹下的源程序文件3. cpp。类 People包括姓名和年龄两个字段。函数fun获得年龄比较大的人的姓 名,然后输出这个姓名到屏幕。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完 整。完成类的构造函数功能,请在注释1后添加适当的语句。完成构造函数对姓名的赋值,请在注释2后添加适当的语句。定义类的友元函数fun,请在注释3后添加适当的语句。补充函数fun的年龄

24、比较功能,请在注释4后添加适当的语句。注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其 他的程序代码。试题程序:#includeclassPeople (public:/*1* *1* *1* *1*1* *1* 1 *1* *1* *1* *1*1* *4* *1*I,、 ,,、 * ,,、 *.*, I ,、 ,、 *,、 ,、 ,、 ,、(inti;for(i=0; sUserNamei!=O; i + +)m_UserNamefi=sUserNamefi;/ *1* *1* *1* *1* 1* *1* *1* *1* *1* *1* fJm_01d=n01d;)priva

25、te:charm_UserName32;intm_01d;/ *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1*J *T*T* *T*T* *7*T* *T*7* *7*;voidfun(char*s, People & personl, People & person?/ / *4* if for(inti=0; personl. m_UserNamei! =0 ; i + si=personl. m_UserNamei;si+l=0;for(inti=0; person?. m_UserNamei !=0 ; i + )sij=person2. m_Us

26、erNameiJ ;si+l=0;)voidmain(chars32;PeopleplCabc1, 20);Peoplep2(def, 30):fun(S, pl, p2);coutsendl:return;C.类Embed的成员函数Embed_Fun()中可以直接访问Contain的私有成 员xD.类Embed的成员函数Embed_Fun()中可以直接访问Contain的保护成 员Z8 .以下程序的输出结果是()。#include void main() int i,j,x=O ; fof(i=0 ;i 2;i+= x+ ; for(j=0 :j 3 ;j+= if(j%2)continue

27、 ; X+4- ; x+ ; cout x=H voidmain ()(charlineflO;cinline;coutlineendl;六、3.综合应用题(2题)48.使用VC6打开考生文件夹下的工程test7_3,此工程包含一个源程 序文件test7_3.cpp,其中含有一个类Circle的定义,但该类的定义并不 完整。请按要求完成下列操作,将类Circle的定义补充完整。为类Circle增加一个构造函数,该函数有一个参数,并在构造时将该 参数值赋给成员radius。将该函数实现为一个非内联函数,并且使用参 数列表的方式将类成员赋值。请在注释“*1*之后添加适当的语句。 (2)为类Circ

28、le增加一个成员函数print。使得可以输出有关圆的信息, 比如下列程序Circle c;c.SetRadius(5);c.Print();将输出:The circle has radius of 5!请在注释“*2* ”之后添加适当的语句。(3)完成友元函数void CompareR(Circle *cl,Circle*c2)的定义,在屏幕中 输出cl与c2比较radius大小结果,要求使用if-else结构完成。请在注 释“*3* ”之后添加适当的语句。输出结果如下;The circle has radus of 5!The circle has radius of 10!cl c2注意:

29、除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test7_3.cpp清单如下:#include class Circlepublic :Circle() : radius(5)*void SetRadius(int r) radius=r; int GetRadius() return radius; friend void CompareR(Circle *cl, Circle*C2);private :int radius;);void CompareR(Circle *cl, Circle *C2)(cout c2H GetRadius()=(c2- GetRadius

30、()cout cl=c2 GetRadiusO) GetRadius()cout ncl c2M endl;)void main()(Circle cl;cl.SetRadius(5);Cl.Print();Circle c2(10);c2.Print();CompareR(&c 1, &c2);49.使用VC6打开考生文件夹下的工程MyProjl0o此工程包含一个源程 序文件MyMainlO.cpp。程序中定义了两个类Base和Derived,但类的 定义并不完整。请按要求完成下列操作,将类的定义补充完成:类Derived是基类Base公有派生来的。请在注释“* *1* *之后添加 适当的语

31、句。完成构造函数Derived(inti)定义,采用初始化列表的方式使基类Base 私有成员a初始化为i+1,类Derived的私有成员b初始化为i。请在注 释,* *2* *”之后添加适当的语句。完成类Derived的成员函数show。的类体外的定义函数show。中要 显式调用基类的show。函数,然后要输出私有成员b的值。请在注释“/* *3* 之后添加适当的语句。注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件MyMainlO.cpp清单如下: /MyMainlO.cpp#include using namespace std ;class Base (public

32、 :Base(int x) ( a=x void show()cout show();return 0 ;参考答案LC解析:只有常成员函数才可以操作常对象,常对象不可更新。2CC .【解析】在数据字典编制过程中,常使用定义方式描述数据结构。3 .A4 .C解析:本题考查了函数的一些概念。内联函数是在一般函数定义之前 加上关键字u3000inline声明的函数,其作用类似于预处理宏函数,而 不是定义在另一个函数体内部的函数,所以选项A不正确。在无返回 值函数中,执行完最后一条语句后将自动返回,而不必加入return语 句,所以选项B也是错误的。如果函数只是返回值类型不同,而其他 完全相同(参数个

33、数及类型),则不能作为重载函数宋使用,所以选项D 不正确。故应该选择C。5 .C解析:在主函数中定义了两个TestClass类型的变量a,d,因此执行 两次构造函数TestClass。接下来执行d=userCode(a);在执行该函数时, 由于userCode采用了传值方式来传递参数,所以要调用一次 TestClass(const TestClass &x)o在函数 userCode 内部 TestClass c(b);语句 又调用了一次拷贝构造函数,由于函数userCode返回的不是引用,而是 一个TestClass变量,所以还需要执行一次拷贝构造函数,所以一共要执 行两次普通构造函数(非拷

34、贝构造函数)与三次拷贝构造函数。6 .D解析:本题考核虚基类以及构造函数。使用虚基类解决二义性问题 的关键是在派生类中只产生一个虚基类对象。虚基类子对象由最派生类 的构造函数通过调用虚基类的构造函数进行初始化(最派生类的构造函 数的成员初始化列表中必须列出对虚基类构造函数的调用,否则,表示 使用该虚基类的缺省构造函数)。由于最派生类总是相对,因此,从虚基 类直接或间接派生的派生类中的构造函数的成员初始化列表中都要列 出对虚基类构造函数的调用。但只有用于建立对象的最派生类的构造函 数才调用虚基类的构造函数,此时最派生类的所有基类中列出的对虚基 类的构造函数的调用在执行过程中都被忽略,从而保证对虚

35、基类子对象 只初始化一次。7 .A8 .B9 .A解析:本题很筒单,不过考生要注意引用是C+的新特性。只有结 构是C语言也有的特征。10 .C解析:此题考查的是继承与派生的概念。用来派生新类的类称为基 类,而派生出来的新类称为它的子类或派生类。11 .AAo【解析】本题考查C+ +中cin输入流对象的使用规则,其特点是 以空格、回车和tab为分隔符。因此this和is之间的空格告诉cin对象 停止接收后面的数据。故正确答案为A。12 .C13 .C解析:继承方式有公有继承、私有继承和保护继承3种,缺省的继 承方式是私有继承。派生类从基类继承所有的成员,但是对于基类的私 有成员派生类是不可直接访

36、问的。14 .D根据二叉树的基本性质3 :在任意一棵二叉树中,度为0的叶子结点总 比度为2的结点多一个,因此本题中度为2的结点为11=0个,据此 可以知道本题目中的二叉树的每一个结点都有一个分支,所以共7个结 点共7层,即深度为7,选择D)。15 .CC。【解析】以概念模式为框深所组成的数据称为概念数据库;以外 模式为框架所组成的数据库称为用户数据库;以内模式为框架所组成的 数据库称为物理数据库。这三种数据库只有物理数据库是真实存在于计 算机外存中。16 . AAo【解析】*a口表示一个字符串数组,for循环的作用是输出字符串数 组中每一次字符串的第一个字符。所以正确答案为选项A。17 .A解

37、析:本题考查的知识点是:类的定义。类中缺省的访问权限是私有 的(private),所以选项B)不正确:类的数据成员和函数成员的访问控 制权限均可被声明为公有(public)私有(priate)和保护(protected)中的 任意一种,所以选项。不正确;成员函数的实现即可以在类体内定 义,也可以在类体外定义,所以选项D)不正确。故本题应该选择 Ao18.B数据库有三层模式结构,逻辑模式是数据的全局逻辑结构的描述, 外模式也称为子模式,是局部数据的逻辑结构描述,而内模式也称为存 储模式,是数据库物理存储结构和存取方法的描述。19.C解析:本题考核函数的调用方法。当函数的参数是引用类型时,参数不能

38、为常量、表达式和变量地址,只能是变量本身。20.C考点:本题主要考查知识点为引用作为函数参数透析:执行 max(a,b)+后,函数返回变量b后加1,即b=l 1 .因为函数参数采用的 引用方式,使用改变的是实参变量b的值。2I.D【解析】算法的空间复杂度是指执行这个算法所需要的内存空间。 一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据 所占的存储空间以及算法执行中所需要的额外空间。其中额外空间包括 算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储 空间。如果额外空间量相对于问题规模来说是常数,则称该算法是原地 工作的。在许多实际问题中,为了减少算法所占的存储空间,通

39、常采用 压缩存储技术,以便尽量减少不必要的额外空间。22.C23.AAo【解析】本题考查虚基类的应用。虽然Derivedl和Derived2都是 由共同的基类x派生而来的,但由于引入了虚基类,使得它们分别对 应基类的不同副本。这时数据成员x只存在一份副本,不论在类 Derivedl中修改,还是在Derived2中修改,都是直接对这唯一副本进 行操作。本题程序执行语句“Derivedobj;”时.就会先调虚基类Base 的构造函数,使得X=0,然后执行类Derivedl的构造函数使得x=10, 再执行类Derived2的构造函数,使得x=20。最后输出x的值为20。24.int Point:co

40、untP=0 ;int Point:countP=0 ;解析:本题考核静态数据成 员的定义与使用方式。空格处填入的是静态数据成员的初始化。程序的 结果输出中Object id=(T表示静态数据成员countP的初始值是0。25.加工加工解析:SD方法实际上是面向数据流图的,即它的工作对象 实际上是在SA方法中形成的数据流图。因此,可以由数据流图采导出 结构图。另外,由数据流图导出结构图的关键是找出中心加工,而每个 加工则对应一个处理模块。26.stacktop或 stacktop-=l或 stacktop=top-1 stack-top或 stacktop-=l J 或 stacktop=top-l J27.不能是表达式不能是表达式解析:引用是变量的别名,其实质是变 量的地址。return在返回值时,如果其后为表达式,则系统为该表达式 生成一个临时变量用于存放该表达式的结果,函数执行完毕之后该变量 被系统回收,因此,返回的该变量的地址对调用函数来说已经没有意义 To28.3232解析:二叉树第n层的结点数为2的n-1次方。29.Base : 970Base : 970解析:本题主要考查两个知识点,一是基类 指针可以指向派生类对象,并可以访问派生类的所有成员。二是在函数 重载中进

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁