欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    操作符与表达式.ppt

    • 资源ID:91840899       资源大小:282.50KB        全文页数:47页
    • 资源格式: PPT        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作符与表达式.ppt

    第三章第三章 操作符和表达式操作符和表达式oC+操作符操作符oC+表达式表达式3.1 操作符和表达式操作符和表达式o在在C+中对常量或变量进行运算或处理的符号称为中对常量或变量进行运算或处理的符号称为运算符运算符,即,即操作符操作符操作符操作符,参与运算的对象称为,参与运算的对象称为操作数操作数操作数操作数。o由操作符、操作数及标点符号组成的,能取得一个由操作符、操作数及标点符号组成的,能取得一个值的式子称为值的式子称为表达式表达式表达式表达式。o根据操作数的多少,可将根据操作数的多少,可将操作符操作符分为分为单目单目、双目双目及及三目三目操作符。操作符。n单目操作符单目操作符只对一个操作数运算,如负号操作符只对一个操作数运算,如负号操作符“”等;等;n双目操作符双目操作符要求有两个操作数,如乘号操作符要求有两个操作数,如乘号操作符“*”等;等;n三目操作符三目操作符要求有三个操作数,三目操作符只有一个,即要求有三个操作数,三目操作符只有一个,即条件操作符条件操作符“?:”。操作符和表达式操作符和表达式a*x操作符:操作符:*操作数:操作数:a、x表达式:表达式:a*xy=t操作符:操作符:=操作数:操作数:y、t表达式:表达式:y=ty=a*x操作符的优先级操作符的优先级优先级和结合性决定了运算中的优先关系优先级和结合性决定了运算中的优先关系优先级:优先级:指不同运算符在运算中的优先关系,指不同运算符在运算中的优先关系,优先级越高,越先计算。优先级越高,越先计算。例如:例如:算术操作符算术操作符的优先级高于的优先级高于关系操作符关系操作符、逻逻辑操作符辑操作符的优先级;的优先级;算术操作符中,算术操作符中,乘号乘号(*)和除号和除号(/)的优先的优先级高于级高于加号加号()和减号和减号()的优先级。的优先级。操作符的结合性操作符的结合性结合性:结合性:决定优先级相等的运算符组合在一决定优先级相等的运算符组合在一起时的运算次序起时的运算次序 如如+、-的结合性是从左到右(左结合),的结合性是从左到右(左结合),则则a+b+c-d的运算次序为:的运算次序为:(a+b)+c)-d /先算先算a+b,再加,再加c,最后减,最后减d 又如前又如前+和单目负和单目负-的结合性是从右到左的结合性是从右到左(右结合),则(右结合),则-+a的运算次序为:的运算次序为:-(+a)/先做先做+a,再取相反数(加负号),再取相反数(加负号)3.2 优先级和结合性优先级和结合性操作符按功能分类:操作符按功能分类:o算术操作符和算术表达式算术操作符和算术表达式o赋值操作符和赋值表达式赋值操作符和赋值表达式o自增、自减操作符自增、自减操作符o逻辑操作符和逻辑表达式逻辑操作符和逻辑表达式o位运算与位操作符位运算与位操作符o逗号操作符和逗号表达式逗号操作符和逗号表达式osizeof()操作符操作符o关系操作符关系操作符o条件操作符条件操作符o其它操作符其它操作符一、算术操作符一、算术操作符优先级优先级操作符操作符名名称称高高+正,单目正,单目-负,单目负,单目*乘,双目乘,双目/除,双目除,双目%求余,双目求余,双目+加,双目加,双目低低-减,双目减,双目当两个操作数均为整数时,当两个操作数均为整数时,*和和/重载为重载为整乘整乘和和整整除除,结果为整数,除法运算后舍去小数取整。如:,结果为整数,除法运算后舍去小数取整。如:5/45/4/结果为结果为1 1,整数,整数当两个操作数均为整数时,当两个操作数均为整数时,%定义为定义为求余求余运算,运算,也称求模运算,结果为两个整数相除后的余数。也称求模运算,结果为两个整数相除后的余数。如果两个整数中有负数,则先用两数绝对值求如果两个整数中有负数,则先用两数绝对值求余,最后结果的余,最后结果的符号与被除数相同符号与被除数相同。整数的算术运算整数的算术运算举例举例:o6%3/结果为结果为0o6%7/结果为结果为6o7%6/结果为结果为1o-7%6/结果为结果为-1o7%-6/结果为结果为1o-7%-6/结果为结果为-1只要有一个操作数是实数,两个操作数均只要有一个操作数是实数,两个操作数均转换为转换为doubledouble型,型,*和和/重载为普通的重载为普通的乘乘和和除除,结,结果果是实数是实数。实数的算术运算实数的算术运算5.0/4/结果为结果为1.25,实数,实数5/4.0/结果为结果为1.25,实数,实数5/4/整除,结果为整除,结果为1二、自增、自减操作符二、自增、自减操作符使变量当前值加使变量当前值加1 1或减或减1 1,再赋给该变量自己再赋给该变量自己:i+或或+i/相当于相当于i=i+1j-或或-j/相当于相当于j=j1inti=5,j=5,m,n;m=i+;/后置;相当于后置;相当于m=i;i=i+1;/结果:结果:i的值为的值为6,m的值为的值为5;n=+j;/前置;相当于前置;相当于j=j+1;n=j;/结果:结果:j的值为的值为6,n的值为的值为6;例题例题3-1#include using namespace std;int main()int a,b,m=3,n=4;a=7*2+-3%5-4/3;b=m+-n;coutatbt mtnendl;return 0;三、条件操作符三、条件操作符 o条件操作符是条件操作符是C+中唯一的三目操中唯一的三目操作符,它的形式如下:作符,它的形式如下:操作数操作数1?操作数操作数2:操作数操作数3if(操作数操作数1)操作数操作数2;else操作数操作数3;例题例题3-4#include using namespace std;int main()int a=3,b=4,c;c=ab?+a:+b;couta,b,cendl;c=a-b?a-3?b:b-a:a;couta,b,cendl;return 0;四、逻辑操作符四、逻辑操作符逻辑运算:逻辑运算:用于判断分析。用于判断分析。在在C+中,两个逻辑值中,两个逻辑值true和和false与整数与整数之间有一个对应关系,真对应之间有一个对应关系,真对应1,假对应,假对应0;反过来,;反过来,0对应假,非对应假,非0整数对应真。整数对应真。所所以逻辑运算结果可以作为整数参与算术运以逻辑运算结果可以作为整数参与算术运算、关系运算、逻辑运算及其他运算。算、关系运算、逻辑运算及其他运算。逻逻辑辑运运算算规规则则操作符操作符第一个操作数第一个操作数第二个操作数第二个操作数运算运算结果果逻辑与逻辑与(&)truetruetruefalsetruefalsetruefalsefalsefalsefalsefalse逻辑或逻辑或(|)truetruetruefalsetruetruetruefalsetruefalsefalsefalse逻辑非(!)逻辑非(!)truefalsefalsetrue五、关系操作符五、关系操作符关系操作符完成两个操作数大小的比较,结关系操作符完成两个操作数大小的比较,结果为逻辑值果为逻辑值true(true(真真)或或falsefalse(假)(假)。每种。每种可比较大小可比较大小的数据类型,都的数据类型,都重载重载了关系操作了关系操作符。不同类型的数据将自动转换为同一类型符。不同类型的数据将自动转换为同一类型后进行比较。后进行比较。操作符操作符 名字名字实例实例说明说明=等于等于5=5;结果为结果为1!=不等于不等于5!=5;结果为结果为0小于小于5 5.5;结果为结果为1=小于或等于小于或等于5 大于大于5 5.5;结果为结果为0=大于或等于大于或等于6.3=5;结果为结果为1操作符操作符 名字名字实例实例说明说明!逻辑非逻辑非!(5=5);结果为结果为0&逻辑与逻辑与5 6&6 6;结果为结果为0|逻辑或逻辑或5 6|6 1&n1&n8&n14&n8&n14&n18)y%4=0&y%100!=0|y%400=0y%4=0&y%100!=0|y%400=0 由于由于逻辑值逻辑值和和整数整数之间的之间的对应关系,对应关系,也允也允许许整型整型和和字符型字符型操作数进行操作数进行逻辑运算逻辑运算:21&021&0/逻辑与,逻辑与,2121与与0 0,结果为假:,结果为假:0 021|021|0/逻辑或,逻辑或,2121或或0 0,结果为真:,结果为真:1 1!21!21/逻辑非,逻辑非,2121的非,结果为假:的非,结果为假:0 0运算结果同样可以作为一个运算结果同样可以作为一个整数整数参与其他运算。参与其他运算。逻辑表达式计算时,逻辑表达式计算时,逻辑非逻辑非优先级最高,优先级最高,关关系运算系运算其次,其次,逻辑与逻辑与和和逻辑或逻辑或最低。最低。已已 知知:int a=10,b=20,c=30;float x=1.8,y=2.4;按按优先级优先级与与结合性结合性,其,其求值顺序求值顺序等同于:等同于:(ay)|(a(b-(!c)t1=1t2=0t4=0-&t3=0t5=bt6=1|得整个表达式的值为:得整个表达式的值为:1ay|ab-!c在求逻辑表达式值的过程中,一旦表达式的在求逻辑表达式值的过程中,一旦表达式的值能够确定,就不再逐步进行以后的运算。值能够确定,就不再逐步进行以后的运算。称为称为“求值优化求值优化”。已知已知:inta=10,b=20,c=30;求:求:ab|c+/结果以及结果以及a,b,c的的值值t1=1整个表达式的值为整个表达式的值为 1 1可见可见:表达式表达式 c+c+已不需要计算已不需要计算所以所以:c不变仍为不变仍为30六、位操作符六、位操作符(1)按位取反操作符)按位取反操作符“”(2)左移操作符)左移操作符“”(4)按位与操作符)按位与操作符“&”(5)按位或操作符)按位或操作符“|”(6)按位异或操作符)按位异或操作符“”c+c+语言提供了位运算,它对操作数的各个位进行操作。语言提供了位运算,它对操作数的各个位进行操作。(1 1)按位取反操作符)按位取反操作符“”“”将操作数的每个二进制位取反,即将操作数的每个二进制位取反,即1 1变为变为0 0,0 0变为变为1 1。例如,整数例如,整数a a的值为的值为1001101110011011,则,则aa的值为的值为0110010001100100。(2 2)左移运算符)左移运算符“”“”运算一般格式为:运算一般格式为:ana”“”与左移运算符类同,将左操作数向右移动右操作数指定与左移运算符类同,将左操作数向右移动右操作数指定的二进制位数,忽略移位后的小数部分,并在高位补的二进制位数,忽略移位后的小数部分,并在高位补0 0。一个整数右移一个整数右移n n位相当于位相当于除以除以2 2的的n n次方,但比除法快。次方,但比除法快。在在VC+6.0VC+6.0中有符号数右移时高位补符号位,严格对应除中有符号数右移时高位补符号位,严格对应除法:法:-323 /-32右移右移3位,由位,由11100000B得得11111100B,即,即-4将两个操作数的对应位逐一进行按位逻辑与运将两个操作数的对应位逐一进行按位逻辑与运算。运算规则为:对应位均为算。运算规则为:对应位均为1 1时,该位运算时,该位运算结果为结果为1 1;否则为;否则为0 0。例如:。例如:a 01001101a 01001101b 00001111b 00001111a&b 00001101a&b 00001101该运算可用来将整数的某些位置该运算可用来将整数的某些位置0 0,而保留所,而保留所需要的位,上例保留了低四位。需要的位,上例保留了低四位。(4)按位与运算符)按位与运算符“&”将两个操作数的对应位逐一进行按位逻辑或运将两个操作数的对应位逐一进行按位逻辑或运算。运算规则为:只要有一个数对应位为算。运算规则为:只要有一个数对应位为1 1,该位运算结果即为该位运算结果即为1 1;两个数对应位均为;两个数对应位均为0 0,该,该位结果为位结果为0 0。例如:。例如:a 01001101a 01001101b 00001111b 00001111a|b 01001111a|b 01001111该运算符可用来将整数的某些位置该运算符可用来将整数的某些位置1 1。上例高。上例高四位不变,低四位全四位不变,低四位全1 1。(5)按位或运算符)按位或运算符“|”将两个操作数的对应位逐一进行按位异或运将两个操作数的对应位逐一进行按位异或运算。运算规则为:当对应位的值不同时,该算。运算规则为:当对应位的值不同时,该位运算结果为位运算结果为1 1,否则为,否则为0 0。例如:。例如:a 01001101a 01001101b 00001111b 00001111a b 01000010a b 01000010该运算符可用来将一个整数的某些位取反,该运算符可用来将一个整数的某些位取反,或将整型变量的值置或将整型变量的值置0 0(将整型变量与自身按(将整型变量与自身按位异或)。上例低四位取反,高四位不变。位异或)。上例低四位取反,高四位不变。(6)按位异或运算符)按位异或运算符“”位运算示例:位运算示例:oo某设备的状态控制字为某设备的状态控制字为2 2个字节,个字节,d12d11d12d11位位代表设备运行模式,有代表设备运行模式,有0101和和1010两种模式。若两种模式。若已获得该设备目前的状态字为已获得该设备目前的状态字为stactrlstactrl,则,则如何切换该设备的运行模式?如何切换该设备的运行模式?oo假设有无符号整数假设有无符号整数x x和和y y,求,求z z,z z由由x x的高的高1616位与位与y y的低的低1616位组合而成?位组合而成?stactrl=stactrl0 x1800;stactrl=stactrl0 x1800;z=x&0 xffff0000+y&0 x0000ffff;z=x&0 xffff0000+y&0 x0000ffff;七、赋值操作符赋值操作符“=”赋值与引用:赋值与引用:将数据存放到相应存储单元中称为将数据存放到相应存储单元中称为赋值赋值,如果,如果该单元中已有值,赋值操作以新值取代旧值;从该单元中已有值,赋值操作以新值取代旧值;从某个存储单元中取出数据使用,称为某个存储单元中取出数据使用,称为引用引用,引用,引用不影响单元中的值,即一个量可以多次引用。不影响单元中的值,即一个量可以多次引用。常常量量只能引用,不能赋值。只能引用,不能赋值。赋值通过赋值运算符赋值通过赋值运算符“=”来完成,其意义是将来完成,其意义是将赋值号右边的值送到左边变量所对应的单元中。赋值号右边的值送到左边变量所对应的单元中。赋值号不是等号,它具有方向性赋值号不是等号,它具有方向性。复合赋值运算符:复合赋值运算符:操作符操作符实例实例等价于等价于=n=25+=n+=25n=n+25-=n-=25n=n-25*=n*=25n=n*25/=n/=25n=n/25%=n%=25n=n%25&=n&=0 xF2F2n=n&0 xF2F2|=n|=0 xF2F2n=n|0 xF2F2=n=0 xF2F2 n=n 0 xF2F2=n=4n=n =n=4n=n 4八、逗号操作符八、逗号操作符nC+的逗号操作符是双目操作符,它使用两个操的逗号操作符是双目操作符,它使用两个操作数,表达式的值是右操作数。作数,表达式的值是右操作数。n逗号操作符可以将多个表达式组合成一个表达式,逗号操作符可以将多个表达式组合成一个表达式,即即逗号表达式逗号表达式。其一般形式为:。其一般形式为:表达式表达式1,表达式,表达式2,表达式,表达式nn逗号表达式中的每一个表达式都会被运算,整个逗号表达式中的每一个表达式都会被运算,整个逗号表达式的值为最后一个子表达式的值。逗号表达式的值为最后一个子表达式的值。na=(x=3,x+=6,5+6);/a=11 x=9例题例题3-3#include using namespace std;int main()int a,b,c;a=1,b=2,c=a+b+3;couta,b,cendl;c=(a+,a+=b,a-b);couta,b,cendl;return 0;九、求字节数操作符:九、求字节数操作符:sizeof o可求得在特定机器上某数据类型或变量所占可求得在特定机器上某数据类型或变量所占用的存储空间的大小,单位为字节。用的存储空间的大小,单位为字节。n1=sizeof(double)n2=sizeof(x)n3=sizeof(100u)例例3-2:#include using namespace std;int main()cout char size=sizeof(char)bytesn;cout int size=sizeof(int)bytesn;cout double size=sizeof(double)bytesn;cout 3.14 size=sizeof(3.14)bytesn;cout 2005L size=sizeof(2005L)bytesn;cout HELLO size=sizeof(HELLO)(CWnd*wnd)-FormHandle结构或类中的域变量结构或类中的域变量.(CWnd wnd).FromHandle数组下标操作符数组下标操作符 nYearsMonthsDays1012366内存分配操作符内存分配操作符newnew CWnd内存释放操作符内存释放操作符deletedelete(CWnd*wnd)3.2 表达式表达式 n算术表达式。例如,算术表达式。例如,a+5.2/3.0-9%5n关系表达式。例如,关系表达式。例如,m=xn逻辑表达式。例如,!逻辑表达式。例如,!a&8|7n条件表达式。例如,条件表达式。例如,a4?+a:-an赋值表达式。例如,赋值表达式。例如,a=7n逗号表达式。例如,逗号表达式。例如,a+5,a=7,a+=4一、表达式的定义和种类一、表达式的定义和种类二、表达式的值和类型二、表达式的值和类型 n任何表达式经过计算都应得到一个确定的值和类型。任何表达式经过计算都应得到一个确定的值和类型。在计算一个表达式的值时,应注意下述两点:在计算一个表达式的值时,应注意下述两点:n第一,确定运算符的功能。第一,确定运算符的功能。o在在C+中,有些运算符相同但功能不同,因此要中,有些运算符相同但功能不同,因此要先确定其功能。例如运算符:先确定其功能。例如运算符:*,&,-。它们有。它们有时是单目运算符,有时是双目运算符,在计算前时是单目运算符,有时是双目运算符,在计算前要分清楚。要分清楚。n第二,确定计算顺序。第二,确定计算顺序。o一个表达式的计算顺序是由运算符的优先级和结一个表达式的计算顺序是由运算符的优先级和结合性来决定的。优先级高的先做,优先级低的后合性来决定的。优先级高的先做,优先级低的后做。在优先级相同的情况下,由结合性决定。多做。在优先级相同的情况下,由结合性决定。多数情况下,由左至右。少数情况下,由右至左。数情况下,由左至右。少数情况下,由右至左。例题例题3-5#include using namespace std;int main()char x=m,y=n;int n;n=xy;cout nendl;n=x=y-1;coutnendl;n=(y!=Y)+(53)+(y-x=1);cout nendl;三、类型转换三、类型转换o强制类型转换:强制类型转换:将表达式强制转换为将表达式强制转换为指定的数据类型,但表达式的值及其指定的数据类型,但表达式的值及其类型不变。类型不变。o格式:格式:(类型名)(表达式)(类型名)(表达式)(type)表达式表达式/C格式格式type(表达式表达式)/C+格式格式强制类型转换示例强制类型转换示例n(int)(x+y)/将将x+y的结果转换成整型数的结果转换成整型数n(long)3.14/3.14转换成长整型数转换成长整型数3Lndouble(5%3)/将将5%3的结果转换成双精度数的结果转换成双精度数2.0 o说明:说明:(1)强制类型转换不改变表达式本身的值)强制类型转换不改变表达式本身的值类型,而是产生一个临时变量,用来暂存类型,而是产生一个临时变量,用来暂存转换后的值,该临时变量引用后即自动释转换后的值,该临时变量引用后即自动释放。如上例,执行强制类型转换后变量放。如上例,执行强制类型转换后变量a和和b的值及类型都不变,而是各自产生一的值及类型都不变,而是各自产生一个临时变量,用这两个临时变量的值进行个临时变量,用这两个临时变量的值进行运算。运算。(2)强制类型转换符优先级较高,只对紧)强制类型转换符优先级较高,只对紧随其后的表达式起作用,而对其他部分不随其后的表达式起作用,而对其他部分不起作用。如表达式起作用。如表达式(float)a/b的含义是先的含义是先将变量将变量a强制转换为浮点数,然后与整数强制转换为浮点数,然后与整数b运算。运算。char ch1,ch2,ch3;char ch1,ch2,ch3;cout“coutch2;cinch2;ch1=ch2-1,ch3=ch2+1;ch1=ch2-1,ch3=ch2+1;coutch1“,”ch2“,”ch3endlcoutch1“,”ch2“,”ch3endl;coutint(ch1)“,”int(ch2)“,”coutint(ch1)“,”int(ch2)“,”int(ch3)endl;int(ch3)endl;例:输出用户指定字符的前驱字符和后继例:输出用户指定字符的前驱字符和后继字符及其字符及其ASCII码值。码值。自动类型转换自动类型转换(1 1)字符字符可以作为可以作为整数整数参与数值运算,参与数值运算,整数值整数值为其为其ASCIIASCII码码。(2 2)操作数为字符或短整型时,系统自动变换)操作数为字符或短整型时,系统自动变换成成整型整型。(3 3)操作数为实型时,系统自动变换成)操作数为实型时,系统自动变换成双精度双精度型型。(4 4)其余情况,当两操作数类型不同时,将精)其余情况,当两操作数类型不同时,将精度低(或表示范围小)的操作数的数据类型变度低(或表示范围小)的操作数的数据类型变换到与另一操作数类型相同再进行运算换到与另一操作数类型相同再进行运算 自动类型转换的规则自动类型转换的规则例例:假设有如下变量定义假设有如下变量定义char c1,c2;int i1,i2;float x1,x2;o将将c1转换成整型,完成转换成整型,完成c1*i1,结果为整型,表,结果为整型,表示为示为t1;o将将c1和和x1均转换成双精度型,完成均转换成双精度型,完成c1*x1,结果,结果为双精度型,表示为为双精度型,表示为t2;o将将c1和和c2均转换成整型,完成均转换成整型,完成c1*c2,结果为整,结果为整型,表示为型,表示为t3;o然后然后t1转换成双精度型,完成转换成双精度型,完成t1+t2,结果为双,结果为双精度型,表示为精度型,表示为t4;o将将t3转换成双精度型,完成转换成双精度型,完成t4+t3,结果为双精,结果为双精度型,最后转为单精度型赋给度型,最后转为单精度型赋给x2。则表达式则表达式x2=c1*i1+c1*x1+c1*c2x2=c1*i1+c1*x1+c1*c2的求值过程为:的求值过程为:

    注意事项

    本文(操作符与表达式.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开