免费预览已结束,剩余13页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、C+标识符的命名规则1.所有标识符必须由一个字母(az或AZ)或下划线(_)开头;2.标识符的其它部分可以用字母、下划线或数字(09)组成;3.大小写字母表示不同意义,即代表不同的标识符,如前面的cout和Cout;二、如何正确地声明变量及其初始化2.C+中变量定义的格式:类型名变量名1,变量名2,变量名n;如:intnum1,num2;(2.1)在C+中,每个变量在使用前必须被定义,以便编译器检查变量使用的合法性。变量定义只是给变量分配相应的空间。(2.2)C+允许在定义变量的同时给变量赋初值。变量未被赋值前,值为未知格式:类型名变量名=初值;或者:类型名变量名(初值);如:intcount=0;或intcount(0);都是定义整型变量count,并为它赋初值0。可以给被定义的变量中的一部分变量赋初值,如:intsum=0,count=0,num;(2.3)一旦定义了一个变量,可以将一个常量赋给该变量。变量赋值过程是“覆盖”过程,用新值去替换旧值如inta;a=123;或a=0x123;都是正确的(2.4)在C+中,定义变量时没有赋初值,然后直接引用该变量是危险的!3.数据类型(datatype):数据的编码方式、值域和可执行的操作。数据类型包括两个方面:数据的取值范围、可用的操作。C/C+中的数据类型分为两大类:基本数据类型:整型、浮点型、字符型和布尔型构造数据类型:字符串、数组、结构、联合和枚举(3.1)整型(int):以补码形式存储。基本型int ;长整型long:long/longint(3.1.1)整数运算时要注意数据的表示范围。如整数用两个字节表示,正整数32767加1的结果为-32768。这称为整数运算的溢出,系统不检查这样的错误,程序员必须自己保证程序中不出现这样的错误。(3.1.2)在某些应用中,不可能出现负数,则整型数中有一半的数值范围是被浪费的。因此在C/C+中可以将所有的数都看成正整数,称为无符号数。无符号数的定义:在各种整数类型前加上关键词unsigned,变成unsignedint,unsignedshort,unsignedlong(3.2)实型:以浮点表示,操作类似于整型,浮点数无法精确表示。(3.2.1)浮点类型的分类: 单精度float ;双精度double(3.3)字符型(char):存放一个字母或符号,占一个字节,存放的是字符的内码。可执行比较、连接等运算。具有双重属性:整数属性和字符属性,整数属性:字符类型即单字节的整数类,字符属性:数据值即为相应字符的Ascii码。字符类型名:char。可分为可打印字符:小写字母、大写字母、数字、标点符号、空格等;非打印字符:换行和报警字符或响铃等控制字符(3.4)布尔型(bool):只有“真”、“假”两个值。可执行判断运算。如boolflag=true;(3.5)字符串(string):是类类型,用双引号“ ”表示,可执行字符串比较,连接应用时要加#include如stringstr=“dfhdsf”;三、如何声明常量4.常量:值的直接表示。如1、3、1.57、“A等,又称直接量。(4.1)整型常量可用十进制、八进制和十六进制表示:如十进制:123,-234;八进制:0123十六进制:0x123,0x3a2f(4.2)浮点数常量有两种表示法:(1)十进制表示:1.23,3.14;(2)科学计数法:尾数e指数123e2=123002.25e-3=0.00225;注意:尾数不能为空,指数必须为整数(4.3)字符常量:”a,“S,”2等用一对单引号括起来的数据。字符串常量用双引号(4.4)命名常量:为值指定一个描述性的文字,增加程序的可读性。在C+语言中,用const修饰,如constdoublePI=3.14;见PI即知3.14。注意一般变量名需大写,如PI。二、算术运算符号及其运行规则a) 整数除整数b) % 求模运算5.算术运算符:+(加)-(减)*(乘)/(求商)%(求余)(5.1)“-”可为二元运算符,也可为一元运算符,其余所有的算术运算符都是二元运算符。(5.2)优先级:高*/%,低+-(5.3)整型与整型数运算,结果为整型,如5/2=2;整型与浮点数运算,结果为浮点数,如5/2.0=2.5;字符与整型数运算,结果为整型;字符与浮点数运算,结果为浮点数。浮点数与浮点数运算,结果为浮点数。“%”运算符:取余,其两边都必须是整型数。6.关系运算符:,=,=,=,!=(6.1)优先级:高于赋值运算符,低于算术运算符。关系运算符内部:=和!=较低(6.2)关系表达式:用关系运算符将二个表达式连接起来称为关系表达式。关系表达式的结果是true或false。“等于”运算符是由两个等号组成。常见的错误是在比较相等时用一个等号。=(相等),=(赋值)7.逻辑运算符:&(and)|(or)!(not)(7.1)优先级:!高于关系运算符高于&高于|(7.2)逻辑表达式:由逻辑运算符连接起来的表达式,其结果为“真(true)”或“假(false)”逻辑表达式在执行时,先处理左边。如左边已能决定此逻辑表达式的结果,则右边不执行。因此,在&逻辑表达式中,应把false可能性较大的条件放在左边,在|表达式中,应把true可能性较大的条件放在左边,这样可以减少程序执行的时间8赋值运算符:=的优先级比算术运算符低(8.1)赋值语句:把一个值赋给一个变量。如x=y+z;x=3.14;赋值语句的左边是变量,右边是表达式。(8.2)赋值表达式格式:=如x=x+2。作用:将右边的表达式的值存入左边的变量,整个表达式的值是右边的表达式的结果。赋值运算符是右结合的(8.3)左值(lvalue):在C+中,能出现在赋值运算符左边的表达式称为左值右值(rvalue):赋值运算符右边的表达式的值(8.4)赋值语句:赋值表达式后面加上分号。(8.5)将赋值表达式作为更大的表达式的一部分。如:a=(x=6)+(y=7)等价于分别将x和y的值设为6和7,并将6和7相加,结果存于变量a(8.6)其他运算符与赋值运算符结合的运算符称为复合赋值运算符。格式:变量op=表达式;等价于:变量=变量op表达式;常用的复合赋值运算符有:+=,=,*=,/=,%=如:balance+=deposit;balance-=surcharge;x/=10;salary*=2;(8.7)赋值和运算时的自动类型转换,在进行赋值操作时,会发生类型转换,将取范围小的类型转为取值范围大的类型是安全的反之是不安全的,如果大类型的值在小类型能容纳的范围之内,则平安无事强制类型转换:(类型名)(表达式);或类型名(表达式);如z=(double)x/y;静态转换(static_cast):用于编译器隐式执行的任何类型转换格式:转换类型(表达式)如z=static_cast(x)/y;1.单个分号组成的语句成为空语句2.用括起来的一组语句称为复合语句。在逻辑上看成一个语句。v复合语句可以放在任何单语句出现的地方。3.在复合语句中可以定义变量,但必须定义在最前面。4.逗号表达式语句格式:表达式1,表达式2,,表达式nv逗号运算符的优先级是所有运算符中最低的如a的初值为0,则表达式a+=1,a+=2,a+=3,a+=4,a+=5的结果为155.前置+i,-i(先执行i+1或i-1,再使用i值)6.后置i+,i-(先使用i值,再执行i+1或i-1)If语句c) 形式d) 三种If语句的执行流程9.控制语句:改变程序中语句的执行次序。(9.1)if语句:两个分支:条件测试为true时所执行的程序块叫做then子句,条件为false时执行的语句叫做else子句。格式(1)if(条件测试)语句;即else语句可省略格式(2)if(条件测试)语句1;else语句2;eg.if(grade=60)cout=60)cout“passed”; elsecout=90)cout=80)cout=70)cout=60)cout“D”;elsecout”E”;(9.2)条件语句使用注意条件的结果值应该是true或false,它们是C+中bool类型的值 条件可为任意表达式,不一定是关系表达式。0为false,非0为true。if语句可以没有else子句。合理的缩排。 if语句的then子句和else子句含有if语句,称为if语句的嵌套。egif(x100)if(x90)语句1;elseif(x80)语句2;else语句3;else语句4;歧义性:如最后一个else跟哪个if配对.。egif(y!=0) if(x!=0) result=x/y;elsecout“error:y=0”y?x:y;循环语句e) 形式f) 三种循环语句的区别g) 三种循环语句的执行流程10.循环语句:一个完整的循环结构一般由四部分组成:(10.1)For语句:主要用于计数循环v格式:for(表达式1;表达式2;表达式3)语句;or语句快;可以理解为:for(循环变量赋初值;循环条件;循环变量增值)符合循环条件时的执行语句v循环体可以是复合语句或空语句。v循环里所有语句的一次完全执行称为一个循环周期。v执行过程:先执行表达式1,再执行判断表达式2,如果为true,执行一次循环体(即一个循环周期),接着执行表达式3,然后重新执行判断表达式2,若为true,又执行一次循环体,重复直至判断表达式2为false,,最后跳出整个循环。若开始执行条件表示2为false,循环体一次也不执行。vFor循环的三个表达式可以是任意表达式。三个表达式都是可选的。v如果循环不需要任何初始化工作,则表达式1可以缺省。如循环前需要做多个初始化工作,可以将多个初始化工作组合成一个逗号表达式,作为表达式1。如for(int i=0,;i=10;+i);v表达式2也不一定是关系表达式。它可以是逻辑表达式,甚至可以是算术表达式。当表达式2是算术表达式时,只要表达式的值为非0,就执行循环体,表达式的值为0时退出循环。v如果表达式2省略,即不判断循环条件,循环将无终止地进行下去。无终止的循环称为“死循环”,最简单的死循环是for(;);(10.2)While语句:与for循环等价,可相互代替。v格式:while(表达式)语句;or语句块;v执行过程:先计算出条件表达式的值。如果是false,循环终止;如果是true,整个循环体将被执行,而后又回到while语句的第一行,再次对条件进行检查,若为true,接着执行循环体,重复直到条件为false,,跳出整个循环。v用途:用于循环次数不定的循环。循环是否结束取决于某一个变量的值(标记控制重复)v在for和while语句之后一般没有分号,有分号表示循环体就是分号之前的内容(空循环体)(10.3)Do-While语句v格式:do语句;or语句块;while(表达式);v执行过程:首先执行语句,然后判断表达式的值。如果表达式为0,继续向下执行,否则,再次执行语句,再次判断表达式的值v用途:用于至少执行一次的循环。注意后面有分号;11跳转语句:vbreak语句:跳出整个循环或switch语句。若有多重循环,跳出含break最近的循环体。vcontinue语句:跳出当前本次循环,接着判断是否执行下次循环周期。12几种典型的循环。注意格式及应用v输入验证循环:以下两种等价,右边一个常用cout请输入半径:;/提示输入 docoutradius;area=PI*radius*radiuswhile(radius0);/当radius02.while(true)/或while(1)for()coutnum;if(num=-1)break;/if(num=标志)跳出;sum+=num;/处理数据v查询循环累加循环p=0;charans;/用于用户响应for(inti=1;i=N;i+)coutradius;area=PI*radius*radius累乘循环:p=1coutarea=areaendl;for(inti=1;i=N;i+)coutdoyouagain?ans;/询问输入while(ans=Y|ans=y);/询问循环v编译(compiler):将高级语言的程序翻译成机器语言,分为解释执行,编译执行v连接(link):将目标程序与已有的其它目标程序连接起来,产生一个可执行的程序v输出流是传给显示器的数据流,将变量或表达式的内容显示在显示器上格式输出一个变量的值:couta;输出多个变量的值:coutabc;输出表达式的结果:cout“Helloworldn”endl上述情况的组合:couta“+”b“=”a+b变量1变量2变量n;如cina;当程序执行到cin时会停下来等待用户的输入,后面一定是变量名,不可加引号用户可以输入数据,用回车()结束。当有多个输入数据时,一般用空白字符(空格、制表符和回车)分隔。如:a为整型,d为double,则对应于cinad,用户的输入可以为1213.2or12(tab键)13.2or1213.2如何定义一个带默认值参数的函数如何调用一个带默认值参数的函数h) 参数使用默认值i) 参数不使用默认值函数v过程单元是程序的基本单位。在过程化的语言中,过程单元就是程序中某个模块的表示。在面向对象的语言中,过程单元说明对象对各种事件是如何响应的。v每个程序都必须有一个名为main的函数,它是程序的入口。主程序由一个或多个函数组成v程序主体(主函数main():主要包含如下模块:(definitioninput-proocess-ouput)(1)变量定义:为程序中的数据准备存储空间(declarationordefinition)(2)输入阶段:接受所需输入的信息。它由两部分组成:显示提示信息和接收输入(input)(3)计算阶段:完成所需的计算(process)(4)输出阶段:输出计算的结果(output)v函数的主要构成:函数声明,函数定义,函数调用v可以把函数想象成数学中的函数。如f(x)=2x参数表是一组自变量x,返回类型是函数值的类型;函数声明就是设函数为f(x),函数定义(函数头+函数体)就是函数表达式如2x,函数调用就是带值计算如f(2)=22。v函数声明:类似于变量声明,所有函数在使用前必须被声明。又称函数的原型,功能:说明函数和外界的交流,反映函数调用的全部信息。包括下列内容:函数名,函数的参数类型,函数的返回类型它的形式为:返回类型函数名(参数表);返回类型:是函数的输出值的类型,void函数没有返回值函数名:是函数的名字。程序可以通过函数名执行函数体的语句参数表:是函数的输入,无参数列表,可不写,但是括号必须有。参数表中的参数说明之间用“,”分开,每个参数说明可以是类型,也可以是类型后面再接一个参数名。如:intmax(int,int);intmax(inta,intb);intmain()v函数定义:函数头+函数体,相当于一个小程序。函数头:说明函数和外界的交流,与函数声明一样,参数表要有形参,void除外函数体:一系列独立的程序步骤;,必须定义在函数体最前面形式:返回类型函数名(参数表)/函数头codehere;/函数体Eg:intmax(inta,intb)/函数定义if(ab)return(a);elsereturn(b);v函数调用形式:函数名(实际参数表);一般出现在主调函数中或其他调用函数中。eg.max(x,y);v函数执行过程:(1)在主程序中计算每个实际参数值。(2)调用时将实际参数的值赋给对应的形式参数。在赋值的过程中完成自动类型转换。(3)进入函数体依次执行函数体的每个语句,直到遇见return语句或函数体结束(4)计算return后面的表达式的值,如果表达式的值与函数的返回类型不一致,则完成类型的转换。(5)用函数的返回值置换函数,继续主程序的执行。Egintmax(inta,intb);/函数声明intmain()intx,y;cinxy;coutb)return(a);elsereturn(b);v注意:(1)形式参数和实际参数的个数(number)、排列次序(order)、类型(type)要完全相同。(2)实际参数可以是常量、变量、表达式,甚至是另一个函数调用(3)传递方式:值传递,执行函数调用时,将实参值传递给形参,并替换形参同名的实体(4)值传递:函数获得了主调程序参数变量值的拷贝。被调程序可以改变这些拷贝,但这对主调程序的环境没有影响。(5)请注意:C+中不允许函数定义嵌套,即在函数定义中再定义一个函数是非法的。一个函数只能定义在别的函数的外部,函数定义之间都是平行的,互相独立的。例如:下面的代码在主函数中非法嵌套了一个f()函数定义:voidmain()voidf()/函数参数的传递比较:1.按值传递以按值传递方式进行参数传递的过程为:首先计算出实参表达式的值,接着给对应的形参变量分配一个存储空间,该空间的大小等于该形参类型的长度,然后把已求出的实参表达式的值一一存入到为形参变量分配的存储空间中,成为形参变量的初值,供被调用函数执行时使用。这种传递是把实参表达式的值传送给对应的形参变量,故称这种传递方式为“按值传递”。这种方式被调用函数本身不对(主调函数中)实参进行操作,也就是说,即使形参的值在函数中发生了变化(主调函数中)实参的值也完全不会受到影响,仍为调用前的值。例:按值传递。voidswap(int,int);/函数定义voidmain()inta=3,b=4;couta=a,b=“bendl;swap(a,b);/函数调用couta=a,b=bendl;voidswap(intx,inty)/函数定义intt=x;x=y;y=t;此程序的运行结果为:a=3,b=4a=3,b=42.地址传递如果在函数定义时将形参的类型说明成指针,对这样的函数进行调用时就需要指定地址值形式的实参。这时的参数传递方式即为地址传递方式。这种地址传递与上述的按值传递不同,它把实参的存储地址传送给对应的形参,从而使得形参指针和实参指针指向同一个地址。因此,被调用函数中对形参指针所指向的地址中内容的任何改变都会影响到实参。例:地址传递。voidswap(int*x,int*y);/函数声明voidmain()inta=3,b=4;couta=a,b=“bendl;swap(&a,&b);、couta=a,b=“bendl;voidswap(int*x,int*y)intt=*x;*x=*y;*y=t;此程序的运行结果为:a=3,b=4a=4,b=33.引用传递按值传递方式容易理解,但形参值的改变不能对实参产生影响;地址传递方式虽然可以使得形参的改变对相应的实参有效,但如果在函数中反复利用指针进行间接访问,会使程序容易产生错误且难以阅读。如果以引用作为参数,则既可以使得对形参的任何操作都能改变相应的实参的数据,又使函数调用显得方便、自然。引用传递方式是在函数定义时在形参前面加上引用运算符“&”。例引用传递。voidswap(int&,int&);voidmain()inta=3,b=4;couta=a,b=“bendl;swap(a,b);couta=a,b=“bendl;voidswap(int&x,int&y)intt=x;x=y;y=t;此程序的运行结果为:a=3,b=4a=4,b=3函数的嵌套调用:函数体由前述可知,C+函数不能嵌套定义,即一个函数不能在另一个函数体中进行定义。但在使用时,允许嵌套调用,即在调用一个函数的过程中又调用另一个函数。例如:func1(inta,floatb)floatc;c=func2(b-1,b+1);/嵌套调用,func1调用func2intfunc2(floatx,floaty)/函数体/func1和func2是分别独立定义的函数,互不从属。如何定义一个递归函数j) 汉诺塔k) 求最大公约数l) 计算阶乘函数的递归调用:一个函数直接或间接地调用自身,这种现象就是函数的递归调用。递归调用有两种方式:直接递归调用和间接递归调用。直接递归调用即在一个函数中调用自身,间接递归调用即在一个函数中调用了其他函数,而在该其他函数中又调用了本函数。利用函数的递归调用,可将一个复杂问题分解为一个相对简单且可直接求解的子问题(“递推”阶段);然后将这个子问题的结果逐层进行回代求值,最终求得原来复杂问题的解(“回归”阶段)。例:求n的阶乘。(函数递归调用的例程。)longf(intn)if(n0)cout“error!“endl;return(-1);elseif(n=1)return(1);elsereturn(n*f(n-1);/自己调用自己voidmain()longf(intn);intn;coutinputn:n;coutn!=f(n)s2返回值为正数,s1=s1返回值为0,s1s2返回值为负数strncmp(s1,s2,n)如strcmp,但至多比较n个字符strchr(s,ch)返回一个指向s中第一次出现ch的地址strrchr(s,ch)返回一个指向s中最后一次出现ch的地址strstr(s1,s2)返回一个指向s1中第一次出现s2的地址如何定义一个函数q) 函数返回类型r) 函数名s) 参数列表i. 一维数组作为参数,该如何处理?ii. 二维数组作为参数,该如何处理?t) return语句数组作为函数的参数小结:v可以将数组元素传递给函数,这时实际参数用的是数组元素函数调用判断是否为素数isprime(ai);函数定义boolisprime(ai);v也可以将整个数组传递给函数,这时实际参数用的是数组名。如函数调用sort(a,n);函数定义sort(inta,intn);v数组传递的实质是传递地址。把实际参数中的数组首地址作为形式参数中的数组的首地址vv数组在函数中的定义:函数原型应该体现数组参数是一个数组,所以用无数组大小定义的方括号表示数组。你可能希望规定数组的大小,但在C+语言中并不检查数组的界限,所以在函数中也没必要知道数组的大小。数组大小只在数组定义中明确(为了申请内存量)。v数组的每一个元素又是数组的数组称为多维数组v最常用的多维数组是二维数组,又称为矩阵v二维数组的定义格式:类型说明数组名常量表达式1常量表达式2v存放次序:按行存放inta45;vvector类模板是一种更加健壮,且有许多附加功能的数组v附加功能例如:提供下标越界检查;提供数组用相等运算和大小比较提供数组间赋值等运算指针u) 利用指针移动(指针加法、减法运算),处理数组中的不同元素。v) 利用new/delete处理一维动态数组指针与引用v指针就是把地址作为数据,可以把地址存储在内存中v指针变量:存储地址的变量v变量的指针:当一个变量存储另一个变量的地址时,那我们说它就是那个变量的指针v如何定义一个变量是指针?类型标识符*指针变量;如:int*intp;double*doublepv如何把某一变量的地址置入一个指针变量中?因为我们不知道系统分配给变量的真正地址是什么。 用地址运算符“&”解决。如表达式“&x”返回的是变量x的地址。 如:intp=&x; &运算符后面不能跟常量或表达式。如&2是没有意义的,&(m*n+p)。也是没有意义的v如何用指针变量处理和改变它所指向的单元的值? 用引用运算符“*”解决。如*intp表示的是intp指向的这个单元的内容。 在对intp使用引用运算之前,必须先对intp赋值如有:intX,*intp,Y;X=3;Y=4intp=&X;注意:不能用intp=100;因为我们永远不知道变量存储的真实地址,而且程序每次运行可能都不同。v指针变量可以指向不同的变量。如上例中intp指向x,我们可以通过对intp的重新赋值改变指针的指向。如果想让intp指向y,只要执行intp=&y就可以了。这时,intp与x无任何关系。v同类的指针变量之间可相互赋值,表示二个指针指向同一内存空间。v空指针 指针没有指向任何空间 空指针用常量NULL表示,NULL的值一般赋为0 不能引用空指针指向的值v指针在使用前必须初始化。v仅和别的变量一样定义指针,不初始化是一个比较普通的错误。v没有初始化的指针可能指向任意地址,对这些指针作操作可能会导致程序错误。vNULL是一个特殊指针值,称为空指针。它的值为0。它可被用来初始化一个指针,表示不指向任何地址。v指向数组元素的指针 数组元素是一个独立的变量,因此可以有指针指向它。如:p=&a1,p=&ai 数组元素的地址是通过数组首地址计算的。如数组的首地址是1000,则第 i个元素的地址是1000+i*每个数组元素所占的空间长度v数组名可以看成是常量指针,对一维数组来说,数组名是数组的起始地址,也就是第0个元素的地址v如执行了p=array,则*p与array0是等价的,对该指针可以进行任何有关数组下标的操作例如:有定义inta10,*p并且执行了p=a,那么可用下列语句访问数组a的元素for(i=0;i10;+i)coutpi;for(i=0;i10;+i)cout*p+;for(i=0;i10;+i)cout*(p+i);for(i=0;i10;+i)cout
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上饶健康管理师2025年测试试卷
- 卡片翻转动画效果模板
- 杭州市拱墅区小河街道招聘考试真题2025
- 2025年自贡市教育和体育局招聘省属师范院校公费师范毕业生考试真题
- 2025年南京新农发展集团有限责任公司招聘考试真题
- 2025年德阳市罗江区就业创业促进中心城镇公益性岗位招聘真题
- 广西2025年高中学业水平合格性考试地理试卷真题
- 2026安徽安庆市皖宜项目咨询管理有限公司招聘派遣人员3人考试参考题库及答案解析
- 2026南平建瓯市下洋水库运行调度中心招聘办公室综合文员1人笔试备考试题及答案解析
- 2026年宝鸡市法院书记员招聘考试备考试题及答案详解
- TSG08-2026《特种设备使用管理规则》全面解读课件
- 《扣件式钢管脚手架安全技术规范》JGJ130-2023
- 拉 刀-机械制造
- 部编版语文五年级下册 第五单元习作教材解读和教学目标
- 光纤激光毛化技术说明
- GB/T 4140-2003输送用平顶链和链轮
- 2023年绵阳市林业系统事业单位招聘笔试模拟试题及答案解析
- 部编小学音乐六年级《卡普里岛》课件-一等奖新名师优质公开课获奖比赛人教
- 计算流体力学CFD课件
- 作文与预测-范文gre讲义
- 昆虫生态及预测预报
评论
0/150
提交评论