首先for循环语句是程序中性能最高的循环之一,我一般都用它。
1.for 有两种形式:一种是数字形式,另一种是通用形式。
数字形式的 for 循环,通过一个数学运算不断地运行内部的代码块。 下面是它的语法:
block 将把 name 作循环变量。 从第一个 exp 开始起,直到第二个 exp 的值为止, 其步长为第三个 exp 。 更确切的说,一个 for 循环看起来是这个样子
注意下面这几点:
所有三个控制表达式都只被运算一次, 表达式的计算在循环开始之前。 这些表达式的结果必须是数字。
var,limit,以及 step 都是一些不可见的变量。 这里给它们起的名字都仅仅用于解释方便。
如果第三个表达式(步长)没有给出,会把步长设为 1 。
你可以用 break 和 goto 来退出 for 循环。
循环变量 v 是一个循环内部的局部变量; 如果你需要在循环结束后使用这个值, 在退出循环前把它赋给另一个变量。
2.通用形式的 for 通过一个叫作 迭代器 的函数工作。 每次迭代,迭代器函数都会被调用以产生一个新的值, 当这个值为 nil 时,循环停止。 通用形式的 for 循环的语法如下:
注意以下几点:
explist 只会被计算一次。 它返回三个值, 一个 迭代器 函数, 一个 状态, 一个 迭代器的初始值。
f, s,与 var 都是不可见的变量。 这里给它们起的名字都只是为了解说方便。
你可以使用 break 来跳出 for 循环。
环变量 var_i 对于循环来说是一个局部变量; 你不可以在 for 循环结束后继续使用。 如果你需要保留这些值,那么就在循环跳出或结束前赋值到别的变量里去。
到第二个 exp 的值为止, 其步长为第三个 exp 。 更确切的说,一个 for 循环看起来是这个样子
3.注意下面这几点:
所有三个控制表达式都只被运算一次, 表达式的计算在循环开始之前。 这些表达式的结果必须是数字。
var,limit,以及 step 都是一些不可见的变量。 这里给它们起的名字都仅仅用于解释方便。
如果第三个表达式(步长)没有给出,会把步长设为 1 。
通用形式的 for 通过一个叫作 迭代器 的函数工作。 每次迭代,迭代器函数都会被调用以产生一个新的值, 当这个值为 nil 时,循环停止。 通用形式的 for 循环的语法如下:
注意以下几点:
explist 只会被计算一次。 它返回三个值, 一个 迭代器 函数, 一个 状态, 一个 迭代器的初始值。
f, s,与 var 都是不可见的变量。 这里给它们起的名字都只是为了解说方便。
你可以使用 break 来跳出 for 循环。
环变量 var_i 对于循环来说是一个局部变量; 你不可以在 for 循环结束后继续使用。 如果你需要保留这些值,那么就在循环跳出或结束前赋值到别的变量里去。
到第二个 exp 的值为止, 其步长为第三个 exp 。 更确切的说,一个 for 循环看起来是这个样子
首先可以确认的是,这道题目的答案就是:4
程序运行结果:
接下来我们来分析下这道题目:
1、双重for循环 2 x 4(第一重执行两次,第二重执行小于4次,因为有if条件),
2、当 i = 0, j = 0是,if(j % 2)等价于 if(0), break不会被执行,此时a++执行一次,此时a == 1
3、 当 i = 0, j = 1是,if(j % 2)等价于 if(1), break会被执行,第二个for循环中的a++不会执行,但是第一个for循环中a++会被执行一次,此时a == 2
4、当 i = 1时, j依旧只会出现2,3步骤中情况,所以此时a++又被执行了两次,此时a==4,
5、当a==2时,第一个for循环条件不成立,退出,打印结果。
以上是我对这道题目的理解,如果对你有帮助,请采纳下, 谢谢。
i控制外循环的次数, i从1开始到6结束,说明外循环6次。j,m控制内循环的次数。
i=1时,j从1到5结束,输出5个空格,m从1到1结束,输出1个*,然后换行。
i=2时,输出4个空格,3个*,换行
i=3时,输出3个空格,5个*,换行
i=4时,输出2个空格,7个*,换行
i=5时,输出1个空格,9个*,换行
i=6时,输出0个空格,11个*,换行
最终结果为:
*
***
*****
*******
*********
**********
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)