c语⾔内循环,C语⾔循环控制语句
C语⾔循环控制语句是⼀个基于C语⾔的编程语句,该语句主要有while循环语句、do-while循环语句和for循环语句来实现循环结构。
中⽂名
C语⾔循环控制语句
类 别
while循环语句,do-while语句等
⽬ 地
实现循环结构属 于
计算机领域
归 类
编程语句
基 础
C语⾔
C语⾔循环控制语句基本信息
编辑
在C语⾔程序中,⼀共有三种程序结构:顺序结构、选择结构(分⽀结构)、循环结构;顺序结构,从头到尾⼀句接着⼀句的执⾏下来,直到执⾏完最后⼀句;选择结构,到某个节点后,会根据⼀次判断的结果来决定之后向哪⼀个分⽀⽅向执⾏; 循环结构,循环结构有⼀个循环体,循环体⾥是⼀段代码。对于循环结构来说,关键在于根据判断的结果,来决定循环体执⾏多少次。C语⾔循环控制语句是⼀个基于C语⾔的编程语句,该语句主要有while循环语句、do-while循环语句和for循环语句来实现循环结构。
C语⾔循环控制语句循环语句
编辑
⼀般形式如下:
while(表达式)
语句;
其中执⾏过程如下:
while语句
(1)计算while后⾯括号⾥表达式的值,若其结果⾮0,则转⼊(2),否则转(3)
(2)执⾏循环体,转(1)
(3)退出循环,执⾏循环体下⾯的语句。
由于是先执⾏判断后执⾏循环体,所以循环体可能⼀次都不执⾏。
循环体可以为空语句“;”。
C语⾔循环控制语句do-while语句
编辑
⼀般形式如下:
do
语句;
while(表达式);
(1)执⾏循环体,转(2)
(2)计算while后⾯括号⾥表达式的值,若其结果⾮0,则转⼊(1),否则转(3)
(3)退出循环,执⾏循环体下⾯的语句。
注意:do……while语句最后的分号(;)不可少,否则提⽰出错。循环体⾄少执⾏⼀次。[1] C语⾔循环控制语句for语句
编辑
for语句是循环控制结构中使⽤最⼴泛的⼀种循环控制语句,特别适合已知循环次数的情况。⼀般形式如下:
for ( [表达式 1]; [表达式 2 ]; [表达式3] )
语句
其中:
表达式1:⼀般为赋值表达式,给控制变量赋初值;
for语句
表达式2:关系表达式或逻辑表达式,循环控制条件;
表达式3:⼀般为赋值表达式,给控制变量增量或减量;
语句:循环体,当有多条语句时,必须使⽤复合语句。
其执⾏过程如下:⾸先计算表达式1,然后计算表达式 2。若表达式2为真,则执⾏循环体;否则,退出 for循环,执⾏for循环后的语句。如果执⾏了循环体,则循环体每执⾏⼀次,都计算表达式3,然后重新计算表达式2,依此循环,直⾄表达式 2的值为假,退出循环。
for语句的三个表达式都是可以省略的,但分号“;”绝对不能省略。for语句有以下⼏种格式:
(1)for(; ;) 语句;
(2)for(;表达式2;表达式3 ) 语句;
(3)for(表达式1;表达式2;) 语句;
(4)for(i=1,j = n; i < j; i ++,j - - ) 语句;
C语⾔循环控制语句三种语句⽐较
编辑
同⼀个问题,往往既可以⽤ while语句解决,也可以⽤ do-while或者for语句来解决,但在实际应⽤中,应根据具体情况来选⽤不同的循环语句。选⽤的⼀般原则是:
(1) 如果循环次数在执⾏循环体之前就已确定,⼀般⽤ for语句。如果循环次数是由循环体的执⾏情况确定的,⼀般⽤ while语句或者do-while语句。
(2) 当循环体⾄少执⾏⼀次时,⽤ do-while语句,反之,如果循环体可能⼀次也不执⾏,则选⽤while语句。
C++/C循环语句中,for语句使⽤频率最⾼,while语句其次,do语句很少⽤。
三种循环语句for、while、do-while可以互相嵌套⾃由组合。但要注意的是,各循环必须完整,相互之间绝不允许交叉。
C语⾔循环控制语句其他循环语句
编辑
多重循环结构
在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨越循环层的次数。
⼀个循环体内⼜包含另⼀个完整的循环结构
三种循环可互相嵌套,层数不限
外层循环可包含两个以上内循环,但不能相互交叉
C语⾔循环控制语句c循环举例
编辑
这⾥使⽤c语⾔中的for循环。添加了九九乘法表查询、每天存钱问题、猴⼦吃桃问题、百钱买百鸡。
#include
void main()
{
float x,y,z,a,b,c,d,i,n,sum;int m;char yn;
system ("graftable 936");
yn='y';
while(yn=='y' )
{
clrscr ();
printf(" 欢迎使⽤ \n");
printf("请按提⽰操作,谢谢!\n");
printf("九九乘法表查询请按1\n");
printf("每天存钱问题请按2\n");
printf("猴⼦吃桃问题请按3\n");
printf("⼀分数序列课本请按4\n");
printf("百钱买百鸡请按5\n");
m=getch();
switch(m)
{case '1':
{
for (a=1;a<=9;a++)
{for (b=1;b<=a;b++)
printf("%.0f*%.0f=%2.0f\t",a,b,a*b);
printf("\n");
}
break;}
case '2':
{
a=1,sum=0;
for(i=1;i<31;i++)
switch的用法c语言{sum=sum+a;
printf("第%2.0f天收益%20.0f分钱\t",i,sum); a=2*a;
}
break;}
case '3':
{
b=1;
for(i=1;i<10;i++)
b=2*(b+1);
printf("猴⼦吃桃问题:");
printf("第⼀天摘桃⼦的个数为%.0f个\n",b); break;}
case '4':
{ a=2,b=1, sum=0;
for(i=1;i<=20;i++)
{ n=(1.0*a)/b; c=a; a=a+b; b=c; sum=sum+n; } printf("2/1,3/2,最后结果%f\n",sum); break;}
case '5':
{
for(a=1;a<=20;a++)
for(b=1;b<=33;b++)
for(c=3;c<=99;c=c+3)
if((5*a+3*b+c/3==100)&&(a+b+c==100)) printf("公鸡=%.0f,母鸡=%.0f,⼩鸡=%.0f\n",a,b,c); break;}
}
fflush(stdin);
printf("请选择继续y或者离开n\n");
yn=getch();
}
}
参考资料
1.
C语⾔do-while语句的⽤法
.C语⾔中⽂⽹[引⽤⽇期2015-11-04]
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论