C课件01(基本运算).ppt_第1页
C课件01(基本运算).ppt_第2页
C课件01(基本运算).ppt_第3页
C课件01(基本运算).ppt_第4页
C课件01(基本运算).ppt_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言程序设计简单课程,预备知识 计算机中数的表示及进制转换 二进制、八进制、十六进制、十进制的表式和相互转换,字节和位 内存以字节为单元组成 每个字节有一个地址 一个字节一般由8个二进制位组成 每个二进位的值是0或1,十进制:4956= 410+910 +510+610,二进制:1011=12+02 +12+12,十六进制:81AE=816+116 +1016+1416,八进制:4275=48+28 +78+58,数制:进位计数制;基:每种进制一个位最大能表示的状态个数;权:在不同位上表示量值的大小,二、八进制数字对照表,二、十六进制数字对照表,不同数制间的转换,1)其他进制数化为十进制数,对于任何一个二进制数、八进制数、十六进制数可以写出它的按权展开式,再进行计算即可 : 例如: (1111.11)2= 123+122+121+120 +12-1 +12-2=15.75 (A10B.8)16=10163+1162+0161+11160 +816-1= 41227.5,2) 十进制数化为二进制数,(1)整数部分 对于整数部分采用“除2取余法”,即逐次除以2,直至商为0,得出的余数倒排,即为二进制各位的数码。 (2)小数部分 小数部分采用“乘2取整法”,即逐次乘以2,从每次乘积的整数部分得到二进制数各位的数码。 练习:将35.6875 转换为二进制数, 用乘2取整法将小数部分(0.6875)10转换为二进制形式: 0. 6875 2 1.3750 整数部分为1 高位 0. 3750 2 0. 7500 整数部分为0 0. 7500 2 1. 5000 整数部分为1 0. 5000 2 1. 0000 整数部分为1 低位,即:(0.6875)10 = (0.1011)2, 整数部分与小数部分合并,可得: (35.6875)10 = (100011.1011)2 注意: 在上例中,将十进制小数转换成为二进制小数的过程中,乘积的小数部分变成“0”,表明转换结束。实际上将十进制小数转换成二进制、八进制、十六进制小数过程中小数部分可能始终不为零,因此只能限定取若干位为止。,2) 二进制数与十六进制数之间的转换,十六进制转化为二进制方法 按“一分为四”的原则,把每个十六进制数用4位二进制数表示,再去掉整数首部的零和小数尾部的零即可。 二进制转化为十六进制方法 按“合四为一”的原则,由于每4位二进制数相当于1位十六进制数,所以,从小数点开始向左、右划分,每4位二进制数为一组,不足4位的用0补足,即可将二进制数转换为十六进制数。,3) 二进制数与八进制数之间的转换,八进制转化为二进制方法 按“一分为三”的原则,把每个八进制数用3位二进制数表示,再去掉整数首部的零和小数尾部的零即可。 二进制转化为八进制方法 按“合三为一”的原则,由于每3位二进制数相当于1位八进制数,所以,从小数点开始向左、右划分,每3位二进制数为一组,不足3位的用0补足,即可将二进制数转换为十六进制数。,4) 二进制数与十六进制数之间的转换,十六进制转化为二进制方法 按“一分为四”的原则,把每个八进制数用3位二进制数表示,再去掉整数首部的零和小数尾部的零即可。 二进制转化为十六进制方法 按“合四为一”的原则,由于每3位二进制数相当于1位八进制数,所以,从小数点开始向左、右划分,每3位二进制数为一组,不足3位的用0补足,即可将二进制数转换为十六进制数。,例:将二进制数11010111100转换为八进制数和十六进制数。 (11010111100)2 = (011 010 111 100)2 = (3274)8 (11010111100)2 = (0110 1011 1100.1101 1000)2= (6BC)16,(214)O = (010 001 100)2 = (10001100)B (1C2)H = (0001 1100 0010)2 = (111000010)B,例:将以下八/十六进制数转换为二进制数。 (637)O = (110 011 111)2 (3A2E)H = (0011 1010 0010 1110)2,有符号定点数的表示方法原码、反码和补码 原码:最高位为符号位,其余各位为数值本身的绝对值 反码: 正数:反码与原码相同 负数:符号位为1,其余位对原码取反 补码: 正数:原码、反码、补码相同 负数:最高位为1,其余位为原码取反,再对整个数加1,C语言的发展及特点,C语言是目前最为流行的计算机高级程序设计语言之一,它设计精巧,功能齐全,不仅适合开发系统软件,也适合开发应用软件。 C语言是在1972年由美国贝尔实验室的D.M.Ritchie为描述和实现UNIX操作系统而设计的。广泛应用于多种机型(如PC机、工作站和大型机)和操作系统(如WINDOWS和DOS,UNIX),既可以处理数据库、网络、图形、图象等,又适合在工业控制、自动检测等方面应用,现在控制和检测领域的很多软件都是用C语言编写的。,C语言的特点:,1、C语言短小精悍,基本组成部分紧凑、简洁。C语言一般只有32个标准的关键字、45个标准的运算符以及9种控制语句,使用方便、灵活。 2、C语言运算符丰富,表达能力强。语言具有“高级语言”和“低级语言”的双重特点,其运算符包含的内容广泛,表达式简练、灵活,有利于提高编译效率和目标代码的质量。 3、C语言数据结构丰富,结构化好。C语言提供了多种数据结构和控制结构,并具有以函数调用为主的程序设计风格,保证了利用C语言所编写的程序具有良好的结构。 4、C语言提供了某些接近汇编语言的功能,如它可以直接访问物理地址,并能进行二进制位运算等,有利于编写系统软件。,C语言的特点:,5、C语言程序所生成的目标代码质量高,程序执行效率高。 6、C语言程序的可移植性好。在C语言所提供的语句中,没有直接依赖于硬件的语句,与硬件有关的操作,如数据的输入、输出等都是通过调用库函数来实现的。用C语言编写的程序能够很容易地从一种计算机环境移植到另一种计算机环境中。 7、C是C+的基础,广泛应用于Internet的JAVA语言也采用了C语言中的大部分语法,所以学好C语言有助于学习C+和JAVA。,总之,由于上述特点,使得C语言得到了广泛的应用。,一个C程序有一个或多个函数组成,其中必须有一个且只有一个名为 main 的主函数。程序中主函数 main( ) 的位置任意,程序执行由主函数的开始而开始,由主函数的结束而结束。 主函数是整个程序的控制部分。在主函数执行过程中可以调用C语言库函数或用户自定义函数。C语言有丰富的库函数,可以供用户直接调用。,C语言程序的构成,#include main() printf (“Example.”); 花括号中的内容是函数体。函数体中一般有两类语句,说明语句用来定义程序中出现的变量名称和类型,执行语句进行计算和输出。,程序由主函数main( ) 开始,若有多个函数,在主函数的执行过程中调用其他函数,主函数执行到return语句或“”时,程序结束。 C语言程序中函数要先定义或声明后才可使用。,文件包含语句,作用是将标准输入输出头文件包含到当前文件中来。头文件又称为标题文件,一般扩展名为h,头文件起着源文件之间接口的作用。 头文件内容一般为:类型声明,函数声明,常量定义,数据声明,枚举,包含指令,宏定义,注释等。,输出函数printf,该函数原型在标准输入输出头文件stdio.h中定义,所以程序开始要使用 #include 。,C程序基本结构举例,C语言的风格和源程序的书写格式,如果程序源文件由多个函数组成,每个函数在程序文件中的位置任意,程序运行总是从主函数开始。 标识符的命名应该“见名知意”,例如:sum,average,age, student_ no。标识符采用小写字母,大写字母常用作符号常数。 每个语句以分号结束,既允许一行内写多条语句,也允许一条语句分多行书写。为了看起来清楚,建议每行写一个语句。 分级缩进格式,同一级别的语句采用相同缩进格式,使程序看起来清晰,有层次感,但语句的执行顺序与缩进格式无关。 适当使用注释,帮助理解程序。注释写在“/* */” 内,仅仅在源代码中出现,对源程序编译时将跳过注释语句,也就是注释语句对目标程序和可执行程序都没有任何影响。,程序书写格式举例。 下面程序可实现计算S=1+1/2!+1/3!+。+1/100!,每重循环体内的语句采用分级缩进格式书写,#include main() double sum=0.0,t,s; /* 定义变量类型和名称 */ int i,j; for (i=1;i=100;i+) t=1; for (j=1;j=i;j+) /* 内重循环,计算阶乘 */ t=t*j; printf (“%en“,t); /* 输出t的值 */ s=1/t; /* 计算阶乘的倒数 */ sum=sum+s; /* 求阶乘倒数的和 */ printf (“n%en“,sum); /* 输出结果 */ ,返回,C程序的编译和执行,C程序要经过编辑、编译、连接和运行四个步骤,才得到结果。 1、编辑 所谓编辑是指输入和修改C语言源程序,最后以文本文件的形式存放在磁盘上,文件名由用户自己选定,扩展名一般为“.c”,例如f1.c、example.c等。它是以ASCII代码形式输入和存储的,不能被计算机执行。 2、编译 编译是把已编辑好的C源程序翻译成可重定位的二进制目标程序。编译过程由编译程序完成。编译时编译程序自动对源程序进行句法和语法检查,当发现错误时,就将错误的类型和在程序中的位置在屏幕上显示出来, 此时应重新进入编辑状态,对源程序进行修改后再重新编译,直到无错为止。编译完成就自动形成二进制目标代码并对目标代码进行优化后生成目标文件。目标文件的名称由编译系统自动规定为和源文件同名,也可由用户另外指定。目标文件的扩展名后缀为“.obj”。,3、连接 经编译后得到的二进制代码还不能直接执行,因为每一个模块往往是单独编译的,必须把经过编译的各个模块的目标代码与标准模块(如标准函数库)连接后才能运行。 连接也称链接或装配,是用连接程序将编译过的目标程序和程序中用到的库函数连接装配在一起,得到具有绝对地址的计算机能直接执行的文件。扩展名由系统自动确定为“.exe”(例如f1.exe)。 4、运行 运行是将可执行文件投入运行,以获取程序的运行结果。在DOS操作系统提示符下直接键入可执行文件名,或在Windows操作系统下用鼠标双击可执行文件名即可。,C标识符 定义:用来标识变量、常量、函数等的字符序列 C标识符的分类: 关键字:系统定义,代表着固定的含义的,专用的 如:int,double,if,for 预定义标识符:系统预先定义并具有特定含义的标识符 如:printf(库函数名),scanf,define 用户标识符:用户对变量、函数、数组、文件等定义的标识符。 (abc,xy,stu,number1),用户标识符的命名 组成: 只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线 严格区分字母大小写 不能使用关键字 长度:最长32个字符 命名原则: 见名知意 不宜混淆 如数字l与字母l, 数字0与字母o,例:判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123,M.D.John,3days,#33,char,$123,ab,C语言的数据类型,数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作,C语言的基本数据类型,五种基本数据类型: 字符型char:以1个字节存放1个ASCII码字符。 整型int:以2到4个字节存放1个定点数,通常在vc6.0上为4个字节。 浮点型float:以4个字节存放1个浮点数。 双精度浮点型double:以8个字节存放1个浮点数。,类型修饰符,四种类型修饰符: signed(带符号) unsigned(无符号) long(长型) short(短型) signed、unsigned、short和long可用于char型和int型 long 还可以用于double型,int型:,最大:2147483647,最小:-2147483648,unsigned int型:,最大:4294967295,最小:0,常用基本数据类型,整型,字符型,实型,有,无,(signed)int,4,(signed)long,4,-21474836482147483647,说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:,-21474836482147483647,可知对不同数据类型占用的存储空间: charshort=intlong =floatdouble,求某一类型数据所占存储字节数,可用运算符: sizeof(类型关键字),结果显示: char:1Byte float:4Byte,注意事项,Exaple: main( ) printf(“char:%dByten”,sizeof(char); printf(“float:%dByten”,sizeof(float); ,在C程序中,字符型可与整型互相通用,输出结果: a,b,输出结果: 97,98,Example: main() main() char c1,c2; char c1,c2; c1=97;c2=98; c1=97;c2=98; printf(“%c,%cn”,c1,c2); printf(“%d,%dn”,c1,c2); ,不变,d,b 100,98,思 考 如果将例中char改成int,结果如何? 如果将c1=97改为c1=97+3,结果如何?,常量 定义:程序运行时其值不能改变的量(即常数) 分类: 符号常量:用标识符代表常量,常量,数值常量,整型常量 浮点型常量 字符常量 字符串常量,整型常量(整常数) 三种形式: 十进制整数:由数字09和正负号表示.如 123,-456,0 八进制整数:由数字0开头,后跟数字07表示.如0123,011 十六进制整数:由0x开头,后跟09,af,AF表示. 如0x123,0Xff,整型常量的类型 根据其值所在范围确定其数据类型 在整常量后加字母L或l ,认为它是long int 型常量,问题: 023 = ( )10 0x23 = ( )10 0Xff = ( )10,19,35,255,浮点型常量(实数或浮点数) 表示形式: 十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123. 指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3 ,123E2, 1.23e4 注:e-5 , 1.2E-3.5 非法,浮点型常量的类型 默认double型 在浮点型常量后加字母f或F,认为它是float 型,12.3103,123102,1.23104,aaa,38,字符常量 定义:用单引号括起来的单个普通字符或转义字符.,字符常量的值:该字符的ASCII码值,如 A65, a97, 048 , n10,如 a A ? n 101,错误:ABC “A” ” ,aaa,39,转义序列(转义字符): 反斜杠后面跟一个字符或一个代码值表示(指该数字转成十进制后对应的ASCII码字符),转义序列表,aaa,41,如 101 -A 012 -n 376 - x61 -a 60 -0 483 -(),例: A-101-x41-65,例 转义字符举例 main() printf(“101 x42 Cn“); printf(“I say:“How are you?“n“); printf(“C Programn“); printf(“Turbo C“); ,运行结果:(屏幕显示) A B C Isay:”How are you?” C Program Turbo C,例 main() printf(“Yb=n”); ,运行结果: 屏幕显示:= 打印机输出:,什么时候要使用转义字符?,转义字符只在特殊情况下才使用: 1.C程序中需要实现某些特殊打印或显示动作时 如 printf(“123t56n”); 2.C程序中需要打印或显示以下三个字符时 (斜杠) “ (双引号) (单引号) 如 printf(“Youre a ”bad egg!” ” ); 3.C程序中需要打印或显示ASCII表中非键盘字符时 如 printf(“ Look 7 and x80 !”);,注意:使用转义字符时,后的八进制或十六进制数不应大于char类型所允许的范围(十进制值255)。,显示: 123 56,显示: Youre a “bad egg!”,字符常量与字符串常量不同,字符串常量 定义:用双引号(“”)括起来的字符序列 存储:每个字符串尾自动加一个 0 作为字符串结束标志,例: char ch; ch=“A”;,问题(判断正误): char c=“China”; char c=China; char c=141; “China”占几个字节? 141占几个字节?,等于十进制数97 即字符a,符号常量 符号常量:用标识符代表一个常量 定义格式: #define 标识符 常量,如 #define PRICE 30,符号常量一般用大写字母表示 是宏定义预处理命令,不是C语句,运行结果:total=300,例 符号常量举例 #define PRICE 30 main() int num,total; num=10; total=num*PRICE; printf(“total=%d“,total); ,相当于: total=num*30;,符号常量只是简单地替换,运行结果:total=310,例 #define PRICE 30+10 main() int num,total; num=10; total=num*PRICE; printf(“total=%d“,total); ,相当于: total=num*30+10;,关于const限定 格式 const 数据类型 符号常量=常量; 如: const double pi=3.1415926; 注: 用const修饰过的变量,在程序期间值不能被修改! 是c语句,须用分号结束!,变量及其说明 概念:其值可以改变的量,实际上表示存储变量值的存储单元 变量名与变量值 变量定义的一般格式: 数据类型 变量1,变量2,变量n;,例: int x,y; /* 定义int型变量x、y */ float average; /* 定义float型变量average */ unsigned int z; /* 定义unsigned int型变量z */ double pi; /* 定义double型变量pi */ long m,n; /* 定义long型变量m,n */,决定分配字节数 和数的表示范围,合法标识符,变量的初始化,变量初始化: 定义时赋初值,变量的使用:先定义,后使用,例1 int student; stadent=19; /Undefined symbol statent in function main,例2 float a,b,c; c=a%b; /Illegal use of floating point in function main,变量定义位置:一般放在函数开头,变量定义语句和执行语句不能交叉书写,否则出错!,数据类型 变量名=常量;,整型变量 占字节数随机器不同而不同,一般占一个机器字 shortintlong 可用sizeof(类型标识符)测量,浮点型变量 float:占4字节,提供7位有效数字 double:占8字节,提供1516位有效数字,字符型变量 字符变量存放字符ASCII码 char与int数据间可进行算术运算,例 float a; a=111111.111; /* a=111111.1*/ double b; b=111111.111; /* b=111111.111*/,例 a=D; /* a=68; */ x=A+5; /* x=65+5; */ s=!+G /* s=33+71; */,没有字符串变量,字符串用字符数组存放,例 /*ch2_003.c*/ #define PRICE 12.5 main() int num=3; float total; char ch1,ch2=D; total=num*PRICE; ch1=ch2-A+a; printf(“total=%f,ch1=%cn”,total,ch1); ,运行结果: total=37.500000, ch1=d,运算符和表达式,学习运算符应注意: 运算符功能 与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型,算术运算和算术表达式 基本算术运算 基本算术运算符: + - * / % 结合方向:从左向右 优先级: - -* / % - + - (2) (3) (4) 说明: “-”可为单目运算符时,右结合性 两整数相除,结果为整数 %要求两侧均为整型数据,例 5/2 = -5/2.0 =,例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2,例 5/2 = 2 -5/2.0 = -2.5,例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 (),例2.2 计算用户键入的两个整数相除的商和余数。 #include main( ) int x,y; printf(“enter dividend and divisor:“); scanf(“%d,%d“, /* 输出余数 */ ,运行情况如下: enter dividend and divisor: 23,5 quotient 4 remainder 3,复合赋值赋值表达式 赋值运算符,运算符 运算名称 例 等价于 += 加赋值 a+=b a=a+b -= 减赋值 a-=b a=a-b *= 乘赋值 a*=b a=a*b /= 除赋值 a/=b a=a/b %= 取余赋值 a%=b a=a%b,说明: 结合方向:自右向左 优先级: 12 左侧必须是变量,不能是常量或表达式,赋值表达式的值与变量值相等,且可嵌套,赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型,例: a=12; a+=a-=a*a,例: int a=2; a%=4-1; a+=a*=a-=a*=3;,/a=-264 等价于a=a+(a=a-(a*a),/a=0 等价于a=a+(a=a*(a=a-(a=a*3),说明: 结合方向:自右向左 优先级: 14 左侧必须是变量,不能是常量或表达式,赋值表达式的值与变量值相等,且可嵌套,赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型,例 3=x-2*y; a+b=3;,例 float f; int i; i=10; f=i; 则 f=10.0,例 int i; i=2.56; /结果i=2;,例: a=b=c=5 a=(b=5) a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2),/表达式值为5,a,b,c值为5,/ b=5;a=5,/表达式值11,c=6,a=11,/表达式值10,a=10,b=4,c=6,/表达式值5,a=5,b=10,c=2,运算转换, 同类型数据之间进行算术运算时,其结果仍为同类型的数据。 不同类型的数据在一起运算时, 自动“向上”转换成同一类型,设 int x=3, y=5; float z=10.0; 表达式 x/y*z 结果为0.0,因为,x与y都是int型,x/y应为int型,即3/5结果是0,为什么?,char short unsigned short long unsigned long float double long double,赋值转换,运算结果存入变量时,自动向变量的数据类型看齐,详见表2.7说明。 例 char ch=a; int i=5; float f=10.0; double d=3.18; int result; 则执行 result= ch/i + f*d - (f+i);后, 变量result中存放数据值是,int型数,118,输出转换,变量或表达式的值按照输出格式符的规定形式输出,例 main() float x, i; x=3.6; i=x; printf(“x=%f,i=%d”,x,i); 结果:x=3.600000,i=3,精度损失问题,一般输出格式符应该与输出对象的类型一致,显式转换(强制转换) 一般形式:(类型名)(表达式) 例 (int)x % n /* 将x值强制转换为int型 */ (int)sqrt(double)n) /* 将n值转换为double型,以便求其平方根。平方根函数sqrt调用后的值转换为int型 */ 注意: (int)x/y与(int)(x/y)的区别,前者仅对x强制转换,后者则对表达式x/y的值强制转换。 强制转换得到所需类型的中间变量,原变量类型不变,强制类型转换常用于改变运算分量的类型,从而使运算能正确地运行,#include main( ) int i=3; int j=4; float f1=i/j; /* 结果为0.0 */ float f2=(float)i/j; /* 结果为0.75 */ printf(“3/4=%f or %f depending on the type used.n“,f1,f2); ,把i强制转换成一个float类型,以便执行浮点数除法运算,自增、自减运算 自增、自减运算符 + - 作用:使变量值加1或减1 种类: 前缀运算 +i,-i (值为i+1或i-1) 后缀运算 i+, i- (值为原i值,再执行i+1或i-1) 注意: +i,-i,i+, i- 都是表达式,应与变量i相区别,例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b;,/k=4,j=4,/k=3,j=4,/4,/3,/c=20,a=4,/c=15,a=4,说明: + - 不能用于常量和表达式,如5+,(a+b)+ + -结合方向: 自右向左 优先级:- + - -* / % -+ - (2) (3) (4),-i+ -(i+) i=3; printf(“%d”,-i+); /-3,例 -i+ i=3; printf(“%d”,-i+);,#include void main() int a=3; printf(“%d %d %d n“,+a,+a,+a); printf(“%d %d %d n“,a+,a+,a+); ,#include void main() int a=3,b,c; b=a+; c=+a; printf(“%d %d %d n“,a,b,c); ,逗号运算符和表达式 形式:表达式1,表达式2,表达式n 结合性:从左向右 优先级: 15 逗号表达式的值:等于表达式n的值 用途:常用于循环for语句中,例 a=3*5,a*4 a=3*5,a*4,a+5 例 x=(a=3,6*3) x=a=3,6*a 例 a=1;b=2;c=3; printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c);,/a=15,表达式值60,/a=15,表达式值20,/赋值表达式,表达式值18,x=18,/逗号表达式,表达式值18,x=3,/1,2,3,/3,2,3,例: #include main() int x,y=7; float z=4; x=(y=y+6,y/z); printf(“x=%dn“,x); ,运行结果:x=3,比较下面两个语句: printf(“%dn”,(3+5,15); /* 输出逗号表达式3+5,15的值15 */ printf(“%d,%dn”,3+5,15); /* 分别输出表达式3+5和15的值 */,运算符的优先级和结合性,C语言操作符的优先级和结合性,助记口诀: 单(单目运算)乘(* / %)加(+ -)移位() 大小( =)不等

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论