C语言第2版(第2章基本语句).ppt

上传人:tia****nde 文档编号:11495446 上传时间:2020-04-25 格式:PPT 页数:83 大小:2.86MB
返回 下载 相关 举报
C语言第2版(第2章基本语句).ppt_第1页
第1页 / 共83页
C语言第2版(第2章基本语句).ppt_第2页
第2页 / 共83页
C语言第2版(第2章基本语句).ppt_第3页
第3页 / 共83页
点击查看更多>>
资源描述
C语言程序设计教程(第2版),第2章基本的程序语句,09年2月,本章主要内容1.用二进制表示的数2.基本数据类型及取值范围3.标识符、变量和常量4.基本运算符、表达式及运算的优先级5.标准输入/输出函数简介6.程序范例,第2章引言,1整型数的二进制表示整型数分为有符号的和无符号的两种;有符号的整型数的正负号由字节的最高位来表示:0表示正数,1表示负数。整型数占用的字节数可为8位、16位或者32位。整型数的取值范围:,2.1用二进制表示的数,2浮点数的二进制表示浮点数分成单精度浮点数和双精度浮点数;单精度浮点数占32位(4个字节),双精度浮点数占64位(8个字节)。浮点型数据的一般表达式:(1)S2eme是实际的阶码值,代表浮点数的取值范围;m是尾数,代表浮点数的精度。,2.1用二进制表示的数,(1)单精度浮点型数据的字节分配空间:,2.1用二进制表示的数,S代表符号位,占1位。E称为“移码”,占8位。E的取值范围为0255,E=127+e因此,e的取值范围为127+128);M代表有效位数或称为“小数”,m2=(1.M)2,(2)双精度浮点型数据的字节分配空间:,2.1用二进制表示的数,S代表符号位,占1位。E称为“移码”,占11位。E的取值范围为02047,E=1023+e因此,e的取值范围为1023+1024);M代表有效位数或称为“小数”,m2=(1.M)2,浮点型数据的取值范围:,2.1用二进制表示的数,1.C语言提供5种基本数据类型。(1)字符型:用char表示。(2)整数型:用int表示。(3)单精度实数型:用float表示。(4)双精度实数型:用double表示。(5)空类型:用void表示。对整数型,有四种修饰:signed(有符号)unsigned(无符号)long(长型)short(短型)数据类型决定了数据的大小、数据可执行的操作以及数据的取值范围。,2.2基本数据类型及取值范围,数据类型的长度和取值范围会随着机器的CPU类型和编译器的不同而不同。,2.2基本数据类型及取值范围,例1:验证数据类型的字节长度。见【例2-1】所示的程序:example2_1.c不同字节长度的数据类型和取值范围:见表2-5和表2-6,2.2基本数据类型及取值范围,2.3.1标识符标识符是对变量名、函数名、标号和其他各种用户定义的对象命名。建议取有实际意义的标识符来命名。标识符的第1个字符必须是字母或下划线,标识符的长度可以是一个或多个字符,最长不允许超过32个字符。例如:score、number12、student_name等均为正确的标识符;8times、price/tea、low!valume等均不为正确的标识符。注意:(1)标识符区分大小写,score、Score、SCORE代表三个不同的标识符。(2)标识符不能和C语言的关键字相同(3)标识符不能和用户自定义的函数或C语言库函数同名,2.3标识符、变量和常量,2.3.2变量和常量1.变量其值可以改变的量称为变量。变量的两个要素:标识符(名字)和值。C语言规定:变量必须在使用之前定义。变量定义的一般形式是:;必须是有效的C数据类型,如:int、float等,类型名规定了变量的存储空间和取值范围。可以由一个或多个由逗号分隔的多个标识符名构成。,2.3标识符、变量和常量,如:inti,j,number;unsignedintmax,min;floathigh_value,price;doublelenth,total_wieight;思考:上面各种变量的类型和他们的取值范围。,2.3标识符、变量和常量,例2:运行下面的程序,了解变量的取值范围和C语言的特性。/*example2_2.c变量的取值范围测试*/#includemain()inta=32766,b=-32766;unsignedm=6553;floatt=3.4e+37;printf(a=%dn,a);printf(m=%un,m);printf(“t=%en”,t);a=a+4;,2.3标识符、变量和常量,b=b-6;m=m*10+10;t=t*10;printf(Afterchange:n);printf(a+4=%dn,a);printf(b-6=%dn,b);printf(m*10+10=%un,m);printf(t*10=%en,t);,2.常量常量的值是不可变的。在C语言中,有整型常量、实型常量、字符常量、字符串常量、和枚举常量等。(1)整型常量可采用十进制、八进制、十六进制来表示整型常量。八进制数的前面用数字0开头,十六进制数前面用数字0和字母X开头(0 x或0X)整型常量的表示见表2-9。,2.3标识符、变量和常量,例3:了解整型常量的不同进制表示法。/*example2_3.c*/#includemain()printf(十六进制0 x80的十进制值为:%dn,0 x80);printf(八进制0200的十进制值为:%dn,0200);printf(十进制128的十进制值为:%dn,128);printf(十进制128的十六进制值为:%xn,128);printf(十进制128的八进制值为:%on”,128);,2.3标识符、变量和常量,(2)实型常量实型常量的两种表示法:浮点计数法和科学计数法。例如:231.467.36E74.58E50.0945对太大或太小的数,通常是采用科学计数法。如上面的7.36E7、4.58E5。,2.3标识符、变量和常量,例4:了解实型常量的两种表示法。/*example2_4.c(浮点计数法,科学计数法)*/#includemain()printf(“123.4456的浮点数表示:%6fn,123.456);printf(“1.23456E2的浮点数表示:%6fn,1.23456e2);printf(“12345.6E-2的浮点数表示:%6fn,12345.6e-2);printf(“12345.6的科学计数法表示:%En,12345.6);,2.3标识符、变量和常量,(3)字符常量字符常量是由一对单引号括起来的单个字符。如:A、S、9、$等均为字符常量。注1:单引号只起定界作用,并不代表字符。注2:单引号()和反斜杠()本身作为字符时要通过转义字符()。如:和分别代表单个字符单引号()和反斜杠()。,2.3标识符、变量和常量,在C语言中,字符是按其所对应的ASCII的值来存储的,一个字符占一个字节。部分字符所对应ASCII码值如下:,2.3标识符、变量和常量,字符和与之对应的ASCII详见附录B,注意:数字3和字符3的区别:,2.3标识符、变量和常量,字符也可以参与运算:如:A+6;运算结果为71,对应的字符为H。87;运算结果为49,对应的字符为1。y32;运算结果为89,对应的字符为Y。,例5:了解字符常量与其顺序值的关系。/*example2_5.c字符常量与其顺序值的关系*/#includemain()printf(%d-%cn,A,A);printf(%d-%cn,A+5,A+5);printf(%d-%cn,A+70,A+70);,2.3标识符、变量和常量,例5:了解字符常量与其顺序值的关系。/*example2_5.c字符常量与其顺序值的关系*/#includemain()printf(%d-%cn,A,A);printf(%d-%cn,A+5,A+5);printf(%d-%cn,A+70,A+70);,2.3标识符、变量和常量,程序运行结果:65-A70-F135-?,(4)字符串常量字符串常量是指用一对双引号括起来的一串字符。如:world,TRUEorFLASE,8765431.0037,T均为字符串常量。注:双引号()和反斜杠()本身作为字符串时要通过转义字符()。如:和分别代表字符串()和反斜杠()。,2.3标识符、变量和常量,注意字符常量与字符串常量的区别:在C语言中,字符串常量在内存中存储时,系统自动在字符串的末尾加一个“串结束标志”:0该结束标志的ASC码值为0,字符为空NULL。因此,长度为n个字符的字符串常量,在内存中占有n+1个字节的存储空间。如:字符串“World”,共5个字符,需占用6个字节,其存储形式为:,2.3标识符、变量和常量,(5)转义字符转义字符用反斜杠后面跟一个字符或一个八进制或十六进制数表示。如:a,0,n等。代表ASCII字符中不可打印的控制字符和特定功能的字符。表示特殊字符,如:单引号()、双引号()和反斜杠()等。常用的转义字符见表2-12。,2.3标识符、变量和常量,注意转义字符中的字母只能是小写字母,每个转义字符只能看作一个字符。表2-12中的r、v和f对屏幕输出不起作用,但会在控制打印机输出执行时响应其操作。在程序中,使用不可打印字符时,通常用转义字符表示。,2.3标识符、变量和常量,例6:了解转义字符的作用。/*example2_6.c了解转义字符的作用*/#includemain()printf(a);/*发出铃声*/printf(Thisisatest:n);printf(Ready:);printf(bBackspace.n);/*往左退一格*/printf(tHorizontaltabn);/*往右进八格*/printf(n);/*输出*/printf(?n);/*输出?*/printf(n);/*输出*/printf(n);/*输出*/printf(101n);/*输出八进制值101所对应的字符*/printf(x41n);/*输出十六进制值41所对应的字符*/,运行程序,观察程序的运行结果。程序运行结果:Thisisatest:Ready:Backspace.Horizontaltab?AA,2.3标识符、变量和常量,(6)符号常量将程序中的常量定义为一个标识符,称为符号常量。符号常量在使用前必须先定义,定义的形式是:#define如:#definePI3.1415926#defineTRUE1#defineFALSE0其中PI、TRUE、FLASE均为符号常量;其值分别为3.1415926,1,0。注1:#define是C语言的预处理命令;注2:习惯上符号常量用大写英文字母表示。,2.3标识符、变量和常量,例7:了解符号常量的使用。/*example2_7.c*/#include#defineWHOIamastudent.#defineHOWThatisFine.#definePI3.1415926main()printf(%sn,WHO);printf(%sn,HOW);printf(%fn,PI);,2.3标识符、变量和常量,程序运行结果:Iamastudent.ThatisFine.3.141593,C语言的基本表达式是由操作数和操作符组成。操作数通常由变量或常量表示;操作符由各种运算符表示。一个基本表达式也可以作为操作数来构成复杂表达式。构成基本表达式的常用运算符有:(1)算术运算符。(2)关系运算符。(3)逻辑运算符。(4)赋值运算符。另外,条件运算符、自反赋值运算符、逗号运算符、指针运算符、位运算符等均可构成基本表达式。,2.4基本运算符、表达式及运算的优先级,2.4.1算术运算符及算术表达式算术运算符主要用于完成变量的算术运算。如:加、减、乘、除等。各运算符及其作用如下:,2.4基本运算符、表达式及运算的优先级,注:此处规定优先级的数字越大,优先级越高。,例8:阅读下面的程序,了解由算术运算符组成的表达式。/*example2_8.c*/#includemain()inta,b,c,d1,d2,d3,d4;doublex,y,z1,z2,z3;a=8;b=3;c=10;,2.4基本运算符、表达式及运算的优先级,d1=a+b*c-b/a+b%c*a;/*复杂表达式1*/d2=(a+b)*c-(b/a)+(b%c)*a;/*复杂表达式2*/d3=a/b;d4=c%b;printf(d1=%d,d2=%d,d3=%d,d4=%dn,d1,d2,d3,d4);x=3.2;y=2.4;z1=x+y/x-y;/*复杂表达式3*/z2=(x+y)/(x-y);/*复杂表达式4*/z3=y/b;printf(z1=%f,z2=%f,z3=%fn,z1,z2,z3);,程序运行结果:d1=62,d2=134,d3=2,d4=1z1=1.550000,z2=7.000000,z3=0.800000,1.分析例8程序中存在的问题。2.修改例8的程序,提高程序的可读性。3.运行例2-9的程序,观察表达式及程序的运行结果。,2.4基本运算符、表达式及运算的优先级,思考,关于前置+/和后置+/的作用前置+或前置表达式:+;先将变量的值加1,再使用变量。;先将变量的值减1,再使用变量。后置+或后置表达式:+;先使用变量,再将变量的值加1。;先使用变量,再将变量的值减1。,2.4基本运算符、表达式及运算的优先级,例9:阅读程序example2_10.c,了解前置+/-和后置+/的作用。,2.4基本运算符、表达式及运算的优先级,1.+/-运算符适合于什么数据类型?2.表达式+a和a+有什么区别?3.表达式b=a+还可以怎样表达?4.+/-能否用于常量表达式?,思考,注意+/-运算符在不同环境下的区别。例10:阅读程序example2_11.c。了解前置+/-和后置+/作为函数参数时的作用。,2.4基本运算符、表达式及运算的优先级,1.为什么程序的运行结果会有不同?2.程序设计应遵循什么原则?3.修改程序,使其具有更好的可读性。4.分析修改后的程序:example2_12.c。,思考,不同形式的程序表达式的含义:比较程序example2_13.c和example2_13a.c,2.4基本运算符、表达式及运算的优先级,注意,2.4.2关系运算符及关系表达式关系运算符的作用:用于条件判断的表达。关系运算符及其含义和优先级如下:,2.4基本运算符、表达式及运算的优先级,关系表达式的结果只有两个:(1)真(值为1)(2)假(值为0)假如有:inta,b;a=(230)b=(23-9)=(18-6);则:变量a的值为1,变量b的值为0。,2.4基本运算符、表达式及运算的优先级,2.4.3逻辑运算符及逻辑表达式逻辑运算符的作用:用于判断条件中的逻辑关系。逻辑运算符及其含义和优先级如下:,2.4基本运算符、表达式及运算的优先级,逻辑表达式的结果:真(值为1)假(值为0)(注:非零值均为真)逻辑运算规则:,2.4基本运算符、表达式及运算的优先级,1.由关系运算符和逻辑运算符可组成复杂逻辑表达式。如:(ab)c=(ab),1.分析程序的运行结果。2.如果有:inta=4,b=8,c=5;intd1,d2,d3,d4;d4=(ab-);则:d4,a,b,c的值分别为多少?提示:要避免含义不明确的表达式。,2.4基本运算符、表达式及运算的优先级,思考,2.4.4位运算符及表达式位运算的作用:直接对变量的二进制按位进行操作。注意:位运算只适合于整型和字符型变量。位运算符及其含义和优先级如下:,2.4基本运算符、表达式及运算的优先级,位运算规则:,2.4基本运算符、表达式及运算的优先级,2.4.5条件运算符条件运算符由“?”和“:”组成。条件表达式的一般形式:表达式1?表达式2:表达式3;条件表达式的语法规则:当表达式1的值为1(真)时,其结果为表达式2的值;当表达式1的值为0(假)时,其结果为表达式3的值。注意:表达式1通常是关系表达式或逻辑表达式,也可以是其他表达式。条件运算符又称为三目运算符,“三目”指的是操作数的个数有3个。,2.4基本运算符、表达式及运算的优先级,例12:阅读下面的程序,了解三目运算符组成的表达式计算规则。/*example2_15.c了解三目运算符的语法规则*/#include#includemain()inta=3,b=5,c;c=(ab)?(a+b):(a-b);printf(Themaxvalueofaandbis:%dn,c);a=6;b=2;c=(ab)?(a-b):(a+b);printf(Themaxvalueofaandbis:%dn,c);请分析程序的运行结果。,2.4基本运算符、表达式及运算的优先级,2.4.6逗号表达式由逗号运算符“,”将两个表达式连接起来:表达式1,表达式2;逗号表达式的语法规则:先计算表达式1,再计算表达式2;最后结果为表达式2的结果。,2.4基本运算符、表达式及运算的优先级,例13:了解逗号表达式的语法规则。/*example2_16.c了解逗号表达式*/#includemain()inta,b;a=3*5,a*4;b=(3*5,a*4);printf(a=%dnb=%dn,a,b);请分析程序的运算结果。,2.4基本运算符、表达式及运算的优先级,1逗号表达式可以扩充到具有n个表达式的情况:表达式1,表达式2,表达式n;整个逗号表达式的结果为表达式n的值。2通常是用逗号表达式来分别求逗号表达式内各表达式的值,并不是为了求整个逗号表达式的值。3变量定义中出现的逗号和在函数参数表中出现的逗号不构成逗号表达式。4.逗号表达式有可能降低程序的可读性,请谨慎使用。,2.4基本运算符、表达式及运算的优先级,几点说明,请阅读程序example2_17.c,进一步了解逗号表达式。,2.4.7数据类型的转换C语言允许表达式中混合有不同类型的常量和变量。1.系统自动转换容易出现意外结果。假设有:floatt=3.7,s;inta=3,b;s=a+t;b=a+t;结果为:s=6.7,b=6,原因:数据类型不一致,有可能产生数据丢失。应避免出现数据类型不一致的表达式。,2.4基本运算符、表达式及运算的优先级,2.强制转换数据类型强制转换表达式:(数据类型符)表达式;或:(数据类型符)变量;强制转换语法规则:将表达式或变量的值临时转换成圆括号内指定的数据类型。但不改变变量原来的数据类型。假设有:inta;floatt;a=15;t=(float)a/30;结果为:t=0.5,若表达式为t=a/30,则结果为:t=0。,2.4基本运算符、表达式及运算的优先级,2.4.8复杂表达式的计算顺序C语言共有各类运算符47个,按优先级可分为11个类别共15个优先级。运算符的优先级与运算方向:表2-10,2.4基本运算符、表达式及运算的优先级,例13:阅读程序,分析复杂表达式的计算顺序。/*example2_18.c复杂表达式的计算顺序*/#includemain()inta=10,b=15,c=14,temp;temp=a+6b请分析表达式和表达式的结果。指出程序的不足,修改程序。,2.4基本运算符、表达式及运算的优先级,2.4.9C语言的基本语句结构C语言的语句可分为四大类:1表达式语句2复合语句3控制语句4转向控制语句,2.4基本运算符、表达式及运算的优先级,1表达式语句一个独立的语句就是表达式语句。如:a=3*b-c/2;i-;+j:b=(a3)?1:0;2复合语句由一对花括号“”将多个表达式语句括起来所组成。如:a=b+c;x=y%a;prinft(a=%d,x=%dn,a,x);,3控制语句由控制结构组成的语句,有5种控制语句:(1)选择(分支)语句:ifelse。(2)多分支语句:switch。(3)for循环语句:for。(4)while循环:while。(5)do_while循环:dowhile。4转向控制语句由系统提供的关键字构成,用于改变程序的流程。有4种转向控制语句:(1)break;可用于switch语句和循环的语句。(2)continue;只适用于循环语句。(3)return;用在函数的结束处。(4)goto;可用于程序的任何地方,但不提倡使用。,C语言的输入/输出的操作是通过调用系统函数来实现。常用的标准输入/输出函数有如下几种。(1)格式化输入/输出函数:scanf()/printf()。(2)字符输入/输出函数:getc()/putc()。(3)字符输入/输出函数:getch()/putch()。(4)字符输入/输出函数:getchar()/putchar()。(5)字符串输入/输出函数:gets()/puts()。不同的函数在功能上有所不同,使用时应根据具体的要求,选择合适的输入/输出函数。,2.5标准输入/输出函数简介,2.5.1格式化输出函数printf()函数printf()的一般形式为:printf(控制字符串,输出项列表);函数printf()的作用:按控制字符串指定的格式,向标准输出设备(显示器)输出指定的输出项列表的值。注意:可以是常量、变量、表达式。当有多个输出项时,各项之间用逗号分隔。中的个数、类型必须与中格式字符的个数、类型相一致。必须用双引号将括起,可由格式说明和普通字符两部分组成。,2.5标准输入/输出函数简介,1格式说明格式说明的一般格式为:%格式字符规定了对应输出项的输出格式。注:在格式字符前面,还可用字母1和h(大小写均可)来说明是用long型或short型格式输出数据。常用格式字符如表2-21所示。如:%d,%c,%f,%Lf,%s等均为正确的输出格式说明。,2.5标准输入/输出函数简介,修饰符是可选的,用于确定数据输出的宽度、精度、小数位数、对齐方式等。若缺省修饰符,按系统默认设定输出。修饰符的主要类型:(1)字段宽度修饰符用数字修饰输出字符占用的宽度,规则见表2-22。如:%3d,%4c,%5.2f,%8Lf,%6s等均为正确的输出格式说明。(2)对齐方式修饰符默认输出方式为右对齐方式。在%后面加上一个负号“”,可使数据的输出方式改为左对齐的方式。如:%-3d,%-4c,%-5.2f,%-8Lf,%-6s等均为正确的输出格式说明。,2.5标准输入/输出函数简介,2普通字符普通字符包括可打印字符和转义字符。可打印字符按原样显示在屏幕上,起说明作用。转义字符是一些不可显示的控制字符,用于产生特殊的输出效果。如:“s=%4dt%7.4fnt%lun”为正确的输出格式。阅读程序【例2-19】、【例2-20】、【例2-21】。了解格式输出的方法。,2.5标准输入/输出函数简介,2.5.2格式化输入函数scanf()函数scanf()的一般形式为:scanf(控制字符串,输入项列表);函数scanf()的作用:按控制字符串指定的格式,从键盘输入数据,并将输入的值赋给输入项列表相对应的变量。注意:规定了数据的类型,其内容也可由格式说明和普通字符两部分组成。(注:不提倡加普通字符)则由一个或多个变量地址组成,各变量地址之间用逗号“,”分隔。如有:inta,b;则:charch;scanf(%d%c,若输入为:64q则结果为:ch=,a=64,注:结果并不是ch=q,a=64思考:怎样改进?可使得结果为:ch=q,a=64,2.5标准输入/输出函数简介,注意,(2)转义字符:n、t转义字符属空白字符,对输入的数据不产生影响。(3)可见字符可见字符是指ASCII码中所有通过键盘输入的可见字符。如数字、字母、其他符号等。注意:若输入格式中含有可见字符,则实际输入要“原样输入”。假如有:inta,b;charch;scanf(%d,%d,%c,若输入为:12,34,q则结果为:a=12,b=34,ch=q思考:若输入为:12,34,q则结果会怎样?,2.5标准输入/输出函数简介,1要注意数值型数据和字符型数据的取值特点。若要同时输入这两种类型的数据,可采取先输入字符型数据,后输入数值型数据,以减少错误的发生。2建议在scanf()语句中不要加入可见字符。避免错误的发生。,2.5标准输入/输出函数简介,特别提醒,2.5.3字符输出函数C语言专门为字符提供了专用的字符输出函数。(注:对不同的编译器,它们所在的头文件有可能不同。)常用的字符输出函数:表2-24,2.5标准输入/输出函数简介,阅读【例2-24】的程序example2_24.c,了解字符输出函数的功能。,2.5.4字符输入函数C语言专门为字符提供了专用的字符输入函数。(注:对不同的编译器,它们所在的头文件有可能不同。)常用的字符输出函数:表2-25,2.5标准输入/输出函数简介,1使用getch()函数输入字符后,输入的字符不会显示在屏幕上。2用字符输入函数接收字符时,并不是从键盘输入一个字符后立即响应,而是将输入的内容先读入缓冲区,待输入结束后再一并执行。3与scanf()输入函数不一样,字符输入函数将空格符、制表符、换行符也作为字符接收。,2.5标准输入/输出函数简介,特别提示,阅读【例2-25】的程序example2_25.c,了解字符输入函数的功能。,【例2-26】编写程序,计算两复数的差。程序要求从键盘输入两个复数的实部和虚部的值,然后求第1个复数与第2个复数的差。核心算法分析:两个复数的算术运算结果仍为复数,计算两个复数的差是实部与实部相减,虚部与虚部相减,即(a1+b1i)(a2+b2i)=(a1-a2)+(b1-b2)i。程序见:example2_26.c思考:请修改程序,完成计算两复数的和与两复数的差。,2.6程序范例,程序范例1,【例2-27】编写程序,在屏幕上输出由星号(*)组成的菱形图案。核心算法分析:利用printf()语句,可直接将*输出到屏幕上。程序见:example2_27.c思考:请修改程序,输出各种几何图案。,2.5标准输入/输出函数简介,程序范例2,【例2-28】简单的数学计算。编写程序,计算3个数的和的平均值。核心算法分析:计算3个数a、b、c之和的平均值方法为:(a+b+c)/3。程序见:example2_28.c思考:请修改程序,完成其他的简单算术运算。,2.5标准输入/输出函数简介,程序范例3,本章重点1.基本数据类型及取值范围。不同类型的变量有不同的取值范围。2.基本表达式的意义算术表达式、关系表达式、逻辑表达式3.复杂表达式的优先级和表达式的意义任何复杂表达式都是基本表达式的组合。4.几组输入/输出函数(1)格式化输入/输出函数:scanf()/printf()。(2)字符输入/输出函数:getc()/putc()。(3)字符输入/输出函数:getch()/putch()。(4)字符输入/输出函数:getchar()/putchar()。,2.7本章小结,一、填空题【题2.1】【题2.23】中的奇数号题(12个)二、单选题【题2.24】【题2.43】中的偶数号题(10个)三、编程题【题2.44】【题2.46】【题2.47】【题2.48】【题2.50】【题2.53】,本章练习,
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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