c语言从入门到精通第15章

上传人:无*** 文档编号:155740052 上传时间:2022-09-24 格式:PPT 页数:66 大小:231.01KB
返回 下载 相关 举报
c语言从入门到精通第15章_第1页
第1页 / 共66页
c语言从入门到精通第15章_第2页
第2页 / 共66页
c语言从入门到精通第15章_第3页
第3页 / 共66页
点击查看更多>>
资源描述
第15章库函数p 标准C库函数 p 数学函数 p 字符串处理函数 p 字符处理函数 p 转换和存储管理函数 p 随机函数 p 日期和时间处理函数 p 诊断函数 p 命令行参数 p 其它函数 p 综合应用猜数字游戏 p 跟我上机 第15章库函数 标准C库函数 p 数学函数 p 字符串处理函数 p 字符处理函数 p 转换和存储管理函数 p 随机函数 p 日期和时间处理函数 p 诊断函数 p 命令行参数 p 其它函数 p 综合应用猜数字游戏 p 跟我上机 第15章库函数 标准C库函数 数学函数 p 字符串处理函数 p 字符处理函数 p 转换和存储管理函数 p 随机函数 p 日期和时间处理函数 p 诊断函数 p 命令行参数 p 其它函数 p 综合应用猜数字游戏 p 跟我上机 第15章库函数 标准C库函数 数学函数 字符串处理函数 p 字符处理函数 p 转换和存储管理函数 p 随机函数 p 日期和时间处理函数 p 诊断函数 p 命令行参数 p 其它函数 p 综合应用猜数字游戏 p 跟我上机 第15章库函数 标准C库函数 数学函数 字符串处理函数 字符处理函数 p 转换和存储管理函数 p 随机函数 p 日期和时间处理函数 p 诊断函数 p 命令行参数 p 其它函数 p 综合应用猜数字游戏 p 跟我上机 第15章库函数 标准C库函数 数学函数 字符串处理函数 字符处理函数 转换和存储管理函数 p 随机函数 p 日期和时间处理函数 p 诊断函数 p 命令行参数 p 其它函数 p 综合应用猜数字游戏 p 跟我上机 第15章库函数 标准C库函数 数学函数 字符串处理函数 字符处理函数 转换和存储管理函数 随机函数 p 日期和时间处理函数 p 诊断函数 p 命令行参数 p 其它函数 p 综合应用猜数字游戏 p 跟我上机 第15章库函数 标准C库函数 数学函数 字符串处理函数 字符处理函数 转换和存储管理函数 随机函数 日期和时间处理函数 p 诊断函数 p 命令行参数 p 其它函数 p 综合应用猜数字游戏 p 跟我上机 第15章库函数 标准C库函数 数学函数 字符串处理函数 字符处理函数 转换和存储管理函数 随机函数 日期和时间处理函数 诊断函数 p 命令行参数 p 其它函数 p 综合应用猜数字游戏 p 跟我上机 第15章库函数 标准C库函数 数学函数 字符串处理函数 字符处理函数 转换和存储管理函数 随机函数 日期和时间处理函数 诊断函数 命令行参数 p 其它函数 p 综合应用猜数字游戏 p 跟我上机 第15章库函数 标准C库函数 数学函数 字符串处理函数 字符处理函数 转换和存储管理函数 随机函数 日期和时间处理函数 诊断函数 命令行参数 其它函数 p 综合应用猜数字游戏 p 跟我上机 第15章库函数 标准C库函数 数学函数 字符串处理函数 字符处理函数 转换和存储管理函数 随机函数 日期和时间处理函数 诊断函数 命令行参数 其它函数 综合应用猜数字游戏 p 跟我上机 第15章库函数 标准C库函数 数学函数 字符串处理函数 字符处理函数 转换和存储管理函数 随机函数 日期和时间处理函数 诊断函数 命令行参数 其它函数 综合应用猜数字游戏 跟我上机 15.1 标准C库函数 名称函数类型诊断函数字符测试错误检测系统定义的浮点型界限系统定义的整数界限区域定义数学非局部的函数调用异常处理和终端信号可变长度参数处理系统常量输入输出多种公用函数字符串处理时间和日期函数15.2 数学函数 15.2.1 绝对值函数 15.2.2 幂函数和开平方函数 15.2.3 指数函数和对数函数 15.2.4 三角函数 15.2.5 取整函数和取余函数15.2.1 绝对值函数原型功能int abs(int n)计算整数n的绝对值long labs(long n)计算长整数n的绝对值double fabs(double x)计算双精度实数x的绝对值15.2.1 绝对值函数【范例15-1】求整数的绝对值。01#include/*包含标准输入输出头文件*/*包含标准输入输出头文件*/02#include/*包含数学头文件*/*包含数学头文件*/03 int main()04 05 int x;06 x=-5;07 printf(|%d|=%dn,x,abs(x);/*调用绝对值函数*/08 x=0;09 printf(|%d|=%dn,x,abs(x);/*调用绝对值函数*/10 x=+5;11 printf(|%d|=%dn,x,abs(x);/*调用绝对值函数*/12 getchar();/*等待键入字符*/*等待键入字符*/13 return 0;14 15.2.2 幂函数和开平方函数原型功能double pow(double x,double y)计算双精度实数x的y次幂double sqrt(double x)计算双精度实数x的平方根15.2.3 指数函数和对数函数原型功能double exp(double x)计算e的双精度实数x次幂double log(double x)计算以e为底的双精度实数x的对数ln(x)double log10(double x)计算以10为底的双精度实数x的对数log10(x)15.2.4 三角函数原型功能double sin(double x)计算双精度实数x的正弦值double cos(double x)计算双精度实数x的余弦值double tan(double x)计算双精度实数x的正切值double asin(double x)计算双精度实数x的反正弦值double acos(double x)计算双精度实数x的反余弦值double atan(double x)计算双精度实数x的反正切值double sinh(double x)计算双精度实数x的双曲正弦值double cosh(double x)计算双精度实数x的双曲余弦值double tanh(double x)计算双精度实数x的双曲正切值15.2.5 取整函数和取余函数原型功能double ceil(double x)计算不小于双精度实数x的最小整数double floor(doulbe x)计算不大于双精度实数x的最大整数double fmod(double x,double y)计算双精度实数x/y的余数,余数使用x的符号double modf(double x,double*ip)计算x的小数部分,使用x的符号,x的整数部分,使用x的符号,都被双精度实数ip指向x的y次幂15.2.5 取整函数和取余函数【范例15-3】取整和取余函数的应用01#include/*包含标准输入输出头文件*/02#include/*包含数学头文件*/03 int main()04 05 double x,y,i;06 x=74.12;07 y=6.4;08 printf(74.12/6.4:%fn,fmod(x,y);/*调用取余函数*/09 x=74.12;10 y=-6.4;11 printf(74.12/(-6.4):%fn,fmod(x,y);/*调用取余函数*/12 x=modf(-74.12,&i);13 printf(-74.12=%.0f+(%.2f),i,x);14 getchar();/*等待键入字符*/15 return 0;16 15.3 字符串处理函数 C语言没有为以数组为整体的对象提供内置操作,例如数组赋值或者数组比较。因为字符串只是一个以0字符终止的字符数组,不是一个有它自己的权限的数据类型,这就意味着不能为字符串提供赋值运算和关系运算。但是,在C语言的标准库函数中,包含了大量的字符串处理函数和字符处理函数,起到辅助完成字符串进行处理的功能。字符串库函数的调用方式与所用的C语言函数的调用方式一样,要使用这些字符串函数,需要包含头文件。15.3.1 字符串长度函数原型功能int strlen(char*d)返回字符串d的长度,不包括终止符NULL15.3.2 字符串连接函数原型功能char*strcat(char*d,char*s)连接字符串s到字符串d,返回字符串dchar*strncat(char*d,char*s,int n)连接字符串s中至多n个字符到字符串d,返回字符串d15.3.2 字符串连接函数【范例15-4】字符串连接函数的应用01#include/*包含标准输入输出头文件*/02#include/*包含字符串处理头文件*/03 int main()04 05 char d120=Hello;06 char d220=Hello;07 char*s1=World;08 char*s2=Worldabc 09 strcat(d1,s1);/*调用字符串连接函数*/10 printf(%sn,d1);11 strncat(d2,s2,6);/*调用字符串连接函数*/12 printf(%sn,d2);13 getchar();/*等待键入字符*/14 return 0;15 15.3.3 字符串复制函数原型功能char*strcpy(char*d,char*s)复制字符串s到字符串d,返回字符串dchar*strncpy(char*d,char*s,int n)复制字符串s中至多n个字符到字符串d;如果s小于n个字符,用0补上,返回字符串dvoid*memcpy(void*d,void*s,int n)从s复制n个字符到d,返回字符串dvoid*memmove(void*d,void*s,int n)和memcpy相同,即使d和s部分相同也运行15.3.3 字符串复制函数【范例15-5】字符串复制函数的应用。01#include/*包含标准输入输出头文件*/02#include/*包含字符串处理头文件*/03 int main()04 05 char*s1=Hello World;06 char*s2=Hello World;07 char d120=*;08 char d220=*;09 strcpy(d1,s1);/*调用字符串复制函数*/10 printf(%sn,d1);11 strncpy(d2,s2,strlen(s2);/*调用字符串复制函数*/12 printf(%sn,d2);13 getchar();/*等待键入字符*/14 return 0;15 15.3.4 字符串比较函数原型功能char*strcmp(char*d,char*s)比较字符串d与字符串s;如果ds,返回1char*strncmp(char*d,char*s,int n)比较字符串d中至多n个字符与字符串s;如果ds,返回1void*memcmp(void*d,void*s,int n)比较d的首先n个字符与s,和strcmp返回值相同15.3.4 字符串比较函数【范例15-6】字符串比较函数的应用01#include/*包含标准输入输出头文件*/02#include /*包含字符串处理头文件*/03 int main()04 05 char*s1=Hello,Programmers!;06 char*s2=Hello,programmers!;07 int r;08 r=strcmp(s1,s2);/*调用字符串比较函数*/09 if(!r)10 printf(s1 and s2 are identical);11 else12 if(r0)13 printf(s1 less than s2);14 else15 printf(s1 greater than s2);16 getchar();/*等待键入字符*/17 return 0;18 15.3.5 字符串查找函数原型功能char*strchr(char*d,char*c)返回一个指向字符串d中c第一次出现的指针,或者如果没有找到c,返回指向NULL的指针char*strrchr(char*d,char*c)返回一个指向字符串d中c第一次出现的指针,或者如果没有找到c,返回指向NULL的指针char*strstr(char*d,char*s)返回一个指向字符串d中字符s第一次出现的指针,或者如果没有找到s,返回指向NULL的指针void*memchr(void*d,char c,int n)返回一个指向被d所指向的n个字符中c第一次出现的指针,或者如果没有找到c,返回指向NULL的指针15.3.5 字符串查找函数【范例15-7】字符串查找函数的应用01#include/*包含标准输入输出头文件*/02#include /*包含字符串处理头文件*/03 int main()04 05 char*s=Hello World;06 char*ps=llo;07 char*p;08 p=strchr(s,W);/*调用字符串查找函数*/09 if(p)10 printf(%sn,p);11 else12 printf(Not Found!n);13 p=strstr(s,ps);/*调用字符串查找函数*/14 if(p)15 printf(%sn,p);16 else17 printf(Not Found!n);18 getchar();/*等待键入字符*/19 return 0;20 15.3.6 字符串填充函数【范例15-8】字符串填充函数的应用01#include /*包含标准输入输出头文件*/02#include/*包含字符串处理头文件*/03 int main()04 05 char array=Hello World;06 char*s=array;07 memset(s,W,5);/*调用字符串填充函数*/08 printf(%s,s);09 getchar();/*等待键入字符*/10 return 0;11 原型功能void*memset(void*d;char c,int n)使用n个字符c填充void*类型变量d15.4 字符处理函数 15.4.1 字符类型判断函数 15.4.2 字符大小写转换函数15.4.1 字符类型判断函数原型功能int isalnum(int c)如果整数c是文字或数字返回非零,否返回零int isalpha(int c)如果整数c是一个字母返回非零,否返回零int iscntrl(int c)如果整数c是一个控制符返回非零,否返回零int isdigit(int c)如果整数c是一个数字返回非零,否返回零int isgraph(int c)如果整数c是可打印的(排除空格)返回非零,否返回零int islower(int c)如果整数c是小写字母返回非零,否返回零int isprint(int c)如果整数c是可打印的(包括空格)返回非零,否返回零int ispunct(int c)如果整数c是可打印的(除了空格、字母或数字之外)返回非零,否返回零int isspace(int c)如果整数c是一个空格返回非零,否返回零int isupper(int c)如果整数c是大小字母返回非零,否返回零int isxdigit(int c)如果整数c是十六进制数字返回非零,否返回零15.4.1 字符类型判断函数【范例15-9】字符类型判断函数的应用15.4.2 字符大小写转换函数原型功能int tolower(int c)转换整数c为小写字母,当c为大写英文字母,则返回对应的小写字母;否则返回原来的值int toupper(int c)转换整数c为大写字母,当c为小写英文字母,则返回对应的大写字母;否则返回原来的值15.5 转换和存储管理函数 15.5.1 转换函数 15.5.2 存储管理函数15.5.1 转换函数原型功能int atoi(string)转换一个ASCII字符串为一个整数。在第一个非整型字符处停止double atof(string)转换一个ASCII字符串为一个双精度数。在第一个不能被解释为一个双精度数的字符处停止string itoa(int,char*,int)转换一个整数为一个ASCII字符串。为返回的字符串分配的空间必需足够大于被转换的数值15.5.1 转换函数【范例15-10】转换函数的应用01#include/*包含标准输入输出头文件*/02#include/*包含转换和存储头文件*/03 int main()04 05 int num=12345;06 char*str=12345.67;07 char array10;08 itoa(num,array,sizeof(array);/*调用转换函数*/09 printf(num=%d,array=%sn,num,array);10 printf(%d,atoi(str);11 getchar();/*等待键入字符*/12 return 0;13 15.5.2 存储管理函数原型功能void*malloc(size_tn)为一个大小为n的对象分配存储空间void*calloc(size_n,size_n)为n个对象的数组分配存储空间,每个大小为n,初始化所有被分配的自己为0void*realloc(void*p,size_n)重新分配空间的大小为n,内容保持与旧的相同,等于新的大小void free(void*p)释放指向的空间15.5.2 存储管理函数例如,函数调用malloc(10*sizeof(char)请求足够存储10个字符存储空间,而函数malloc(sizeof(int)请求足够存储一个整型数据的存储空间。被malloc()分配的空间来自计算机空闲存储区,这个存储区形成在堆上。堆是由未分配的存储区组成的,这个存储区能够在这个程序执行时根据请求分配给一个程序。程序中如果使用了free()函数,可以把使用malloc()分配的存储区被返回给这个堆。为了提供访问这些位置的能力,malloc()返回已经被保存的第一个位置的。当然,这个地址必须赋值给一个指针。通过malloc()返回一个指针,对创建数组或者个是一组数据结果是很有帮助的。需要注意到,返回的指针类型是void类型,这样不管请求的数据是什么类型,返回的地址必须使用强制类型转换重新转换成希望得到的类型。15.5.2 存储管理函数例如,有个变量pt,是一个指向整型的指针,已经使用malloc()创建了,如下所示:pt=malloc(sizeof(int)malloc创建的是void指针类型,所以需要重新定义pt为一个整型指针,如下所示:(int*)pt;下面看一段代码,功能是创建一个整型数组,数组大小由用户在运行时输入决定。int*pt;printf(“输入数值n”);scanf(“%d”,&number);pt=(int*)malloc(number*sizeof(int);经过这样的处理,就可以使用pti或者*(pt+i)访问数组中第i个元素了。15.5.2 存储管理函数【范例15-11】存储管理函数的应用15.6 随机函数 15.6.1 初识随机函数 15.6.2 使用随机函数15.6.1 初识随机函数 在实践中,找到真正的随机数字是很困难的。数字计算机只能在一个限定的范围内和有限的精度下去处理数字。在大多数情况下,一个人能够做的最好的方法是产生伪随机数,而不是真正意义的随机数,它的意义是,单次产生的数列是无法预测的,但是每次都会生成同样一组随机数列。15.6.1 初识随机函数标准C函数库提供一个随机数函数,rand()函数,它返回0,MAX之间均匀分布的伪随机整数。rand()函数不接受参数,默认以1为种子(即起始值),它总是以相同的种子开始,所以形成的伪随机数列也相同,不是真正的随机。这是有意设计的,目的是为了便于程序的调试。另一个函数srand(),可以使用该函数指定不同的数(无符号整数)为种子。但是如果种子相同,伪随机数列也相同。有两种方法可以采用,一种办法是让用户输入种子,但是效果不是很理想;另外一种比较理想的方法是采用变化的数,常用时间来作为随机数生成器的种子。这样种子不同,产生的随机数也也就不同。15.6.2 使用随机函数 rand()函数没有参数,它返回一个从0到最大值之间的随机整。如果要产生010的随机整数,可以表达为:int n=rand()%11;如果要产生110,则是这样:int n=1+rand()%10;总的来说,要生成一个,范围内的一个随机整数,可以用下式来表示:int n=a+rand()%(b-a+1)15.6.2 使用随机函数【范例15-12】随机函数的应用01#include/*包含标准输入输出头文件*/02#include/*包含转换和存储头文件*/03#include/*包含日期时间处理头文件*/04#define MAX 10005 int main()06 07 int i;08 srand(unsigned)time(NULL);/*随机数播种函数*/09 for(i=0;i10;i+)/*产生十个随机数*/10 printf(%dn,rand()%MAX);/*设定随机数范围并输出*/11 return 0;12 15.6.2 使用随机函数 srand()函数的参数是一个带NULL参数的time()函数。NULL参数使time()函数以秒为单位读取计算机内部时钟的时间。然后srand()函数使用使这个时间初始化rand()随机函数发生函数,也就是常说的产生一个以当前时间开始的随机种子。15.6.2 使用随机函数 在实践中,需要对rand()函数生成的随机数进行修改,比如需要生成的随机数的范围在0到1之间,那该怎么办呢?可以这样做,首先产生范围010的随机正整数,然后除以10.0,根据需要再明确精度,这样就可以了,其它情况依此类推。15.7 日期和时间处理函数原型功能char*asctime(const struct tm*timeptr)将参数timeptr所指的tm结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。char*ctime(const time_t*timep)将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果以字符串形态返回。struct tm*gmtime(const time_t*timep)参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回。struct tm*localtime(const time_t*timep)参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法,然后将结果由结构tm返回.结构tm的定义请参考gmtime()。15.7 日期和时间处理函数例如下面的代码:struct tm int tm_sec;/*目前秒数,正常范围为0-59,但允许至61秒*/int tm_min;/*目前分数,范围0-59*/int tm_hour;/*从午夜算起的时数,范围为0-23*/int tm_mday;/*目前月份的日数,范围01-31*/int tm_mon;/*目前月份,从一月算起,范围从0-11*/int tm_year;/*从1900 年算起至今的年数*/int tm_wday;/*一星期的日数,从星期一算起,范围为0-6*/int tm_yday;/*从今年1月1日算起至今的天数,范围为0-365*/;此函数返回的时间日期未经时区转换,而是UTC时间(UTC是协调世界时 Universal Time Coordinated的英文缩写),是由国际无线电咨询委员会规定和推荐,并由国际时间局负责保持的以秒为基础的时间标度。UTC相当于本初子午线(即经度0)上的平均太阳时,过去曾用格林威治平均时(GMT)来表示。15.7 日期和时间处理函数【范例15-13】日期和时间函数的应用。01#include/*包含标准输入输出头文件*/02#include/*包含日期时间处理头文件*/03 int main()04 05 char*wday=Sun,Mon,Tue,Wed,Thu,Fri,Sat;06 time_t timep;07 struct tm*p;08 time(&timep);09 printf(%s,ctime(&timep);/*调用日期时间处理处理函数*/10 p=gmtime(&timep);/*调用日期时间处理处理函数*/11 printf(%s,asctime(p);/*调用日期时间处理处理函数*/12 printf(%d-%d-%d,(1900+p-tm_year),(1+p-tm_mon),p-tm_mday);13 printf(%s%d:%d:%dn,wdayp-tm_wday,p-tm_hour,p-tm_min,p-tm_sec);14 p=localtime(&timep);/*调用日期时间处理处理函数*/15 printf(%d-%d-%d,(1900+p-tm_year),(1+p-tm_mon),p-tm_mday);16 printf(%s%d:%d:%dn,wdayp-tm_wday,p-tm_hour,p-tm_min,p-tm_sec);17 return 0;18 15.8 诊断函数 assert()函数是诊断函数,它的作用是测试一个表达式的值是否为false,也就是为0,并且在条件为false时终止程序,参数的表达式的结果是一个整型数据。assert()函数定义在标准函数库头文件中定义的。例如assert(a=b);当a和b想当时,表达的结果是1,也就等同于true,如果a和b不等时,结果就是0,也就是false,然后根据结果决定是否终止程序。当程序出现异常时,可以使用abort()函数以非正常方式立即结束应用程序。15.8 诊断函数【范例15-14】诊断函数的应用01#include/*包含标准输入输出头文件*/02#include/*包含诊断处理头文件*/03 struct ITEM04 05 int key;06 int value;07 ;08 /*诊断ITEM结构对象是否为false*/09 void additem(struct ITEM*itemptr)10 11 assert(itemptr!=NULL);/*调用诊断函数*/12 13 int main()14 15 additem(NULL);16 return 0;17 15.9 命令行参数 标准C允许主函数main()有或没有参数列表,所以可以在主函数main()中使用一个或多个的参数,比如下面主函数的形式:int main(int argc,char*argv)这是main函数通常的写法,其中第一个参数argc,argc是英文argument counter的简写,表示传递给主函数main()有多少个参数,第2个参数argv以字符串数组的形式用来接收真正的参数,它是英文argument value的简写。main()函数本身是索引为0的参数,所以,argc至少为1。用户在控制台环境中程序路径和名称后键入含参数将传递给argv1,argv2等。15.9 命令行参数【范例15-15】命令行参数的应用01#include/*包含标准输入输出头文件*/02#include/*包含转换和存储头文件*/03 int main(int argc,char*argv)04 05 int a,b,c;06 a=atoi(argv1);/*调用类型转换函数*/07 b=atoi(argv2);/*调用类型转换函数*/08 c=a+b;09 printf(First Number:%dn,a);10 printf(Second Number:%dn,b);11 printf(%d+%d=%dn,a,b,c);12 return 0;13 15.10 其它函数 15.10.1 exit()函数 15.10.2 qsort()函数15.10.1 exit()函数 exit()函数表示结束程序,它的返回值将被忽略。如果要是exit()函数,需要包含头文件。函数原型如下:void exit(int retval);15.10.1 exit()函数【范例15-16】exit函数的应用01#include/*包含标准输入输出头文件*/02#include/*包含转换和存储头文件*/03 int main()04 05 int i;06 for(i=0;i10;i+)07 08 if(i=5)exit(0);09 else10 11 printf(%d,i);12 getchar();/*等待键入字符*/13 14 15 getchar();/*等待键入字符*/16 return 0;17 15.10.2 qsort()函数 qsort()函数包含在头文件中,此函数根据你给的比较条件进行快速排序,通过指针移动实现排序。排序之后的结果仍然放在原数组中。使用qsort函数必须自己写一个比较函数。函数原型:void qsort(void*base,int n,int size,int(*fcmp)(const void*,const void*)15.10.2 qsort()函数【范例15-17】qsort函数的应用15.11 综合应用猜数字游戏【范例15-18】猜数字游戏,随机生成一个1到9直接任意整数作为被猜数字,循环输入你猜的数字,告诉你猜大了还是猜小了,直到猜中,同时统计猜的次数15.13 跟我上机 1.编写C程序,实现以下功能:有一字符串“abcdefg123abc12345abcdefg”(1)统计源字符串中字符的个数;(2)查找子串”abc”出现的次数和每次出现的位置。15.13 跟我上机 2.编写C程序,实现以下功能:(1)使用随机函数生成一字符数组,大小写混合出现;(2)然后调用字符处理函数转换为大写后;(3)再使用快速排序函数,重组数组。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 压缩资料 > 基础医学


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

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


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