您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C语言程序设计:第5章-循环结构-课件教案
1C语言程序设计课件教案第五章循环结构教学目的掌握循环结构中的while语句、dowhile语句、for语句的用法,掌握中断语句中break和continue语句的用法。教学要求1.熟练掌握while语句、dowhile语句、for语句2.熟练掌握break语句、continue语句重点和难点1.while语句、dowhile语句、for语句的使用2.break语句、continue语句的使用教学支撑环境与教学资源:1.笔记本电脑2.VC20103.投影仪教学方法讲授法、练习法、讨论法授课课时6课时教学过程---------------------------------AM---------------------------------一、课程引入计算1+2+3+...+n有几种方法,需要多少步骤?二、循环结构语句什么时候用到循环结构:处理重复的问题的时候。循环结构的三大语句:while语句、dowhile语句、for语句。1.while语句while(循环条件表达式)循环体语句;执行过程:只有循环条件表达式的值为真就执行循环体语句,先判断后执行。2课堂练习1:1.输出1---n之间的数intmain(void){inti=1;intn=0;printf(请输入n的值:);scanf(%d,&n);//1015while(i=n){printf(%d\n,i);i++;}return0;}2.计算m+...+n的值intmain(void){inti=1;intn=0;intm=0;intsum=0;printf(请依次输入m和n的值:);scanf(%d%d,&m,&n);//m+...n1015while(m=n){sum=sum+m;m++;}printf(sum=%d\n,sum);return0;}2.do...while语句do{3循环体语句;}while(循环条件表达式);执行过程:先执行循环体语句,再检查循环条件表达式的值是否为真,如果为真则继续执行循环体语句,否则结束循环。课堂练习2:1.计算m+...+n的值,使用dowhile语句。intmain(void){inti=1;intn=0;intm=0;intsum=0;printf(请依次输入m和n的值:);scanf(%d%d,&m,&n);//m+...n1015do{sum=sum+m;m++;}while(m=n);printf(sum=%d\n,sum);return0;}2.输出1---n之间的数,使用dowhile语句。intmain(void){inti=1;intn=0;printf(请输入n的值:);scanf(%d,&n);//10154do{printf(%d\n,i);i++;}while(i=n);return0;}while语句和do...while语句的区别:while语句是先判断后执行,do...while语句是先执行,至少会执行一次。课堂练习3:写出以下程序的运行结果。intmain(void){inti=1;intn=11;intm=12;intsum=0;while(m=n){sum=sum+m;m++;}printf(sum=%d\n,sum);//sum的值为0return0;}intmain(void){inti=1;intn=11;intm=12;intsum=0;do{//先执行一次循环体语句,再去判断条件表达式的值sum=sum+m;m++;}while(m=n);printf(sum=%d\n,sum);//sum的值为12return0;}三、while与dowhile循环语句的练习1.输出n---1之间的数intmain(void)5{//1.定义变量//2.输入n的值//3.循环的语句(循环要做的事情):输出当前的数据//4.循环退出的条件:i--;i1或者i=0//5.循环的条件:i=1或者i0inti=0;intn=0;printf(请输入n的值:);scanf(%d,&n);//i=n;//while(i=1)//{//printf(%d\t,i--);//}while(n=1){printf(%d\t,n--);}return0;}课堂练习4:使用dowhile语句实现输出n---1之间的数。2.计算1*2*3*....*n的值(n的阶乘n!)intmain(void){//1.定义变量//2.输入n的值//3.循环的语句(循环要做的事情):把当前的值都*起来//4.循环退出的条件:i++;in//5.循环的条件:i=ninti=1;intn=0;intsum=1;printf(请输入n的值:);scanf(%d,&n);while(i=n){sum=sum*i;i++;}printf(n!的值是:%d\n,sum);return0;6}课堂练习5:使用dowhile语句实现计算1*2*3*....*n的值(n的阶乘n!)。3.计算10-1/2-1/3-....1/n的值intmain(void){//1.定义变量//2.输入n的值//3.循环的语句(循环要做的事情):把当前的值都-起来//4.循环退出的条件:i++;in//5.循环的条件:i=ninti=2;intn=0;floatsum=10;printf(请输入n的值:);scanf(%d,&n);while(i=n){sum=sum-1.0/i;//sum-=1.0/i;i++;}printf(1-1/2-1/3-....1/n的值是:%f\n,sum);return0;}课堂练习6:使用dowhile语句实现计算10-1/2-1/3-....1/n的值。----------------------------------PM--------------------------------四、for语句for(表达式1;表达式2;表达式3)循环体语句;说明:表达式1:设置初始条件,只执行一次,为0个或多个变量设置初值。表达式2:是循环条件表达式,用来判定是否继续循环。在每次执行循环体之前要先执行表达式2,然后再决定是否继续执行循环。表达式3:作为循环的调整,比如是循环体变量增值,它是执行循环体语句之后再执行。7while语句与for语句的替换:计算1+2+3+...+n的值使用while语句实现:i=1;while(i=n){sum=sum+i;i++;}使用for语句实现:for(i=1;i=n;i++){sum=sum+i;}课堂练习7:1.输出1---n之间的数,使用for语句。intmain(void){inti=1;intn=0;printf(请输入n的值:);scanf(%d,&n);//1015/*while(i=n){printf(%d\n,i);i++;}*/for(i=1;i=n;i++){8printf(%d\n,i);}return0;}2.计算m+...+n的值,使用for语句。intmain(void){intn=0;intm=0;intsum=0;printf(请依次输入m和n的值:);scanf(%d%d,&m,&n);//m+...n1015/*while(m=n){sum=sum+m;m++;}*/for(;m=n;m++){sum=sum+m;}printf(sum=%d\n,sum);return0;}注意:1for语句的三个表达式不是必须的。2当条件表达式(表达式2)的值为假(为0)时for循环语句就结束。3可以在循环体内执行break,continue,goto语句。4表达式2是空的,表明表达式2的值一直是真,即死循环。for(;;)//死循环语句{}相当于while(1){}小结:for(i=m;in;i++)//循环次数:n-m次for(i=m;i=n;i++)//循环次数:n-m+1次9五、中断语句break语句:跳出本层循环,执行循环后的语句。continue语句:跳出本次循环,执行下一次循环。goto语句:跳出到指定的标号位。1.break语句demo:计算m+...+n的值,当累加的值大于100时退出循环intmain(void){intn=0;intm=0;intsum=0;printf(请依次输入m和n的值:);scanf(%d%d,&m,&n);//m+...n1050for(;m=n;m++){sum=sum+m;if(sum100)break;}printf(sum=%d\n,sum);return0;}课堂练习8:输出1---n之间的数,当输出的数大于100时结束循环intmain(void){inti=1;intn=0;printf(请输入n的值:);scanf(%d,&n);//1015for(i=1;i=n;i++){printf(%d\n,i);if(i100)break;}return0;}2.continue语句只用于结束本次循环,即直接去执行表达式3.demo:intmain(void){inti=1;10intn=0;intsum=0;printf(请输入n的值:);scanf(%d,&n);//150for(i=1;i=n;i++){sum=sum+i;printf(sum:%d\n,sum);if(i100)continue;printf(i=%d\n,i);}return0;}3.goto语句(了解)demo:intmain(void){inti=1;intj=0;intk=0;for(j=0;j2;j++)//2{for(i=0;i15;i++)//15{if(i==10)gotoagain;printf(i=%d\t,i);}}again:printf(穿越啦\n);return0;}六、for循环语句的练习1.输出n---1之间的数intmain(void){//1.定义变量//2.输入n的值//3.循环的语句(循环要做的事情):输出当前的数据//4.循环退出的条件:i--;i1或者i=0//5.循环的条件:i=1或者i0inti=0;11intn=0;printf(请输入n的值:);scanf(%d,&n);/*i=n;while(i=1){printf(%d\t,i--);}*/for(i=n;i=1;i--)//for(i=n;i;i--){printf(%d\t,i--);}return0;}2.计算1*2*3*....*n的值(n的阶乘n!)intmain(void){//1.定义变量//2.输入n的值//3.循环的语句(循环要做的事情):把当前的值都*起来//4.循环退出的条件:i++;in//5.循环的条件:i=ninti=1;intn=0;intsum=1;printf(请输入n的值:);scanf(%d,&n);/*while(i=n){sum=sum*i;i++;}*/for(i=1;i=n;i++){sum=sum*i;}printf(n!的值是:%d\n,sum);return0;}3.计算10-1/2-1/3-....1/n的值intmain(void){12//1.定义变量//2.输入n的值//3.循环的语句(循环要做的事情):把当前的值都-起来//4.循环退出的条件:i++;in//5.循环的条件:i=ninti=2;intn=0;floatsum=10;printf(请输入n的值:);scanf(%d,&n);/*while(i=n){sum=sum-1.0/i;//sum-=1.0/i;i++;}*/for(i=2;i=n;i++){sum=sum-1.0/i;//sum-=1.0/i;}printf(1-1/2-1/3-....1/n的值是:%f\n,sum);return0;}4.计算1+2+3+....+n的值,当累加的和大于100时退出循环intmain(void){//
本文标题:C语言程序设计:第5章-循环结构-课件教案
链接地址:https://www.777doc.com/doc-7270586 .html