网站大量收购闲置独家精品文档,联系QQ:2885784924

嵌入式C程序设计-for语句(讲义).docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

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;i1000;i++) //穷举法排查所有人数的可能性

{

if(i%3==1i%5==2i%7==4i%13==6) //判断条件

printf(%d\n,i);

}

}

程序运行结果如下:

487

文档评论(0)

+ 关注
实名认证
内容提供者

好文档 大家想

1亿VIP精品文档

相关文档