
C语言在什么情况下用 for do-while while 循环
第一个是对的。
do-while是先无条件执行循环体,然後再判断循环条件是否成立。
但是,for不是先执行循环体。for和while相同。
lz主要是for语句实现循环没弄明白。那我好好说明一下:
for的一般形式为:
for(表达式1;表达式2;表达式3)
*举个例子:
for(i=1;i<=100;i++)
sum = sum + 1;
"i=1"是给的循环变量i设置初始值为1,“i<=100”是指定循环条件:当循环变量i的值小於或等於100时,循环继续执行。“i++”的作用是使循环变量i的值不断变化,以便最终满足终止循环的条件,使循环结束。
它相当於以下语句:
i=1;
while(i<=100)
{
sum = sum + 1;
i++;
}
*再举个例子:
for(i=1;i<=100;i++)
{printf("%d",i);}
for语句的执行过程如下:
(1) 先求解表达式1。本例中把整数1赋给变量i。
(2) 求解表达式2,若此条件表达式的值为真(非0),则执行for语句中的循环体,然後执行第(3)步。若为假(0),则结束循环,转到第(5)步。
上例中,循环条件表达式“i<=100”是一个关系表达式,当i=1时,表达式“i<=100”的值为真(非0),故执行循环体中的语句,即printf语句,输出i的当前值1。然後执行第(3)步。
(3) 求解表达式3。在本例中,执行i++,使i的值加1,i的值变成2.
(4) 转回步骤(2)继续执行。
由於此时i=2,表达式i<=100的值为真,再次执行循环体中的语句,printf语句输出i的当前值2。然後再执行步骤(3)。如此反复,直到i变到101,此时表达式i<=100的值为假,不再执行循环体,而转到步骤(5)。
(5) 循环结束,执行for语句的下面一个语句。
ps:
大陆一般都是用红皮书作教材。lz如果有红皮书(C程序设计第四版),翻到P114~P125
有很详细的叙述三种循环的不同。
while和do-while循环,循环体中应包括使循环趋于结束的语句。for语句功能最强。
用while和do-while循环时,循环变量初始化的操作应在while和do-while语句之前完成,而for语句可以在表达式1中实现循环变量的初始化。
while,do
while跟while的区别是它先不判断循环条件是否成立就先执行一次循环体内的内容,执行完后在看是否满足继续执行的条件,而while则先看是否满足执行条件然后再执行循环体。如果你肯定循环内的语句必须会执行一次,一般选用do
while,否则一般选用while,
但这三个循环都是可以互相代替的,没有说一定要用哪个。
while与while的区别只是do
while的循环体至少执行一次,没有其他,两个while都是适用于基于条件判断的循环。
比如,要算10个1相加则用for直观,要算N个1相加不超过10则用while。
广告 您可能关注的内容 |