欢迎来到天天文库
浏览记录
ID:32366111
大小:45.00 KB
页数:16页
时间:2019-02-03
《c语言基本语句》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1.循环控制语句 循环控制结构(又称重复结构)是程序中的另一个基本结构。在实际问题中,经常需要进行大量的重复处理,循环结构可以使我们只写很少的语句,而让计算机反复执行,从而完成大量类同的计算。2.while语句 while语句是当型循环控制语句,一般形式为: while<表达式>语句; 语句部分称为循环体,当需要执行多条语句时,应使用复合语句。 while语句的流程图见图3-8,其特点是先判定,后执行,若条件不成立,有可能一次也不执行。[例3-11]求n! 分析:n!=n*(n-1)*(n-2)*..2*1,0!=1
2、。即S0=1,Sn=Sn-1*n。可以从S0开始,依次求出S1、S2、...Sn。 统一令S等于阶乘值,S的初值为0!=1;变量i为计数器,i从1变到n,每一步令S=S*i,则最终S中的值就是n!。div>程序如下:main(){ intn,i; longints; printf("pleaseinputn(n>=0):"); scanf("%d",&n); if(n>=0) { s=1; if(n>
3、0) { i=1; while(i<=n) { s*=i; i=i+1; } } printf("%d!=%ld",n,s); } else printf("Invalidinput!");}运行结果如下:pleaseinputn(n>=0):00!=1pleaseinputn(n>=0):66!=720pleaseinputn(n>=0)
4、:-2Invalidinput!利用格里高利公式求p:p/4=1-1/3+1/5-1/7+...直到最后一项的绝对值小于等于10-6为止。程序如下:#include#include{main(){ doublee,pi; longintn,s; t=1.0; n=1; s=1; pi=0.0; while(fabs(t)>=1e-6) { pi=pi+t; n=n+2; s=-s; t=(float)(s)/(flo
5、at)(n); } pi=pi*4; printf("pi=%lf",pi);}运行结果为:pi=3.141591 本题中,将多项式的每一项用t表示,s代表符号,在每一次循环中,只要改变s、n的值,就可求出每一项t。一般情况下,while型循环最适合于这种情况:知道控制循环的条件为某个逻辑表达式的值,而且该表达式的值会在循环中被改变.3.do...while语句 在C语句中,直到型循环的语句是do...while,它的一般形式为: do语句while<表达式> 其中语句通常为复合语句,称为循环体。 其基
6、本特点是:先执行后判定,因此,循环体至少被执行一次。但需要注重的是,do...while与标准的直到型循环有一个极为重要的区别,直到型循环是当条件为真时结束循环,而do...while语句恰恰相反,当条件为真时循环,一旦条件为假,立即结束循环,请注重do...while语句的这一特点。 计算sin(x)=x-x3/3!+x5/5!-x7/7!+... 直到最后一项的绝对值小于1e-7时为止。 分析:这道题使用递推方法来做。 让多项式的每一项与一个变量n对应,n的值依次为1,3,5,7,...,从多项式的前一项算后一项,只需将前一项乘一
7、个因子: (-x2)/((n-1)*n) 用s表示多项式的值,用t表示每一项的值,程序如下:#include#includemain(){ doubles,t,x; intn; printf("pleaseinputx:"); scanf("%lf",&x); t=x; n=1; s=x; do { n=n+2; t=t*(-x*x)/((float)(n)-1)/(float)(n); s=s+t; }w
8、hile(fabs(t)>=1e-7); printf("sin(%f)=%lf",x,
此文档下载收益归作者所有