




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四章选择控制结构第1页,共87页。第五章选择控制结构 内容提要:算法的描述方法选择结构程序设计- if语句实现选择结构- switch语句实现多分支选择结构第2页,共87页。算法的描述方法一个程序应包括两个方面的内容:对数据的描述:在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式,即:数据结构(data structure)对操作的描述:即要求计算机进行操作的步骤,即:算法(algorithm) 著名计算机科学家沃思(Nikiklaus Wirth)提出: 数据结构+算法=程序 完整的程序设计应该是:数据结构算法程序设计方法语言工具第3页,共87页。 算法:为解决一个问题而采取的
2、方法和步骤。 算法是解决“做什么”和“怎么做”的问题。 两大类计算机算法:数值运算算法、非数值运算算法算法的描述方法数值解,如:面积、积分等分析推理、逻辑推理,如:查找、分类第4页,共87页。算法的描述方法 算法特点: 有穷性:包含有限的操作步骤。 确定性:算法中的每一个步骤都应当是确定的。 有效性:算法中的每一个步骤都应当能有效地执行,并得到 确定的结果。 没有输入或有多个输入:输入是指在执行算法时需要从外界 取得必要的信息。 至少有一个输出:算法的目的是为了求解,“解” 就是输出。 第5页,共87页。对同一个问题,可有不同的解题方法和步骤算法的描述方法例: 求方法1:1+2,+3,+4,一
3、直加到100 加99次方法2:100+(1+99)+(2+98)+(49 +51)+50 = 100 + 49100 +50 加51次为了有效地进行解题,不仅需要保证算法正确,还要考虑算法的质量,选择合适的算法。希望方法简单,运算步骤少。第6页,共87页。常用的有算法描述方法:算法的描述方法- 自然语言- 传统流程图- NS结构化流程图- 伪代码- PAD图- 其它第7页,共87页。常用的有算法描述方法用自然语言表示算法: 用自然语言表示通俗易懂,但文字冗长,容易出现歧义性。 用自然语言描述包含分支和循环的算法,不很方便。 除了很简单的问题外,一般不用自然语言。第8页,共87页。用流程图表示算
4、法:美国国家标准化协会ANSI(American National Standard Institute)规定了一些常用的流程图符号:起止框判断框处理框输入/输出框注释框流向线连接点流程图是用一些图框来表示各种操作常用的有算法描述方法第9页,共87页。x0YN一个入口两个出口第10页,共87页。位置不够防止交叉第11页,共87页。例:打印50名 学生中成绩在80分以上者的学号和成绩。第12页,共87页。流程线不要忘记画箭头,否则难以判定各框的执行次序流程图是表示算法的较好的工具,直观形象,易于理解一个流程图包括以下几部分:(1) 表示相应操作的框(2) 带箭头的流程线(3) 框内外必要的文字说
5、明第13页,共87页。传统流程图的流程可以是:这种如同乱麻一样的算法称为BS型算法,意为一碗面条(A Bowl of Spaghetti),乱无头绪。传统流程图的弊端:- 传统的流程图用流程线指出各框的执行顺序,对流程线的使用没有严格限制。- 使用者可以毫不受限制地使流程随意地转来转去,使人难以理解算法的逻辑。解决办法:必须限制箭头的滥用,即不允许无规律地使流程随意转向,只能顺序地进行下去。 第14页,共87页。NS流程图表示算法:1973年美国学者I.Nassi和B.Shneiderman提出了一种新的流程图形式。在这种流程图中,完全去掉了带箭头的流程线。全部算法写在一个矩形框内,在该框内还
6、可以包含其它的从属于它的框,或者说,由一些基本的框组成一个大的框。常用的有算法描述方法第15页,共87页。比文字描述直观、形象、易于理解;比传统流程图紧凑易画。尤其是它废除了流程线,整个算法结构是由各个基本结构按顺序组成的,NS流程图中的上下顺序就是执行时的顺序。用NS图表示的算法都是结构化的算法,因为它不可能出现流程无规律的跳转,而只能自上而下地顺序执行。NS图表示算法的优点:常用的有算法描述方法第16页,共87页。伪代码表示算法:概念:伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。特点:它如同一篇文章一样 ,自上而下地写下来。每一行(或几行)表示一个基本操作。它不用图形符号
7、,因此书写方便 、格式紧凑,也比较好懂,也便于向计算机语言算法(即程序)过渡。用处:适用于设计过程中需要反复修改时的流程描述。第17页,共87页。例:求5!。BEGIN 1t 2 i while i5 ti t i+1 i print t END开始 置t的初值为1 置i的初值为2 当i=5,执行下面操作: 使t=ti 使i=i+1 循环体到此结束 输出t的值 结束第18页,共87页。算法的描述方法例: 求,写出其算法。自然语言:流程图:NS图:伪代码:1. 0 S 2. 1n3. S+n S4. n+1 n5. 判断n100?6. 是,转3 否则转67. 输出S的值用不同形式表示操作步骤,仅
8、仅是描述了算法,要得到运行结果,必须实现算法,即:将算法描述转换成计算机语言程序。第19页,共87页。 结构化程序设计就是将程序的功能分为一个一个的模块,这种程序便于编写、便于阅读、便于修改和维护。 结构化程序设计方法的基本思路是:把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。 结构化程序设计方法第20页,共87页。结构化程序设计方法采取以下方法保证得到结构化的程序:- 自顶向下;- 逐步细化;- 模块化设计;- 结构化编码。第21页,共87页。第22页,共87页。结构化程序设计的三种基本结构是:顺序结构、选择结构、循环结构Bohra和Jacopin
9、i提出,用这三种基本结构作为表示一个良好算法的基本单元。三种基本结构的图示: 顺序结构选择结构第23页,共87页。当型(While型)循环结构 直到型(Until型)循环 第24页,共87页。顺序结构选择结构While型循环结构Until型循环 常用的有算法描述方法第25页,共87页。三种基本结构的共同特点: (1)只有一个入口。 (2)只有一个出口。 (3)结构内的每一部分都有机会被执行到。 (4)结构内不存在“死循环”(无终止的循环)。 由三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。由基本结构所构成的算法属于“结构化”的算法,它不存在无规律的转向,只在本基本结构内才允许存在分支
10、和向前或向后的跳转。第26页,共87页。用三种NS流程图中的基本框,可以组成复杂的NS流程图。图中的A框或B框,可以是一个简单的操作,也可以是三个基本结构之一。 A框可以是一个选择结构 B框可以是一个循环结构 第27页,共87页。顺序程序设计顺序结构,最简单的C语言程序结构,特点是完全按照语句的出现次序执行程序。第28页,共87页。顺序程序设计例:将用华氏法表示的温度F转换为以摄氏法表示的温度C。输入f的值输出c的值NS流程图算法:#include int main () float f,c; printf(input f:); scanf(%f,&f); c=(5.0/9)*(f-32);
11、printf(f=%.2fnc=%.2fn,f,c); return 0; 第29页,共87页。选择结构程序设计在现实生活中,需要进行判断和选择的情况是很多的如果你在家,我去拜访你如果考试不及格,要补考如果遇到红灯,要停车等待周末我们去郊游70岁以上的老年人,入公园免票第30页,共87页。选择结构:解决需要分情况处理的问题在进行下一个操作之前先进行条件判断如何用C语言表达式正确描述这些判断条件?关系表达式,逻辑表达式如何用C语句实现这种分情况处理的算法?条件语句选择结构程序设计第31页,共87页。 C语言有两种选择语句:(1) if语句,实现两个分支的选择结构(2) switch语句,实现多分
12、支的选择结构选择结构程序设计第32页,共87页。if语句 if语句是用来判断给定的条件是否满足 根据判定结果(真或假)决定执行给出的两种操作之一 C语言提供三种形式的if语句: (1)单分支if语句 (2)双分支if语句 (3)多分支if语句第33页,共87页。if语句(1)单分支if语句 格式: if(表达式) 语句;表达式语句真(非0)假(0)功能:先计算“表达式”的值,如果该值不等于0,条件为真,执行其后语句;否则,不执行其后语句。第34页,共87页。if语句(2)双分支if语句格式: if(表达式) 语句1; else 语句2;功能:先计算“表达式”的值,如果该值不等于0,条件为真,执
13、行“语句1”;否则,条件为假,执行“语句2”。表达式 语句1 语句2真(非0)假(0)第35页,共87页。if语句(3)多分支if语句格式:功能:先计算“表达式1”的值,如果真,执行“语句1”;否则,计算“表达式2”的值,如果真,执行“语句2”;,否则,“表达式n”的值,如果真,执行“语句n”;否则,执行“语句n+1”。if(表达式1)语句1;else if(表达式2) 语句2;else if(表达式3) 语句3; else if(表达式n) 语句n;else 语句n+1;表达式1语句1真假表达式2语句2真表达式n语句n真假假语句n+1第36页,共87页。if语句注意事项 (1) if语句后面
14、的表达式必须用括号括起来。(2) 表达式通常是逻辑表达式或关系表达式,但也可以是其它任何表达式,如赋值表达式等,甚至也可以是一个变量。只要表达式非零时,表达式的值就为真,否则就是假。(3) 在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用 括起来组成一个复合语句。但要注意的是在之后不能再加分号。(4) 在if语句中,如果表达式是一个判断两个数是否相等的关系表达式,要当心不要将=写成了赋值运算符=。例: if x 0 printf (“x 0”);例: if (x 0) printf (“x 0”);if (a = 5) 语句; /表
15、达式的值永远为非0, 所以其后的语句总是要执行的 if (b) 语句; /等价于if (b != 0) 语句;例: if (a b) a+; b+; else a = 0; b = 1; 例: if (a b) a+; b+; else a = 0; b = 1; 例: #include void main ( ) int x = 0; if (x = 0) printf (“x = 0n”); else printf (“x != 0n”);例: #include void main ( ) int x = 0; if (x = 0) printf (“x = 0n”); else prin
16、tf (“x != 0n”);运行结果:x = 0运行结果:x != 0第37页,共87页。If嵌套语句if(表达式1) if (表达式2) 语句1; else 语句2; else if (表达式3) 语句3; else 语句4; 内嵌if-else内嵌if-elseif(表达式1) if (表达式2) 语句1; else 语句2;内嵌if-elseif(表达式1) 语句1;else if (表达式2) 语句3; else 语句4; 内嵌if-elseif (表达式1) if (表达式2) 语句1; else 语句2; 内嵌if第38页,共87页。例: 输入两数并判断其大小关系 #includ
17、e void main ( ) int x, y; printf (Enter integer x, y: ); scanf (%d, %d, &x, &y); if (x != y) if (x y) printf (X Yn); else printf (X Yn); else printf (X = Yn); 运行结果: Enter integer x, y: 12, 23 XY Enter integer x, y: 12, 12 X=Y第39页,共87页。if_else 配对原则 if () if () if () else else else 语言规定,在缺省 时,else总是和它
18、上面离它最近的未配对的if配对 例: #include void main () int a = 1, b = -1; if (a 0) if (b 0) a+; else a-; printf (a = %dn“,a); 例: #include void main () int a = 1, b = -1; if (a 0) if (b 0) a+; else a-; printf (a = %dn“,a); 运行结果:a = 0运行结果:a = 1第40页,共87页。例: if (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);修改: i
19、f (a=b) if(b=c) printf(“a=b=c”); else printf(“a!=b”);实现if -else 正确配对方法:加 第41页,共87页。#includevoid main() float a,b,t; scanf(%f,%f,&a,&b); if(ab) t=a; a=b; b=t; printf(%5.2f,%5.2fn,a,b);例:输入两个实数,按代数值由小到大的顺序输出这两个数。ynabt=aa=bb=t第42页,共87页。#includevoid main() float a,b; scanf(%f,%f,&a,&b); if(ab) printf(%5
20、.2f,%5.2fn,b,a); else printf(%5.2f,%5.2fn,a,b);方法二:第43页,共87页。例:输入两个整数,按代数值由小到大的顺序输出这两个数。#includevoid main() int a,b; scanf(%d,%d,&a,&b); if(ab) a=ab; b=ba; a=ab; printf(%5d,%5dn,a,b);第44页,共87页。例:输入三个数a,b,c,要求按由小到大的顺序输出。解题思路:可以先用伪代码写出算法:if ab,a和b对换 (a是a、b中的小者)if ac,a和c对换 (a是三者中最小者)if bc,b和c对换 (b是三者中次
21、小者)顺序输出a,b,c第45页,共87页。#include void main () float a,b,c,t; scanf(%f,%f,%f,&a,&b,&c); if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; if(bc) t=b;b=c;c=t; printf(%5.2f,%5.2f,%5.2fn,a,b,c);第46页,共87页。例:有一个函数 -1 (x0)编一程序,输入一个x值,输出y值。算法1: 算法2:输入x 输入x若x0,则y=-1 若x0,则y=1 若x=0,则y=0输出y 若x0,则y=1 输出y第47页,共87页。#includevo
22、id main() int x,y; scanf(“%d”,&x); if(x0) y=-1; else if(x=0) y=0; else y=1; printf(“x=%d,y=%dn”,x,y); 第48页,共87页。#includevoid main() int x,y; scanf(%d,&x); if(x0) y=1; printf(x=%d,y=%dn,x,y); 第49页,共87页。条件运算符 格式: 表达1?表达式2:表达式3 功能: 判断表达式1的值,如果成立就执行表达式2, 否则,就执行表达式3 使用场合:若在if语句中,当被判别的表达式的 值为“真”或“假” 时,都执行
23、一个赋值语 句且向同一个变量赋值时,可以用一个 条件运算符来处理。 第50页,共87页。例:If(ab) max=a;else max=b;当ab时将a的值赋给max,当ab时将b的值赋给max,可以看到无论ab是否满足,都是向同一个变量赋值。 可以用下面的条件运算符来处理:max=(ab)?a:b;第51页,共87页。说明:(1)条件运算符的执行顺序:先求解表达式1,若为非0(真) 则求解表达式2,此时表达式2的值就作为整个条件表达式的值。若表达式的值为0(假),则求解表达式3,表达式3的值就是整个条件表达式的值。 (2)条件运算符优先级高于赋值运算符 ,低于关系运算符和算术运算符。 (3)
24、条件运算符的结合方向为“自右至左”。 (4)表达式2和表达式3不仅可以是数值表达式,还可以是赋值表达式或函数表达式。(5)条件表达式中,表达式1的类型可以与表达式2和表达式3的类型不同。 表达1?表达式2:表达式3第52页,共87页。#include void main () char ch; scanf(%c,& ch); ch=(ch=A&ch= 90 : printf (A); break; case score = 80 & score = 70 & score = 60 & score 70 : printf (“E); break; default : printf (“F); b
25、reak; case 后面包含变量第58页,共87页。(5) case后面的“常量表达式”仅起语句标号作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断,所以必须加上break语句,以便结束switch语句。 #include void main ( ) char ch; ch = getchar ( ); switch ( ch ) case Y : printf (Yesn); break; case N : printf (Non); break; case A : printf (Alln); break; default : printf (Yes,N
26、o or Alln); 运行结果: No/假设输入为:N #include void main ( ) char ch; ch = getchar ( ); switch ( ch ) case Y : printf (Yesn); break; case N : printf (Non); case A : printf (Alln); break; default : printf (Yes,No or Alln); /假设输入为:N运行结果: No ALL第59页,共87页。 (6)多个case子句,可共用同一语句(组)。 例:当a的值是1、2、3时,将b的值加2,当a的值是4、5、6时
27、,将b的值减2。 int a, b = 4; scanf (%d, &a); switch (a) case 1: case 2: case 3: b += 2; break; case 4: case 5: case 6: b -= 2; break; default: b *= 2; break; printf (b = %dn, b);第60页,共87页。(7) case子句和default子句如果都带有break子句,那么它们之间顺序的变化不会影响switch语句的功能。 #include void main ( ) char ch; ch = getchar ( ); switch
28、( ch ) case Y : printf (Yesn); break; case N : printf (Non); break; case A : printf (Alln); break; default : printf (Yes,No or Alln); break; #include void main ( ) char ch; ch = getchar ( ); switch ( ch ) case Y : printf (Yesn); break; default : printf (Yes,No or Alln); break; case N : printf (Non);
29、 break; case A : printf (Alln); break; 第61页,共87页。(8) case子句和default子句如果有的带有break子句,而有的没有带break子句,那么它们之间顺序的变化可能会影响输出的结果。 #include void main ( ) char ch; ch = getchar ( ); switch ( ch ) case Y : printf (Yesn); break; case N : printf (Non); break; case A : printf (Alln); break; default : printf (Yes,No
30、 or Alln); #include void main ( ) char ch; ch = getchar ( ); switch ( ch ) case Y : printf (Yesn); break; default : printf (Yes,No or Alln); case N : printf (Non); break; case A : printf (Alln); break; /假设输入为:B运行结果:Yes,No or All运行结果:Yes,No or AllNo/假设输入为:B 第62页,共87页。(9) switch语句可以嵌套。 #include void m
31、ain ( ) int x = 1, y = 0, a = 0, b = 0; switch ( x ) case 1: switch ( y ) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; case 3: a+; b+; printf (a = %d, b = %dn, a, b); 运行结果:a = 2,b = 1 第63页,共87页。(10) 常量和case中间至少有一个空格,常量的后面是冒号,常量类型应与switch后括号内表达式类型一直。 第64页,共87页。例:已知某公司员工的保底薪水为500,某月所接工
32、程的利润profit(整数)与利润提成的关系如下所示(计量单位:元)。计算员工的当月薪水。 工程利润profit提成比率profit1000没有提成1000profit2000提成10%2000profit5000提成15%5000profit10000提成20%10000profit提成25%程序应该这样来设计: 首先要定义一个变量用来存放员工所接工程的利润; 其次提示用户输入员工所接工程的利润,并调用scanf函数接受用户输入员工所接工程的利润; 然后根据上表的规则,计算该员工当月的提成比率。 最后计算该员工当月的薪水(保底薪水+所接工程的利润*提成比率),并输出结果。第65页,共87页。
33、 #include void main ( ) long profit; /所接工程的利润 float ratio; /提成比率 float salary = 500; /薪水,初始值为保底薪水500 printf (Input profit: ); /提示输入所接工程的利润 scanf (%ld, &profit); /输入所接工程的利润 /计算提成比率 if (profit = 1000) ratio = 0; else if (profit = 2000) ratio = 0.10; else if (profit = 5000) ratio =0.15; else if (profit
34、 = 10000) ratio =0.20; else ratio =0.25; salary += profit * ratio; /计算当月薪水 printf (salary = %.2fn, salary); /输出结果运行结果:Input profit: 4000salary = 1100.00方法一:使用if_else if语句第66页,共87页。#include void main ( ) long profit; /所接工程的利润 float ratio; /提成比率 float salary = 500; /薪水,初始值为保底薪水500 printf (Input profit
35、: ); /提示输入所接工程的利润 scanf (%ld, &profit); /输入所接工程的利润 /计算提成比率 if (profit = 1000) ratio = 0; if (1000 profit & profit = 2000) ratio =0.10; if (2000 profit & profit = 5000) ratio = 0.15; if (5000 profit & profit = 10000) ratio = 0.20; if (10000 profit) ratio =0.25; salary += profit * ratio; /计算当月薪水 print
36、f (salary = %.2fn, salary); /输出结果运行结果:Input profit: 4000salary = 1100.00方法二:使用if语句第67页,共87页。方法三:使用switch语句算法设计要点:为使用switch语句,必须将利润profit与提成的关系转换成某些整数与提成的关系。分析本题可知,提成的变化点都是1000的整数倍(1000、2000、5000、),如果将利润profit整除1000,则当: profit 1000 对应0、1 1000 profit 2000 对应1、2 2000 profit 5000 对应2、3、4、5 5000 profit 1
37、0000 对应5、6、7、8、9、10 10000 profit 对应10、11、12、为解决相邻两个区间的重叠问题,最简单的方法就是:利润profit先减1(最小增量),然后再整除1000即可: profit 1000 对应0 1000 profit 2000 对应1 2000 profit 5000 对应2、3、4 5000 profit 10000 对应5、6、7、8、9 10000 profit 对应10、11、12、第68页,共87页。#include void main ( ) long profit; /所接工程的利润 int grade; float ratio; /提成比率
38、float salary = 500; /薪水,初始值为保底薪水500 printf (Input profit: ); /提示输入所接工程的利润 scanf (%ld, &profit); /输入所接工程的利润方法三:使用switch语句 /将利润-1、再整除1000,转化成switch语句中的case标号 grade = (profit - 1) / 1000; switch ( grade ) /计算提成比率 case 0: ratio = 0; break; / profit1000 case 1: ratio = 0.10; break; / 1000profit2000 case
39、2: case 3: case 4: ratio = 0.15; break; / 2000profit5000 case 5: case 6: case 7: case 8: case 9: ratio = 0.20; break; / 5000profit10000 default: ratio = 0.25; / 10000profit salary += profit * ratio; /计算当月薪水 printf (salary = %.2fn, salary); /输出结果运行结果:Input profit: 4000salary = 1100.00第69页,共87页。例:根据用户
40、输入的百分之成绩,按下面标准转换成五分制成绩并输出。grade=A 90 score 100 B 80 score90C 70 score 80 D 60 score 70 E 0 score 60方法1:else-if条件语句方法2:switch语句第70页,共87页。#includemain() int score; printf(“please enter score:”); scanf(“%d”,&score); if(score100) printf(“input error!n”); else if(score=90) printf(“%d-An”,score); else if(
41、score=80) printf(“%d-Bn”,score); else if(score=70) printf(“%d-Cn”,score); else if(score=60) printf(“%d-Dn”,score); else printf(“%d-En”,score);#includemain() int score, mark; printf(“please enter score:”); scanf(“%d”,&score); mark=score=0&score=100?score/10:-1; switch(mark) case 10: case 9: printf (“
42、%d-An”,score); break; case 8: printf (“%d-Bn”,score); break; case 7: printf (“%d-Cn”,score); break; case 6: printf (“%d-Dn”,score); break; case 5: case 4: case 3: case 2: case 1: case 0: printf(“%d-En”,score); break; default: printf(“input error!n”); 第71页,共87页。例:运输公司对用户计算运费 路程(s-km)越远,每吨千米运费越低。标准如下:s250km 没有折扣250s500 2折扣500s1000 5折扣1000s2000 8折扣2000
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预防甲流中班教案
- 贵州省安顺市2024-2025学年高三下学期第四次监测考试地理试题
- 2025届天津杨村一中高三-历史试卷
- 2025届福建省泉州市高三毕业班下学期质量监测(三模)历史试题
- 特许金融分析师考试展望未来试题及答案
- 高龄产妇的妊娠期护理
- 高脂血症的预防与护理
- 特许金融分析师考试的重要复习资源试题及答案
- 创业基本知识
- 石家庄市辛集中学高二上学期第三次阶段考试英语试题
- 2025年各专业质控工作改进目标
- 2024年中央戏剧学院招聘笔试真题
- 《基于西门子S7-1200PLC的四层电梯控制系统设计》8900字
- 2025年中国消防器材制造行业发展模式调研研究报告
- 2025教科版六年级科学下册全册教案【含反思】
- 铁代谢障碍性贫血的相关检验课件
- DBJ50T-187-2014 重庆市住宅用水一户一表设计、施工及验收技术规范
- 广东省2025年中考数学模拟试卷(含解析)
- 万以内数的认识(数数 例3)(教案)2024-2025学年数学 二年级下册 西师大版
- 文物修复与保护基础知识单选题100道及答案解析
- 2025年河南测绘职业学院高职单招职业技能测试近5年常考版参考题库含答案解析
评论
0/150
提交评论