for和while的区别

//

//  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;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了小程序应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值