版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2023/9/211第五章循环结构5.1while语句5.2do-while语句5.3for语句5.4break、continue和goto语句5.5循环的嵌套5.6复合结构程序举例2023/8/61第五章循环结构5.1while语22023/9/21C语言有while、do-while、和for语句三种循环结构语句。前两个称为条件循环,即根据条件来决定是否继续循环;后一个称为计数循环,即根据设定的执行次数来执行循环。
在许多问题中需要用到循环控制。例如,要输入全校学生成绩;求若干个数之和;迭代求根等。几乎所有实用的程序都包含循环。循环结构是结构化程序设计的基本结构之一,它和顺序结构、选择结构共同作为各种复杂程序的基本构造单元。因此熟练掌握选择结构和循环结构的概念及使用是程序设计的最基本的要求。22023/8/6C语言有while、do-while32023/9/215.1while语句1.While语句的一般形式
while
(表达式)
语句
首先计算表达式,当表达式为非0时,执行while语句中的内嵌语句;然后重新计算表达式,如果表达式的值为0,则跳出循环。
2.while语句的执行流程
表达式语句非00注意:如果表达式的值一开始就为0,则语句一次也会被不执行。32023/8/65.1while语句1.While语句的42023/9/21特点:先判断表达式,后执行循环体说明:循环体有可能一次也不执行循环体可为任意类型语句下列情况,退出while循环条件表达式不成立(为零)循环体内遇break,return,goto无限循环:while(1)
循环体;42023/8/6特点:先判断表达式,后执行循环体52023/9/21while语句举例例1:求∑n
100n=1
main(){inti,sum=0;i=1;while(i<=100){sum=sum+i;i++;}printf(“%d”,sum);}52023/8/6while语句举例100n=1main62023/9/21例2:显示1~10的平方#include<stdio.h>main(){inti=1;while(i<=10){printf("%d*%d=%d\n",i,i,i*i);i++;}}运行结果:1*1=12*2=43*3=94*4=165*5=256*6=367*7=498*8=649*9=8110*10=10062023/8/6例2:显示1~10的平方运行结果:72023/9/21注意:(1)循环体如果包含一个以上的语句,应该用花括弧括起来,以复合语句形式出现。如果不加花括弧,则
while语句的范围只到
while后面第一个分号处。
(2)在循环体中应有使循环趋向于结束的语句。如果无此语句,则i的值始终不改变,循环永不结束。72023/8/6注意:(1)循环体如果包含一个以上的语句,82023/9/215.2do—while语句1.do-while语句的一般形式为:
do
循环体语句
while
(表达式);
2.do-while语句的执行流程
当表达式值为真循环体语句(b)循环体语句表达式(a)TF82023/8/65.2do—while语句1.do-wh92023/9/21do—while语句执行过程首先执行语句,再计算表达式。如果表达式的值为非零,继续下一次循环,如果表达式的值为0,则跳出循环。如果表达式的值一开始就为0,也会执行一次语句。92023/8/6do—while语句执行过程首先执行语句,102023/9/21例用do~while循环求
#include<stdio.h>main(){inti,sum=0;i=1;do{sum+=i; i++;}while(i<=100);printf("%d",sum);}102023/8/6例用do~while循环求#incl112023/9/21例while和do~while比较#include<stdio.h>main(){inti,sum=0;scanf("%d",&i);do{sum+=i; i++;}while(i<=10);printf("%d",sum);}#include<stdio.h>main(){inti,sum=0;scanf("%d",&i);while(i<=10){sum+=i; i++;}printf("%d",sum);}思考:这两个程序完全一样吗?112023/8/6例while和do~while比较#122023/9/21结论:当while后面的表达式的第一次的值为“真”时,两种循环得到的结果相同,否则两者结果不相同(指两者具有相同的循环体的情况)。
122023/8/6结论:当while后面的表达式的第一次的132023/9/21例如:i=1;while(i<=100)putchar(‘*’);i++;
思考:这个程序段有如何的运行结果?132023/8/6例如:142023/9/21注意:循环控制变量值在循环体内必须有所改变。例如:i=1;while(i<=100)putchar(‘*’);i++;
这个循环永远不会结束,因为循环控制变量i没有在循环体内被改变,i++;不属于循环语句。i++应该在循环体内改变:i=1;while(i<=100){putchar(‘*’);i++;}142023/8/6注意:循环控制变量值在循环体内必须有所改152023/9/21举例:#include<stdio.h>
main(){floatscore,average=0;intn=0;do{scanf(“%f”,&score);if(score>=0){average+=score;n++;}}while(score>=0);if(n!=0)average=average/n;printf(“%6.2f”,average);}思考:该程序是什么功能?152023/8/6举例:#include<stdio.h>162023/9/21for循环语句是C语言中功能最强的循环语句,它有多个变化形式,并且可以很方便的代替其它的循环语句。5.3for语句for语句的一般形式
for(表达式1;表达式2;表达式3)循环体语句162023/8/6for循环语句是C语言中功能最强的循环语172023/9/21①先计算初值表达式1,它主要用于循环开始前设置变量初值;②接着计算循环控制逻辑表达式2,它控制循环条件,决定循环次数;③如果表达式2为真,则执行循环体语句,否则结束for循环;④求解表达式3,它主要是对循环控制变量进行修改。⑤转步骤②执行。求表达式1表达式2语句求表达式3for语句的下一语句真假for执行流程172023/8/6①先计算初值表达式1,它主要用于循环开始182023/9/21求1+2+…+99#include(stdio.h)
main()
{inti,s=0;/*s清0*/
for(i=1;i<100;i++)
s=s+i;
printf(“s=%d”,i;)
}i=0i<100s=s+ii++例:182023/8/6求1+2+…+99#include(s192023/9/21for语句说明(1)for语句的一般形式中的“表达式1”可以省略,注意省略表达式1时,其后的分号不能省略。如for(;i<=100;i++)sum=sum+i;执行时,跳过“求解表达式1”这一步,其他不变。(2)如果表达式2省略,即不判断循环条件,循环无终止地进行下去。也就是认为表达式2始终为真。例如:
for(i=1;;i++)sum=sum+i;它相当于:
i=1;while(1){sum=sum+1;i++;}192023/8/6for语句说明(1)for语句的一般形202023/9/21for语句说明2(3)表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束。如:
for(i=l;i<=100;)
{sum=sum+l;
i++;}(4)可以省略表达式1和表达式3,只有表达式2,即只给循环条件。如:
for(;i<=100)while(i<=100){sum=sum+l;相当于{sum=sum+l;
i++;}i++;}202023/8/6for语句说明2(3)表达式3也可以省略212023/9/21for语句说明3(5)3个表达式都可省略,如:for(;;)语句相当于while(1)语句即不设初值,不判断条件(认为表达式2为真值),循环变量不增值。无终止地执行循环体。(6)表达式1可以是设置循环变量初值的赋值表达式,也可以是与循环变量无关的其他表达式。如:
for(sum=0;i<=100;i++)sum=sum+i;表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。如:
for(sum=0,i=1;i<=100;i++)sum=sum+i;或for(i=0,j=100;i<=j;i++,j--)k=i+j;212023/8/6for语句说明3(5)3个表达式都可省略222023/9/21for语句说明4(7)表达式2一般是关系表达式(如i<=100)或逻辑表达式(如a<b&&x<y),但也可以是数值表达式或字符表达式,只要其值为非零,就执行循环体。分析下面两个例子:②for(;(c=getchar())!=‘\n’;)printf(“%c”,c);①for(i=0;(c=getchar())!=‘\n’;i+=c);此for语句的执行过程见图,它的作用是不断输入字符,将它们的ASCII码相加,直到输入一个“换行”符为止。i=0取一个字符=>cC≠换行符i=i+cTF222023/8/6for语句说明4(7)表达式2一般是关系232023/9/21例:#include<stdio.h>main(){inti=0;for(i=0;i<10;i++)putchar(‘a’+i);}运行结果:abcdefghij例:#include<stdio.h>main(){inti=0;
for(;i<10;i++)putchar(‘a’+i);}232023/8/6例:#include<stdio.h>运242023/9/21运行结果:abcdefghij例:#include<stdio.h>main(){inti=0;
for(;i<10;)putchar(‘a’+(i++));}例:#include<stdio.h>main(){inti=0;
for(;i<10;putchar(‘a’+i),i++)
;}242023/8/6运行结果:abcdefghij例:#in252023/9/21举例问题:求s=1/99+2/98+…+1
#include<stdio.h>main(){inti,j;floats=0.0;for(i=1,j=99;i<=j;i++,j--)s=s+i/j;printf(“s=1/99+2/98+…+1=%f”,s);}思考:上面程序的运行结果是多少?为什么?252023/8/6举例问题:求s=1/99+2/98+262023/9/21举例问题:求s=1/99+2/98+…+1
#include<stdio.h>main(){inti,j;floats=0.0;for(i=1,j=99;i<=j;i++,j--)s=s+i/j;printf(“s=1/99+2/98+…+1=%f”,s);}思考:上面程序的运行结果是多少?程序的运行结果是:
s=1/99+2/98+…+1=1.000000为什么?262023/8/6举例问题:求s=1/99+2/98+272023/9/215.4break、continue、goto语句
这一类语句的功能是改变程序的结构,使程序从其所在的位置转向另一处。这类语句是非结构化语句272023/8/65.4break、continue、282023/9/21非结构化语句之break
它的作用是把流程转向所在结构之后。在switch分支结构中,使用break语句可以使流程跳出switch分支结构。同样的,在循环结构中,使用break语句使流程跳出当前的循环层,转向执行该循环结构后面的语句。
简单的说就是跳出当前所在的结构break语句不能用于循环语句和switch语句之外的任何其他语句中。break只能终止并跳出最近一层的结构282023/8/6非结构化语句之break292023/9/21expr……break;……假(0)真(非0)whiledo……break;…...expr假(0)真(非0)while292023/8/6expr……假(0)真(非0)while302023/9/21expr2……break;…...假(0)真(非0)forexpr1expr3switchexpr语句组1break;语句组2break;语句组nbreak;语句组break;…...const1const2constndefaultcase302023/8/6expr2……假(0)真(非0)fore312023/9/21main()
{
ints=0,i=1:
for(;;)
{s=s+i;i++;
if(i>100)break;
/*如果i>100,则退出循环*/
}
printf(“s=%d”,s);
}
本程序中,当i>100时,强行终止for循环,继续执行for语句下一条语句例如:312023/8/6main()
{
ints=0,322023/9/21例break举例:输出圆面积,面积大于100时停止#definePI3.14159main(){intr;floatarea;for(r=1;r<=10;r++){area=PI*r*r;if(area>100) break;printf("r=%d,area=%.2f\n",r,area);}}322023/8/6例break举例:输出圆面积,面积大332023/9/21例break举例:小写字母转换成大写字母,直至输入非字母字符332023/8/6例break举例:小写字母转换成大写342023/9/21例break举例:小写字母转换成大写字母,直至输入非字母字符#include<stdio.h>main(){inti,j;charc;while(1){c=getchar(); if(c>='a'&&c<='z') putchar(c-'a'+'A'); else break;}}342023/8/6例break举例:小写字母转换成大写352023/9/21
非结构化语句之continuecontinue语句被称为继续语句。执行continue语句,使本次循环提前结束,即跳过循环体中continue语句下面的尚未执行的循环体语句,但不结束整个循环,继续进行下一次循环的条件判别,条件为真,继续进行执行循环语句。该语句形式为:
continue;352023/8/6 非结构化语句之continuecont362023/9/21continue语句功能:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断仅用于循环语句中expr……continue;……假(0)真(非0)while真(非0)do……continue;…...expr假(0)whileexpr2……continue;…...假(0)真(非0)forexpr1expr3362023/8/6continue语句expr……假(0)372023/9/21例:显示输入的字符,如果按的是Esc键,则退出循环;如果按的是Enter键,则不做任何处理,继续输入下一个字符。#include“conio.h”main(){charch;
for(;;){ch=getchar();/*字符输入函数*/if(ch==27)/*Esc键的ACSII码为27*/
break;/*退出循环*/if(ch==13)
continue;/*按的是Enter:键,跳过字符输出语句*/putchar(ch);/*显示输入的字符*/}getch();/*让程序停一下,拍任意键继续*/}372023/8/6例:显示输入的字符,如果按的是Es382023/9/21例求输入的十个整数中正数的个数及其平均值382023/8/6例求输入的十个整数中正数的个数及其平392023/9/21例求输入的十个整数中正数的个数及其平均值/*ch5_12.c*/#include<stdio.h>main(){inti,num=0,a;floatsum=0;for(i=0;i<10;i++){scanf("%d",&a); if(a<=0)continue; num++; sum+=a;}printf("%dplusinteger'ssum:%6.0f\n",num,sum);printf("Meanvalue:%6.2f\n",sum/num);}392023/8/6例求输入的十个整数中正数的个数及其平402023/9/21非结构化语句之gotogoto被称为无条件转移语句。由两部分组成goto标号;
和标号:语句
它最大的好处就是可以一下子跳出多重循环,而break却不能做到这点。402023/8/6非结构化语句之gotogoto被称为无条412023/9/21#include“stdio.h”main(){floatscore,average=0;
intn=0;
scanf(“%f”,&score);/*输入第一个学生的分数*/if(score<0)gotoend;
/*表达式为非0,转移到end标号处*/loop:average+=score;
n++;
scanf(“%f”,&score);
if(score>=0)/*表达式为非0,转移到loop标号处*/gotoloop;
average=average/n;/*求平均成绩average*/
end:printf(“%6.2f”,average);/*输出平均成绩,保留两位小数*/}412023/8/6#include“stdio.h”422023/9/21例:用if语句和goto语句构成循环,求
∑n100n=1
main(){inti,sum=0;i=1;loop:if(i<=100){sum=sum+i;i++;
gotoloop;}printf(“%d”,sum);}运行结果如下:5050422023/8/6例:用if语句和goto语句构成循环,求432023/9/21程序举例(P124例6.6)t=1,pi=0,n=1.0,s=1当|t|1e-6pi=pi+tn=n+2s=-st=s/npi=pi*4输出pi分子:1,-1,1,-1…分母:1,3,5,7,...432023/8/6程序举例(P124例6.6)t=1,442023/9/21例求Fibonacci数列:1,1,2,3,5,8,……的前40个数f1=1,f2=1fori=1to20输出f1,f2f1=f1+f2f2=f2+f11534233159710946750255142293524578241578171855377258417711121393832040570288739088169213896104181286571964181346269922746563245986321144987676546368317811217830914930352102334155442023/8/6例求Fibonacci数列:1,1,452023/9/21程序如下main(){longintf1,f2;inti;f1=1;f2=1;for(i=1;i<=20;i++){printf("%12ld%12ld",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}}452023/8/6程序如下462023/9/21例判断m是否素数读入mk=mi=2当i
km被i整除真假用break结束循环i=i+1i
k+1真假输出:m”是素数”输出:m”不是素数”462023/8/6例判断m是否素数读入mk=mi=2472023/9/21 5.5循环的嵌套
在循环体语句中又有另一个完整的循环结构的形式,称为循环的嵌套。嵌套在循环体内的循环语句称为内循环,外面的循环语句称为外循环。如果内循环体中又有嵌套的循环语句,称为多层循环。While、do-while、for三种循环都可以互相嵌套。循环嵌套的程序中,要求内循环必须被包含在外层循环的循环体中,不允许出现内外层循环体交叉的情况。472023/8/6 5.5循环的嵌套482023/9/21下面几种情况均为合法的形式while(){…while(){…}}(2)do{…do{…}while();}while();(3)for(;;){for(;;){…}}(4)while(){…do{…}while();….}482023/8/6下面几种情况均为合法的形式while(492023/9/21(5)for(;;){….while(){…}….}(6)do{…for(;;){…}}while();
注意:在循环嵌套中,内循环必须在外循环开始循环之前结束。492023/8/6(5)for(;;)(6)do502023/9/21循环嵌套举例问题:输出图形*********************分析:一共6行,每行的‘*’数目与行号相同算法:行用i表示,当i<=6则输出i个‘*’换行inti,j;for(i=1;i<7;i++){printf("\n");
for(j=1;j<=i;j++)putchar('*');}502023/8/6循环嵌套举例问题:输出图形分析:一共512023/9/21输出结果:执行语句段:for(i=0;i<6;i++)
{
for(j=0;j<6;j++)printf(“%3d%3d”,i,j);
putchar(‘\n’);
}例:512023/8/6输出结果:执行语句段:例:522023/9/21000102030405101112131415202122232425303132333435404142434445505152535455输出结果:执行语句段:for(i=0;i<6;i++)
{
for(j=0;j<6;j++)printf(“%3d%3d”,i,j);
putchar(‘\n’);
}例:522023/8/6000102030405输出结532023/9/21问题:输出图形****************
分析:一共4行,每行*个数是1,3,5,7,如果考虑第4行输出不空格,则每行输出*之前的空格数为3,2,1,如果用i表示每行输出*的个数,则输出空格数与i的关系为(7-i)/2,所以:#include<stdio.h>main()
{inti,j;
for(i=1;i<=7;i+=2)
{printf(“\n”);
for(j=1;j<=(7-i)/2;j++)
putchar(‘’);
/*输出(7-i)/2个空格*/
for(j=1;j<=i;j++)
putchar(’*’);
/*输出i个‘*’*/}
}532023/8/6问题:输出图形分析:一共4行,每行*个数2023/9/2154方法二:若将行号k看成是1,2,3,4;那么可以发现每行的空格数3,2,1,0即为4-k;每行的*数目1,3,5,7即为2*k-1;所以可以编程如下:Main(){intk,j;printf(“\n”);for(k=1;k<=4;k++){for(j=4-k;j>0;j--)printf(““);for(j=1;j<=2*k-1;j++)printf(“*”);printf(“\n”);}}
2023/8/654方法二:若将行号k看成是1,2,3,4;552023/9/215.6几种循环的比较(1)四种循环都可以用来处理同一问题,一般情况下它们可以互相代替。但一般不提倡用goto型循环。(2)
while和do-while循环,只在
while后面指定循环条件,在循环体中应包含使循环趋于结束的语句(如i++,或i=i+1等)。
for循环可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体中的操作全部放到表达式3中。因此for语句的功能更强,凡用while循环能完成的,用for循环都能实现。552023/8/65.6几种循环的比较(1)四种循环都可562023/9/21比较(4)
while循型、do-while循环和
for循环,可以用
break语句跳出循环,用
continue语句结束本次循环。而对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。(3)用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成。而
for语句可以在表达式1中实现循环变量的初始化。562023/8/6比较(4)while循型、do-572023/9/215.7复合程序结构及举例
C语言允许循环语句与分支结构语句联用,即在循环体包含一个完整的分支结构,这样的程序结构被称为复合程序结构。复合程序结构同样必须做到嵌套层次清楚,决不允许出现嵌套层次之间相互交叉的情况。572023/8/65.7复合程序结构及举例C582023/9/21例1用C语言编程打印1到10的乘法表。main(){intj,k;printf("12345678910\n");printf("--------------------------------\n");for(j=1;j<=10;j++){printf("%4d|",j);for(k=1;k<=10;k++)printf("%4d|",j*k);printf("\n");}}582023/8/6例1用C语言编程打印1到10的乘法表。m592023/9/21例2用C语言编程实现从键盘输入一个数字串,然后把它变成一个实数输出。分析:★首先要判断输入的是否是数字还是‘.’;使用函数isdigit()。★采用getchar()函数进行输入,输入的字符常量是ASCII码的值,怎样转换成对应的十进制数字?★先输入的是高位数字,后输入的是低位数字,怎样处理?★整数与小数的不同处理方式:123=1*102+2*10+3,0.456=4*10-1+5*10-2+6*10-3592023/8/6例2用C语言编程实现从键盘输入一个数字串602023/9/21例4解#include<stdio.h>#include<string.h>#definePOINT‘.’/*注意不能是“.”*/main(){intc,j,digitcount=0;doublevalue=0,fracdigit;while(isdigit(c=getchar())){value=value*10;value=value+(c-'0');}if(c==POINT)while(isdigit(c=getchar())){digitcount++;fracdigit=c-'0';for(j=0;j<digitcount;j++) fracdigit=fracdigit/10;value=value+fracdigit;}printf("\n%f\n",value);}602023/8/6例4解#include<stdio.h612023/9/21例3猴子吃桃子问题。P1296.10
猴子一天摘下若干个桃子,当即吃了一半,还不过瘾又多吃了一个;第二天又将剩余的桃子吃掉一半,后又多吃了一个;以后每天都吃前天剩余的一半另多吃一个;到第10天想吃时,发现只剩下一个桃子,求它第一天共摘了多少桃子?分析:第10天1
第9天4
第8天10
第7天22则:第i天桃子数应该是第(i+1)天桃子数加1后的2倍。即知道第10天可以求出第9天,知道第9天可以求出第8天,这样迭代下去,可以求出第1天。612023/8/6例3猴子吃桃子问题。P1296.10622023/9/21例5解main(){intday,x1,x2;day=10;x1=1;while(day>0){x2=(x1+1)*2;x1=x2;day--;}printf(“Total=%d\n",x2);}622023/8/6例5解main()632023/9/21例译密码ABCDEFGHIJKLMNOPQRSTUVWXYZ例如Hello,world!译成密码:Lipps,asvph!632023/8/6例译密码ABCDEFGHIJKLMN642023/9/21#include<stdio.h>main(){charc;while((c=getchar())!=‘\n’){if((c>=‘a’&&c<=‘z’)||(c>=‘A’&&c<=‘Z’)){c=c+4;if(c>’Z’&&c<=‘Z’+4||c>’z’)c=c-26;}printf(“%c”,c);}}642023/8/6#include<stdio.h>2023/9/2165例:求n!
main(){floatt=1;intj,n;scanf(“%d”,&n);for(j=1;j<=n;j++)t=t*j;printf(“%f”,t);}例:求1!+2!+……+20!(p1296.4)2023/8/665例:求n!2023/9/2166main(){floatt=1,s=0;intk,j;for(j=1;j<=20;j++){t=1;for(k=1;k<=j;j++)t=t*k;s=s+t;}printf(“resultis%f”,s);}2023/8/666main()2023/9/2167例:因子之和等于本身的数称为完数。如28的因子为1,2,4,7,14,且1+2+4+7+14=28,则28是完数。判断用户输入的数是否为完数。/求[2,1000]中的完数。main(){intx,j,sum=0;scanf(“%d”,&x);for(j=1;j<x;j++)if(x%j==0)sum=sum+j;if(sum==x)printf(“%disawanshu\n”,x);elseprintf(“%disnotawanshu\n”,x);}2023/8/667例:因子之和等于本身的数称为完数。如282023/9/2168main(){intk,j,sum=0;For(k=2;k<=1000;k++){sum=0;for(j=1;j<k;j++)if(k%j==0)sum=sum+j;if(sum==k)printf(“%disawanshu\n”,k);elseprintf(“%disnotawanshu\n”,k);}2023/8/668main()2023/9/2169求解爱因斯坦长阶问题:有一长台阶,若每步跨2阶则最后剩1阶;若每步跨3阶则最后剩2阶;若每步跨5阶则最后剩4阶;若每步跨6阶则最后剩5阶;只有每步跨7阶才正
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 搪瓷杯的材料与制造工艺要素考核试卷
- 2024广告制作合作合同模板
- 人事行政的绩效考核与奖惩制度考核试卷
- 职业暴露和艾滋病预防
- 2024签预售合同注意事项
- 使用燃气安全注意事项考核试卷
- 基于云计算的财务管理解决方案考核试卷
- 建筑物拆除的人力资源管理考核试卷
- 微生物肥料制造工艺与应用考核试卷
- 癌症治疗原则药理学
- 家风家训PPT课件
- 泪道冲洗PPT学习教案
- 部编版六年级语文上册词语表(带拼音)-六上册词语表连拼音
- 浅谈校园影视在学校教育中的作用
- 无公害农产品查询
- 试剂、试药、试液的管理规程
- 研究生课程应用电化学(课堂PPT)
- 通信综合网管技术规格书doc
- 六宫数独可直接打印共192题
- 班会:如何克服浮躁心理PPT优秀课件
- 四宗宗义比较略记
评论
0/150
提交评论