for和while的区别

原创 2014年12月06日 14:10:30

//

//  main.c

//  循环语句

//

//  Created by GET-CC on 14-12-6.

//  Copyright (c) 2014 GET-CC. All rights reserved.

//


#include <stdio.h>


int main(int argc, const char * argv[])

{


    

    //写个死循环:

    /*

     1. for语句的循环,for的判断语句里面有三个表达式,真正起作用的是中间的判断语句,也就是第二个表达式的结果:true 或者 false,如果结果是true,那么继续执行循环体,否则就停止执行。

    可以这么想,for语句的第二个表达式的值的结果:true或者falsefor语句是否执行循环体的开关,如果缺省,默认为truetrue就意味着for需要执行自己循环体,什么时候结束?当第二个参数是false得时候,什么时候是false?因为这第二个参数的表达式不是程序员自定义的,所以程序员没有权利去改变它的值,而程序员已无权更改,编译器也不会去管,因为这没有语法错误,for自己更不会管,它只看true办事,所以归根结底是设计java的没有去设计解决此处可能造成死循环的机制,就像自己定义了一个int yeas;让用户输入,用户输入了负数程序照常执行而不会报错,那么这就是设计缺陷,但java的设计者这么设计for语句考虑周到的,因为他们还考虑到这个死循环可以被终止,break语句就是解决这类可能造成死循环的机制。

     */

    int i = 0;

    for ( ; i<5; ) {

        printf("Hello, World!\n");

        //这个自加语句的作用是,使得判断语句的结果在有限的循环次数内得到个false的结果,

        //当然,C语言没有bool类型

        i++;

    }

/*

 2.通过第一个分析,再看while语句就感觉实际上和for语句没有根本的区别,他们执行循环语句的原因都是一个参数的值:true或者false。表面的不同点是:

    2.1. for可以把i = 0 i++写在for后的()里面,而whil这不可以

    2.2. for“ i < 5 ”判断语句都可以省略而默认为true,但是while则不可以。

    2.3.如果得要说他们两个有根本上的区别,那么就是java在编写他们的时候偏心了,for的判断语句可以缺省而且还能执行循环体,而while不能缺省

    2.4.for语句的结构更加清晰:决定是否循环的参数的初始值:i = 0、导致循环终止的参数值:i = 5、可以使得循环终止的语句:i++,这就是一个有限循环能够被执行的必要条件,这三个条件少了哪一个都有可能造成死循环,这三条件是任何一个循环体必要的,所以这样更直观出错率更低,可以缺省是因为缺省的情况不多见,要不你就选择while,干嘛还非要用for呢,

        while这是用在程序员对于三个循环条件把握的很清楚的情况下,可以突出的只写一个。或许还有其它原因等等。

 */

    i = 0;

    while (i<5) {

        printf("Hello, World!\n");

        i++;

    }

    return 0;

}


for 循环和while循环区别

do-while循环 while循环 for循环 死循环选择for还是while  C语言提供了好几种循环结构,即while、for和do-while。汇编语言中并没有相应的指令存在,作为替代,将条件...
  • XscKernel
  • XscKernel
  • 2015年11月11日 15:59
  • 3241

while 语句与 if 语句 for循环语句的循环

while 语句与 if 语句 for循环语句的循环
  • u011565547
  • u011565547
  • 2017年02月19日 22:25
  • 1306

while和if的区别

while用于循环语句,而if用于判断和分支语句。 由于你并没有指明是什么程序,只能泛泛而谈了。 if 语句中,常用格式为: if(判断条件){执行语句} 上面的结构,只是进行一次判断。 if与els...
  • zgrkaka
  • zgrkaka
  • 2015年11月24日 09:43
  • 149

if 和 while 的区别

从别处转载用于学习 while用于循环语句,而if用于判断和分支语句。 由于你并没有指明是什么程序,只能泛泛而谈了。 if 语句中,常用格式为: if(判断条件){执行语句} 上面的结构,只是进...
  • zgrgfr
  • zgrgfr
  • 2016年01月21日 11:23
  • 463

(十)while 和 do while的区别

while的语法是 while(条件判断){执行函数} do while的语法是 do{执行函数}while(条件判断) 假如 用do while的时候 int i = -1; do { co...
  • qq20004604
  • qq20004604
  • 2015年12月01日 16:17
  • 610

Java中for、while、do while三种循环语句的区别介绍

http://write.blog.csdn.net/postedit?ref=toolbar
  • qq_35956194
  • qq_35956194
  • 2017年12月10日 11:07
  • 57

java基础之for循环和while循环

本文写给初学者,对于for循环和双重for循环的一些例子,以及while循环的内容做了简洁的分析,希望对于初学者会有所帮助,如果有不懂的问题,请加我博客:qq_34994609 一、for循环:根据...
  • qq_34994609
  • qq_34994609
  • 2016年10月22日 15:19
  • 1211

while和if的区别

while用于循环语句,而if用于判断和分支语句。 由于你并没有指明是什么程序,只能泛泛而谈了。 if 语句中,常用格式为: if(判断条件){执行语句} 上面的结构,只是进行一次判断。 i...
  • zgrkaka
  • zgrkaka
  • 2015年11月24日 09:45
  • 457

java零基础知识回顾(for与while的区别,以及for的一般用法)

java零基础知识回顾(for与while的区别,以及for的一般用法) 1.for与while的区别 for和while都可以表示循环,学习java零基础的教程,了解到for循环...
  • tantansinian
  • tantansinian
  • 2015年03月02日 09:30
  • 242

生产者消费者模式中条件判断是使用while而不是if

永远在循环(loop)里调用 wait 和 notify,不是在 If 语句 现在你知道wait应该永远在被synchronized的背景下和那个被多线程共享的对象上调用,下一个一定要记住的问题就是...
  • u011863767
  • u011863767
  • 2017年03月02日 22:43
  • 862
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:for和while的区别
举报原因:
原因补充:

(最多只允许输入30个字)