for语句

学过c语言都对循环结构不陌生,尤其是for循环,他是C语言中最有特色的循环语句,使用最为灵活。

形式

结构:for(表达式1;表达式2;表达式3){循环体结构}

每部分的作用

表达式1:一般作为循环变量赋初始值;
表达式2:循环继续的条件,即能判断出真假的条件,一般为关系表达式;
表达式3:用于循环变量的的改变,可加=加法,可减法.

执行顺序

(1)求解表达式1(只执行一次);
(2) 求解表达式2,如果其值非0,执行表达式3;否则不进入,退出
(3) 执行循环体语句,并求解表达式3,然后转向表达式2;
(4)执行for语句的下一条语句.

说完了基本概念,来看看怎么用法

例子:求1-100之间所有整数的累加和?

     var sum=0;
for(var i=1;i<=100;i++){sum+=i;}

是不是觉得太简单,那我们来简化一下代码

根据for循环语句的执行顺序,可以把条件每次进入循环体之前都会先执行并且判断。可以改为

    for(var i=0,sum=0;i++<100;) sum+= i;//如果循环语句只有一条可以不写大括号

如果觉得不过瘾,其实还可以在简化

我们知道循环的第三部分,就是变量变化部分,他是在每次循环完成语句块后执行的内容,那么就可将sum写在第三部分

   for(var i=0,sum=0;i<=100;sum+=i,i++);

for 循环的变体的终极-省略三个表达式

    var i=1,sum =0;//相当于表达式1
for(;;)
if(i<=100){sum+=i;i++}//相当于表达式2
else break;//相当于表达式3

说完了for循环的便捷之处,就不难理解说for循环的强大之处,但是并不是所有的循环都用for循环,根据实际情况而定,选取最便捷的方法。比如看下面的需求:

例子:将自然数反序列输出 12345 ---> 54321

   var a = 12345;
var i; //末位
var t=0; //反序列
while(a>0){
i=parseInt(a%10);
t = parseInt(t*10 + i);
a = parseInt (a/10);
}
console.log(t)

这里为什么选择while,而不是for了呢,因为这是5位数,要是几十位我们也不知道执行次数,一眼看不出来,执行次数,while比较合适

For循环详解的更多相关文章

  1. PHP中foreach循环详解

    首先要说的是,其实我对foreach循环的用法并不是很精通,说详解,其实也只是我自己的理解,希望对你能有点帮助 . 先来看一下foreach的语法: foreach ($array as $key=& ...

  2. 循环(数组循环、获取json数据循环)、each()循环详解

    return; // 退出循环(不满足,退出此次循环.下次满足条件,依然会走此循环)return false; //退出函数(退出所有) 一. 数组循环: html: <div class=&q ...

  3. nodejs事件和事件循环详解

    目录 简介 nodejs中的事件循环 phase详解 timers pending callbacks idle, prepare poll轮询 check close callbacks setTi ...

  4. C语言For循环详解--saying2

    c语言中的for循环语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句.for(表达式 1;表达式 2;表达式 3 ...

  5. 【Java基础】While循环详解

    循环结构分两大类,一类是当型,一类是直到型. 当型: 当布尔值表达式条件为True时,反复执行某语句,当布尔表达式的值为False时才停止循环,例如:while 与 for循环. 直到型: 先执行某语 ...

  6. foreach循环详解

    在Java1.5+中,foreach循环非常实用.   public class Demo <T> implements Iterable<T>, Iterator<T& ...

  7. Shell while循环详解

    while 循环是 Shell 脚本中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环. Shell while 循环的用法如下: while  ...

  8. JS For 循环详解;棋盘放粮食 64;冒泡排序实例

    FOR( 初始条件:循环条件:状态改变:) { 被执行的代码块} 初始条件: 在循环(代码块)开始前执行 循环条件:定义运行循环(代码块)的条件 状态改变: 在循环(代码块)已被执行之后执行 循环可以 ...

  9. Js中的For循环详解

    大家好,我是逆战班的一员,今天给大家讲解一下Js循环中的For循环. For循环是JS循环中一个非常重要的部分. 我们先讲一下for循环的作用: For循环用在需要重复执行的某些代码,比如从1打印到1 ...

随机推荐

  1. Journal of Proteomics Research | Th-MYCN转基因小鼠的定量蛋白质学分析揭示了Aurora Kinase抑制剂改变代谢途径和增强ACADM以抑制神经母细胞瘤的进展

    题目:Quantitative Proteomics of Th-MYCN Transgenic Mice Reveals Aurora Kinase Inhibitor Altered Metabo ...

  2. [Docker03] Deploy LNMP on Docker

    Deploy MYSQL docker pull mysql 挂载卷保存数据文件 mkdir -p /mysql/data chmod -p 777 /mysql/data MySQL使用过程中的环境 ...

  3. SpringCloud系列之服务注册发现(Eureka)应用篇

    @ 目录 前言 项目版本 Eureka服务端 Eureka客户端 服务访问 前言 大家好,距离上周发布的配置中心基础使用已过去差不多一周啦,趁着周末继续完善后续SpringCloud组件的集成,本次代 ...

  4. command > /dev/null command > /dev/null 2>&1nohup command &> /dev/null的区别

    1.对以下命令进行依次区分 command 执行一条普通的命令 command > /dev/null   '>'表示将标准输出重定向 '>>'表示追加,/dev/null是一 ...

  5. innobackupex备份过程(有图有真相)

    innobackupex命令构成: 1. Innobackupex内部封装了xtrabackup和mysqldump命令: 2. Xtrabackup是用来备份innoDB表的,内部实现对innoDB ...

  6. imread()用法|| root权限

    1.ushort用法? USHORT is a macro which is not part of the official C++ language (it's probably defined ...

  7. 3 report formats of SFDC

    Choose one of the following report formats using the Format menu of the report builder. Tabular form ...

  8. office的高级应用

    Word高级应用:设置斜线表头(一根:边框:多根:插入形状,按住鼠标拖动). 注意:1.用好样式功能 2.大量重复工作懂得批量处理 3.反复要做的固定操作固化成“模板”“套路” 4.碰到异常情况,知道 ...

  9. OpenCV-Python 哈里斯角检测 | 三十七

    目标 在本章中, 我们将了解"Harris Corner Detection"背后的概念. 我们将看到以下函数:cv.cornerHarris(),cv.cornerSubPix( ...

  10. 一文总结数据科学家常用的Python库(下)

    用于建模的Python库 我们已经到达了本文最受期待的部分 - 构建模型!这就是我们大多数人首先进入数据科学领域的原因,不是吗? 让我们通过这三个Python库探索模型构建. Scikit-learn ...