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;

}


ArcGIS for JavaScript

全面介绍ArcGIS for JavaScript 开发
  • 2015年06月11日 18:55

循环结构(for循环和while循环的区别)

使用区别:控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就...
  • hurricane2016
  • hurricane2016
  • 2016-10-19 15:32:58
  • 1777

java基础--循环结构for,while和do..while的区别

while和for的区别: for循环: 基本格式: for(1-初始化变量;2-判断条件语句;4-控制条件语句;){       3-循环体语句; } while循环: 基本格式: while(判断...
  • lcn_Lynn
  • lcn_Lynn
  • 2017-05-24 17:26:25
  • 513

while和for的区别

写这篇博客的目的在于希望有人要是知道的话下面评论分享一下哦 while 和for的区别: 记得一个老师说:Linux源代码都是用的while,他将while换成for不能执行。 原因好像是:...
  • dadaxiongdebaobao
  • dadaxiongdebaobao
  • 2016-08-01 11:00:26
  • 594

java基础---语句学习

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 1、三元运算符           格式:(条件表达式)?表达式1:表达式2;    如果...
  • csu050416
  • csu050416
  • 2015-05-04 18:07:42
  • 194

C++primer学习1.4 控制流

一. while 语句 二、for 语句 三、读取数量不定的输入数据 四、if 语句
  • hlsdbd1990
  • hlsdbd1990
  • 2015-04-22 13:54:09
  • 453

while和for的使用区别

不管是在java还是在c中,while和for的使用都较为相似。 但是,for更适用于有明确范围的变量 (例如有多少水仙花数) while更适用于没有...
  • snoopy46
  • snoopy46
  • 2016-09-19 22:04:30
  • 203

循环for与while的区别

1.   The choice between while and for is arbitrary, based on which seems clearer. The for is usu...
  • zhxuan30
  • zhxuan30
  • 2014-07-31 10:05:56
  • 3562

for 循环和while循环区别

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

for & while 的不同

参考:http://www.jb51.net/article/79002.htm#!/bin/bash# while loop echo -en "\t";date cat abc.txt|while...
  • elihe2011
  • elihe2011
  • 2016-03-21 23:20:11
  • 140
收藏助手
不良信息举报
您举报文章:for和while的区别
举报原因:
原因补充:

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