C语言For循环课件(讲课、试讲)_第1页
C语言For循环课件(讲课、试讲)_第2页
C语言For循环课件(讲课、试讲)_第3页
C语言For循环课件(讲课、试讲)_第4页
C语言For循环课件(讲课、试讲)_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、相关知识点5.4 用for语句实现循环 5.4 用for语句实现循环1. for语句的一般形式:for(表达式1;表达式2;表达式3) 循环体; 分号切记!关键字表达式1; while(表达式2) 循环体; 表达式3; 2. for循环执行过程如下:(1) 计算表达式1;(2) 计算表达式2,若其值为非0(循环条件成立),则转到第(3)步执行循环体;若其值为0(循环条件不成立),则转到第(5)步结束循环;(3) 执行循环体;(4) 计算表达式3,然后又转到第(2)步判断循环条件是否成立;(5) 结束循环,执行for循环之后的语句。 3. 流程图:真/Y假/N表达式2循环体计算表达式1计算表达式

2、3图5-6 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可以省略其中的一个、两个,甚至三个表达式都同时省略,但是起分隔作用的“;”不能省略。具体体现为以下几点:(1) 如果省略表达式1,即不在for语句中给循环变量赋初值,则应该在for语句前给循环变量赋初值。如:i=1;fact=1; for(; i=100; i+) fact=fact*i;(2) 如

3、果省略表达式2,即不在表达式2的位置判断循环终止条件,循环无终止地进行,也就是认为表达式2始终为“真”。 (3) 如果省略表达式3,即不在此位置进行循环变量的修改,则应该其它位置(如:循环体)安排使循环趋向于结束的工作。如:for(i=1,fact=1; i=100; ) fact=fact*i; i+; (4) 表达式1可以是设置循环变量初值的表达式(常用),也可以是与循环变量无关的其它表达式;表达式1,表达式3可以是简单表达式,也可以是逗号表达式。如:for(i=0, j=100; i=j; i+, j-)(5) 表达式2一般为关系表达式或逻辑表达式,也可以是数值表达式或字符表达式,事实上

4、只要是表达式就可以。注:从上面的说明可以看出,C语言的for语句功能强大,使用灵活,可以把循环体和一些与循环控制无关的操作也都可以作为表达式出现,程序短小简洁。但是,如果过分使用这个特点会使for语句显得杂乱,降低程序可读性。建议不要把与循环控制无关的内容放在for语句的三个表达式中,这是程序设计的良好风格。解决问题1.工厂车间里,有一堆零件(100200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件;检品员要统计一下零件的总个数,大家该如何用C语言编程来帮助实现呢? 算法思想:(1) 零件个数在100200个之间,可定义

5、一个整型变量i来表示零件个数,所以i从100递增1到200,采用for循环处理; (2) 每个零件个数要求满足:分4个一组余2个,7个一组余3个,9个一组余5个,即分别表示为:i%4=2,i%7=3,i%9=5,而且这三个条件必须同时成立;(3) 用if判断和逻辑与(&)构造条件表达式。源代码: #includemain()int i; /*定义变量表示零件个数*/for(i=100; i200; i+) /*个数从100200*/if(i%4=2&i%7=3&i%9=5) /*三条件判断 */printf(“%d”,i); 运行结果:课后作业在第4章中,已经给出了实现一道四则运算的算法和参考

6、源代码,如果设计的数学软件,需要一次进行20道四则运算练习,该如何实现?在这里,对该问题只做相应的一点提示:在第4章的操作实现(一道题)基础上,再加一层for循环来实现20道题,即for( i=1;i=20;i+)请同学们课后自己解决! 养殖场里,有鸡有兔,鸡兔共有30只,脚共有90个,饲养员想统计一下鸡兔各有多少只,你能编程解决吗?问题的深化算法思想:(1) 定义两个整型变量x、y分别表示鸡、兔的只数;(2) 鸡从1只开始考虑,最多29只,即x从1递增到29,用for循环实现;而鸡兔的总和是30只,x变化的同时y为30 x;(3) 它们的脚为90个时才满足条件,而且每只鸡2只脚,每只兔4只脚,即条件为x*2+y*4=90,用if语句判断。参考源代码:#includemain()int x,y; /*定义两变量分别表示鸡、兔的只数*/ fo

温馨提示

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

评论

0/150

提交评论