《上课C语言资料》PPT课件.ppt_第1页
《上课C语言资料》PPT课件.ppt_第2页
《上课C语言资料》PPT课件.ppt_第3页
《上课C语言资料》PPT课件.ppt_第4页
《上课C语言资料》PPT课件.ppt_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

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

文档简介

复习,2、C程序的上机步骤?,1、简单C程序介绍:,C程序是由 组成的。 main()叫 。 printf()叫 。 /* . */表示 。,编辑、编译、连接、运行。,函数,主函数,输出函数,注释部分,第二章 C语言的基本数据类型与表达式,2.1 C语言的语法基础 2.2 C语言的基本数据类型 2.3 常量和变量 2.4 运算符与表达式 2.5 数据类型转换,原码: 最高位为符号位,其余各位为数值本身的绝对值 反码: 正数:反码与原码相同 负数:符号位为1,其余位对原码取反 补码: 正数:原码、反码、补码相同 负数:最高位为1,其余位为原码取反,再对整个数加1,数值的表示方法原码、反码和补码,负数补码转换成十进制数:最高位不动,其余位取反加1,例 补码:11111001 取反:10000110 加1: 10000111=-7,数值的表示方法原码、反码和补码,2.1 语言的语法基础,特殊符号:通常由12个符号组成,主要用来表示运算符。,2.1.1 C语言字符集,C语言的基本符号可分4个类,归纳如下:,英文字母:大小写各26个,共计52个;,阿拉伯数:0、1、2、3、4、5、6、7、8、9 共10个数字;,下划线: _ ;,运算符:,算术运算符:+ - * / % + -,关系运算符: = = = !=,逻辑运算符: & | !,位运算符: & | ,条件运算符: ?: 和赋值运算符:=,其他分隔符: ( ) . , ;,2.1.2 标识符,概念: 就是用来标识变量名、符号常量名、函数名、类型名、文件名等的有效字符序列。,标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。,定义规则:,如: _1 year month student_name sum0 M.D.Jones $123 #a 3b ?c a=b,在C语言中,大小写字母不等效。因此,a和A,I和i,Sum和sum,分别是两个不同的标识符。,定义规则:,C语言对标识符的长度无规定。 ANSI C规定可识别的有效长度为31个字符,Turbo C默认识别32个。,用户自定义的标识符不能与保留字(关键字)同名。,定义规则:,在定义标识符时,建议遵循以下原则:,a) 尽量见名知意,以增加其可读性,例如sum , area , score , day , name , age 等,b) 变量名、函数名用小写字母, 符号常量用大写字母,c) 容易混淆的地方尽量避免使用容易用错的字符 0 (数字) O(大写字母) o (小写字母) 1 (数字) I (i 的大写字母) l (L的小写字母) 2 (数字) Z(大写字母) z (小写字母),2.1.3 关键字,概念: 就是具有特定含义的标识符,用户不能用来作自定义标识符。,C语言中的关键字较少,由ANSI标准推荐的关键字有32个。,与数据类型有关的(14): char int float double signed unsigned short long void struct union typedef enum sizeof,与程序控制结构有关的(12): do while for if else switch case default goto continue break return,与存储类别有关的: auto extern register static,2.1.3 关键字,2.2 基本数据类型,5,整型数据,值为5,算术运算,0.5,实型数据,值为0.5,算术运算,int,float,C语言的数据类型:,基本数据类型,整型,字符型,实型,有,无,说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:,2.3 常量和变量,2.3.1 常量,概念:在程序运行中,其数值不能被改变的量 分类:直接常量和符号常量 直接常量:是在程序中直接引用的数据。,分为:整型、实型、字符型、字符串,三种表现形式:,十进制形式:与数学上的整数表示相同。 例如: 12, -100, 0,八进制形式:在数码前加数字0 。 例如: 012=1*81+2*80=10(十进制),十六进制形式:在数码前加0X(数字0和字母X,大小写均可)。 例如: 0x12=1*161+2*160=18(十进制),直接常量(整型),十六进制的数码除了数字0-9外, 还使用英文字母a-f (或A-F)表示10-15。 如:0x1e、0Xabcdef、0x1000 但:0X2defg、0x100L都是错误的。,注意事项:,八进制的数码范围为0-7; 则:018、091、0A2 都是错误的数据表示方法。,直接常量(整型),二种表现形式:,十进制形式:由数字和小数点组成;,指数形式:由“十进制小数” + “ e(或E)” + “十进制数整数” 三部分组成。,例如: 3.4 4. .3,例如: 12.5e-6 表示12.510-6,十进制小数,e(或E),十进制数整数,直接常量(实型),注意事项:,小数点不能单独出现;,e或E的两边必须有数,且其后面必须为整数;,如:0. = .0 = 0 = 0.0 .,如: 6E0.2 e5 6E,直接常量(实型),二种表现形式:,用单引号括起来的一个字符;,用单引号括起来的由反斜杠()引导的转义字符。,如:A、 1、? 等。,如: n 101 x41,直接常量(字符型),转义字符表,字符形式,功能,n,换行,t 、V,横向跳格、,b 、r,坚向跳格,退格、,f,回车,、“,8进制数表示的ASCII码对应的字符,反斜杠、单引号、双引号,ddd,换页,xhh,16进制数表示的ASCII码对应的字符,一个字符的多种表示方法:,65D(十进制)=41H(十六进制)=101Q(八进制) 字符A可以表示为A、x41、101、65、0x41、0101。,要避免的错误:,表示单引号: 表示双引号:“ 表示斜线: ,直接常量(字符型),main( ),printf(”abc tde rf tg n“);,printf(“h ti b bjk“);,/* 注代表空格*/,设一个输出区占8列,试分析输出结果。,例:,直接常量(字符型),字符常量与字符串常量不同,定义:用双引号(“”)括起来的字符序列 存储:每个字符串尾自动加一个 0 作为字符串结束标志,例: char ch; ch=“A”;,注意:C语言中没有专门的字符串常量,如果想将一个字符串存放在变量中以便保存,必需使用字符数组,数组中的每个元素存放一个字符,将在数组一章中作介绍。,直接常量(字符串),特点:在程序中不能给它赋值。,概念:是用标识符来表示一个数据。,定义形式:,#define 标识符 常量数据,例如: #define PI 3.14159,如:2*2.3*PI 就等价于 2*2.3*3.14159。,符号常量,。,习惯上,符号常量名用大写,变量名用小写,以示区别。 符号常量不同于变量,它的值在其作用域内不能改变,也不能再被赋值。 使用符号常量的好处: 含义清楚 在需要改变一个常量时能够做到“一改全改”。,#define PRICE 30 main( ) int num, total; num =10; total = num* PRICE; printf(“total = %d”, total); ,例,符号常量,PRICE=50; ,概念:其值可以改变的量 变量名与变量值 变量定义的一般格式: 数据类型 变量1,变量2,变量n;,例: int a,b,c; float data;,决定分配字节数 和数的表示范围,合法标识符,2.3.2 变量,变量初始化:定义时赋初值,例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1;,变量的使用:先定义,后使用,例1 int student; statent=19; /Undefined symbol statent in function main,例2 float a,b,c; c=a%b; /Illegal use of floating point in function main,变量定义位置:一般放在函数开头,“先定义,后使用”的目的: 凡未被事先定义的,不作为变量名,这保证了程序中变量名使用的正确性。 每个变量被指定为一确定类型,在编译时就能为其分配相应的存储单元。 指定每一变量属于一个类型,这就便于在编译时,检查该变量所进行的运算是否合法。,“先定义,后使用”的目的: 凡未被事先定义的,不作为变量名,这保证了程序中变量名使用的正确性。 每个变量被指定为一确定类型,在编译时就能为其分配相应的存储单元。 指定每一变量属于一个类型,这就便于在编译时,检查该变量所进行的运算是否合法。,2.3.2 变量,整型变量 占字节数随机器不同而不同,一般占一个机器字 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; */,没有字符串变量,用字符数组存放,有符号基本整型 signed int 无符号基本整型 unsigned int 有符号短整型 signed short int 无符号短整型 unsigned short int 有符号长整型 signed long int 无符号长整型 unsigned long int,2.3.2 变量,例 #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.2 变量,例 求圆的面积 #define PI 3.14159 main( ) float s, r; scanf(“%f“, /* 输出变量s 的值(面积) */ ,2.3.2 变量,变量的溢出,main() int a, b, c, d; unsigned u; a=12; b=-24; u=10; c=a+u; d=b+u; printf(“a+u=%d,”,c); printf(“b+u=%d”,d); 运行结果: a+u= 22,b+u=-14,main() int a b; a=32767; b=a+1; printf(“%d, %d”, a, b); 运行结果: 32767,-32768 原因:超出整型变量范围,溢出 解决:将a,b变量改为long型整数,小 结,1、数据类型的引入及意义,2、符号常量的定义形式和引入符号常量的意义,3、变量的定义、赋值、初始化,运算符的分类,分类依据:运算符的功能,分类:,算术运算符,关系运算符,逻辑运算符,赋值运算符,按位运算符,其它运算符,表达式:,是由操作数和运算符组成的序列。,2.4 运算符与表达式,+:加法,-:减法,*:乘法,/:除法,%:取余或模,3+5=8 1+1=2 +3,3-5=-2 1-1=0 3.-5=-2.0,3*5=15 ab a.b ,3/5=0 3./5=0.6 3/5.=0.6,3%5=3 a%b=a-n*b a、b必须为整数 5%(-3) =5-(-1)*(-3)=2 (-12)%(-5) =(-12)-2*(-5)=-2,算术运算符,2.4.1 算术运算符和算术表达式,定义 用算术运算符和括符将操作数连接起来的式子。,优先级:,( ),* / %,+ -,结合性,自左向右,与数学上一致。,表达式的值:,数值型:int、long、unsigned、double,算术表达式,结合性是指同级运算时运算符的结合方向。 如 a#b#c (#代表某一运算符) 若先运算a#b,再将其结果与c运算, 称为左结合性;从左至右运算规则 若先运算b#c,再将a与其结果运算, 则称右结合性。从右至左运算规则,例2-4:已知: float a=2.0; int b =6,c =3; 求解: a*b/c-1.5+ A +abs(-5)=?,12.0/3,4.0 - 1.5,2.5,+65(int),67.5,5,72.5,算术表达式,+i,-i,先增(减)1,再使用i,i+,i-,先使用i,再增(减)1,单独使用时,+i;,等 价,i+;,等 价,i=i+1;,j=+i;,j=i+;,i=4; j=4;,i=4; j=3;,自增与自减运算符 (难点),若i的初始值为3,结合性:,自右向左,例:,i = 2; j = -i+;,分析: +、-、+(正号)、-(取负)是同级运算符,结合方向:自右向左。,-i+等价于-(i+),对于括号内的自增运算,又要先使用i,再使i增加1。,运算结果: i的值为3,j的值为-2。,自增与自减运算符 (难点),例5,main() int i,j,k1,k2,k3,k4,k5; i=3; k1=(i+)+(i+)+(i+); printf(“k1=%d,%dn“,k1,i); i=3; k2=(+i)+(+i)+(+i); printf(“k2=%d,%dn“,k2,i); i=3; j=4;,例5 (续),k3=i+j; printf(“k3=%dn“,k3); i=3; j=4; k4=(i+)+j; printf(“k4=%dn“,k4); i=3; j=4; k5=i+(+j); printf(“k5=%dn“,k5); i=3; printf(“%d,%dn“,i,i+); ,运行结果: k1=12 k2=15 k3=7 k4=7 k5=8 4,3,: 小于 ,53, 35,=: 小于等于,5=3,3=5,: 大于,53,35,=: 大于等于,5 =3,3 =5,=:等于,5=3,!=: 不等于,5!=3,2.4.2 关系运算符和关系表达式,关系运算符,关系运算概念:比较运算,比较两个操作数, 看是否满足给定的关系。,用关系运算符将表达式连接起来的式子,优先级, =,高 低,= !=,结合方向:,自左向右,表达式的值,关系成立,即为真,结果为1;,关系不成立,即为假,结果为0;,算术 运算符,高 低,C语言中,真:非0值,假:0值,关系表达式,2.4.2 关系运算符和关系表达式,! 逻辑非,一元运算符,运算规则:取反,真,假,假,真,& 逻辑与 ,又称逻辑乘。,运算规则:两个操作数均为真,结果为真。,| 逻辑或 ,又称逻辑加。,运算规则:只要两个操作数有一个为真,结果为真。,逻辑运算符,2.4.3 逻辑运算符和逻辑表达式,用逻辑运算符将表达式连接起来的式子。,优先级,关系运算符,&逻辑与,高 低,算术运算符,高 低,!逻辑非,高 低,|逻辑或,高 低,结合性,!:自右向左,&、|:自左向右,逻辑表达式,逻辑表达式,逻辑运算真值表,C语言中 运算量: 0表示“假”, 非0表示“真”; 运算结果: 0表示“假”, 1表示“真”。,int a=5; float b=3.5;,!a,0,!b,0,a&b,1,a|b,1,!a&!b,0,例2-5:,逻辑表达式,注 意:,在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。,逻辑表达式,例2-6:,a=0; b=1; c=2; d=a+,d=(a+),运算结果: d=0,a=1,b=1,c=2,a & b & c,求解方法:只有a为真(非0),才需要判断b的值,只有a和b都为真,才需要判断c的值。只要a为假,就不必判断b和c,运算立即中止。,a | b | c,求解方法:只要a为真(非0),就不必判断b和c;只有a 为假,才判断b;a和b都为假,才判断c。,例2-7:,a=0; b=1; c=2; d=a+|b+|- -c;,d=(a+)|(b+)|(- -c);,运算结果: d=1,a=1,b=2,c=2,赋值运算符,定义:= (数学上的等号),功能:将一个表达式的值赋给一个变量。,赋值表达式,用赋值运算符将变量和表达式连接起来的式子,形式: =,求值规则: 将“=”右边表达式的值赋给左边的变量。,结合性:自右至左,2.3.4 赋值运算符和赋值表达式,C语言的数据类型:,例2-8:,(1) x=(y=12)/4,y值为12,x值为3,表达式的值为3,(2) x=y=12/4,y值为3,x值为3,表达式的值为3,(3) x=(y=12/4),y值为3,x值为3,表达式的值为3,(4) (x=y)=12/4,该赋值运算符左边不是变量,而是一个表达式 ,赋值表达式,复合赋值运算符,*=、/=、%=、+=、-=、=、&=、=、=,共10个 由赋值运算符与算术、位移、位逻辑运算符组成。,复合运算符是一个运算符,但功能上,是两个运算符功能的组合。,例2-9:,a+=b 相当于 a=a+b,a*=b+c 相当于 a=a*(b+c),a=2; a+=a*=a;,条件运算符,有两个符号:?、:,它与三个操作数组成三元运算,一般形式:, ? :,求值规则和表达式的值:,求解表 达式1,真(非0),求解表达式2,假(0),求解表达式3,表达式 的值,其它运算符,优先级:,逻辑 条件 赋值,结合性:,自右至左,例2-10:,int max,a=5,b=3; max=ab?a:b,条件运算符,逗号运算符,形式:,逗号表达式1,逗号表达式2,逗号表达式n,求值规则:,从左至右依次计算各表达式的值,优先级:,最低,结合性:,自左至右,表达式的值:,最后一个表达式的值。,例2-11: a b y 逗号表达式 y=a=4,b=5,a+b; 4 5 4 9 y=(a=4,b=5,a+b); 4 5 9 9 y=(a=4,b=5),a+b; 4 5 5 9 y=a=(4,b=5),a+b; 5 5 5 10,注意:,C语言常用逗号作为分隔符, 例如:,int a=3,b=4,c=5;,printf(“%d,%d,%d“, a,b,c);,printf(“%d,%d,%d“,a,(a,b,c),c);,逗号运算符,求字节运算符,形式:,sizeof 变量名 sizeof (类型名),功能:,求得变量或某种数据类型所需的字节数。,运算结果:,整型数,例 2-13:,int a;float x;,sizeof a,sizeof x, sizeof(int),sizeof(float),位运算符的运算功能,只有求“反”()为单目运算符,其余均为双目运算符。位运算的对象只能是整型或字符型数据,(1)“按位取反”运算() 运算符是位运算中唯一的一个单目运算符,运算对象应置于运算符的右边。 其运算功能是把运算对象的内容按位取反:即,每一位上的0变1;1变0。 例如:表达式0115是将八进制数115按位求反。首先转换成二进制形式来表示: 01001101 结果:10110010,位运算符的运算功能,(2)“左移”运算() 左移运算符是双目运算符。运算符左边是移位的对象;右边是整型表达式,代表左移的位数。左移时,右端(低位)补零;左端(高位)移出的部分舍弃。 例如: char a=6,b; b=a2; 用二进制数来表示运算过程如下: a : 00000110 (a=6) b=a2 : 00011000(b=24=4*6),位运算符的运算功能,左移时,若左端移出的部分不包含二进制数1,则每左移一位,相当于移位对象乘以2。 如: char a=64,b; b=a2; 移位情况如下: a : 01000000(a=64) b=a2 : 00000000(b=0) 当a左移两位时,a中唯一的1被移出了高端,从而使b的值变成了0。,位运算符的运算功能,(3)“右移”运算() 右移运算符的使用方法与左移运算符一样,所不同的是移位方向相反。右移时,右端(低位)移出的二进制数舍弃;左端(高位)移入的二进制数分两种情况;对于无符号整数和正整数,高位补0;对于负整数,高位补1。 例如:(假设int型数据占2字节) int a=-071400,b; b=a2;,位运算符的运算功能,用二进制数表示的运算的过程如下: 符号位 a的二进制原码表示 : 1111001100000000 a的二进制补码表示 : 1000110100000000 b=a2 : 1110001101000000 (b的二进制补码表示) b的二进制原码表示 : 1001110011000000 b的八进制数 : 016300 和左移相对应:右移时,若右端移出的部分不包含有效数字1,则每右移一位相当于移位对象除以2。,位运算符的运算功能,(4)“按位与”运算(&) 运算符&的作用是:把参加运算的两个运算数,按对应的二进制位分别进行“与”运算,当两个相应的位都为1时,该位的结果为1;否则为0。 例如,表达式12&10的运算如下: 12: 00001100 & 10: 00001010 结果: 00001000,位运算符的运算功能,特征:任何位上的二进制数,只要和0“与”,该位即被屏蔽(清零);和1“与”,该位保留原值不变(“与”为0,“与”1不变例如,设有:char a=0322;,则a 的二进制数为:11010010;若要保留a的第5位,只需和这样的数进行“与”运算,这个数的第5位上为1,其余位为0。其运算过程如下: a : 11010010 &020 : 00010000 a&020: 00010000,位运算符的运算功能,5)“按位异或”运算() 异或运算的规则是:参与运算的两个运算数中相对应的二进制位上,若数相同,则该位的结果为0;数不同,则该位的结果为1。 例如: 00110011 11000011 结果 11110000,位运算符的运算功能,特征:数为1的位和1“异或”结果为0(最低的两位);原为0的位和1“异或”结果就为1(最高的两位);而和0“异或”的位其值均未变。利用“异或”运算的这一特征,可以使一个数中某些指定位翻转而另一些位保持不变。 例如,设有: char a=0152; 若希望a的高四位不变;低四位取反,只需将高四位分别和0“异或”;低四位分别和1“异或”即可。 a 01101010 017 00001111 a017 01100101,位运算符的运算功能,(6)“按位或”运算(|) “按位或”的运算规则是:参加运算的两个数中,只要两个相应的二进制位中有一个为1,该位的运算结果即为1;只有当两个相应位的数都为0时,该位的运算结果才为0。(“或”1为1,“或”0不变) 例如: 0123 : 01010011 014 : 00001100 0123|014: 01011111 利用“按位或”运算的操作特点,可以使一个数中的指定位置1,其余位不变。即:将希望置1的位与1进行“按位或”运算;保持不变的位与0进行“按位或”运算。例如:若想使a中的高四位不变,低四位置1,可采用表达式:a=a | 017。,位运算符的运算功能,(7)位数不同的运算数之间的运算规则 由前已知:位运算的对象可以是整型(long int或 int)和字符型(char)数据。当两个运算数类型不同时位数也会不同,则: 1)先将两个运算数右端对齐。 2)再将位数短的一个运算数往高位扩充,即:无符号数和正整数左侧用0补全:负数左侧用1补全;然后对位数相等的这两个运算数,按位进行位运算。,位运算符的运算功能,C语言允许整型、实型、字符型数据进行混合运算。,有3种转换方式:,自动转换,赋值转换,强制转换,2.5 数据类型转换,int,unsigned int,long int,double,float,char, short,存储长度较短,存储长度较长,总趋势:,2.5.1 类型自动转换(隐式转换),例2-13:,int x=2;float y=1.6;char c=A;,c+x*y=?,65(int),2(int),1.6 (double),3.2(double),68.2(double),2.5.1 类型自动转换(隐式转换),【例2-7】 强制类型转换 #include “stdio.h“ void main( ) float x=5.5; printf(“%dn“,(int) x); printf(“%fn“,x); ,强制转换,强制类型转换。 #include void main() float x; int i; x; i(int)x; printf(“x=%f, i=%dn“,x,i); ,说明:有两种类型转换,一种是在运算时不必用户指定,系统自动进行的类型转换,如3+6.5。第二种是强制类型转换。当自动类型转换不能实现目的时,可以用强制类型转换。,运行结果: x3.600000, i=3,在赋值时,将赋值符右边值的类型转换成与其左边变量类型一致的类型。,几种情况:,实型,整型(字符型),取整数部分,去掉小数部分,整型、字符型,实型,补足有效位,例:int x=23.54 23(取整数部分) float f=23; 23.00000(7位) double f=A; 65.00 000 000 000 000(16位),2.5.2 赋值转换,对char、int、short、long、unsigned型数据,赋值符右边数据(a位),赋值符左边变量(b位),a=b 原样照赋,ab 截断高a-b位,送低b位,ab,无符号数据或正数,有符号数据,高a-b位全补0,有符号变量,符号扩展,符号扩展,符号位为0,剩余的高位补0,符号位为1,剩余的高位补1,2.5.2 赋值转换,形式:,(类型名)表达式,注意:,强制类型转换时,得到所需类型的值,原来变量的类型和值都不变。,例: int a=2, b=5, y; float x;,x=(float)b/a,2.5,x=(float)(b/a),2.0,2.5.3 强制转换,y=b/a,2,变量的定义,整型 int(-32768 +32767) long(-2147483648 +2147483647) unsigned int(0 +65535),实型 float double,字符型 char,第二章 小结,自增自减运算符,a+b+c+,(a+)+(b+)+(c+),常见运算的优先级别(参见附录2),逻辑非!,算术运算符,关系运算符,逻辑与、或,赋值运算符,高 低,第二章 小结,第1章 C语言程序设计基础,1.1.1 位进计数制及不同数制之间的转换,1. 二进制数,进位计数制是一种计数的方法,最常用的是十进制计数法。一个任意的十进制数都可以表示为: anan-1a0.b1b2bm 含义:an10n+an-110n-1+a0100+b110-1+b210-2+bm10-m,1.1 基础知识,例如:101101.012125+024+123+122+021+120+02-1+12-245.2510 其中数的下标表示该数的基数r,就是二进制的101101.01与十进制的45.25是等值。 N位二进制数可以表示2n个数,例如3位二进制数可以表示8个八进制数,而4位二进制数可以表示十

温馨提示

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

评论

0/150

提交评论