博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

G.C--YANG

  guoyangyang.cublog.cn

关于作者
姓名:G.C--YANG
职业:学生
年龄:20
位置:辽宁省丹东
个性介绍:咋天是历史,明天是未知,今天是礼物。
|| << >> ||
我的分类


用FOR语句实现循环
FOR语句是C语言所提供的功能更强,应用更广泛的一种循环语句.一般形式为FOR(表达式1;表达式2;表达式3)语句
表达式1:通常用来给循环变量赋初值,一般是赋值表达式.也允许在FOR语句给循环变量赋初值,此时可以省略这个表达式.
表达式2:通常是循环条件,一般为关系表达式或逻辑表达式.
表达式3:通常可用来修改循环变量的值,一般是赋值表达式.
注意:这三个表达式都可以是逗号表达式,即每个表达式都可由多个表达式构成.三个表达式都是任选项,都是可以省略的.
FOR语句的执行过程为:
 (1)先求解表达式1.
 (2)求解表达式2,若其值为真(值为非0),则执行FOR语句中指定的内嵌语句,然后执行下面第(3)步.若为假(值为0),则结束循环,转到第(5)步.
 (3)求解表达式3.
 (4)转回上面第(2)步继续执行.
 (5)循环结束,执行FOR语句下面的一个语句.
 
 
用while  do...while   for 语句分别解决同一个问题.
  (1)while
#include<stdio.h>
main()
{
 int counter=1;
while(counter<=10)
 {
  printf("%d\n",counter);
  counter=counter+1;
 }
printf("***\n");
}
 
   (2)do...while
#include<stdio.h>
main()
{
 int counter=1;
 do
 {
  printf("%d\n",counter);
  counter=counter+1;
 }
while(counter<=10);
printf("***\n");
}
   (3)for
#include<stdio.h>
main()
{
 int counter;
 for(counter=1;counter<=10;counter++)
 printf("%d\n",counter);
printf("***\n");
}
 
使用FOR时应注意的问题:
  (1)FOR语句的表达式1可以省略,这样的话就应在FOR语句前给循环变量赋初值.但表达式1后的分号不能省略.
  (2)表达式3也可以省略,但此时应另外设法保证循环能正常结束.例:
     for(i=1;i<=100)
      {
       sum=sum+i;
       i++;
      }
上面的FOR语句中只有表达式1和表达式2,i++的操作不放在FOR语句的表达式3的位置,而作为循环体的一部分,效果是一样的.
  其它的表达式也可以省略,但以新学者的角度来看,个人观点不赞成省略,容易造成混乱.在这也希望高手指点一下,说明省略的好处以及运用的技巧.
  (6)表达式(6)表达式1可以是设置循环变量初值的赋值的表达式,也可以是与循环变量无关的其它的表达式。例:
     for(sum=0;i<=100;i++)sum=sum+1;
   表达式1和表达式3可以是逗号表达式。例:
     for(i=0,j=100;i<=j;i++,j++)k=k+j;
  在逗号表达式内按自左至右求解,整个逗号表达式的值为其中最右边的值。例:
 for(i=1,j=100;i<=100;i++,i++)相当于for(i=1,j=1;i<=100;i=i+2)
 表达式一般是关系表达式(i<=100)或逻辑表达式(a<b&&x>y),但也可以是数值表达式或字符表达式,只要它的值是非   0, 就可以执行循环体。
   写程序,从键盘输入一个数字,并输出这个数字,直到所出的值小于100。
  #include<stdio.h>
    void main()
    {
    int num;
    for(scanf("%d",&num),printf("%d\n",num);num>=100;)
    {
     scanf("%d",&num);
     printf("%d\n",num);
    }
    }
在此附上用while   do...while语句来解决这个题:
 main()                         main()
{                               {
  int num;                       int num;
  scanf("%d",&num);              do{
  printf("%d\n",num);              scanf("%d",&num);
  while(num<=100)                  printf("%d\n",num);
   {                                }while(num>=100);
    scanf("%d",&num);             }
   printf("%d\n",num);
   }
如果循环次数在执行循环体之前就确定,一般用for语句;如果循环次数是由循环体的执行情况来确定,则采用while语句或do...while语句.
 
 
 
 
 
 
 
 
 
 
 
 
 

发表于: 2007-11-21,修改于: 2007-11-22 15:07,已浏览235次,有评论0条 推荐 投诉


网友评论
 发表评论