鱼C论坛

 找回密码
 立即注册
查看: 2133|回复: 10

for循环怎么这么难,555,我一定要学会

[复制链接]
发表于 2014-9-1 07:19:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
还是搞不太懂for循环语句格式file:///,有谁能帮我讲解一下


脑子都乱了 QQ图片20140901071938.png

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-1 08:48:37 | 显示全部楼层
我是用C语言来写单片机程序的,这个不太清楚
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-1 10:00:51 | 显示全部楼层
for(定义循环变量;循环终止条件;循环度)
{
      循环体:需要循环的东西;
}

for(int i=0; i<5; i++)
{
      printf("Hello World\n");
}

输出结果:
Hello World
Hello World
Hello World
Hello World
Hello World

注:循环度是最后运行的,例如i++会在循环体运行后执行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-1 12:58:59 | 显示全部楼层
理论上for循环可以代替所有C语言中的循环,比如while 和do while循环。
for循环格式:for(初始化表达式;终止条件;任意表达式)
     其中三个部分都可省略,以达到不同目的

             初始化条件: 循环执行前的必要的变量赋值,环境初始化等,也可写在for语句之前,比如
                                     for(i=0;i<=9;i++) 和 int i = 0;   for(;i<=9;i++)
                                效果是一样的
             终止条件:  每次循环体执行结束后都会判断 终止条件是否为真,为真则继续循环,否则结束循环。但如果不填终止条件,循环就会成为死循环,必须在循环体中使用break语句跳出:
                                    for(i=0;  ; i++){ if (i> 100) printf("%d",i);  else break;}
                             这会输出1到100的自然数,如果没有break的话那就会输出到整数表示上限回滚继续输出
               最后那个任意表达式虽说是任何表达式,但是起码得跟循环有关吧,得每次让循环状态更接近结束条件,不然怎么退出循环

               最后演示一下for代替while的例子:
从屏幕读取字符,只要字符不是a就继续接受输入:
while版:
printf("请输入一个字符:\n");
  while(getchar()!='a'){
      getchar();
      printf("请重新输入:\n");
}
for版:
for( printf("请输入一个字符:\n"); getchar()!= 'a'; printf("请重新输入:\n") )
         getchar() ;
            

  至于循环体里面的getchar() 是因为要从键盘缓冲区里扔掉回车,不然就会出问题

   for是不是比while简单多了,现在看起来for循环应该很简单了吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-9-3 08:22:17 | 显示全部楼层
我谢谢大家,学会了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-4 16:06:10 | 显示全部楼层
1243 243
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-5 11:22:29 | 显示全部楼层
不知道你要问什么,你只是单纯的给出一个主函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-5 13:12:56 | 显示全部楼层
加油吧。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-7 05:39:50 | 显示全部楼层
for(A; B; C)
{
    D;
}
执行顺序,第一次执行到此处时   A->B->D->C->B->D->C->B->D->C->B->D->C  其中B->D->C的循环次数不一定,根据条件决定,条件一般为B,可能有时有多个条件。(这个不确定,有见过多个条件的,但是不知道合不合法)如果条件B满足,则继续按D->C->B->D->C........的结构进行,否则直接退出循环,不再执行D和C
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-7 22:24:15 | 显示全部楼层
真的不清楚
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-9-15 15:21:57 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 23:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表