for循环

C语言嵌套循环详解

放肆的年华 提交于 2020-03-08 10:30:06
在C语言中,if-else、while、do-while、for 都可以相互嵌套。**所谓嵌套(Nest),就是一条语句里面还有另一条语句,**例如 for 里面还有 for,while 里面还有 while,或者 for 里面有 while,while 里面有 if-else,这都是允许的。 循环结构的嵌套。 示例1:for 嵌套执行的流程。 #include < stdio . h > int main ( ) { int i , j ; for ( i = 1 ; i <= 4 ; i ++ ) { //外层for循环 for ( j = 1 ; j <= 4 ; j ++ ) { //内层for循环 printf ( "i=%d, j=%d\n" , i , j ) ; } printf ( "\n" ) ; } return 0 ; } 运行结果: i = 1 , j = 1 i = 1 , j = 2 i = 1 , j = 3 i = 1 , j = 4 i = 2 , j = 1 i = 2 , j = 2 i = 2 , j = 3 i = 2 , j = 4 i = 3 , j = 1 i = 3 , j = 2 i = 3 , j = 3 i = 3 , j = 4 i = 4 , j = 1 i = 4 , j = 2 i = 4 , j = 3 i = 4

for 循环

怎甘沉沦 提交于 2020-03-08 04:26:27
目录 for循环 for+break for+continue for……else for循环嵌套 秀一波操作 练习题 for循环 for循环与while循环的区别 for循环是可控的,while循环一不小心就会造成死循环 for循环不需要条件,while循环需要条件 # 打印一个列表 hobby_list = ('raeding','wirth','cooking','fishing',1,3,5,7,9) count = 0 while count < len(hobby_list): # 使用的是while循环实现 print(hobby_list[count]) count += 1 raeding wirth cooking fishing 1 3 5 7 9 hobby_list = ('raeding','wirth','cooking','fishing',1,3,5,7,9) for i in hobby_list: # 使用for循环实现 print(i) raeding wirth cooking fishing 1 3 5 7 9 相较于上面两个代码,我们可以发现while循环实现列表打印比较繁琐,而for循环只需要两行就解决了 for i in range(6): # 相当于for i in range(0,6) print(i) 0 1 2 3 4 5

for循环的一种简化

五迷三道 提交于 2020-03-07 04:16:24
数组: var arr = [1, 2, 3, 5, 6]; 传统的教科书式的循环写法: for(var i=0; i<arr.length; i++){ console.log(arr[i]); } 简化版: for(var i= 0, t; t=arr[i++];){ console.log(t); } 条件表达式部分只要判断为假就会退出循环,只要条件表达式的结果是null,undefined,false,0,空,都会被认定为假,利用这点可在条件表达式中直接进行数组元素的取值操作,对于循环体内的数组取值就方便了。并且利用“++”的特点,for的最后一个表达式也可省去。 来源: https://www.cnblogs.com/kongxianghai/p/4868047.html

JS九九乘法表

那年仲夏 提交于 2020-03-06 18:30:24
<script>   for (i = 1; i <= 9; i++) {  //控制为9行     for (j = 1; j <= i; j++) {       document.write(j + "*" + i + "=" + j * i + "&nbsp;&nbsp;&nbsp;"); //每次循环,i不变,j在自增,相当于每一行从左往右在输出,每行j+i时结束循环。       if ((j == 2 && i == 3) || (j == 2 && i == 4)) {         document.write("&nbsp;&nbsp;")  //为了对齐,多输出两个空格       }     } document.write("<br>");  //每结束一行,进行换行。   } </script> 来源: https://www.cnblogs.com/sifeizai/p/9699975.html

关于for循环里面异步操作的问题

坚强是说给别人听的谎言 提交于 2020-03-06 14:57:32
https://www.cnblogs.com/vipzhou/p/6519552.html 关于for循环里面异步操作的问题 首先来看一个比较简单的问题,我们想实现的就是每隔1s输出0-4的值,就是这么简单,看下错误写法: 1 2 3 4 5 6 7 8 function test() { for ( var i = 0; i < 5; ++i) { setTimeout(function() { console.log( "index is :" , i); }, 1000); } } test(); 以上代码会如何输出?输出如下: 1 2 3 4 5 index is : 5 index is : 5 index is : 5 index is : 5 index is : 5 而且该操作几乎是在同一时间完成,setTimeout定时根本就没有起作用,这是因为:单线程的js在操作时,对于这种异步操作,会先进行一次“保存”,等到整个for循环执行结束后,此时i的值已经变成5,因为setTimeout是写在for循环中的,相当于存在5次定时调用,这5次调用均是在for循环结束后进行的,所以自然而然输出都是5, 正确的实现有几种,一般情况下,我们使用递归实现,如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

对象④for in 循环

ε祈祈猫儿з 提交于 2020-03-06 13:46:02
和 in 操作符一样, for in 循环同样在查找对象属性时遍历原型链上的所有属性。 注意: for in 循环 不会 遍历那些 enumerable 设置为 false 的属性;比如数组的 length 属性。 // 修改 Object.prototype Object.prototype.bar = 1; var foo = {moo: 2}; for(var i in foo) { console.log(i); // 输出两个属性:bar 和 moo } 由于不可能改变 for in 自身的行为,因此有必要过滤出那些不希望出现在循环体中的属性, 这可以通过 Object.prototype 原型上的 hasOwnProperty 函数来完成。 注意: 由于 for in 总是要遍历整个原型链,因此如果一个对象的继承层次太深的话会影响性能。 使用 hasOwnProperty 过滤 // foo 变量是上例中的 for(var i in foo) { if (foo.hasOwnProperty(i)) { console.log(i); } } 这个版本的代码是唯一正确的写法。由于我们使用了 hasOwnProperty ,所以这次 只 输出 moo 。 如果不使用 hasOwnProperty ,则这段代码在原生对象原型(比如 Object.prototype

for in和for of

馋奶兔 提交于 2020-03-06 12:43:41
先说结论: 1.推荐在循环对象属性的时候,使用for…in,在遍历数组的时候的时候使用for…of。 2.for…in循环出的是key,for…of循环出的是value 3.注意,for…of是ES6新引入的特性。修复了ES5引入的for…in的不足 4.for…of不能循环普通的对象,需要通过和Object.keys()搭配使用 假设我们要遍历一个数组的valuelet aArray = [‘a’,123,{a:‘1’,b:‘2’}] 使用for…in循环: for ( let index in aArray ) { console . log ( ` ${ aArray [ index ] } ` ) ; } 使用for…of循环: for ( var value of aArray ) { console . log ( value ) ; } 咋一看好像好像只是写法不一样而已,那为什么说for…of修复了for…in的缺陷和不足。 假设我们往数组添加一个属性name: aArray.name = ‘demo’,再分别查看上面写的两个循环: for ( let index in aArray ) { console . log ( ` ${ aArray [ index ] } ` ) ; //Notice!!aArray.name也被循环出来了 } for ( var

JS for循环中的label

六月ゝ 毕业季﹏ 提交于 2020-03-06 10:32:32
let num = 0; for (let i = 0; i < 10; i ++) { for (let j = 0; j < 10; j ++) { if (i === 5 && j === 5) { break; } num ++; } } console.log(num); // 95 条件成立break跳出的是内部的循环 如果条件成立要跳出全部循环该怎么做? let num = 0; out: for (let i = 0; i < 10; i ++) { for (let j = 0; j < 10; j ++) { if (i === 5 && j === 5) { break out; } num ++; } } console.log(num); // 55 out就是for循环中的label指向的是当前的循环块当break out时 跳出的是out指向的代码块continue 同理 来源: https://www.cnblogs.com/QQPrincekin/p/12425078.html

20200305Java学习笔记:顺序结构与控制流程

寵の児 提交于 2020-03-05 23:24:43
顺序结构,控制流程 顺序结构 什么是顺序结构 package struct ; public class Demo01 { public static void main ( String [ ] args ) { System . out . println ( "1" ) ; System . out . println ( "2" ) ; System . out . println ( "3" ) ; System . out . println ( "4" ) ; } } 选择结构 if单选择结构 if双选择结构 if多选择结构 嵌套的if结构 switch多选择结构 if单选择结构 if ( 布尔表达式 ) { //布尔为真将执行下面语句 } if双选择结构 语法格式 if ( boolean ) { //布尔值为真 } else { //布尔值为假 } ``java package struct; import java.util.Scanner; public class Demo01 { public static void main(String[] args) { Scanner scanner=new Scanner(System.in); int score=scanner.nextInt();//输入一个分数 if(score>=60) { System

code

浪子不回头ぞ 提交于 2020-03-04 23:53:29
des: #include <stdio.h> #include <string.h> #include <iostream> #include <stdlib.h> using namespace std; int IP_Table[64] = { //IP置换矩阵 58, 50, 42, 34, 26, 18, 10, 2, 60, 52, 44, 36, 28, 20, 12, 4, 62, 54, 46, 38, 30, 22, 14, 6, 64, 56, 48, 40, 32, 24, 16, 8, 57, 49, 41, 33, 25, 17, 9, 1, 59, 51, 43, 35, 27, 19, 11, 3, 61, 53, 45, 37, 29, 21, 13, 5, 63, 55, 47, 39, 31, 23, 15, 7}; int E_Table[48] = { //扩展矩阵 32, 1, 2, 3, 4, 5, 4, 5, 6, 7, 8, 9, 8, 9, 10, 11, 12, 13, 12, 13, 14, 15, 16, 17, 16, 17, 18, 19, 20, 21, 20, 21, 22, 23, 24, 25, 24, 25, 26, 27, 28, 29, 28, 29, 30, 31, 32, 1}; int P_Table