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

    《C语言程序设计》教案(清华谭浩强)(75页).doc

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

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

    《C语言程序设计》教案(清华谭浩强)(75页).doc

    -C语言程序设计教案(清华谭浩强)-第 74 页第一章语言及程序设计概述本章要求: 了解C语言的特点、C语言与其它高级语言相比有什么异同; 了解C程序在PC机上的建立、编译和运行过程; 了解C语言程序设计思想的基本篇;重点:C语言的主要特点; C语言在PC机上的运行过程及上机操作过程; 常用算法的应用难点:无一、C语言概述 C语言是目前国际上在各种计算机运行较为广泛流行的一种高级语言。 主要表现为: C语言:适合于作为系统描述语言可用来写系统软件。 具有高级语言的特点,又有低级语言(汇编语言)的特点。 C语言:是AT&T贝尔实验室的Dennis Ritchie在1972年发明的。 C语言:是在B语言的基础上发展起来的。(ALGOL 60) C语言:最早开始是用于UNIX操作系统。(C语言和UNIX是相辅相成的) DBASE 、Microsoft Exel 、 Microsoft Word、PC-DOS等,则是用C语言加上若干汇编子程序编写的。 1983年:制定的新标准,称为(美国国家标准化协会)ANSI C 1987年:Turbo C1.0 (Borland) 1988(图形和文本窗口) 1989年:Turbo C2.0 (DOS操作系统、查错、Tiny模式生成com文件) 1991年:Turbo C+(3.0) 支持 说明:Turbo C语言可以在程序的任何地方嵌入汇编代码,提高速度,可以直接使用存储器和寄存器。二C语言的特点 1语言简洁、紧凑、使用方便、灵活 C语言:共有32个关键字,9种控制语句; 程序书写自由,主要用小写字母表示; 2运算符丰富 C语言的运算符包含的范围很广泛,共有34种运算符; 即:把括号、赋值、强制类型转换都作为运算符处理 3有丰富的数据类型 整型、实型、字符型、数据类型、指针类型、结构体类型、共用体(联合)类型等。实现复杂的数据结构(链表、树、栈、图)的运算。 4具有结构化的功能,用函数作为程序模块,实现程序的模块化 5语法限制不太严格,程序设计自由度大。(放宽了语法检查) 例:1)对数组下标越界不作检查,由程序编写者自己保证程序的正确; 2)整型数据、字符型数据、逻辑型数据可以通用。 6能直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。 7生成目标代码质量高,程序执行效率高。 8用C语言编写的程序,移植性较好。 说明: C语言比其它高级语言难掌握,对编程人员要求较高 程序员使用C语言编写程序会感到限制少、灵活性大,功能强,可以编写出任何类型的程序。三C程序的构成例: main( ) /*主函数*/ int a,b,sum; /*定义变量*/ a=123;b=456; sum=a+b; printf(“sum is %dn”,sum); /*输出变量*/说明: 1)程序一般用小写字母书写; 2)每个程序必须要有一个main ( ) (只能一个),称主函数; 注:C程序是由函数构成的,函数是C程序的基本单位。 函数:系统提供的库函数;用户设计的函数。 3)程序体必须在 之间; 4)每个语句的结尾,必须要有“;”作为终止符。 5)用/*. */ 作注释四、C程序的上机过程1演示 书:P5 程序2上机步骤 书:P7 注:C语言是一种编译语言,编译语言的特点:连接编译目标程序 *.OBJ执行程序 *.EXE源程序 *.C C编译程序 Link程序 3DOS下C语言的运行 目前DOS下运行C语言软件为:Turbo C 2.0 (1) Turbo C 2.0 的特点: 是一个把 编辑 编译 连接 运行 等全部操作集中在一个界面上。 (2) Turbo C 2.0的操作及运行 书:P8五、算法的概念 1算法的概念 书:P13 算法:程序的操作步骤。 程序中的数据 在程序设计中: 操作步骤 有: 程序 = 数据结构 + 算法 沃思 Nikiklaus Wirth 程序=算法+数据结构+程序设计方法+语言工具和环境 2 计算机算法分为两大类: 数值运算算法非数值运算算法 (1)数值运算算法:求数值解;通过运算得出一个具体值,如求方程的根等 注:数值运算一般有现成的模型,算法较成熟。 (2)非数值运算算法:用于事务管理,如图书检索、人事管理等。 3、常用简单算法 (1)累乘 即:1×2×3×4×5×100 1×2 S(结果) S×3 S(结果) S×4 S(结果) S×100 S(结果) (2)累加 即:1+2+3+4+5+100 1+2 S(结果) S+3 S(结果) S+4 S(结果) S+100 S(结果) (3)找最大值 5,2,4,12,9 5 max (max 放最大值,后面的数都和它比较) 2 > max 不成立 4 > max 不成立 12 > max 成立:12 max 9 > max 不成立注:该算法可扩展为在一批数据中,找某一个数 (4)其它算法 P15 例 2.2 例 2.3 例 2.4 例 2.5 课余自学(必须) 4、算法的表示 常用的有:自然语言传统流程图结构化流程图伪代码PAD图(1)传统流程图 起止框 输入输出框 判断框 处理框 流程线 连接点表示方法:P19 例注:传统流程图对流程线的使用没有严格限制,难以实现结构化程序设计为了限制流程线的滥用,提出三种基本结构: 顺序结构 选择结构 循环结构 顺序结构 选择结构 f t . f 语句 表达式 表达式 t 语句 语 句 语 句1 语 句2 循环结构 表达式 语 句 语 句 表达式 a) “当型”结构 b) “直到型”结构(2)N-S流程图 特点:去掉了带箭头的流程线,全部算法写在一个矩形框内。 称N-S结构化流程图 P A 成立 不成立 当P1成立 A B A B A 直到P1成立 顺序结构 选择结构 循环结构作业:上机:熟悉Turbo C 2.0的操作及运行第三章 数据类型、运算符与表达式本章要求: 本章是C语言的基本概念开篇,所介绍的概念是学习C语言的基础; 要求熟练掌握数据类型、运算符与表达式。重点:C语言数据类型定义的方法和分类。 C语言运算符、表达式的使用以及它们的主要特点。难点:自增、自减运算符、赋值运算符、逗号运算符及它们的混合使用一数据类型概念:算法处理的对象是数据,而数据是以某种特定的形式出现。在C语言中,数据有:常量、变量;一般它们都有一定的数据类型。 (C语言的数据结构是以数据类型形式出现的)1数据类型分类: 整型 int 基本类型 字符型 单精度型 float 实型(浮点型) 枚举类型 双精度型 double 数据类型 数组类型 构造类型 结构体类型 struct 共用体(联合)类型 union 指针类型 * 空类型 void 说明:在程序中对用到的所有数据都必须指定其数据类型。 2C语言中的常量和变量常量:在程序运行过程中,其值不能被改变的量。变量:在程序运行过程中,其值可以改变的量。 说明:1)常量和变量,都要有一个名字表示它; 习惯上,符号常量(别名)名用大写,变量用小写。 符号常量的定义为: #define P 30 其它常量:直接用数据表示 例: 23 45.5 e 3e+2 2)在C语言中,对变量要先定义,后使用。 3)如果一个变量被指定为一确定类型后,在C语言编译时,就能为其分配相应的存储单元。 a 变量名 存储地址)2000 3 变量值 存储单元 地址的概念 3常用的基本数据类型(1)整型 1)整型常量:十进制整数 123,-11,0 非0开头 八进制整型 0123,-011 0开头 十六进制整型 0x11 0x20 0x0D 0XFF 0x4e 0x/0X开头 说明:在一个整常量后面加一个字母:l或L,是长整型常量。22L 0733L 0xae4l 2)整型变量: 定义 存储字节 数的范围 基本型 int x (2字节) -3276832767 短整型 short int x (2字节) -3276832767 长整型 long int x (4字节) -2,147,483,6482,147,483,647 无符号型 unsigned int x (2字节) 065535 unsigned short x(2字节) 065535 unsigned long x (4字节) 04,294,967,295 注: 数据在内存中是以:二进制形式存放 如:9 为 00001001 例: x=13; x=015 ; x=0xD 存储结构 见P44 图3.5 (2)实型(浮点数) 1)实型常量: 十进制整数 1.23 .0123 指数形式 1.23e3,1.00e-3 2)实型变量: 数的表示范围P46表3.2 单精度 float x (4字节)-381038 TC默认 双精度 double x (8字节)1.7x10-30810308 说明:实型常量 不分float和double,只有十进制表达方式 有的C编译系统64位存储方式,如尾加f或F可表示32位: 例:x=1.23; x=123e3 P47例3.4(存储精度) (3)字符型 1)字符常量: a) 用单引号括起来的一个字符 aA b) 转义字符(由“专用字母” ) 书P48表3 0字符串结束符 n换行 t水平制表 ddd八进制数 xdd十六进制数 2)字符变量: char c (1字节)说明:一个字符变量,只能放一个字符常量。实际是把该常量的ASCII值,送入字符变量中。即:B(66) c (字符变量) 书P374ASCII表 p50例3.6-7 c=B c的内容为66 故:字符数据可以进行算术运算;即:c=B+2 为68 字符数据在内存中的存储方式 书P50 unsigned char 0-255 char -128-127 有符号数在TC中是用补码表示的 127(0x7f) 0111 1111 128(0x80) 1000 0000 复习:补码的规定: 正数:其原码、反码、补码相同 负数:最高位为1,其余各位为原码的反码(原码的相应位取反),然后对整个数加1。 140(0x8c) 1000 11001111 0011 + 1(取反加1)1111 0100-0x74 -0x74 1000 1011 + 1(取反加1) 1000 1100 0x8c (0x80为负数-74 高位为1) 3)字符串常量 用双引号括起来的字符 “a” ,“ABFD” “a” =“a0” <> A说明:C规定,在每一个字符串的结尾应加一个“字符串结束标志”(0), 以便系统判断字符串是否结束。 4各类数值间的混合运算 1)整型、字符型、单精度型、双精度型数据可以混合运算 2)字符型、整型可以通用 规则: 高 double float long unsigned 低 int char,short 例如 10+a+1.5-8765.1234*b 00 (TC默认6位小数) 10+97+1.5-8765.1234*98 二运算符和表达式 C表达式:由变量、常量、函数等运算对象和运算符组成的式子 C运算符作用: 1)能把一些基本运算模块用单一的运算符处理 2)使用丰富的运算符,构成多种表达式 C运算符有优先级,优先级高的先执行,同级的由结合规则决定其处理规则 C运算符有两种结合规则: 1)从左到右的结合运算顺序;即:a=5+x10;运算对象与左边运算符结合 2)从右到左的结合运算顺序;即:x=y=7;运算对象与右边运算符结合 C运算符分类 书P551基本运算符(算术运算符) C语言有7个基本运算符1)单目运算符:(表示符号) 正号“+” 负号“-”2)双目运算符:+、- 、*、/、%(模运算,求余运算,两侧为整数) 说明: a)运算顺序的结合方向从左到右 b)求余(取模)运算符是对两个整数相除的余数,计算结果的符号与第一个数的符号相同。即:-5%3 值为-2、 -5%-3 值为-2、 5%-3 值为2 2自增、自减运算符(优先级高于算术,右结合) 作用:使变量的值增1或减1 +i(-i)在使用i之前,先使i的值加1(减1),然后再使用i。 i+(i-)先使用i的值,然后再使i加1(减1)。例:i =4; j=+i; i 值为5,值为5; j=i+; i 值为5,j值为4 说明:1)自增、自减运算符+(-),只能用于变量,不能用于常量或表达式 即:5+ 、 (a+b)+ 不合法 2)运算顺序的结合方向从右到左例 例: main() int i=3 z,x,y; z=(i+)+(i+)+(i+)x=y=3; /结果:z值为9 i值为6 z=x+y; /变量x右结合运算符+ (不是3+4+5=12) printf("z=%d,x=%d,y=%d",z,x,y);输出结果:z=6 x=4 y=3如果:z= -x+y; 输出结果:z=0 x=4 y=3 x先为-4,然后+y,最后x+ 3赋值运算符和赋值表达式(优先级低于算术,右结合) (1)“=” 赋值运算符 作用:将一个数据赋给一个变量 即:x=21 注意: 如果赋值运算符两侧的类型不一致,在赋值时,要进行类型转换。P61 即:float f ; f=23 f值为23.0000 符号位扩展 (2)复合的赋值运算符 “+=、-=、*=、/=、%=” 在赋值符“=”之前加上其它运算符 称复合运算符(也称为自反运算符) 例:a+=3 等价于 a=a+3 x*=y+8 等价于 x=x*(y+8) y/=4 等价于 y=y/4 m%=3 等价于 m=m%3说明: C语言采用这种复合运算符: 为了简化程序,使程序精练;提高编译效率。 (3)赋值表达式格式:变量=表达式表达式: 可以是 1)常量、变量、算术表达式; 2)赋值表达式 即:a=(b=5) 或 a=b=5 (运算顺序的结合方向从右到左)例: a=b=c=6 ; a=5+(c=6) (结果a=11 c=6) 如果:a=3; 求:a+=a-=a*a; 有:1 a*a; 9 2)a= a-(a*a); -6 3) a+=-6 -6+-6 a为:-12 结果值为:-12 4逗号运算符和逗号表达式(优先级最低,左结合) 用“,”将两个表达式连接起来。 格式:表达式1,表达式2 即: 3+5,6*9; 例: 3+5,6*9; 值为54 (先求解表达式1,再求解表达式2,最后逗号表达式的值为表达式2的值) a=2*5,a*3; a值为10 结果值为:30 (先求:a=2*5,后求:a*3) x=(a=2*5,a*3),a+4 a值为10 x值为30 结果值为:14说明: 使用逗号表达式的目的,只是为了得到各个表达式的值(常用于循环语句) 解表达式1的结果可能影响解表达式2的值 5强制类型转换运算符(优先级高于算术,右结合) 在要转换的数据前,用小括号括上要转换的数据类型 即: (int)x; (int)(a+b) (int)x+y 格式:(类型名)表达式 C一般会自动进行数据类型转换,用于不能自动转换的地方x%3(float f) 6关系运算符和关系表达式(书P87)(优先级低于算术,左结合,高于赋值) (1)6种关系运算符 < <= > >= (优先级高) = = != (优先级低) (2)关系表达式 表达式 关系运算符 表达式 即:a>b a+b>=b+c (a=4)<(b=8) x= = y 说明: 关系表达式值:是一个逻辑值,即:“真”或“假” C语言:1 代表“真” 0 代表“假” 7逻辑运算符和逻辑表达式(书P88)(优先级低于关系,左结合) (1)3种逻辑运算符 p89 表 && (与) | | (或) ! (非) (2)逻辑表达式 表达式 逻辑运算符 表达式 p89 即: (a>b) | | (a+b>=b+c) (a=4)&&(b=8) 1 | | (1) x&& y 值为1 1 说明: 逻辑表达式值:是一个逻辑值,即:“真”或“假” p90 优先次序(由高到低): !(非) 算术运算符 关系运算符 &&和| | 赋值运算符 求值短路:5>3&&2|8<4-!0 1| (结果1) 0&& (结果0) 如:a&&b&&c a<>0才判断a&&b 8条件运算符(书P97) 格式:表达式1 ? 表达式2:表达式3 执行:先求解表达式1,为真(非零),求表达式2 为假(为0),求表达式3 例: y= ( a>b ) ? a : b; 说明:a)条件运算符要求有三个操作对象(称三目元运算符) b)条件运算符优先于赋值运算符 y= ( a>b ) ? a : b; 先求 ( a>b ) ? a : b 后赋值 c)条件运算符的结合方向为“自右至左” ( a>b ) ? a : b 可写为: a>b ? a : b a>b ? a : b+5 相当于: a>b ? a :(b+5) a>b ? a : c> d ? c : d 相当于: a>b ? a : ( c> d ? c : d )* 9位运算符 (书P298)(一般掌握)位运算: 是对字节或字中的实际位进行检测、设置、屏蔽、移位。位运算符:& 位逻辑与 | 位逻辑或 位逻辑异或 位逻辑反 >> 右移 << 左移三、运算符小结1左结合方向的运算符主要有:算术运算符、关系运算符、逻辑运算符、逗号运算符2右结合方向的运算符主要有:自增、自减运算符、赋值运算符(复合的赋值运算符)、条件运算符例:1) i=3; printf("%d,%d",i,i+); 输出:4, 3 2) a=1;b=1;c=2; 求:a=b + = c* = 5; 输出:a为11 b为11 c为10 3) a>b ? a> c?a:c:b>c ? b:c 相当于:a>b ? (a> c?a:c):(b>c ? b:c) (求最大值,如a=2, b=8, c=5 结果为:8)3运算符的优先次序(书 P375 附录)()、!+/-/-转移、算术、关系(<<=>>=)、关系(= = !=)、&&、|、条件(?)、赋值、逗号例:1) -a+ 相当于 -(a+) 2) x=4,y=7 求:y+=+x-3 x的值5 y的值9 3) x=4,y=7 求:y=y+x-3 x的值4 y的值9 4) a=7,x=2.5,y=4.7 求:s=x+a%3*(int)(x+y)%*2/4 s的值00000 a%3*(int)(x+y)%*2 = 1(整型) / 4 (整型) = 0.25 =0(整型) 5) a%3 && a%5 | a+>+b 如:a=7, b=5 a的值8 b的值6 结果值1 1|1 如:a=15, b=15 a的值16 b的值16 结果值0 1|0 如:a=15, b=14 a的值16 b的值15 结果值0 0|0 如:a=15, b=13 a的值16 b的值14 结果值1 0|1 四、该章的主要例题 数: P39 例3.1 P44 例3.2 P44 例3.3 字符: P49 例3.5 P50 例3.6 P51 例3.7五、该章的主要习题六、该章的主要上机内容 P39 例3.1 P44 例3.2 P44 例3.3 P51 例3.7 P65 3.6 3.8 3.10 第四章 简单的C程序设计(顺序程序设计)知识点:1、赋值语句; 2、字符数据的输入/输出;3、格式输入/输出语句printf和scanf及其格式控制符;%c、%f、%d(输出宽度、对齐方式、其它格式控制符只作了解)4、程序的结构框架。重点:1赋值语句;2基本输入/输出语句printf和scanf及其格式控制符%c、%f、%d等的意义。难点: 无一、C程序结构 C程序 源程序文件1 源程序文件2 源程序文件n 预编译命令 函数1 函数n 说明部分 执行部分 (语句)语句的分类P67 P681、控制语句条件:if else循环:for()循环:while()循环:do while()循环结束:continue终止循环或switch:break多分支:switch转向:goto函数返回:return2、函数调用语句 printf(“a=%d”,a);3、表达式语句 i=i+1 表达式 i=I+1; 表达式语句 函数调用也可以认为是表达式语句4、空语句:一个“;”5、复合语句(用:分程序) x=3; x=x+1; print(“x=%x”,x)二赋值语句 变量名=表达式 注:是组成顺序结构的主要语句。 a=b; if ( max<= x ) max =x ;三基本输入/输出语句 C语言本身不提供输入输出语句,输入输出操作是由函数来实现。 即:printf putchar scanf getchar 注:(1)这些函数构成一个标准的I/O函数库(放在“”中) (2)如果要使用C语言库函数,要用预编译命令“#include”将有关“头文件”包括到用户源文件中。 #include <stdio.h> #include “stdio.h” 当前目录 当前定义的目录中寻找 1printf函数 格式输出函数 格式:printf(格式控制,输出表列) 格式控制: 用双引号括起来的字符串,也称为“转换控制字符串” printf的格式字符 书P77 表41 输出表列: 需要输出的数据、表达式 即:printf( “x=%, y=%d, z=%c” , x, y, z ) d,i 带符号十进制形式 u 无符号十进制形式 例3-3 c 字符形式 s 字符串形式 f 实数(小数)形式 默认6位小数说明:1)printf( “ y=%-4d” , y ) 输出数据左对齐(默认为右对齐) 2)数据输出长度的修正; l 输出长整型或双精度数据 即:printf( “%ld, %lf ” , i, y ) h 输出短型数据 即:printf( “%hu ” , a ) -m.n m最小宽度 n小数(实数) -左对齐2putchar函数 字符输出函数向终端输出一个字符格式:putchar(变量) putchar(x) putchar(“n” ) 输出一个换行符 3scanf函数 格式输入函数 格式:scanf(格式控制,地址表列) 格式控制: 用双引号括起来的字符串,也称为“转换控制字符串” scanf的格式字符 书P80 表43 地址表列: 由若干个地址组成的表列,有:变量地址 &x 字符串的首地址 & 地址运算符 功能:求变量的地址(只能用于变量) &x 表示x变量值的内存单元的地址 即:scanf( “%d, %4d”, &a, &b )说明:1)不带分隔字符的方式,系统将自动按格式说明截取数据 例: scanf ( “ %4d%*3d%f ”, &I , &p ); 输入:12345678.93 时 得 “*”作用是“虚读”,跳过相应的数据 2)带分隔字符的方式(分隔字符:空格、tab、回车、逗号) 即:scanf( “%d, %d”, &a, &b ) 4getchar函数 字符输入函数 从终端输入一个字符 格式:getchar ( ) 即:c=getchar ( ) 函数值是从输入设备得到的字符四、该章的主要例题1已知矩形的两边长,求矩形的面积、周长2大小写字母互相转化3教材P83的例子五、该章的主要习题 P第五章 选择结构程序设计知识点:1、关系、逻辑运算符、逻辑真/假;2、关系表达式、逻辑表达式;3、分支的概念及其算法描述;4、三种IF分支语句;5、条件运算符;6、SWITCH语句。(了解)重点:1、关系、逻辑运算符、逻辑真/假;2、关系表达式、逻辑表达式;3、三种IF分支语句。难点:1、逻辑真/假;2、关系、逻辑运算优先级。一、关系表达式及逻辑表达式在分支选择结构的作用 在程序设计中,表示一些复杂的条件1、关系运算符及关系表达式(第三章)2、逻辑运算符及逻辑表达式(第三章)3、条件运算符(第三章)二分支语句(书P91) 从一个条件表达式中,选择语句的执行 (用 i

    注意事项

    本文(《C语言程序设计》教案(清华谭浩强)(75页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




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

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

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

    收起
    展开