《c语言for语句的用法.docx》由会员分享,可在线阅读,更多相关《c语言for语句的用法.docx(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、c语言for语句的用法c语言for语句的用法C、C+、C#和Java这些语言中,for语句的语法和执行流程都是一样的。本文将就这一语句的在C语言中的用法进行一个较为深化的讨论。c语言for语句的用法:复制代码代码如下:for(表达式1;表达式2;表达式3)循环语句表达式1给循环变量赋初值表达式2为循环条件表达式3用来修改循环变量的值,称为循环步长。for语句的执行流程:例:编程计算:1+2+3+.+99+100的结果。这是累加问题,累加问题的通用表达式为:S=S+T;其中,S是一个变量,用来存储累加最后的结果,称之为累加器;T是一个表达式,代表每次需要参加累加器的中的值。累加一般是通过循环构造
2、实现的。循环之前要设置累加器S的初始值为0。累加项T能够是很简单的表达式,也有可能是一个通过分析得到的较复杂的表达式。?123456intS=0;for(inti=1;i=100;i+)S=S+i;printf(%dn,S);注意:1)对于已经确定是累加算法的题目,首先确定累加项与循环变量的关系;2)然后,考虑第一个累加项的值是多少,以确定循环变量的初值;3)其次,确定最后一个累加项的值,确定循环条件;4)最后,考虑每个累加项之间的关系,以确定循环变量的变化(步长值)。例:编程计算S=a+aa+aaa+aaaa+.的前n项之和。例如:假如a=3,n=5,则表达式为:S=3+33+333+333
3、3+33333。?12345678intS=0;intt=0;for(inti=0;ii+)t=t*10+3;S=S+t;printf(%dn,S);累加算法可以以演化为连乘的形式:S=1*2*3*.*n。连乘的算法和累加算法类似,循环体实现的是S=S*T的形式。需要注意的S的初值不是0,而是要设为1。在求连乘时,由于每乘一次结果增长都非常快,所以应该注意能否会出现溢出的问题。循环程序设计思路:(1)输入是什么?用来确定原始值。(2)输出是什么?确定应该输出的结果。(3)从输入转换为输出需要如何的步骤,能否需要重复(确定能否需要使用循环语句以及循环语句的内容)。(4)假如需要重复,能否提早预知
4、重复的次数?用来确定使用while、dowhile、for中的哪种循环语句。(5)何时不再需要重复?用来确定循环条件以及循环体中使循环条件趋近于0的语句。例:水仙花数、四叶玫瑰数、五角星数、六位数的问题。水仙花数:每位数字的3次幂之和等于它本身。例:13+53+33=153。四叶玫瑰数:每位数字的4次幂之和等于它本身。五角星数:每位数字的5次幂之和等于它本身。六位数:每位数字的6次幂之和等于它本身。?12345678910111213141516171819202122232425262728/打印出所有的水仙花数inti,j,k,n,s;for(i=1;ii+)for(j=0;jj+)for
5、(k=0;kk+)n=k*k*k+j*j*j+i*i*i;s=i*100+j*10+k;if(n=s)printf(%dn,n);或:/打印出所有水仙花数inti,j,k,n,s;printf(水仙花数有:nfor(n=100;n1000;n+)i=n/100;/*分解出百位*/j=n/10%10;/*分解出十位*/k=n%10;/*分解出个位*/s=i*i*i+j*j*j+k*k*k;if(s=n)printf(%dn,n);最后我用例子来总结一下吧!下面的例子是一个对1-10这10个数求和的例子。复制代码代码如下:inti,sum=0,num=10;/声明几个变量:i计数,sum存储最后的
6、总和,num表示多少个数,用来控制边界。for(i=1;i=num;i+)/for语句包含三个语句,用;隔开。/1设置初始值,2边界控制,3通常用来调整计数值。sum+=i;/相当于sum=sum+i;表示不断地加i。内的语句均为循环体,用4表示。/for循环的执行顺序为1-2-4-3-2-4-3-2-4-3-2.直到inum.这时,将退出循环。printf(Thesumfrom1to10is,sum);/打印输出sum值。c语言for语句的用法C、C+、C#和Java这些语言中,for语句的语法和执行流程都是一样的。本文将就这一语句的在C语言中的用法进行一个较为深化的讨论。c语言for语句的用法:复制代码代码如下:for(表达式1;表达式2;表达式3)循环语句表达式1给循环变推荐度: