C语言For循环试讲教案_第1页
C语言For循环试讲教案_第2页
C语言For循环试讲教案_第3页
C语言For循环试讲教案_第4页
C语言For循环试讲教案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选文档济宁职业技术学院教 案 2016 至 2017 学年第 一 学期 老师姓名 常玲霞 职 称 助教 课程名称 C语言程序设计 课程代码 所属系(部) 电子信息工程系 授课专业 2016级软件技术 2017年 6月济宁职业技术学院教案()课程名称C语言程序设计课程代码使用教材名称、编著者、出版社C语言程序设计项目教程,刘迎春 陈静著,清华高校出版社授课对象 软件技术专业 2016班级 甲骨文班课 题3.4 for语句教学目的基本要求通过本节45分钟的教学,让同学学习另一种循环语句for语句,生疏for语句与其它循环语句之间的联系和区分,学会利用for语句解决基础的实际问题,把握for语句的

2、一般格式和执行过程。教学重点1、for 语句的一般格式;2、for语句的执行过程;3、for语句的基本特征。教学难点for语句的综合应用教 法教 具1、使用PPT课件,结合编程软件Visual C+6.0进行课堂讲授,给出主要内容;2、讲解其基本格式;3、执行过程用流程图和例题用(演示法和讲解法)结合相应的专业学问进行具体说明;4、基本特征依据例题利用(讲解法、边讲边练教学法、问答法、引导法)进行解剖。济宁职业技术学院教案()教学内容及进程:1、for语句的一般形式 for(表达式1;表达式2;表达式3) 等价形式: 表达式1;循环体; while(表达式2) 循环体; 表达式3; for是关

3、键词,其后有3个表达式,各个表达式用“;”分隔。3个表达式可以是任意的,通常主要用于for语句循环把握。3个表达式的主要作用是:表达式1:设置初始条件,只执行一次。可以为零个、一个或多个变量设置初值。表达式2:是循环条件表达式,用来判定是否连续循环。在每次执行循环体前先执行此表达式,打算是否连续执行循环。表达式3:作为循环的调整,例如使循环变量增值,它是在执行完循环体后才进行的。使用for语句的实例核心代码:for(i=1;i<=100;i+)s=s+i;2、for循环执行过程(1) 计算表达式1;(2) 计算表达式2,若值为非0(循环条件成立),则转到第(3)步执行循环体;若值为0(循

4、环条件不成立),则转到第(5)步结束循环;(3) 执行循环体;(4) 计算表达式3,然后又转到第(2)步推断循环条件是否成立;(5) 结束循环,执行for循环之后的语句。3、for循环的执行流程for循环的执行流程如图3.6所示。备 注济宁职业技术学院教案()教学内容及进程:图3.6 for循环的执行流程4、for语句最简洁理解、最常用的形式for(循环变量赋初值;循环条件;循环变量修正)循环体;例如用for语句改进1+2+3+100的解决过程:int i , s;for(i=1,s=0; i<=100; i+) s=s+i; 同样,用for语句实现阶乘1×2×3&#

5、215;×10的计算,表示如下:int i;long int fact;for(i=1,fact=1; i<=10; i+) fact=fact*i; 请结合for语句抽象的形式定义,再对比以上两个例句,具体体会for语句中各部分的功能。说明:for语句中表达式1,表达式2,表达式3可以省略其中的一两个,甚至三个表达式都同时省略,但是起分隔作用的“;”不能省略。具体体现在以下几点。(1) 假如省略表达式1,即不在for语句中给循环变量赋初值,则应当在for语句前给循环变量赋初值。如:for(i=1,fact=1; i<=100; i+) i=1;fact=1; fact=

6、fact*i; for(; i<=100; i+) fact=fact*i;(2) 假如省略表达式2,即不在表达式2的位置推断循环终止条件,循环无终止地进行,也就是认为表达式2始终为“真” 。备 注济宁职业技术学院教案()教学内容及进程:(3) 假如省略表达式3,即不在此位置进行循环变量的修改,则应当在其他位置(如循环体)支配使循环趋向于结束的操作。如:for(i=1,fact=1; i<=100; ) fact=fact*i; i+; (4) 表达式1可以是设置循环变量初值的表达式(常用),也可以是与循环变量无关的其他表达式;表达式1,表达式3可以是简洁表达式,也可以是

7、逗号表达式。如:for(i=0, j=100; i<=j; i+, j-)(5) 表达式2一般为关系表达式或规律表达式,也可以是数值表达式或字符表达式,事实上只要是表达式就可以。如:for( ; (c=getchar()!='n' ; i+=c) printf("%c",c);留意:从上面的说明可以看出,C语言的for语句功能强大,使用机敏,可以把循环体和一些与循环把握无关的操作也都作为表达式,程序短小简洁。但是,假如过分使用这个特点会使for语句显得杂乱,降低程序可读性。建议不要把与循环把握无关的内容放在for语句的三个表达式中,这是程序设计的良好风

8、格。解决问题问题1.工厂车间里,有一堆零件(大约在100200个之间),假如把它们按4个零件分成一组的话,则多2个零件;若7个零件分成一组,则多3个零件;若9个零件分成一组,则多5个零件;检品员要统计零件的总个数,该如何用C语言编程来挂念实现?算法思想:(1) 零件个数大约为100200个,可定义一个整型变量i来表示零件个数,所以i从100递增1到200,接受for循环处理;(2) 每个零件个数要求满足以下条件,即分4个一组余2个,7个一组余3个,9个一组余5个,分别表示为i%4=2,i%7=3,i%9=5,而且这三个条件必需同时成立,因此可以用用if推断和规律与(&&)构造条

9、件表达式来进行设计。参考源代码:#include<stdio.h>main()int i; /*定义变量表示零件个数*/ for(i=100; i<200; i+) /*个数为100200*/ if(i%4=2&&i%7=3&&i%9=5)/*3个条件推断*/ printf("%d",i);运行结果: 备 注济宁职业技术学院教案()教学内容及进程:问题的深化问题2养殖场里,有鸡有兔,鸡兔共有30只,脚共有90个,饲养员想统计一下鸡兔各有多少只,你能编程解决吗?算法思想:(1) 定义两个整型变量x、y分别表示鸡、兔的只数;(2

10、) 鸡从1只开头考虑,最多29只,即x从1递增到29,用for循环实现;而鸡兔的总和是30只,x变化的同时y为30x;(3) 它们的脚为90个时才满足条件,而且每只鸡2只脚,每只兔4只脚,即条件为x*2+y*4=90,用if语句推断。参考源代码:#include<stdio.h>main()int x,y; /*定义两变量分别表示鸡、兔的只数*/ for(x=1;x<=29;x+) /*鸡的只数从129,依次增1*/ y=30-x; /*兔的只数*/ if(x*2+y*4=90) /*条件推断*/ printf("%d,%d",x,y); 运行结果:问题3. 我们学习了for出语句后,可以使用for语句来输出如下的图形(5个星号)* 大家思考一下怎么解决这个问题?核心代码如下:for(int i=1;i<=5;i+)printf(“*”);假如我们要打印输出一个3行5列的星形图形矩阵,应当怎样做呢?*在这里,对该问题只做相应的一点提示:在单个for循环语句的基础上,再加一层for循环来实现,即for(int i=1;i<=3;i+)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论