首页 百科知识 •语句的几点说明

•语句的几点说明

时间:2022-09-22 百科知识 版权反馈
【摘要】:表达式1可缺省,放在for语句之前,但for语句中的第一个分号不能省略。■表达式1和表达式3可以是一个简单的表达式,也可以是一个逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。■如果表达式2省略,即不判断循环条件,循环无终止地进行下去。也就是认为表达式2 始终为真,在形式上构成死循环。在for语句中,表达式2一般是关系表达式或逻辑表达式,但也可以是数值或字符,只要其值为非0,就执行循环体。

表达式1可缺省,放在for语句之前,但for语句中的第一个分号不能省略。执行时,跳过“求解表达式1”这一步,其他不变。

例如:

#include<stdio.h>

void main( )

{ int  i,sum=0;

i=1;

for(;  i<=100;  i++ )

sum+=i;

printf("i=%d,sum=%d\n",i,sum);

}

表达式3可缺省,放在循环体之 中,但for语句中的第二个分号不能省略。

例如:

#include<stdio.h>

void main( )

{ int  i,sum;

i=1;sum=0;

for(;  i<=100;       )

{   sum+=i; i++;} 

printf("i=%d,sum=%d\n",i,sum);

}

■循环体中的内容可以放在表达式3中,但要在括号的后面加一个空语句。

■表达式1和表达式3可以是一个简单的表达式,也可以是一个逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。

例如:

#include<stdio.h>

void main( )

{ int  i,sum;

for (i=1,sum=0; i<=100; sum+=i,i++ )

;

printf("i=%d,sum=%d\n",i,sum);

}

例如:

for(i=1; ; i++)  t=t*i;

它相当于:

i=1;

while(1)

{ t=t*i;

i++;

}

■如果表达式2省略,即不判断循环条件,循环无终止地进行下去。也就是认为表达式2 始终为真,在形式上构成死循环。

■3个表达式都可省略,例如:

  for(;;) 语句  相当于  while(1) 语句。

即不设初值,不判断条件(认为表达式2为真值),循环变量不增值。循环为“死循环”。 


在for语句中,表达式2一般是关系表达式或逻辑表达式,但也可以是数值或字符,只要其值为非0,就执行循环体。

例如:

for(i=1; 5; i++)  t=t*i;

for( i=0; (c=getchar())!='\n'; i+=c; )

for( ; (c=getchar())!='\n'; )

printf("%c",c);

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈