关于for结构中省略表达式的论文

C++培训教材

for的基本结构:
   for(表达式1;表达式2;表达式3)
     {
语句体;
}
在for语句中的三个表达式都是可以“省略”的,换句话说就是可以不放在基本格式中。我们分别来说省略其中一个的情况:
(1)省略表达式1:
如果你在基本结构中没有表达1的出现,那么你必须要在循环的前面给出初值。放在循环中或后都是不对的。如:
  #include<stdio.h>
void main()
{
      int i=1; //正确
for(;i<=10;i++) //这里就没有表达式1,则必须在前面给也初值
{
printf("%d",i);
       int i=1; //错误
}
        int i=1; //错误

printf("\n");
   
}.





(2)省略表达式2

如果你在基本结构中没有表达式2的出现,那么你不必须要在自我循环内用控制流语句终止程序的运行,否则将造成死循环。控制流语句如:break;exit……等。我们还是看例子。

   #include<stdio.h>

       void main()

        {

             int i;

            for(i=1;;i++)

            {

               printf("%d\t",i);

               if(i==10)  //用这两条语句来使循环当i到10时终止循环而退出。否则程序将无休止的运行

                break;

              }

       printf("\n");

         }



(3)省略表达式3

省略表达式3就是没有了机制,无法改变变量的值,也会造成死循环。如里你在结构中省略了表达式3那么你则必须要在循环体内对条件变量进行变值,使条件能在一定条件下结束循环。如里在结构中省略了,那么就必须在循环内进行,不能在for结构前面或是在循环的后面。例如下:

   #include<stdio.h>

void main()

{

for(i=1;i<=10;)

{

   printf("%d\t",i);

    i++;     //表达式3放在了这里是正确的,如里没有它,条件永远都为真,将进入死循环。

}

}



注意:不管你在哪里省略了表达式,但是;号是不能省略的,就算是三个表达式你都省略了,在里面也要写上两个;  如:

#include<stdio.h>

void main()

{

  int i=1;

  for(;;)

{

  printf("%d\t",i);

if(i==10)

break;

i++;

}

printf("\n");

}

posted @ 2011-12-16 15:18  JAVA教程  阅读(294)  评论(0编辑  收藏  举报