C语言4种循环语句用法?

 我来答
蹇红辉平惠
2020-06-14 · TA获得超过3681个赞
知道大有可为答主
回答量:3102
采纳率:33%
帮助的人:423万
展开全部
C语言循环语句用法有三种主要形式:
for()循环
while()循环
do
{}
while();循环
for()循环用法:
for( e1 ; e2 ; e3 ) //注意三个区域间用分号来分隔,而不是逗号!!
{
for_statements ; //多条语句用{}括起来,单条语句可以不用,建议也使用,一:代码清楚,二:便于查错。 其它循环也是这样。
}
//说明:
//e1:变量初始化区,只执行一次
//e2:循环控制区,每次都要先检查e2表达式的结果是否为真,为真则进入循环区,否则,结束循环
//e3:循环变量变化区,每次执行完for_statements ;则转到这里,执行e3,然后转到e2
例:
int i;
for( i=0; i<10; i++ )
{
printf("%d ", i );
}
while()循环用法:
循环控制变量初始化
while(e)
{
while_statements ; //包括循环控制变量 变化
}
//说明:
//e 循环控制条件,e为真则进入循环区,否则,结束循环 执行完while_statements ;后转到这里继续判断
例:
int i;
i=0;
while( i<10 )
{
printf("%d ", i );
i++; //循环控制变量变化
}
do
{}
while();循环用法:
do {
do_while_statements ; //包括循环控制变量 变化
} while(e); //注意尾部有分号
//说明:
//与while()不同的是,这里可以没有循环变量的初始化,先进行循环语句的操作,然后,再判断是否继续进行,所以,这种循环,至少要执行一次do_while_statements ;而前两种,有可能一次都不执行循环语句。
例:
int i;
do {
printf("input number " );
scanf("%d", &i ); //循环控制变量 变化
printf("%d\n", i );
} while ( i<10 );
到这里,一定能得到一个大于10的i. 一般我们在要求输入一个数据必须符合规定时,这样写代码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邴丹郭衣
2020-03-03 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.3万
采纳率:29%
帮助的人:628万
展开全部
(一)、for循环
它的一般形式为:
for(<初始化>;<条件表过式>;<增量>)
语句;
初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用;分开。
例如:
for(i=1;i<=10;i++)
语句;
上例中先给i赋初值1,判断i是否小于等于10,若是则执行语句,之后值增加1。再重新判断,直到条件为假,即i>10时,结束循环。
注意:
(1).for循环中语句可以为语句体,但要用{和}将参加循环的语句括起来。
(2).for循环中的初始化、条件表达式和增量都是选择项,即可以缺省,但;不能缺省。省略了初始化,表示不对循环控制变量赋初值。省略了条件表达式,则不做其它处理时便成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。
(3).for循环可以有多层嵌套。
例如:
for(;;)
语句;
for(i=1;;i+=2)
语句;
for(j=5;;)
语句;
这些for循环语句都是正确的。
main()
{
int
i,j;
printf(i
j\n);
for(i=0;i<2;i++)
for(j=0;j<3;j++)
printf(%d
%d\n,i,j);
}
输出结果为:
i
j
0
0
0
1
0
2
1
0
1
1
1
2
用for循环求1+2+……+100的和:
main()
{
int
sn=0,i;
for(i=1;i<=100;i++)
sn+=i;
/*1+2+……+100*/
printf(%d\n,sn);
}
从程序可以看出,使用循环语句可以大大简化代码。
(二)、while循环
它的一般形式为:
while(条件)
语句;
while循环表示当条件为真时,便执行语句。直到条件为假才结束循环。并继续执行循环程序外的后续语句。
例如:
#include
stdio.h
main()
{
char
c;
c='\0';
/*初始化c*/
while(c!='\n')
/*回车结束循环*/
c=getche();
/*带回显的从键盘接收字符*/
}
上例中,while循环是以检查c是否为回车符开始,因其事先被初始化为空,所以条件为真,进入循环等待键盘输入字符;一旦输入回车,则c='\n',条件为假,循环便告结束。与for循环一样,while循环总是在循环的头部检验条件,这就意味着循环可能什么也不执行就退出。
注意:
(1).在while循环体内也允许空语句。
例如:
while((c=getche())!='\n');
这个循环直到键入回车为止。
(2).可以有多层循环嵌套。
(3).语句可以是语句体,
此时必须用{和}括起来。
用while循环求1+2+……+100的和:
main()
{
int
sn=0,i=0;
while(++i<=100)
sn+=i;
/*求1+2+……+100*/
printf(%d\n,sn);
}
(三)、do--while循环
它的一般格式为:
do
{
语句块;
}
while(条件);
这个循环与while循环的不同在于:它先执行循环中的语句,然后再判断条件是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。
同样当有许多语句参加循环时,要用{和}把它们括起来。
用do--while循环求1+2+……+100的和:
main()
{
int
sn=0,i=1;
do
sn+=i;
/*求1+2+……+100*/
while(++i<=100);
printf(%d\n,sn);
}
从上面三个程序看出,使用for,while和do--while求解同样的问题,基本思路都差不多,只是在第一次计算时,注意初值。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式