




已阅读5页,还剩92页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,第一章 C语言概述,北京大学计算机系 代亚非,2,算法和程序初步,例1.1求一个班学生的平均成绩。设A等(85分)12人,B等(70分)16人,C等(60分)6人,D等(按50分计算)5人。如图1.3,开始,A=12,B=16,C=6,D=5,SUM=85A+ 70B+C60+ D50,AVER=SUM/(A+B+C+D),输出AVER的值,结束,A,A,3,算法和程序初步,例1.2 输出一个数的绝对值。,开始,输入 X,X=0吗?,Y,N,结束,输出 -X,输出 X,4,算法和程序初步,例1.3 输入10个数,把其中的正数输出。,开始,N=0,N10吗?,X=0吗?,N=N+1,输出 X,输入 X,N,结束,Y,Y,5,算法和程序初步,例1.4 输入10个数,求它们的平均值。,6,算法和程序初步,例1.5 输入50个学生的成绩,统计出得优秀的人数,7,算法和程序初步,课堂练习 1、对一个班40个学生逐个检查,将身高1.60米以上的学生挑出来。 2、求Y的值,X由用户给出 1 (x0) 3、求1+3+5+99,8,算法和程序初步,1、对一个班40个学生逐个检查,将身高1.60米以上的学生挑出来。,9,算法和程序初步,2、求Y的值,X由用户给出 1(x0),10,算法和程序初步,3、1+3+5+99,11,简单的C程序介绍,例1.5 main() printf(“This is a c program”); ,例1.6 main() /*求两个数之和*/ int a,b,sum; a=123;b=456;sum=a+b; printf(“sum is %dn”,sum); ,sum is 579,This is a program,12,简单的C程序介绍,main() 是主函数,一个C程序只有一个主函数 /* */ 是注释行,编译系统不对其进行分析 int a,b,sum; 在C中,变量必须先定义,后使用 printf()也是一个函数,它被主函数调用,()中是参数. printf(“sum is %dn”,sum);C语言是有格式输出.,13,第二章 数据类型、运算符与表达式,14,C 的数据类型,15,常量与变量,常量和符号常量 在程序运行过程中,其值保持不变的量。 1,0,123为整型常量 4.6, 1.23为实型常量 a, d 为字符常量 #define PRICE 255 A=PRICE*B+6 C=PRICE+C/120 . E=165/PRICE+A*C PRICE是标识符,亦代表常量,叫符号常量 习惯上用大写字母表示。,A=255*B+6 C=255+C/120 . . E=165/255+A*C,16,常量与变量,变量 在程序运行过程中其值可以改变的量。 变量有自己的名字,一个变量对应一定的内存存储单元。 例如sum=10 sum=20 sum 所对应的内存单元的内容不再是10而是20。 变量名:以字母或下划线开头,后续字母、数字或下划线。,17,常量与变量,合法的变量名 由字母、数字、下划线组成,不能用保留字,不能数字开头 例如:average, abd, a , s2, student_name, _init 不合法的变量名:M.D.John, 1a, #33, ab 习惯上用小写字母表示 在C中标识符通常可以写任意长,但有些系统只识别前8个。 将名字反映变量的含义:如:sum,name等,而不要使用a,b,c,d等,18,整型数据,整型常量 十进制整数:123,-456,0 八进制整数:以0开头的数据,如:-011,0167 十六进制整数:以0x开头的数据,如:0x123 根据数据的数值的大小,分配相应的内存空间。 例: main() int a; a=012+0x12+12; printf( “%dn”,a); ,40,19,整型数据,整型变量(常用的) 基本型:以int表示 长整型:以long 表示 无符号型:只能存放正整数,它的表示是在上述三种类型之前加上unsigned, 如: 例如 int sum,long distance, unsigned x,y;,20,整型数据,每种类型所占内存空间和表示的数的范围: 数据类型 所占位数 数的范围 int 16 -3276832768 long 64 -2147483648 2147483648 unsigned int 16 065535 unsigned long 32 04294967295,21,整型数据,整型变量的定义 对变量的定义一般放在函数的开头部分,例2.1 main() int a,b,c,d; unsigned u; a = 12; b =24; u =10; c = a+u; d = b+u; printf(“a + u = %d, b + u = % dn”, c, d); ,不同类型的数可以直接运算,a+u = 22, b+u =14,22,实型数据,实型常量 实型数又称浮点数。它有两种表现形式: 十进制形式(必须包含小数点)。 如:0.123、.123、123.0、123.、0.0.都是合法的十进制数表示。 指数形式(用exx来表示十的幂次方) 如:123e3或123E3都表示123103。,23,实型数据,实型变量 C的实型变量分为单精度和双精度两种。 单精度占4字节,提供7位有效数字,表示数的范围为10381038。 双精度占8字节,提供1516位有效数字,范围为1030810308。 实型变量的定义 用float表示单精度,double表示双精度 如:float x,y; double z;,24,实型数据,实型常量不分float和double,根据范围赋值给相应的变量。 如:float a;double b; a=111111.111; b=111111.111 a中实际存储的是111111.1 (7位有效) b中实际存储的是111111.111 (全部有效),25,字符型数据,字符型常量 用单引号括起来的单个字符 如 a, x, D, # 。 一些特殊的字符常量 以“”开头的字符序列,有特殊的含义,叫转义符。 例2.2 n表示换行。,26,字符型数据,字符变量 一个字符变量只能存放一个字符。它的定义形式如下:char c1,c2; 字符变量的赋值形式如下: c1= a; c2= b;c3=101; 一个字符占一个字节。 字符数据的存储形式 在内存中字符变量的存储形式是ASCII码。,27,字符串型数据,字符串常量 用双引号括起来的字符序列。如: “How do you do”, “CHINA”, “a”, “$ 123.34” 等 字符串可以一次输出如: printf(“How do you do”); 注意 a是字符常量,“a”是字符串常量,二者不同。,28,变量初赋值,在变量定义的同时可以为变量赋初值。如: int a=3; (相当于 int a; a=3;) float f = 3.56; char c = a; int a,b,c = 5 ; 表示只给c赋初值。 (相当于int a,b,c; c = 5;),29,各类数值间的混合运算,不同类型的数据(整型、实型、字符型)可以进行混合运算。 如10 + a + 1.5 8765.1234 * b 必须首先将它们转换成同一类型的数值。都变成双精度。 转换原则是由低向高转换,运算结果为最高级别的类型。,30,各类数值间的混合运算,如:10 +a + i * f - d/e,int,double,double,double,+,double,31,算术运算符和算术表达式,算术运算符和算术表达式 基本的算术运算 、*、% % 是模运算,既求余运算,要求整数。 如7%4的结果是3。 说明: 5/3的结果仍是整数,小数部分被忽略。 5.3/3或5/3.0的结果为double型。 什么是表达式? 用算术运算符将运算对象按C的语法规则连接起来的式子叫算术表达式。 例如:a * b/c1.5+a,32,优先级(算术运算): () * / % + 在同一级别中,采取由左至右的结合方向。如:a-b+c相当于(a-b)+c,算术运算符和算术表达式,33,2.8 算术运算符和算术表达式,自增、自减运算符:使变量的值加1或减1。 如:i, i 在使i之前,先使i的值加(减)1 i, i 在使i之后,再使i的值加(减)1 例如:i的值为3,则 j= + + i; j的值为4,i的值为4 j= i + +; j的值为3,i的值为4 又如: printf(“%d”, +i); 输出结果为4 printf(“%d”,i+); 输出结果为3 注意:()和()只能用于变量,34,2.9 赋值运算符和赋值表达式,复合的赋值运算 在赋值符号前加上其它运算符号则构成复合赋值运算 例如: a + = 3; 等价于a = a + 3; x * = y + 8; 等价于x = x * ( y + 8 ); x % = 3; 等价于x = x % 3;,35,2.9 赋值运算符和赋值表达式,练习:int a=12;求下列符合运算的结果,aaa * a (设a为12),aaa * a (a为12-12 * 12=-132),a-132,a a(-132),a-264,36,本章要点,1.常用的数据类型 整型(-3276832767)、实型、无符号、字符、字符串 2、定义变量,使用变量 3、转义符(重点、n,aaa) 4、类型转换 由低向高 系统自动 用户强制 5、自增、自减 6、表达式 7、复合运算,37,第三章 最简单的C程序设计,38,C语言概述,例 求园的面积 #DEFINE PI=3.1415926 main() float r,s; r = 20; s = r * r * PI; printf (“area=%f ”,s); ,area=1256.637,39,3.3赋值语句,赋值表达式后面加上分号,构成赋值语句. 功能:将数据赋给变量。 如: x=3.1; a=d+ 123 + b/d; 程序中基本的命令行必须是一个语句,表达式不能单独构成语句. 例如: d+ 123 + b/d 是一个表达式 a =d+ 123 + b/d;是一个赋值语句,40,3.4 输出语句,C语言通过调用四个系统函数来实现输入输出。printf(),scanf(),getchar(),putchar() putchar() 向终端输出一个字符。例如:putchar(c);,例3.1 #include “stdio.h” main() char a,b,c; a= B; b= O;c= Y; putchar(a);putchar(b);putchar(c); ,BOY,41,B O Y,3.4 输出语句,putchar(a);putchar(n); putchar(b);putchar(n); putchar(c);putchar(n); 输出其它转义字符 putchar(101); 输出 A; putchar(); 输出单引号 putchar(015); 使输出回车,不换行,42,3.4 输出语句,printf函数 可以按规定格式向终端输出任意类型的数据,一般格式: printf(控制格式,输出列表),被输出的数据,可以 是常量、变量、表达式。,用双引号括起的转换控制字 符串,它包括两种信息:,格式说明, 由%开始。如:%d,%f,%c,普通字符,要输出的字符,43,12,123,12345,3.4 输出语句,格式字符 (1)d格式符,用来输出十进制数。 %d 按整型的实际长度输出。 a=12, b=123, c=12345; printf(“%d,%d,%d”,a ,b ,c); 12,123,12345 %md 按给定长度m输出,数字不够长,左边补空格;数字长度大于m,按原长度输出。 printf(“%4d%4d%4d”,a ,b ,c);,44,3.4 输出语句,(5) c格式符,用来输出一个字符。如: char c= a ; printf(“%c”, c); a,printf(“%3c”,c);,例3.3 main() char c= a; int i=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,c,c); ,a ,97 a ,97,45,CHINA,3.4 输出语句,(6)s格式符,用来输出一个字符串。例如: %s:按实际长度输出 printf(“%s”,“CHINA”); CHINA %ms:当字符串长度小于m时,左边补空格。 printf(“%7s”, “CHINAn”); %-ms:当字符串长度小于m时,右边补空格 printf(“%-7s”, “CHINAn”); %m.ns 输出占m列,但只取字符串左端的n个, 并向右对齐。 %-m.ns m和n的含义同上,但向左对齐。若n大于m,取 m等于n.,46,3.4 输出语句,例3.4 main() printf(“%3s,%7.2s,%.4s,%-5.3sn”, “CHINA”,“CHINA”,“CHINA”,“CHINA”); ,47,3.4 输出语句,(7)f格式符,用来输出实数(单精度、双精度),以小数形式输出。 %f:不指定宽度,整数部分全部输出,输出6位小数。 单精度时,7位数字有效,双精度时,16位数字有效。,例3.5 main() float x,y; x=111111.111; y=222222.222; printf(“%f”,x+y); ,例3.6 main() double x,y; x=1111111111111.1111111111; y=2222222222222.2222222222; printf(“%f”,x+y); ,333333.328125,3333333333333.333010,48,3.4 输出语句,%m.nf 整个数据占m位,其中小数占n位,向右对齐。 %-m.nf 意义同上,向左对齐 main() float f=123.456; printf(“%f %10f %10.2F %0.2f %-10.2fn”, f,f,f,f,f); ,49,3.5 输入语句,getchar函数(字符输入函数) 一般格式:getchar(),例3.8 #include “stdio.h” main() char c; c=getchar(); putchar(c); ,putchar(getchar(); 输出从键盘得到的值,但不赋给任何变量,a,50,例3.9 main() int a,b,c; scanf(“%d%d%d”, ,3 4 5,3 4 5,3.5 输入语句,scanf 格式输入函数 一般格式:scanf(格式控制,地址列表) & 是地址符,表示a ,b,c三个变量在内存中的的地址. 连续输入多个数字时,空格、回车和tab键均可作为分割符,51,3.5 输入语句,格式说明 scanf(“%3d%3d”, 正确的输入为:4:5 不正确的输为:4_5 或 4,5,经常犯的错误 scanf(“%d%d”n”,&a,&b),52,例3.10 输入三角形的边长,求三角形的面积。area = s*(s-a)*(s-b)*(s-c) s = (a+b+c)/ 2,#include “math.h” main() float a,b,c,s,area; scanf(“%f,%f,%f”, ,输入为:3,4,6 输出为:a= 3.00, b= 4.00, c= 6.00, s= 6.50 area= 5.33,3.5 输入语句,53,3.5 输入语句,3.11从键盘上输入一个大写字母,分别用大小写字母形式输出,同时输出它们的ascii码。 main() char c1,c2; c1=getchar(); printf(“%c,%dn”,c1,c1); c2=c1+32; printf(“%c,%dn”,c2,c2); ,A ,65 a ,97,54,3.5 输入语句,例3,.12 求ax2+bx+c=0方程的根,a ,b,c 由键盘键入,设b2-4ac0 #include “math.h” main() float a,b,c,disc,x1,x2,p,q; scanf(“a=%f, b=%f, c=%f”, ,x1=-1.00 x2=-2.00,55,3.5顺序结构的程序设计,顺序结构:按语句排列的先后顺序执行,写在前面的语句先执行。 当计算需要引用一个变量时,该变量一定要事先定义、赋值,然后才能出现在表达式中.,A,B,传统的流程图,A,B,N-S图,56,本章要点,掌握C语言的一般结构 函数、说明部分、语句部分(执行部分) 输入输出语句的使用 对整数、浮点数、字符和字符串的输出格式要掌握。 顺序执行程序的特点 按照程序书写的顺序逐条执行,直至main()的最后一条语句。,57,第四章 逻辑运算和判断选取控制,58,关系运算实际上是两个量的比较,比较的结果只有两种可能:真、假 例如 a 3 ? 当a=5时,比较的结果为真, 当a=1时,结果为假。 有六种关系运算符 ( ,=,)( =, !=) 关于优先次序 ,=为同一级别, =和!=为同一级别. 在同一级别中,采取由左至右的结合方向.,4.1 关系运算符和关系表达式,59,4.1 关系运算符和关系表达式,例: ca+b c(a+b) ab!=c (ab)!=c a=bc a = (bc) (赋值运算级别最低) 关系表达式 用关系运算符将两个表达式连接起来,叫关系表达式。,60,4.1 关系运算符和关系表达式,合法的关系表达式: ab, a+bb+c, (a=3)(b=5),(a=3)(b=5), ab)(b=0的值为真(在计算机中记为1)。,61,4.1 关系运算符和关系表达式,例: a=3,b=2,c=1,则: ab的值为1 (ab)=c的值为真(即1) ab的值为1,c也为1, (ab)=c相当于1=1,结果为真,即(ab=c)的值为1。 b+cb中d的值为ab的值,为。 f=abc中的值为c的值,为。,62,4.2 逻辑运算符和逻辑表达式,逻辑运算-产生真假值的运算 逻辑运算符 & 逻辑与 | 逻辑或 ! 逻辑非 “&”和“|”是双目运算符,它要求两个运算量。 如:(ab) & (xy), (ab)|(xy)。 “!”是一元运算符,只要求一个运算量。如:!(ab),63,4.2 逻辑运算符和逻辑表达式,逻辑运算举例如下: a & b a,b同时为真,则表达式为真 a | b a,b只要有一个为真,表达式为真 !a a为真,则表达式为假 真值表,64,逻辑运算符的优先级 ! & | 逻辑运算符 “&” 和 “|” 低于关系运算符,“!”高于算术运算符 ab & xy 相当于: (ab) & (xy) a=b|x=y 相当于: (a=b) | (x=y) !a | ab 相当于: (!a ) | (ab),4.2 逻辑运算符和逻辑表达式,65,4.2 逻辑运算符和逻辑表达式,逻辑表达式 用逻辑运算符将关系表达式或逻辑量连接起来就是逻辑表达式。 在C语言中,当判断一个量的真假时,一切非数均被当成真来处理。例如: 若a=4,!a的值为 若a=4, b=5, 则a & b的值为 则a | b的值为 则!a | b的值为 4 & 0|2 的值为,66,4.2 逻辑运算符和逻辑表达式,逻辑运算的结果非即,参加逻辑运算的量可以是和非数。 区分下面的表达式中算术运算量,关系运算量和逻辑运算量 53 & 2| 83是两个数值间的比较,结果为 & 2是两个非值(逻辑量)间的运算,结果为 1|81|81|0 结果为 你是否对逻辑量有概念了? 对于一个变量,做算术运算时,关心的是它的实际数值, 做逻辑判断时,关心的是0还是非0,67,4.2 逻辑运算符和逻辑表达式,例:判断某一年是否是闰年。条件是 能被4整除,但不能被100整除 能被4整除,又能被400整除 用year表示年份,判断闰年的逻辑表达式为: (year%4=0 & year%100!=0)|(year % 400=0) 如果给year输入一个的值,使上面的表达式的值为时,则year所代表的年份就是闰年。 变换一下角度,如何判断year不是任年? (year%4!=0)|(year%100=0 & year % 400 !=0) 当year的值使表达式的值为时,则year所代表的不是闰年。,68,4.2 逻辑运算符和逻辑表达式,课堂练习 1. 判断一个点是否 落入圆形中 2. 求落入阴影部 分的任意一点 (小园的半径为1.),x*x+y*y=100,(sqr(x-2)+sqr(y-2)=1)| (sqr(x-2)+sqr(y+2)=1)| (sqr(x+2)+sqr(y-2)=1)| (sqr(x+2)+sqr(y+2)=1),69,4.3 if 语句,if用来判断给定的条件的真假,并决定执行哪一种操作。 if语句的三种形式 1. if 语句 条件满足时执行表达式后面的语句,然后继续执行以下的语句。 条件不满足时,越过if表达式后面的语句,往下执行. 例如:如果输入的是正数,则打印出来。 if (x0) printf(“%d”,x);,70,P,Y,N,A,B,4.3 if 语句,2. if (表达式) 语句1 else 语句2 条件满足时执行语句1,然后继续执行if以下的语句。 条件不满足时,执行语句2,然后继续执行if以下的语句。 例如:输出两个数中较大的一个 if (xy) printf(“%d”,x) else printf(“%d”,y);,71,4.3 if 语句,3. if 语句1; else if 语句2; else if 语句3; else if 语句4; else 语句5,商场促销, 购物500元以上,8折 购物300元以上,85折 购物100元以上,9折 购物50 元以上,95折 购物50元以下,不打折 设:消费量为 money 折扣为 cost 实际花费 price,72,4.3 if 语句,例:根据消费量,计算优惠率。 if (money500) cost=0.2; else if (money300) cost=0.15; else if (money100) cost=0.1; else if (money50) cost=0.05; else cost=0; price=money-(money*cost); 另外一种写法: if(money500) cost=0.2; if(money300) cost=0.15; if(money100) cost=0.1; if(money50 ) cost=0.05,else cost=0; (这样写对不对? 为什么?),cost=0;,73,4.3 if 语句,说明: 表达式指的是关系表达式或逻辑表达式,条件满足指的是表达式的值为真,即表达式的值是一个非值。例如: if (3) printf(“O.K”); 输出O.K (永真) if(a) printf(“%d”, a); 输出97 (永真) if(0) printf(“false”); (永假) if的条件满足后执行的语句并非指单一的一条语句,可以是多个语句,只要用 括起即可。,74,4.3 if 语句,if ( a+bc) ,例4.1输入两个数,按数值大小次序排列输出. main() float a,b,t; scanf(“%f,%f”, ,输入为 3.6, -3.2 输出为 -3.20, 6.20,75,4.3 if 语句,例4.2 输入三个数,按由小到大次序排列并输出。,76,4.3 if 语句,if 语句的嵌套 if ( ) if ( ) 语句1 else 语句2 else if ( ) 语句3 else 语句4,内嵌if,内嵌if,else总是从最内层开始结合 if ( a ) if ( b ) 语句1 else if ( c ) 语句2 else 语句3,什么条件执行语句1,什么条件执行语句2,3?,内嵌if,77,4.3 if 语句,if (a) if (b) 语句1 else if (c) 语句2 else 语句3,(与第一行的if配对,因为 限制了内嵌if语句的范围),什么条件执行语句1,什么条件执行语句2,3?,78,main() nit x,y; scarf(“%d”, ,x=4,y=1,4.3 if 语句,当条件区间不能一次划分时,要逐步划分。 第一种情况,先将x=0划分出来.,79,4.3 if 语句,条件运算符 max=(ab)?a:b; 条件表达式 当(ab)为真时,表达式取a的值 当(ab)为假时,表达式取b的值 条件运算符是三目运算符 表达式1 ? 表达式2 : 表达式 3 条件运算符的结合方向为“从右向左” 例如: ab?a:cd?c:d 相当于 ab?a:(cd?c:d) 如果a=1,b=2,c=3,d=4,则条件表达式的值为4。,80,4.3 if 语句,例4.4输入一个字符,判断大小写,如是大写,则转换成小写,输出。,main() char chi; scarf(“%c”, printf(“%c”,ch) ,if (ch=A & ch=Z) ch=ch+32 else ch=ch,81,4.4 switch 语句,一般形式: switch (表达式) case常量表达式1:语句1 case常量表达式2:语句2 case常量表达式n:语句n default :语句n+1 ,82,main() char grade; printf(“Enter your graden”); scanf(“%c”, default:printf(“errorn”) ,如: case 85100: prinf(“An”); (错,因为case不能表示范围,成绩不能表示成常数表达式)。,4.4 switch 语句,例:根据成绩等级打出成绩范围,83,4.4 switch 语句,关于switch的说明 switch后面的表达式一般情况下应该是有序型的量,目前学到的有序型是整数、字符。 常量表达式的值必须互不相同。 必须break语句用终止多个case连续执行,否则只要有一个case满足后,以下的语句全部无条件执行。,84,4.4 switch 语句,例: switch(grade); case A:printf(“85100n”);break; case B:printf(“7084n”); break; case C:printf(“6069n”);break; case D:printf(“60n”); break; default:printf(“errorn”) ,85,4.4 switch 语句,86,4.4 switch 语句,课堂练习 给出百分制成绩,要求输出等级 A, B, C, D, E. 90分以上为A, 8089分为B,7079分为C,6069分为D,60分一下为E 思路: 1. 不能写成case 80-89: ., 2. 将以上范围分别用常量表示 90-99以上-9, 80-898,. 3. 80/10,89/10,-8 4. 设分数为sc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年体育休闲广场健身俱乐部市场分析初步评估报告
- 药品调剂分装管理制度
- 药品间接销售管理制度
- 药店员工奖罚管理制度
- 药店督导各项管理制度
- 菜园农药使用管理制度
- 设备人员技能管理制度
- 设备单独使用管理制度
- 设备技术档案管理制度
- 设备检测检验管理制度
- 2025年全国新高考II卷高考全国二卷真题英语试卷(真题+答案)
- 《老年人认知记忆训练》课件
- 经济法学-001-国开机考复习资料
- 2024年广东省中考生物+地理试卷(含答案)
- 内蒙古自治区安全评价收费指导性意见(试行)(2006年)
- 食品中日文加工用语
- 小班化教育课堂教学.ppt
- ISO 铸件尺寸公差标准 ISO8062
- 巧克力糖自动包装机说明书
- 等效内摩擦角计算表
- 继承不动产登记具结书
评论
0/150
提交评论