版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计智能工程学院“现场课程”
目
录目录CONTENTS
关系运算符和关系表达式4.1
逻辑运算符和逻辑表达式4.2
if语句的基本形式4.3
嵌套的if语句4.4
条件运算符和条件表达式4.5
switch语句4.6关系运算符用于比较两个值之间的关系,返回一个布尔值(在C语言中用整数表示:1表示真,0表示假)。关系运算通常用于条件判断语句(如if、while等)中,控制程序的执行流程。
4.1
关系运算符和关系表达式4.1.1关系运算符说明:C语言中的小于等于、大于等于、等于、不等于运算符(<=、>=、==、!=)的表示方法与数学中的表示方法不同(≤、≥、=、≠)。1在以上6种关系运算符中,前4种(>、>=、<、<=)的优先级相同,后两种(==、!=)的优先级相同,前4种的优先级高于后两种。2关系运算符的优先级低于算术运算符,但高于赋值运算符。3
4.1
关系运算符和关系表达式4.1.1关系运算符关系运算符的结合性为从左到右。4例如:b<a+2 等效于b<(a+2)a<=b!=b>=2 等效于(a<=b)!=(b>=2)。a=b<c 等效于a=(b<c)
提示C语言中“==”是关系运算符,用来判断两个数是否相等,请读者注意“==”与等号“=”的区别,例如:x==3是要判断x的值是否为3,x=3是使x的值为3。
4.1
关系运算符和关系表达式4.1.1关系运算符在C语言中,关系表达式是用于比较两个操作数之间关系的表达式,关系表达式既然是表达式,那么就应该有一个值,关系表达式的值是一个逻辑值,即“真”或“假”,关系满足,结果为真,关系不满足,结果为假。例如,关系表达式3==4的值为“假”,7<=8的值为“真”。在C语言的逻辑运算中,以“1”代表“真”,以“0”代表“假”。若a=1,b=1,c=2,则:关系表达式a>b的值为“假”,表达式的值为0;关系表达式a==b的值为“真”,表达式的值为1;关系表达式a<=b+c的值为“真”,因为b+c的值为3,所以a<=3的值为“真”,表达式的值为1;关系表达式a==c>b的值为“真”,因为c>b的值为1,等于a的值,所以表达式的值为1;关系表达式a=b>c的值为“假”,因为b>c的值为0,所以赋值后a的值为0,整个表达式的值也为0。
4.1
关系运算符和关系表达式4.1.2关系表达式
提示要注意C语言中的关系运算与数学领域中的比较运算是有区别的,例如:若a=1,b=2,c=3,则关系表达式c<a<b的值为“真”,因为c<a的值为0,小于b的值,所以表达式的值为“真”。但是在数学表达式中c<a<b显然是不成立的。因此,如果要判断a的值是否在c和b之间,我们不能直接用条件表达式来进行描述,而是需要借助于逻辑运算符。C语言中有3种逻辑运算符:逻辑与(&&)、逻辑或(||)和逻辑非(!)。逻辑运算符及其对应的功能及说明如表所示。运算符含义举例说明&&逻辑与a&&b双目运算,如果a和b都为真,则结果为真,否则为假(一假则假,同真才真)||逻辑或a||b双目运算,如果a和b都为假,则结果为假,否则为真(一真则真,同假才假)!逻辑非!a单目运算,如果a为假,则结果为真;如果a为真,则结果为假(非真即假,非假即真)
4.2逻辑运算符和逻辑表达式
4.2逻辑运算符和逻辑表达式4.2.1逻辑运算符逻辑运算的“真值表”如表所示,表示当a和b的值为不同组合时,各种逻辑运算所得到的值。ab!a!ba&&ba||b真真假假真真真假假真假真假真真假假真假假真真假假注意事项:三种运算符的优先级由高到低依次为:!、&&、||。1逻辑运算符中的“&&”和“||”的优先级低于关系运算符,“!”的优先级高于算术运算符,而关系运算符的优先级低于算术运算符,如图所示。2
4.2逻辑运算符和逻辑表达式4.2.1逻辑运算符逻辑运算符中的“&&”和“||”的结合性为从左到右,“!”的结合性为从右到左。例如:a>c&&a<b 等效于(a>c)&&(a<b)a==b||x>y 等效于(a==b)||(x>y)a<b||!a 等效于(a<b)||(!a)a>c&&a<b+c 等效于(a>c)&&(a<(b+c))2<3&&6>3-!0 等效于(2<3)&&(6>(3-!0))3
4.2逻辑运算符和逻辑表达式4.2.1逻辑运算符C语言中,由逻辑运算符(&&、||、!)连接条件(如关系表达式、整数常量/变量等)形成的表达式,叫作逻辑表达式,其运算结果是整数:1表示“真”(条件成立),0表示“假”(条件不成立)。逻辑表达式是实现复杂条件判断的核心,广泛用于if语句、while循环等流程控制中。逻辑运算符两侧的运算对象可以是任何类型的数据,但运算结果一定是整型,并且只有两个值:1和0,分别表示“真”和“假”。例如:若a=0,则逻辑表达式!a的值为1。因为a的值为0,逻辑值为“假”,对它进行“非”运算,得“真”,“真”以1代表。相反,若a等于任何一个非0的数(所有非0被作为“真”),那么!a的值为0。1若a=2,b=4,则逻辑表达式a&&b的值为1,因为a和b均非0,逻辑值为“真”,所以进行“逻辑与”运算的值也为“真”,“真”以1代表。2
4.2逻辑运算符和逻辑表达式4.2.2逻辑表达式若a=2,b=4,则逻辑表达式a||b的值为1。3若a=1,b=2,则逻辑表达式!a||b的值为1,先计算!a的值为0,再计算0||b的值为1。4逻辑表达式2&&0||3.6的值为1。5
4.2逻辑运算符和逻辑表达式逻辑表达式'a'&&'b'的值为1。64.2.2逻辑表达式
名师点睛C语言的逻辑表达式通过&&、||、!连接条件,结果为1(真)或0(假),核心特性是短路求值。掌握其运算规则、优先级及实际场景应用,能帮助编写清晰、高效的条件判断逻辑,避免常见陷阱(如短路副作用、混淆==与=)。例如:(1)a&&b,只有a为真(非0)时,才需要判断b的值,如果a为假,就不必判断b的值。即:&&运算符,只有a≠0,才继续进行其右面的运算。(2)a||b,只要a为真(非0),就不必判断b的值,只有a为假时,才判断b的值。即:||运算符,只有a=0,才继续进行其右面的运算。
4.2逻辑运算符和逻辑表达式4.2.2逻辑表达式【例4-1】条件运算符和逻辑运算符的应用。在本实例中,使用条件运算符和逻辑运算符构造表达式,通过输出函数显示表达式的结果,根据结果分析表达式的计算过程。#include<stdio.h>intmain(){ intm=2,n=3,a=1,b=2; /*定义变量m,n,a和b并赋值*/ intx,y,z; /*定义变量x和y*/ x=(m=a>b)&&(n=a<b); /*计算逻辑表达式的值并将值赋给变量x*/ printf("x=%d,m=%d,n=%d\n",x,m,n); /*输出变量x,m和n的值*/ y=(m=a>b)||(n=a<b); /*计算逻辑表达式的值并将值赋给变量y*/ printf("y=%d,m=%d,n=%d\n",y,m,n); /*输出变量y,m和n的值*/
z=!m&&n||b;/*计算逻辑表达式的值并将值赋给变量y*/
printf("z=%d\n",z);
/*输出变量z的值*/ return0; /*函数返回值0*/}
4.2逻辑运算符和逻辑表达式4.2.2逻辑表达式【运行结果】程序运行结果如图所示。
4.2逻辑运算符和逻辑表达式4.2.2逻辑表达式【程序说明】计算x=(m=a>b)&&(n=a<b)表达式时,先判断a>b,其结果为“假”,即将数值0赋给变量m。同时,由于运算符“&&”左边的值为0,整个表达式的值即为0。因此,系统将不再计算运算符“&&”右边的表达式,n的值还为3。计算y=(m=a>b)||(n=a<b)表达式时,由于“||”左边的值为0,因此,还需要计算右边表达式n=a<b的值,得到n=1,因此,整个表达式结果也为1。计算z=!m&&n||b表达式时,由于“||”右边的值为1,所以整个表达式结果是1。
4.2逻辑运算符和逻辑表达式4.2.2逻辑表达式
目
录目录CONTENTS
关系运算符和关系表达式4.1
逻辑运算符和逻辑表达式4.2
if语句的基本形式4.3
嵌套的if语句4.4
条件运算符和条件表达式4.5
switch语句4.6在C语言中,if语句是最基本的分支控制结构,用于根据条件的“真”或“假”执行不同的代码块,实现程序流程的选择性执行。if语句有三种形式,分别是基本形式(单分支)、if-else形式(双分支)、if-elseif-else形式(多分支),下面我们先来学习基本形式:格式:if(表达式) 语句其中:表达式一般为逻辑表达式或关系表达式。语句可以是一条简单的语句或多条语句,当为多条语句时,需要用“{}”将这些语句括起来,构成复合语句。if语句的执行过程是:当表达式的值为真(非0)时,执行语句,否则直接执行if语句下面的语句。其执行流程图如图所示。4.3.1if语句基本形式
4.3if语句的形式【例4-2】编程实现,输入两个整数,输出这两个数中较大的数。【问题分析】可定义三个变量(a,b和max)用来存放输入的两个整数和较大数。从键盘输入两个整数,首先假设a是较大数,将a的值赋给max,然后使用if语句进行条件判断,如果a小于b,则b为较大数,即将b的值赋给max。4.3.1if语句基本形式
4.3if语句的形式【参考代码】#include<stdio.h>intmain(){ inta,b,max; /*定义整型变量a,b和max*/ printf("请输入两个整数:"); /*输出屏幕提示*/ scanf("%d
%d",&a,&b); /*从键盘输入a,b的值*/ max=a; /*假设a是较大的数先赋给max*/ if(a<b) /*若a比b小,将b赋给max*/ max=b; printf("两数中较大的数为:%d\n",max); /*输出结果*/ return0; /*函数返回值0*/}4.3.1if语句基本形式
4.3if语句的形式【运行结果】程序运行结果如图所示。4.3.1if语句基本形式
4.3if语句的形式
提示(1)if后面的表达式必须用圆括号括起来;(2)if语句结尾不要加分号;(3)若代码块只有一条语句,可省略{},但建议始终保留以增强可读性;(4)if后面的表达式可以为关系表达式、逻辑表达式、算术表达式等,例如:if(a==0&&a<=10)printf("x=%d,y=%d",x,x-1);if(5)printf("OK!"); /*条件永远为真*/if(a=6)printf(“right”);/*条件永远为真*/if(!a)printf("inputerror!");(5)表达式中一定要区分赋值运算符“=”和关系运算符“==”。例如,if(x==3)判断x的值是否等于3,而if(x=3)则是把3赋值给x,所以表达式的值为3(非0),即为真。
4.3if语句的形式4.3.1if语句基本形式if语句只允许在条件为真时指定要执行代码块,而if-else语句还可在条件为假时指定另一代码块。if-else语句的一般形式如下:if(表达式) 语句1else 语句2if-else语句的执行过程是:当表达式为真(非0)时,执行语句1,否则执行语句2,其执行流程图如图所示。
4.3if语句的基本形式4.3.2if-else形式(双分支)语句形式整个if-else语句可以写在多行上,也可以写在一行上,例如:在一行上,例如:if(x>0) y=1;else y=-1;但是为了程序清晰,提倡写成锯齿形式的,如:if(x>0) y=1;else y=-1;1“语句1”和“语句2”是“内嵌语句”,它们是if-else语句中的一部分。每个内嵌语句的末尾都应有分号。2
4.3if语句的基本形式提示:if-else语句无论写在几行上,都是一个整体,属于同一个语句。需要注意的是,else子句不能作为语句单独使用,它必须是if语句的一部分,与if配对使用。34.3.2if-else形式(双分支)语句形式【例4-3】编程实现,输入两个整数,输出这两个数中较大的数(用if-else语句实现)。【问题分析】本实例的功能与例4-2相同,都是求两数中较大数。但是使用if-else语句进行条件判断,条理更加清晰,我们可以这样思考,如果a大于b,则a为较大数,输出a的值,否则b为较大数,输出b的值。
4.3if语句的基本形式4.3.2if-else形式(双分支)语句形式【参考代码】#include<stdio.h>intmain(){ inta,b; /*定义整型变量a和b*/ printf("请输入两个整数:"); /*输出屏幕提示*/ scanf("%d%d",&a,&b); /*从键盘输入a和b的值*/ if(a>b) /*若a大于b,输出a*/ printf("max=%d\n",a); else /*反之输出b*/ printf("max=%d\n",b); return0; /*函数返回值0*/}
4.3if语句的基本形式4.3.2if-else形式(双分支)语句形式【运行结果】程序运行结果如图所示。
4.3if语句的基本形式4.3.2if-else形式(双分支)语句形式编程时常常需要判定一系列的条件,一旦其中某一个条件为真就立刻停止。这种情况可以采用if-else-if语句,其一般形式如下:if(表达式1) 语句1;elseif(表达式2) 语句2;elseif(表达式3) 语句3;…elseif(表达式n) 语句n;else
语句n+1;执行过程是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句,然后跳到整个if语句之外继续执行程序。如果所有的表达式都为假,则执行最后一个else后的语句,然后继续执行后续程序。其执行流程图如图所示。
4.3if语句的基本形式4.3.3if-elseif-else形式(多分支)语句形式【例4-5】学生成绩可分为百分制和五级制,根据输入的百分制成绩score,转换成相应的五级制成绩后输出,百分制与五级制的对应关系如表所示。百分制五级制百分制五级制90≤score≤100优60≤score<70及格80≤score<90良0≤score<60不及格70≤score<80中score>100或score<0无意义【问题分析】这是一道典型的能够使用if-else-if语句形式的题目,根据对一系列互斥条件的判断来选择执行哪条语句。
4.3if语句的基本形式4.3.3if-elseif-else形式(多分支)语句形式【参考代码】#include<stdio.h>intmain(){
floatscore; printf("请输入成绩:"); /*屏幕提示语*/ scanf("%f",&score); /*输入百分制的分数*/ if(score>100||score<0) /*分值不合理时显示出错信息*/ printf("输入数据无意义\n"); elseif(score>=90) /*这里的else表示0=<score&&score<=100*/ printf("优\n"); elseif(score>=80) /*这里的else表示0=<score&&score<90*/
4.3if语句的基本形式4.3.3if-elseif-else形式(多分支)语句形式printf("良\n"); elseif(score>=70) /*这里的else表示0=<score&&score<80*/ printf("中\n"); elseif(score>=60) /*这里的else表示0=<score&&score<70*/ printf("及格\n"); else /*这里的else表示0=<score&&score<60*/ printf("不及格\n"); return0;}
4.3if语句的基本形式4.3.3if-elseif-else形式(多分支)语句形式【运行结果】程序运行结果如图所示,输入百分制成绩,输出五级制成绩。【程序说明】每个else本身都隐含了一个条件,如第1个else实质上表示条件score>=0&&score<=100成立,此隐含条件与对应的if所给出的条件完全相反。在编程时要善于利用隐含条件,使程序代码清晰简洁。
4.3if语句的基本形式4.3.3if-elseif-else形式(多分支)语句形式在C语言中,if嵌套语句指的是在一个if(或else)语句的代码块内部,再包含另一个(或多个)if语句,用于处理更复杂的多层条件判断。当需要对一个条件先进行整体判断,再在满足该条件的前提下进一步细分判断时,就需要用到嵌套结构。if嵌套的核心是“先外后内”:先判断外层if的条件,只有外层条件成立时,才会执行内层if的判断。基本形式如下:if(外层条件){//外层条件为真时执行if(内层条件1){//内层条件1为真时执行}elseif(内层条件2){//内层条件1为假、内层条件2为真时执行}else{//所有内层条件都为假时执行}}else{//外层条件为假时执行(可选)}
4.4嵌套的if语句在上述格式中,if与else既可成对出现,也可不成对出现,且else总是与最近的且还没配对的if相配对。在书写这种语句时,每个else应与对应的if对齐,形成锯齿形状,这样能够清晰地表示if语句的逻辑关系。例如:if(x>=0) if(x>0) y=1; else y=0;else y=-1;
4.4嵌套的if语句【例4-6】编写程序,实现输入三个整数,输出最大值。【问题分析】本题可以采用if嵌套进行实现,先比较a和b的大小,如果a大于b,就将a与c进行比较,如果a也大于c,那么最大值就为a;否则,最大值为c。如果a小于b,就将b与c进行比较,如果b大于c,那么最大值就为b;否则,最大值为c。程序流程图如图所示。
4.4嵌套的if语句【参考代码】#include<stdio.h>intmain(){inta,b,c,max; /*定义整型变量*/
printf("请输入三个整数,用空格隔开\n"); /*输出提示信息*/
scanf("%d
%d
%d",&a,&b,&c); /*输入a,b,c变量的值*/
if(a>b) /*先判断a是否大于等于b*/ if(a>c) max=a; /*a同时大于等于b和c,a是最大值*/ elsemax=c; /*a>=b但a<c,c是最大值*/
else /*当a<b时,进入此分支*/ if(b>c) max=b; /*b>a且b>=c,b是最大值*/ else max=c; /*b>a但b<c,c是最大值*/
printf("max=%d\n",max); /*输出最大值max*/
return0; /*函数返回值0*/}
4.4嵌套的if语句【运行结果】程序运行结果如图所示。
4.4嵌套的if语句
提示(1)if和else的配对关系,else总是与其前方最靠近的,并且没有其他else与其配对的if相配对。(2)每个else本身都隐含了一个条件,如例4-6中的第1个else实质上表示条件c>a成立,此隐含条件与对应的if所给出的条件(a>c)完全相反,在编程时要善于利用隐含条件,使程序代码清晰简洁。
目
录目录CONTENTS
关系运算符和关系表达式4.1
逻辑运算符和逻辑表达式4.2
if语句的基本形式4.3
嵌套的if语句4.4
条件运算符和条件表达式4.5
switch语句4.6在C语言中,条件运算符(?:)是唯一的三目运算符(需要三个操作数),它可以简化某些if-else语句的逻辑,形成条件表达式。其核心作用是根据一个条件的真/假,从两个表达式中选择一个执行:条件表达式?表达式1:表达式2;条件表达式的执行过程是:若条件表达式为真,则条件表达式的值等于表达式1的值,否则等于表达式2的值。例如:c=a>b?a:b;若a大于b,则条件表达式的值为a,赋值给c;否则,条件表达式的值为b,赋值给c,即求a和b两个数中较大的数。等价于:if(a>b) c=a;else c=b;
4.5条件运算符和条件表达式条件运算符的结合性为从右到左,当有条件运算符嵌套时,按照从右到左的顺序依次运算。例如,当a等于1,b等于2时,条件表达式:a<b?(c=3):a>b?(c=4):(c=5)该表达式的值为3,变量c的值也为3。首先计算表达式a>b?(c=4):(c=5),因为a>b为假,所以这一条件表达式的结果为5,此时c=5;接着计算a<b?(c=3):5,因为a<b为真,所以这一条件表达式的结果为3,此时c=3。2条件表达式中表达式1一般是关系表达式,表达式2和表达式3不仅可以是数值表达式,还可以是赋值表达式或函数表达式。例如:a>b?printf("%d",a):printf("%d",b)3条件运算符的优先级低于算术运算符、关系运算符及逻辑运算符,仅高于赋值运算符和逗号运算符。1
4.5条件运算符和条件表达式在C语言中,switch语句是一种多分支控制结构,用于根据一个整型表达式(或字符型、枚举型)的值,从多个预设分支中选择一个执行。它比多层if-elseif更适合“判断一个值是否匹配多个固定选项”的场景,代码结构更清晰。switch语句的一般形式如下:switch(表达式){case常量表达式1:[语句1];break;case常量表达式2:[语句2];break;…case常量表达式n:[语句n];break;[default:语句n+1];break;}其中,方括号括起来的内容是可选项。
4.6switch语句switch语句的执行过程如图所示,首先计算switch后表达式的值,然后将其结果与case后常量表达式的值依次进行比较,若此值与某case后常量表达式的值一致,即转去执行该case后的语句;若没有找到与之匹配的常量表达式,则执行default后的语句。
4.6switch语句
提示(1)整型表达式:switch后的表达式必须是整型相关类型(如int、char、enum,float、double等非整型不允许);(2)case常量:case后的“常量”必须是字面常量(如1、'A')或#define定义的宏,不能是变量;(3)break语句:用于跳出switch语句,避免“穿透”到下一个case(若不写break,会继续执行后续所有case的语句,直到遇到break或switch结束);(4)default分支:可选分支,当表达式值不匹配任何case时执行,通常放在最后(位置不固定,但习惯放末尾)。【例4-7】根据月份判断季节(12/1/2为冬季,3/4/5为春季,6/7/8为夏季,9/10/11为秋季)。【问题分析】这是一道典型的可以利用多分支选择语句的题目,可以定义整型变量month,使用switch语句判断整型变量month的值,利用case语句检验month值的不同情况;如果month的值不是case中所检验列出的情况,那么利用default语句输出“输入的月份无效!”。
4.6switch语句【参考代码】#include<stdio.h>intmain(){intmonth;printf("请输入月份(1-12):");scanf("%d",&month);switch(month){case12://12月case1://1月(无break,穿透到2月的逻辑)case2://2月(三个月份共用同一逻辑)printf("冬季\n");break;case3://3月case4://4月(穿透)case5://5月printf("春季\n");break;
4.6switch语句
case6://6月case7://7月(穿透)case8://8月printf("夏季\n");break;case9://9月case10://10月(穿透)case11://11月printf("秋季\n");break;default:printf("输入的月份无效!\n");break;}return0;}
4.6switch语句【运行结果】程序运行结果如图所示,当输入1~12之间的月份时,输出相应的季节,否则输出错误提示语。【程序说明】在每个case或default语句后都有一个break关键字,用于跳出switch结构。
4.6switch语句
名师点睛(1)case常量不能重复:同一个switch中,多个case的常量值必须唯一,否则编译报错。错误示例:switch(x){case1:...;break;case1:...;break;//错误:case常量重复}(2)表达式必须是整型:若用非整型(如float),编译会报错。错误示例:floatscore=85.5;switch(score){...}//错误:表达式为float类型(3)default的位置不固定:default可放在任意case之间,但建议放在最后,且必须加break(否则会穿透到后续case);(4)避免过度依赖穿透:除“多值共用逻辑”外,尽量为每个case加break,否则易导致逻辑混乱(尤其是代码维护时)。
4.6switch语句【例4-8】使用switch语句实现两个数简单的加减乘除计算。【问题分析】接收用户输入的整数表达式(如10+5),解析出两个操作数和运算符,执行对应的加减乘除运算并输出结果,我们开始定义三个变量,两个整型变量a、b用来储存将要进行计算的整数,一个字符型变量op用来储存运算符。
4.6switch语句【参考代码】#i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高山避雷施工方案(3篇)
- 童装十一活动策划方案(3篇)
- 拱形钢管施工方案(3篇)
- 水泵电气施工方案(3篇)
- 2025年高职小学教育(教育法律法规应用)试题及答案
- 2025年大学氢能科学与工程(氢能利用)试题及答案
- 2025年中职机电设备(机电设备安装工艺)试题及答案
- 2025年大学本科(测绘工程技术)工程测绘实操综合测试题及答案
- 2025年大学一年级(计算机科学与技术)程序设计基础试题及答案
- 2025年大学服装与服饰设计(服装与服饰设计学)试题及答案
- 蓝色简约质量意识培训模板
- 2024年广州市中考语文试卷真题(含官方答案及解析)
- 新教材高中数学第八章立体几何初步8.4.1平面课件
- 智慧农业中的智能灌溉技术
- 瑜伽店长培训方案
- 牵引供电系统短路计算-牵引供电系统短路计算(高铁牵引供电系统)
- 标识牌单元工程施工质量验收评定表
- QSB知识培训资料重点
- 安全库存基准表
- (37)-24.1.4黄芪中药中医学课件
- 刑法学(上册)马工程课件 第1章 刑法概说
评论
0/150
提交评论