嵌入式C程序设计-for语句(讲义)_第1页
嵌入式C程序设计-for语句(讲义)_第2页
嵌入式C程序设计-for语句(讲义)_第3页
嵌入式C程序设计-for语句(讲义)_第4页
全文预览已结束

下载本文档

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

文档简介

for语句for语句在循环控制结构中使用最为灵活,不仅可以用于循环次数已经确定的情况,也可用于循环次数虽不确定、但给出了循环继续条件的情况,它可以完全替while语句,也是使用得最多的一种循环语句。1.for语句的一般格式:for(表达式1;表达式2;表达式3){循环体}for语句中的表达式1通常用来为循环变量赋初值。表达式2是循环控制条件,若表达式2的值为真,则执行循环体一次,否则跳出循环。表达式3是执行循环体后要执行的部分,通常用来改变循环变量的值,使循环逐渐趋于终止。这三个表达式之间用分号隔开。循环体可以是一条简单的语句,也可以是一个复合语句,当只有一条语句时,花括号可以省略,当循环体包含了两条或两条以上的语句时,花括号不能省略。2.for语句的流程图例如:for(i=1;i<=5;i++){printf(“%d”,i);}程序运行结果为:12345对于for语句的一般形式,也可以改为while循环的形式:int表达式1;while(表达式2){循环体语句;表达式3;}for循环的执行流程,完全符合“当型”循环控制结构的特点。3.for语句的特殊用法:(1)for语句中的“表达式1”可省略。“表达式1”省略后应在for语句前面设置循环初始条件,但是其后的分号不能省略。如for(;i<=10;i++),但是不能表示为for(i<=10;i++)。(2)表达式1可以是多由个表达式构成的逗号表达式。如for(s=0,i=1;i<=10;i++)。(3)for语句中的“表达式2”可省略。相当于循环条件始终为“真”,循环将无终止地进行下去,陷入死循环。(4)for语句中的“表达式3”可省略。但程序必须在循环体语句中设置循环变量增值,来修改循环条件,以确保循环能正常结束。(5)“表达式1”和“表达式3”可以都省略,相当于while循环。(6)for语句中的“循环体”可省略。但在for语句后面至少保留一个分号,相当于一条空语句。4.for语句的应用【例1】计算1~100的倒数求和。1-参考程序:main(){inti; //定义循环变量doublesum=0; //要定义为double类型for(i=1;i<=99;i=i+2) //计算符号为“+”的奇数项之和sum=sum+1.0/i; //1.0/i不能写成1/i,后者是整除,前者是实除for(i=2;i<=100;i=i+2) //计算符号位“-”的偶数项之和sum=sum-1.0/i;printf(“sum=%f\n”,sum);}程序运行结果如下:【例2】用for循环语句打印输出所有的水仙花数。分析:水仙花数是指一个3位数,它的每个位上的数字的立方之和等于它本身。例如153是“水仙花数”,因为:153=13+53+33。参考程序:main(){intn; //存放整数变量inta,b,c; //存放i的个、十、百位上数字printf("水仙花数有:\n");for(n=100;n<=999;n++) //水仙花数的取值范围{a=n%10; //个位b=n/10%10; //十位c=n/100; //百位if(n==a*a*a+b*b*b+c*c*c) //各位上的立方和是否与原数n相等printf("%d=%d^3+%d^3+%d^3\n",n,a,b,c);}}程序运行结果如下:【例3】韩信点兵,总人数不足1000人,每3人一列余1人,5人一列余2人,7人一列余4人,13人一列余6人,请计算出具体有多少个士兵?分析:将问题的所有可能的答案一一列举,然后根据条件判断此答案是否合适,合适就保留,不合适就丢弃的方法实现,这就是穷举法,在编程实现是一种暴力破解的算法。本题中可以直接在1~1000的人数中通过穷举法,排查符合条件的情况得到最后的结果。参考程序:main(){inti;for(i=1;i<1000;i++) //

温馨提示

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

评论

0/150

提交评论