For循环详解
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循环详解的更多相关文章
- PHP中foreach循环详解
首先要说的是,其实我对foreach循环的用法并不是很精通,说详解,其实也只是我自己的理解,希望对你能有点帮助 . 先来看一下foreach的语法: foreach ($array as $key=& ...
- 循环(数组循环、获取json数据循环)、each()循环详解
return; // 退出循环(不满足,退出此次循环.下次满足条件,依然会走此循环)return false; //退出函数(退出所有) 一. 数组循环: html: <div class=&q ...
- nodejs事件和事件循环详解
目录 简介 nodejs中的事件循环 phase详解 timers pending callbacks idle, prepare poll轮询 check close callbacks setTi ...
- C语言For循环详解--saying2
c语言中的for循环语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句.for(表达式 1;表达式 2;表达式 3 ...
- 【Java基础】While循环详解
循环结构分两大类,一类是当型,一类是直到型. 当型: 当布尔值表达式条件为True时,反复执行某语句,当布尔表达式的值为False时才停止循环,例如:while 与 for循环. 直到型: 先执行某语 ...
- foreach循环详解
在Java1.5+中,foreach循环非常实用. public class Demo <T> implements Iterable<T>, Iterator<T& ...
- Shell while循环详解
while 循环是 Shell 脚本中最简单的一种循环,当条件满足时,while 重复地执行一组语句,当条件不满足时,就退出 while 循环. Shell while 循环的用法如下: while ...
- JS For 循环详解;棋盘放粮食 64;冒泡排序实例
FOR( 初始条件:循环条件:状态改变:) { 被执行的代码块} 初始条件: 在循环(代码块)开始前执行 循环条件:定义运行循环(代码块)的条件 状态改变: 在循环(代码块)已被执行之后执行 循环可以 ...
- Js中的For循环详解
大家好,我是逆战班的一员,今天给大家讲解一下Js循环中的For循环. For循环是JS循环中一个非常重要的部分. 我们先讲一下for循环的作用: For循环用在需要重复执行的某些代码,比如从1打印到1 ...
随机推荐
- 图解I/O模型
本文带你鸟瞰I/O模型全貌,希望可以让你对I/O模型有一个直观的认识 什么是I/O?I/O的过程?同步阻塞 I/O同步非阻塞 I/OI/O多路复用异步I/O 什么是I/O? I/O就是计算机内 ...
- MyBatis框架——快速入门
主流的ORM框架(帮助开发者实现数据持久化工作的框架): 1.MyBatis: 半自动化ORM框架,半自动:指框架只完成一部分功能,剩下的工作仍需开发者手动完成. MyBatis 框架没有实现 POJ ...
- spring的ioc依赖注入的三种方法(xml方式)
常见的依赖注入方法有三种:构造函数注入.set方法注入.使用P名称空间注入数据.另外说明下注入集合属性 先来说下最常用的那个注入方法吧. 一.set方法注入 顾名思义,就是在类中提供需要注入成员的 s ...
- Redhat 线下赛 WEB WP
赛制 给每个参赛队伍所有题目的gamebox,参赛队伍在开赛时就能获取到所有题目的源码,可以选择先防御后攻击或先攻击后防御,只要拿到gamebox上的flag,机器人就会自动帮你攻击场上所有未防御选手 ...
- selenium3浏览器驱动设置
设置浏览器驱动: 1.首先手动创建一个存放浏览器驱动的目录,如: C:\driver , 将下载的浏览器驱动文件(例如:chromedriver.geckodriver)丢到该目录下. 2.打开计算机 ...
- 数据库安装和基本sql语句
数据库概念 文件作为数据进行存储,数据格式千差万别 将保存数据的地方统一起来 MYSQL--------->一款应用软件 用来帮你操作文件的 只要是基于网络通信,底层就是socket 服务端 - ...
- PS2手柄在arduino上进行测试,可用,供喜欢diy的朋友借鉴
#include <PS2X_lib.h> //PS2手柄PS2X ps2x; // create PS2 Controller Class//////////PS2引脚///////// ...
- matplotlib命令与格式:参数配置文件与参数配置
转自 https://my.oschina.net/swuly302/blog/94805 自定义matplotlib Created Saturday 08 December 2012 5.1 ma ...
- 最新SCI影响因子发布!Nature屠榜,AI领域Top 1000期刊盘点
[导读]2018年度SCI期刊影响因子最新发布,Nature.Science.Cell三大神刊排名前列.新智元摘取其中有关人工智能.机器学习.计算机视觉.机器人学等领域的期刊并做简要介绍,希望对读者选 ...
- 超图iserver登录密码忘记,重置密码
如果大家在用超图iserver发布服务的过程中将登录密码忘记,大家不要慌,iserver自带的有密码重置功能. 1.首先在登录过程中提示密码错误,具体内容如下图所示: 2.首先先停止iserver服务 ...