版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1程序设计语言的基本规则包括程序设计语言的基本规则包括l 常数l 变量l 运算符l 表达式l 函数xaxfsin536 . 3)(什么是语言规则?什么是语言规则?为什么要有这些规则?为什么要有这些规则? 表达式常数变量函数运算符第1页/共55页2 常数3/53/5和3.63.6的存放空间是否相同? 变量a a如何表示?如何存放? 计算机如何知道3.63.6和a a之间的关系? 和sin x sin x 如何输入?如何存放? 计算机如何识别“=”=”?运算结果放在哪里?53计算机完成上述计算,首先要计算机完成上述计算,首先要解决数据的解决数据的输入输入和和存放存放问题问题问题第2页/共55页3数
2、据是程序处理的对象数据的存储数据的操作程序第3页/共55页4枚举类型enumC C数据类型基本类型构造类型指针类型空类型void定义类型typedef字符类型char整 型实型单精度型float双精度型double数组结构体struct共用体union短整型short长整型long整型int数据类型决定:数据类型决定:1. 数据占内存字节数数据占内存字节数2. 数据可以执行的操作数据可以执行的操作2.1 C C语言的数据类型语言的数据类型第4页/共55页52.22.2常量与变量常量与变量标识符:定义:用来标识变量、常量、函数等的字符序列组成:c 只能由字母、数字、下划线组成,且第一个字母必须是
3、字母或下划线c 大小写敏感c 不能使用关键字c 长度:最长31个字符命名原则: 见名知意 不易混淆 如1、l与I, o与0例:判断下列标识符号合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $12332个关键字:(auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static s
4、tructswitch typedef unsigned union voidvolatile whileC语言使用常量和变量来表示程序中使用的数据第5页/共55页6常常 量量 直接常量: 整型常量 实型常量 字符常量 字符串常量如 #define PRICE 30定义:程序运行时其值不能改变的量(即常数)v 分类:c符号常量:用标识符代表常量 定义格式: #define 符号常量 常量 一般用大写字母 是宏定义预处理命令,不是C语句例 符号常量举例#define PRICE 30main() int num,total; num=10; total=num*PRICE; printf(tot
5、al=%d,total);运行结果:total=300第6页/共55页7变变 量量编译程序根据变量定义为其分配指定字节的内存单元.地址int a=1, b=-3,c;abc2字节2字节2字节地址地址.内存1-3随机数概念:其值可以改变的量。数据及其存储空间的抽象。v变量名与变量值v变量定义的一般格式: 数据类型 变量1,变量2,变量n;v 变量初始化:定义时赋初值 例: int a, b, c; float data;决定分配字节数和数的表示范围以及可执行的操作合法标识符例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1;
6、 int x=y=z=1;例1 int student; stadent=19; /Undefined symbol statent in function main v 变量定义位置:一般放在函数开头main() int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn”,data);变量定义可执行语句main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%fn”,data);v 变量的使用:先定义,后使用Error:expression syntax i
7、n function main 第7页/共55页8变量的赋值变量的赋值 传送数据到变量所代表的存储单元。 赋值操作用“=”表示,一般形式为:变量=表达式,如: a = 1.0; /* 把1.0传送给a*/ a = a + 1; /*把a的值加上1后传给a*/ 用赋值号连接变量和表达式的式子称为赋值表达式。 赋值符号的运算方向为自右向左。 赋值表达式的值是被赋值后的变量的值。如: d=c=b=a=3+5赋值表达式第8页/共55页9& 整型常量(整常数)v三种形式:e 十进制整数:由数字十进制整数:由数字0909和正负号表示和正负号表示. .如如 123,-456,0123,-456,0e
8、 八进制整数:由数字八进制整数:由数字0 0开头开头, ,后跟数字后跟数字0707表示表示. .如如0123,0110123,011e 十六进制整数:由十六进制整数:由0 x0 x开头开头, ,后跟后跟09,af,AF09,af,AF表示表示. . 如如0 x123,0Xff0 x123,0Xff例 12 与 12L例 30000 为int型 65536 为long int 型v整型常量的类型e 根据其值所在范围确定其数据类型根据其值所在范围确定其数据类型e 在在整常量后加字母整常量后加字母l l或或L L,认为它是认为它是long int long int 型常量型常量问题:0123 = (
9、 )100 x123 = ( )100Xff = ( )1083291255问题:0123 = ( )100 x123 = ( )100Xff = ( )102.3 整型数据整型数据第9页/共55页10& 整型变量分类:e 有符号数和无符号数。 用关键字signed, unsigned指定。e 基本型、长整型和短整型。 用关键字int, long, short指定。e 字节数和表示范围定义 形式:数据类型 变量名 例子:int x, y; /int x, y; /* *定义定义x, yx, y为整型数为整型数* */ / unsigned short m, n; /unsigned s
10、hort m, n; /* *定义定义m, nm, n为无符号短整型数为无符号短整型数* */ /long a; /long a; /* *定义定义a a为长整型数为长整型数* */ /第10页/共55页11& 整型数据的存储方式short int long最高位为符号位,0为正,1为负以二进制补码的形式存放 如:10的补码 -10的补码00 00 00 00 00 00 10 1011 11 11 11 11 11 01 10第11页/共55页12例 整型数据溢出include void main() int a,b; a=32767; b=a+1; printf(“%d,%dn,a
11、,b);运行结果:32767, -3276801 11 11 11 11 11 11 11a:最大:3276710 00 00 00 00 00 00 00最小:-32768b:说明计算机在运算时,出现数据溢出情况,达到最大值后,又从最小值算起。& 整型数据的溢出第12页/共55页132.4 2.4 字符类型字符类型 在计算机中字符以ASCII存放以及运算。 其存储为1个字节 如:a的ASCII码为97,它在内存中的形式: 字符型变量定义方式:char a; 表示a为字符型,在内存中占用8位即1个字节0 1 1 0 0 0 0 1#include void main() int a =
12、 97; printf(“%c = %dn”, a, a);输出:a = 97第13页/共55页14转义字符及其含义:转义字符含义nvradddtbf“xhh转义字符含义换行垂直制表回车响铃单引号3位8进制数代表的字符水平制表退格换页反斜线双引号2位16进制数代表的字符 字符常量定义:用单引号括起来的单个普通字符或转义字符. 字符常量的值:该字符的ASCII码值如 101 -A 012 -n 376 - x61 -a 60 -0 483 -()例:A-101-x41-65如 A65, a97, 048 , n10如 a A ? n 101转义字符:反斜线后面跟一个字符或一个代码值表示例 转义字
13、符举例main() printf(101 x42 Cn); printf(I say:How are you?n); printf(C Programn); printf(Turbo C);运行结果:(屏幕显示)A B CI say:”How are you?”C ProgramTurbo C例 main() printf(“Yb=n”); 运行结果:屏幕显示:=打印机输出:第14页/共55页15字符常量与字符串常量不同 字符串常量定义:用双引号(“”)括起来的字符序列存储:每个字符串尾自动加一个 0 作为字符串结束标志a a 0例 a“a”例 空串 “”0例: char ch; ch=“A”
14、; 例: char ch; ch=A; h e l l o 0例 字符串“hellohello”在内存中没有字符串变量,用字符数组存放第15页/共55页16例 /*字符可用于算术运算*/ #define PRICE 10 main() int num=3; int total; char ch1,ch2=D; total=num*PRICE; ch1=ch2-A+a; printf(“total=%d,ch1=%cn”,total,ch1); 宏定义变量定义输出结果运行结果:total=30, ch1=d第16页/共55页17例 /*转义字符的使用*/ #include void main()
15、 printf(“ ab ct derftgn”); printf(“htibbj kn”); 12345678123456781234567812345678f g d e h j k abcdefghijk第17页/共55页18例 /*转义字符的使用*/ #include void main() printf(“ABbCDEFrGHn”); 在屏幕上显示结果为:?GHDEF第18页/共55页193.5 3.5 实数类型实数类型 实数在实数在C C语言中又称为浮点数。浮点数有且只有两种表示形式:语言中又称为浮点数。浮点数有且只有两种表示形式: 1 1、十进制形式。这种形式的数由整数部分、小数
16、点和小数部、十进制形式。这种形式的数由整数部分、小数点和小数部分组成。如:分组成。如:1.241.24,0.345 0.345 ,.222 .222 ,234.0 234.0 ,333. 333. ,0.00.0等。等。 2 2、指数形式。这种形式用来表示一些比较大的数值,它们是、指数形式。这种形式用来表示一些比较大的数值,它们是实数部分实数部分、字母字母E E或或e e、整数部分整数部分。表示形式:。表示形式: ee 要注意要注意: : 1 1 字母字母E E或或e e之前之后必须有数字之前之后必须有数字 2 2 之后的数字必须为整数之后的数字必须为整数 3 3 没有八进制或十六进制实数表示
17、法没有八进制或十六进制实数表示法 规范化浮点数:规范化浮点数: 在字母在字母e(E)e(E)之前的小数部分中,小数点左边应有一位(且只能有一位)之前的小数部分中,小数点左边应有一位(且只能有一位)非零数字。非零数字。3101233123E123.456=123.456e0=12.3456e1=1.23456e2=0.123456e31.234e4, 0e3, 1e, e2.344545e23, e4, 2.3e4.2第19页/共55页20浮点数浮点数的分类的分类数据类型数据类型别称别称解释解释内存中所占内存中所占字节数字节数表示数值的范围表示数值的范围float无单精度类型4字节 103810
18、38(正负数)double无双精度类型8字节10-30810308(正负数)float型的数据在内存中占4个字节的空间,double型的数据在内存中占8个字节的空间。float型的数据提供67位有效数字,double型的数据提供1516位的有效数字。 实型常量总是按double型处理。浮点数的存储方式符号位尾数指数(阶码)+.314159+1第20页/共55页21 实型常量(实数或浮点数) 表示形式:v 十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123.v 指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3 ,123E2, 1.23e4
19、, e-5 , 1.2E-3.5 实型常量的类型v 默认double型v 在实型常量后加字母f或F,认为它是float 型 实型变量 单精度(4字节,67位有效数字):float a; 双精度(8字节,1516位有效数字):double a; 第21页/共55页22程序清单程序清单 运行结果运行结果main() float x; x=7.1234567890; printf(%20.18f,x);7.123456954956054690_ x被赋值了一个有效位数为11位的数字。在printf语句中使用%20.18f指示printf语句在输出x时总长度应为20位,小数点位数占18位。输出的结果表
20、明float型的数据只接收7位有效数字。 第22页/共55页23sizeofsizeof运算符运算符用途:测定某一数据类型所占存储空间的长度。格式:sizeof(类型标识符)例子:#include void main() short s; long l; float f; char c; printf(short is %d bytesn, sizeof(s); /* short is 2*/ printf(long is %d bytesn, sizeof(l); /* long is 4*/ printf(float is %d bytesn, sizeof(f); /* float is
21、 4*/ printf(“char is %d bytesn, sizeof(c); /* char is 1*/第23页/共55页24基本数据类型小结基本数据类型小结类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short16065535有float321.2e-383.4e38有double642.2e-30
22、81.7e308有char8-128127无unsigned char 80255说明:数据类型所占字节数编译系统不同而不同:第24页/共55页253.6 运算符和表达式运算符(操作符)是表述最基本的运算形式的符号。表达式由运算符(操作符)和运算量(操作数)组成,用以描述对什么数据以什么顺序进行什么操作。任何有值的东西都可以称为表达式。第25页/共55页26C语言中的运算符(13类)算术运算符:+ - + - * * / % + - / % + -关系运算符: = != = !=逻辑运算符:! & |& |位运算符 : | & | &赋值运算符:= = 及其扩展
23、条件运算符:?:?:逗号运算符:, ,指针运算符:* * & &求字节数 :sizeofsizeof强制类型转换:( (类型)分量运算符:. -. -下标运算符:其它 :( )( )第26页/共55页27学习运算符应注意:学习运算符应注意:与运算量关系 要求运算量个数 要求运算量类型 运算符优先级别 结合方向 结果的类型第27页/共55页281 1 算术运算符和表达式算术运算符和表达式基本算术运算符: + - * / %结合方向:从左向右优先级: - -* / % - + - (2) (3) (4)(2) (3) (4)说明:“-”作为单目运算符时,右结合性两整数相除,结果为整
24、数%要求两侧均为整型数据+ - * /中任意数类型为实型,结果均为实型例 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 ()int a, b, c;float d;a*b/c-1.5(a*b)/c*1.5 第28页/共55页29自增、自减运算符自增、自减运算符 + -+ -作用:使变量值加1或减1 优先级与相同,右结合种类:前置 +i, -i (先执行i+1或i-1,再使用i值相当于i=i+1)后置 i+,i- (先
25、使用i值,再执行i+1或i-1)例例 j=3; k=+j; j=3; k=+j; j=3; k=j+; j=3; k=j+; j=3; printf( j=3; printf(“%d%d”,+j); ,+j); j=3; printf( j=3; printf(“%d%d”,j+); ,j+); a=3;b=5;c=(+a) a=3;b=5;c=(+a)* *b; b; a=3;b=5;c=(a+) a=3;b=5;c=(a+)* *b; b; /k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=4说明:+ - 不能用于常量和表达式,如5+,(a+b)+ -结合方向: 自
26、右向左优先级:- + - -* / % -+ - (2) (3) (4)例例 - -i+i+ i=3; printf( i=3; printf(“%d%d”,-i+); ,-i+); 例例 - -i+ i+ -(i+) -(i+) i=3; printf( i=3; printf(“%d%d”,-i+); ,-i+); /-3/-3 第29页/共55页302 2赋值运算符和表达式赋值运算符和表达式简单赋值运算符 符号: = 格式: 变量标识符 = 表达式 作用:将一个数据(常量或表达式)赋给一个变量a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例例 a=3;a=3; d=f
27、unc(); d=func(); c=d+2; c=d+2;复合赋值运算符复合赋值运算符 种类种类:+= -= += -= * *= /= %= /= %= = = = &= = |= &= = |= 含义:含义: var1 op= exp2var1 op= exp2 var1 = exp1 op exp2var1 = exp1 op exp2第30页/共55页31说明: 结合方向:自右向左 优先级: 14 左侧必须是变量,不能是常量或表达式例 3=x-2*y; a+b=3;例 int i; i=2.56; /结果i=2;例例: a=5+(c=6): a=5+(c=6) a=(
28、b=4)+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2) a=(b=10)/(c=2)/表达式值11,c=6,a=11/表达式值10,a=10,b=4,c=6/表达式值5,a=5,b=10,c=2 赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型 赋值表达式的值与变量值相等,且可嵌套例例: : a=12; a=12; a+=a-=a a+=a-=a* *a a/a=-264 等价于a=a+(a=a-(a*a)第31页/共55页323 3逗号运算符和表达式逗号运算符和表达式形式:表达式1,表达式2,表达式n结合性:从左向右 优先级: 15逗号表达式的值:等于表达
29、式等于表达式n 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; int z=4; x=(y=y+6,y/z); printf(x=%dn,x);
30、运行结果:x=3第32页/共55页334关系运算符和表达式关系运算符和表达式关系运算符 种类: = != 结合方向:自左向右 优先级别: 6-7 运算结果为:1 或 0例 int a=3,b=2,c=1,d,f; ab c= ab b+cb f=abc/表达式值1/表达式值1/表达式值0/d=1/f=0=!=优先级 (高)优先级 (低)第33页/共55页34关系运算注意事项:关系运算注意事项:例 若a=0; b=0.5; x=0.3; 则 a=x0 结果为 A100 结果为10应避免对实数作相等或不等的判断如 1.0/3.0*3.0=1.0 结果为0例 注意区分“=”与“=”int a=0,b
31、=1;if (a=b) printf(“a equal to b”);else printf(“a not equal to b”);a equal to b(a= =b)a not equal to b第34页/共55页355逻辑运算符和表达式逻辑运算符和表达式ab!a!ba&ba|b真假真假假假真真逻辑运算符种类: ! & |逻辑运算真值表C语言中,运算量: 0表示“假”, 非0表示“真”, 运算结果: 0表示“假”, 1表示“真”,真假假假假假真真假假真真真假真真第35页/共55页36! & | 高低例 a=x & xb&xy a=b|x=y !a
32、|abl优先级: 2 11 12l结合方向:! :从右向左& :从左向右| :从左向右/* (a=x) & (xb)&(xy)*/*(a=b)|(x=y)*/*(!a)|(ab)*/例 a=4;b=5; !a a&b a|b !a|b 4&0|2 53&2|83)&2|(8b)&(n=cd)/*结果m=0,n=1*/第37页/共55页386条件运算符与表达式条件运算符与表达式一般形式: expr1 ? expr2 : expr3执行过程功能:相当于条件语句,但不能取代一般if语句例 if (ab) printf(“%d”,a);
33、else printf(“%d”,b);printf(“%d”,ab?a:b);例 求 a+|b| printf(“a+|b|=%dn”,b0?a+b:a-b);expr1取expr2值取expr3值非0=0例 (a=b)?Y:N (x%2=1)?1:0 (x=0)?x:-x (c=a & c0?1:(xb?a:cd?c:d ab?a:(cd?c:d)expr1、expr2、expr3类型可不同,表达式值取较高的类型例 x?a:b /x=0,表达式值为b; x0,表达式值为a xy?1:1.5 /xy ,值为1.0; xy ,值为1.5第38页/共55页39良好的源程序书写习惯良好的源
34、程序书写习惯: 表达式中,在双目运算符的左右两侧各加一个空格,可增强程序的可读性。比较:“(x + y) / 2 1” 与 “(x+y)/21” 尽量把复杂的表达式分成多个表达式来写。 尽量使用圆括号显式指明哪部分先运算,而不是依赖运算符的优先级。#include main() int x,y=7; int z=4; x=(y=y+6,y/z); printf(x=%dn,x);#include main() int x; int y = 7; int z = 4; y += 6; x = y / z; printf(x=%dn, x);知识提示知识提示 :结合性是语言的独有概念。除单目单目运
35、算符、赋赋值值运算符和条件条件运算符是右结合性外,其它运算符都是左结合性。第39页/共55页40不同类型数据间的转换不同类型数据间的转换 三种形式 同一类型但长度不同的数据间的转换 如:int x = 1; long y = 50000; x + y = 50001 定点方式与浮点方式间的转换 如:int x = 1, float y = 1.0; x + y = 2.0 整型数中有符号数和无符号数间的转换 如:unsigned int x = 1, int y = -2; x + y = ?65535第40页/共55页41 注意 有符号与无符号之转换 由有符号负数转为同长度的无符号数时,最高
36、位不再被当作符号位,结果相当于216或232加上该负值 由无符号数(超出表示范围)转为同长度的无符号数时,最高位被当作符号位,结果相当于该数减去216或232。 实数转整数,小数被截取。double转float,超出有效数字范围的四舍五入。 数据转换可能丢失精度。在截取与四舍五入及long型转实型时可能发生。 数据转换结果具有不确定性。将较长整数转为较短整数时,只低字节有效。double转float, 实数转整数时,如值超过目标类型的取值范围,则结果是不确定的。#include void main() long a = 80000, b = 3200L; short i, j; double
37、d = 123456.789098765; float f; short s; i = a; j = b; f = d; s = d; printf(%ld = %hdn, a, i); printf(%ld = %hdn, b, j); printf(%16.9lf = %f = %16.9hdn, d, f, s);输出80000 = 14464 /* 80000 = 0 x1 3880, 0 x3880 = 14464 */3200 = 3200123456.789098765 = 123456.789062500 = -7616第41页/共55页42 隐式转换 什么情况下发生 运算转换
38、-不同类型数据混合运算时 赋值转换-把一个值赋给与其类型不同的变量时 输出转换-输出时转换成指定的输出格式 函数调用转换-实参与形参类型不一致时转换 运算转换规则 不同类型数据运算时先转换成同一类型,转换结果使表达式中只有5种类型,即: int, unsigned int, long, unsigned long, double “向高看齐”原则。第42页/共55页43doublefloatlongunsignedintchar,short低高说明:必定的转换运算对象类型不同时转换例 char ch; int i; float f; double d;ch/i + f*d - (f+i)int
39、intdoubledoubledoubledoubledoubledouble第43页/共55页44显式转换(强制转换) 一般形式:(类型名)(表达式)例 (int)(x+y)(int)(x+y) (int)x+y (int)x+y (double)(3/2) (double)(3/2) (double)3/2 (double)3/2 (int)3.6 (int)3.6 说明:强制转换得到所需类型的中间变量,原变量类型不变 优先级为(2),右结合例 main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%d”,x,i); 结果:x=3.600000,i=3精度损失问题较高类型向较低类型转换时可能发生第44页/共55页451 * -2 + 3 / 41 * -2 + 3 / 4扫描方向-2-20-2Back第45页/共55页46(int) x + y(int) x + y扫描方向假设:x = -2.6y = 3-2TC 规则:向零取整1Back第46页/共5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 全国河大音像版小学信息技术三年级下册第一课《走进网上博物馆》教学设计
- 2026年邮政投递员招聘题库及答案
- 电气组装工考试题目及答案解析
- 2025单证员考试练习题及答案
- 2025年大学农学(旱作农业)试题及答案
- 2025年国际贸易技能大赛试题
- 2026年《花卉学》期末考试模拟考试试卷完整答案详解
- 2026年监察法业务考试题库及答案
- 2026年企业信息化建设可持续发展方案
- 江苏省江阴市高中生物 第二章 组成细胞的分子 2.1.1 细胞中的元素和化合物教学设计 新人教版必修1
- 信访干部业务知识培训课件
- 耳尖放血疗法课件
- 2025外研社小学英语四年级上册单词表(带音标)
- GB/T 8243.6-2025内燃机全流式机油滤清器试验方法第6部分:静压耐破度试验
- 医疗口腔开业活动方案
- 经营性公路建设项目投资人招标文件
- ISO基础知识培训课件
- 化验室风险点及预防措施
- 2024年度食用葵花籽油购销协议模板版
- GB/T 41666.7-2024地下无压排水管网非开挖修复用塑料管道系统第7部分:螺旋缠绕内衬法
- (人教2024版)七年级数学开学第一课-课件
评论
0/150
提交评论