关闭

for循环和while循环的区别

170人阅读 评论(0) 收藏 举报
分类:


当知道执行次数的时候一般用for
当条件循环时一般用while
例如:
for i=0,i<n,i++
{}
这里n是已知数,可以循环n次

while i<n
{}
不知道要循环多少次,但当i>=n的时候停止循环

do while循环总会执行一次,for不一定,

一般来说,for对于初学使用的要多于while,但其实while的功能要大于for,以后你慢慢会体会到的,所有的for循环都可以用while来表示,但就不是所有的while循环都可以用for循环来表示!

while的用途有时候比for要巧
因为while有do...while这个变体,无条件执行一次循环体后再判断是否达到或超过循环终止条件
但是具体用什么还是看个人程序设计风格了
举些例子:
如果是非常有规律的循环,比如简单穷举那么我们用for
如果用于处理复杂的循环,不适用单循环变量稳定递增进行的循环,那么一般我们用while

其实也可以这样说,for循环都是用来表示那些显而易见的循环结构,就是使用它表示很容易就可以看出循环的头和尾,所以对于初学的程序来说这样。而while是用来表示一些相对复杂一点的循环结构,一般的while都不太容易看出循环的头和尾,有很多复杂的循环并不能用for循环来表示时,就只能用while循环来表示了。

for循环通常用在循环次数确定的时候,而while循环用在次数不确定时
比如下面这个计算字符的函数就不能用for:

int strcount( char *sz )
{
 int count = 0;
  while ( *(sz++) )
    count++;
 return count;
}

无明显区别
如果知道明显的区域界限,一般用for

如果不知道界限,但可以判断条件是真与否,一般用while 如 
while(XXX.next())
{
}
这个时候并不知道这个对象有好多,但可以返回是true,还是false

1. 两种循环在构造死循环时的区别
用while构造死循环时,一般会使用while(TRUE)来构造死循环;而用for来构造死循环时,则使用for(;;)来构造死循环。这两个死循环的区别是:while循环里的条件被看成表达式,因此,当用while构造死循环时,里面的TRUE实际上被看成永远为真的表达式,这种情况容易产生混淆,有些工具软件如PC-Lint就会认为出错了,因此构造死循环时,最好使用for(;;)来进行。
2. 两种循环在普通循环时的区别
对一个数组进行循环时,一般来说,如果每轮循环都是在循环处理完后才讲循环变量增加的话,使用for循环比较方便;如果循环处理的过程中就要将循环变量增加时,则使用while循环比较方便;还有在使用for循环语句时,如果里面的循环条件很长,可以考虑用while循环进行替代,使代码的排版格式好看一些。

 

对于需要无条件进行循环的语句,优先采用for语句.

;而在进行变量循环时,for语句在初始化变量后有一条跳转操作,而while没有,这个应该跟vc编译器有关

;可以说应该在效率上没有多大差别,需要进一步进行大数据量操作

;同时,我对于各种语句操作的顺序是否有时间关联不是很清楚.

2. 大批量数据操作实验 -- 自加1000w次,然后再自减1000w次,看执行时间

实践发现对于千万级数据量,执行时间并没有差异

 

总结:

   主要考虑程序的可读性和美观,对于效率问题,可以不用考虑差异性.

   所以我比较推崇,在循环次数确定时,用for,不确定时,用while~~

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

for 循环和while循环区别

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

java基础之for循环和while循环

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

PHP中For、While、Foreach循环的比较

在使用PHP作为编程语言的过程中,我们经常会遇到需要将一段代码执行多次的情况。这时就需要用到PHP循环了。PHP提供了三种不同类型的循环供你在合适的场景中使用: For 循环While 循环Fore...
  • anda0109
  • anda0109
  • 2016-02-24 16:46
  • 3003

黑马程序员--while,do……while和for循环的区别

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------                           ...
  • qq_28819841
  • qq_28819841
  • 2015-06-08 18:58
  • 719

shell脚本编程中for while until三种循环的使用方法

最后要介绍的是 shell script 设计中常见的"循环"(loop)。所谓的 loop 就是 script 中的一段在一定条件下反复执行的代码。 bash shell 中常用的 loop 有...
  • yiyaaixuexi
  • yiyaaixuexi
  • 2011-01-17 15:01
  • 11514

PHP中For、While、Foreach循环的比较

在使用PHP作为编程语言的过程中,我们经常会遇到需要将一段代码执行多次的情况。这时就需要用到PHP循环了。PHP提供了三种不同类型的循环供你在合适的场景中使用: For 循环While 循环Fore...
  • anda0109
  • anda0109
  • 2016-02-24 16:46
  • 3003

编程能力提高-----循环的设计技巧(for、while)

循环是程序设计中接触最多code。在进行数值计算的时候,循环往往是用来做累加或累乘的。累加和累乘都有通用的数学模型:Sn=Sn−1+AnS_n=S_{n-1}+A_n和Tn=Tn−1∗AnT_n=T_...
  • so_geili
  • so_geili
  • 2017-05-09 19:57
  • 304

Flex学习笔记(五)——循环的操作(while和for)

循环的操作:
  • ps_zhanglei
  • ps_zhanglei
  • 2014-11-19 10:57
  • 745

shell脚本编程中for while until三种循环的使用方法

【本文为OurUnix--Linux's境原创,转载请注明源地址www.ourunix.org】  bash shell 中常用的 loop 有如下三种:  * for * while ...
  • bingfeng1210
  • bingfeng1210
  • 2012-11-25 14:42
  • 4481

三种循环的执行机制(for while do while)

看了一个for循环的题让写输出,看了一下顿时感觉不能随便写,然后懵逼了。。。看看看看结果 果然写错了,虽然一直在用各种循环,有时候对他们的机制并不是很了解,基础不扎实,上场就容易忘。。。 现在总结下这...
  • Applicaton
  • Applicaton
  • 2016-07-07 14:39
  • 773
    个人资料
    • 访问:2169次
    • 积分:114
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:43篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档