C语言循环控制语句(二)

来源:计算机等级考试    发布时间:2012-08-28    计算机等级考试视频    评论

[例3-14]计算自然数1到n的平方和。

# include <stdio.h>
# include <math.h>
main ( )
{
int i;
float s;
printf("please input n :");
scanf("%d",&n);
s=0.0;
for(i=1;i<=n;i++)
s=s+(float)(i)*(float)(i);
printf("1*1+2*2+...+%d*%d=%f/,nn",n,s);
}
运行结果如下:
RUN
please input n:5
1*1+2*2+...+5*5=55.000000
for语句的几种格式
for语句的三个表达式都是可以省略的,但分号“;”绝对不能省略。
a.for(;;)语句;
这是一个死循环,一般用条件表达式加break语句在循环体内适当位置,一旦条件满足时,
用break语句跳出for循环。
例如,在编制菜单控制程序时,可以如下:
for(;;)
{
printf("please input choice(Q=Exit):");显/*示菜单语句块:*/
scanf("%c",&ch);
if(ch=='Q')or(ch=='q')break;语/*句段*/
}
b.for(;表达式2;表达式3)
使用条件是:循环控制变量的初值不是已知常量,而是在前面通过计算得到,例如:
i=m-n;
⋯⋯
for(;i<k;i++)语句;
c.for(表达式1;表达式2;)语句
一般当循环控制变量非规则变化,而且循环体中有更新控制变量的语句时使用。
例如:
for(i=1;i<=100;)
{
⋯⋯
i=i*2+1;
⋯⋯
}
d.for(i=1,j=n;i<j;i++,j--)语句;
在for语句中,表达式1、表达式3都可以有一项或多项,如本例中,表达式1同时为i和j赋
初值,表达式3同时改变i和j的值。当有不止一项时,各项之间用逗号“,”分隔。
另外,C语言还允许在循环体内改变循环变量的值,这在某些程序的设计中是很有用的。
到此,我们已经学习了C语言中三种循环控制语句while、do...while和for语句,下面再讨论两个问题:
三种语句的选用
同一个问题,往往既可以用while语句解决,也可以用do...while或者for语句来解决,但在
实际应用中,应根据具体情况来选用不同的循环语句,选用的一般原则是:
1)如果循环次数在执行循环体之前就已确定,一般用for语句;如果循环次数是由循环体
的执行情况确定的,一般用while语句或者do...while语句。
2)当循环体至少执行一次时,用do...while语句,反之,如果循环体可能一次也不执行,
选用while语句。
循环的嵌套
一个循环的循环体中有另一个循环叫循环嵌套。这种嵌套过程可以有很多重。一个循环
外面仅包围一层循环叫二重循环;一个循环外面包围两层循环叫三重循环;一个循环外面包
围多层循环叫多重循环。
三种循环语句for、while、do...while可以互相嵌套自由组合。但要注意的是,各循环必须
完整,相互之间绝不允许交叉。如下面这种形式是不允许的:
do
{
for(;;)
{
......
}while();
}

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答