问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

for的for循环(计算机编程)

发布网友 发布时间:2022-04-23 12:55

我来回答

1个回答

热心网友 时间:2022-05-15 15:56

for( ; ; )里面是3个语句,两个分号。第一个语句是开始前执行,第二个语句是判断真假,如果真,就执行后面(大括号内)的代码。第三个语句是每次执行完毕后执行的东西,通常第三个语句使用i++表示i=i+1的意思,用来递增自变量i。
比如:
最常用的 for(int i = 0; i< 10; i++){ //i-=3 跟 i=i-3效果相同 printf(i = %d\n,i);}递减式for for(int i = 10; i > 0; i -= 3){ //i-=3 跟 i=i-3效果相同 printf(i = %d\n,i);}递增式for for(int i = 10; i > 0; i += 3){ //i+=3 跟 i=i+3效果相同printf(i = %d\n,i);} 语法:
(1)for循环 for(int i=0;i<10;i++){statements;} 语法
for(initialize;test;increment){
statement
}
示例
例1:循环1到100的值 <scripttype=text/javascript>varValue=0;for(vara=1;a<=100;a++){Value=Value+a;Value+=<br>;}document.write(Value);</script>例2:js输出九九乘法表 <scripttype=text/javascript>varbdqnyhb=for(vari=1;i<=9;i++){for(varj=1;j<=i;j++){bdqnyhb+=i+×+j+=+i*j+;}bdqnyhb+=<br>;}document.write(bdqnyhb);</script>JS另有for..in..语句。 Java的for语句形式有两种:一种是和C语言中的for语句形式一样,另一种形式用于在集合和数组之中进行迭代。有时候把这种形式称为增强型的for(enhanced for)语句,它可以使循环更加紧凑和容易阅读。
示例
为了演示,参考下面的数组,它保存数字1到10:
int[] numbers = {1,2,3,4,5,6,7,8,9,10};
下面的程序EnhancedForDemo使用增强for循环遍历这个数组: public class EnhancedForDemo {    public static void main(String[] args) {        int[] numbers = {1,2,3,4,5,6,7,8,9,10};            for(int item : numbers){                System.out.println(Countis:+item);            }        }    }在这个例子中,变量item保存从数字数组获得的当前值。
Count is :1
Count is :2
Count is :3
Count is :4
Count is :5
Count is :6
Count is :7
Count is :8
Count is :9
Count is :10
建议在情况允许的条件下,使用for语句的这种形式,而不使用其一般形式。 for 循环变量:
=初始值 to 终止值 do 语句内容
或者
for 循环变量:=初始值 downto 终止值 do 语句内容
其他内容与C的相同,此处省略。
循环语句的含义在于从“控制变量”等于“初值”开始,循环到“终值”,当“控制变量”的值:
(1) to:大于终值时,终止循环。这里相当于BASIC中STEP(步长)=1的情况。
(2) downto:小于终值时,终止循环。这里相当于BASIC中STEP(步长)=-1的情况。
示例一(to)
按顺序输出1~100: fori:=1tondowrite(i,'');输出值为:1 2 3 4 5 6 …… 98 99 100
示例二(downto)
按倒序输出1~100 forI:=100downto1dowrite(i,'');输出值为:100 99 98 97 …… 3 2 1
注意:单个语句可直接用for循环变量:=初始值 to 终止值 do 语句内容,但有多个语句时要加
“begin“和”end“。
格式为:
for 循环变量:=初始值 to/downto 终止值 do
语句内容1;
语句内容2;
……
语句内容n;
end; FOR 循环变量=初始值 TO 终止值 STEP步长
语句内容
NEXT循环变量
其他内容与C的相同,此处亦省略。
C语言语法
只要指定条件为 true 都执行语句块。
for(initialization; test; increment)
statements
参数
initialization
必选项。一个表达式。该表达式只在执行循环前被执行一次。
test
必选项。一个 Boolean表达式。如果 test 是 true,则 statement 被执行。如果 test 是 false,则循环结束。
increment
可选项。一个表达式。在每次经过循环的最后执行该递增(减)表达式。
statements
可选项。test 是 true 时,要执行的一个或多个语句。可以是复合语句。
说明
循环要执行确定的次数,通常使用for循环。
示例
下面的例子示范了一个for循环。
/* 在开始时 i 被设为 0,并在每次重复的最后被增加 1。
在循环重复前,
如果 i 不小于 10,则循环结束。*/
var myarray = new Array();
for(i = 0; i < 10; i++) {
myarray= i;
在c语言的解释是:
for:循环语句。
作用
循环
它的一般形式为:
for(<初始化>;<条件表达式>;<增量>)
语句
初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。这三个部分之间用;分开。
例如:
for(i=1;i<=10;i++)
语句;
上例中先给i赋初值1,判断i是否小于等于10,若是则执行语句,之后值增加1。再重新判断,直到条件为假,即i>10时,结束循环。
注意:
(1).for循环中语句可以为语句体,但要用{和}将参加循环的语句括起来。
(2).for循环中的初始化、条件表达式和增量都是选择项,即可以缺省,但;不能缺省。省略了初始化,表示不对循环控制变量赋初值。省略了条件表达式,则不做其它处理时便成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。
(3).for循环可以有多层嵌套。
例如:
for(;;) 语句;
for(i=1;;i+=2) 语句;
for(j=5;;) 语句;
这些for循环语句都是正确的。
FOR
field of regard 的缩写LOGO中的FOR
visal basic 示例:
Private Sub Command1_Click()  Dim s(1 To 1000) As Single  s(1) = 0  s(2) = 1  For i = 3 To 1000  s(i) = 1  For j = 2 To i - 1  If i Mod j = 0 Then s(i) = 0  Next j  If s(i) = 1 Then Print i  Next i  End Sub
(版本不同可能输入方式不同) 控制结构的条件表达式结果可以是任何值,Lua认为false和nil为假,其它值为真。
for语句有两大类:
数值for循环
格式:
for var=exp1,exp2,exp3 do
loop-part
end
for将用exp3作为step从exp1(初始值)到exp2(终止值),执行loop-part。其中exp3可以省略,默认step=1
有几点需要注意:
1. 三个表达式只会被计算一次,并且是在循环开始前。
for i=1,f(x) do
print(i)
end
for i=10,1,-1 do
print(i)
end
第一个例子f(x)只会在循环前被调用一次。
2. 控制变量var是局部变量自动被声明,并且只在循环内有效.
for i=1,10 do
print(i)
end
max = i -- probably wrong! 'i' here is global
如果需要保留控制变量的值,需要在循环中将其保存
-- find a value in a list
local found = nil
fori=1,a.n do
if a[i] == value then
found = i -- save value of 'i'
break
end
end
print(found)
3. 循环过程中不要改变控制变量的值,那样做的结果是不可预知的。如果要退出循环,使用break语句。
范型for循环
-- print all values of array 'a'
格式:for i,v in ipairs(a) do print(v) end
范型for遍历迭代子函数返回的每一个值。
再看一个遍历表key的例子:
-- print all keys of table 't'
for k in pairs(t) do print(k) end
范型for和数值for有两点相同:
1. 控制变量是局部变量
2. 不要修改控制变量的值
再看一个例子,假定有一个表:
days = {Sunday, Monday, Tuesday, Wednesday,
Thursday, Friday, Saturday}
想把对应的名字转换成星期几,一个有效地解决问题的方式是构造一个反向表:
revDays = {[Sunday] = 1, [Monday] = 2,
[Tuesday] = 3, [Wednesday] = 4,
[Thursday] = 5, [Friday] = 6,
[Saturday] = 7}
下面就可以很容易获取问题的答案了:
x = Tuesday
print(revDays[x]) --> 3
我们不需要手工,可以自动构造反向表
revDays = {}
for i,v in ipairs(days) do
revDays[v] = i
end
格式
(FOR 循环变量启动数据终止数据[循环体]步长)
若步长为1,则步长可省略,圆括号可去掉。
当循环结束时,循环变量的值为最后一次符合启动数据至终止数据之间的数值。不是第一次不符合值。
例:FOR X 1 5 [PR 'A] PR :X
显示: A
A
A
A
A
5
并不是5个A和一个6 而是5个A和一个5
这种现象被称为:BAG现象 介绍
对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters
为特定命令指定参数或命令行开关。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.如果命令扩展名被启用,下列额外的 FOR 命令格式会受到支持:
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
检查以 [drive:]path 为根的目录树,指向每个目录中的
FOR 语句。如果在 /R 后没有指定目录,则使用当前
目录。如果集仅为一个单点(.)字符,则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-parameters]
该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生
序列 (5 4 3 2 1)。
FOR /F [options] %variable IN (file-set) DO command [command-parameters]
FOR /F [options] %variable IN (string) DO command [command-parameters]
FOR /F [options] %variable IN ('command') DO command [command-parameters]
或者,如果有 usebackq 选项:
FOR /F [options] %variable IN (file-set) DO command [command-parameters]
FOR /F [options] %variable IN (string) DO command [command-parameters]
FOR /F [options] %variable IN ('command') DO command [command-parameters]
filenameset 为一个或多个文件名。继续到 filenameset 中的下一个文件之前,每份文件都已被打开、读取并经过处理。处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。然后用已找到的符号字符串变量值调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。跳过空白行。您可通过指定可选 options参数替代默认解析操作。这个带引号的字符串包括一个或多个指定不同解析选项的关键字。这些关键字为:
eol=c - 指一个行注释字符的结尾(就一个)
skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。
tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的for本身。这会导致额外变量名称的分配。m-n格式为一个范围。通过 nth 符号指定 mth。如果符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之后分配并接受行的保留文本。
usebackq - 指定新语法已在下类情况中使用:在作为命令执行一个后引号的字符串并且一个单引号字符为文字字符串命令并允许在 filenameset中使用双引号扩起文件名称。
范例
某些范例可能有助:
FOR /F eol=; tokens=2,3* delims=, %i in (myfile.txt) do @echo %i %j %k会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给for程序体;用逗号和/或空格定界符号。请注意,这个for程序体的语句引用 %i 来取得第二个符号,引用 %j 来取得第三个符号,引用 %k来取得第三个符号后的所有剩余符号。对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使用双引号,您还需要使用 usebackq 选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。%i 专门在for语句中得到说明,%j 和 %k 是通过tokens= 选项专门得到说明的。您可以通过 tokens= 一行指定最多 26 个符号,只要不试图说明一个高于字母 'z' 或'Z' 的变量。请记住,FOR变量是单一字母、分大小写和全局的;而且,同时不能有 52 个以上都在使用中。您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,用单引号将括号之间的 filenameset 括起来。这样,该字符串会被当做一个文件中的一个单一输入行。最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将括号之间的 filenameset 变成一个反括字符串。该字符串会被当做命令行,传递到一个子 CMD.EXE,其输出会被抓进内存,并被当作文件分析。
因此,以下例子:
FOR /F usebackq delims== %i IN (`set`) DO @echo %i会枚举当前环境中的环境变量名称。另外,FOR变量参照的替换已被增强。您可以使用下列选项语法:
~I - 删除任何引号(),扩充 %I
%~fI - 将 %I 扩充到一个完全合格的路径名
%~dI - 仅将 %I 扩充到一个驱动器号
%~pI - 仅将 %I 扩充到一个路径
%~nI - 仅将 %I 扩充到一个文件名
%~xI - 仅将 %I 扩充到一个文件扩展名
%~sI - 扩充的路径只含有短名
%~aI - 将 %I 扩充到文件的文件属性
%~tI - 将 %I 扩充到文件的日期/时间
%~zI - 将 %I 扩充到文件的大小
%~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个完全合格的名称。如果环境变量名
未被定义,或者没有找到文件,此组合键会扩充到
空字符串
可以组合修饰符来得到多重结果:
%~dpI - 仅将 %I 扩充到一个驱动器号和路径
%~nxI - 仅将 %I 扩充到一个文件名和扩展名
%~fsI - 仅将 %I 扩充到一个带有短名的完整路径名
%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个驱动器号和路径。
%~ftzaI - 将 %I 扩充到类似输出线路的 DIR
在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法
用一个有效的 FOR变量名终止。选取类似 %I 的大写变量名
比较易读,而且避免与不分大小写的组合键混淆。
使用For输出目录名而忽略文件:
@echo off
for/d %%i in (window?) do @echo %%i
pause for counter = start to end step = 步进
执行语句
next
这个语句的具体解释是指定,执行命令的次数。
具体例子如下
set wshshell=wscript.createobject(wscript.shell) '定义vbs对象
dim num,wen ’创建变量
wen = inputbox(请输入要轰炸的内容必须是英文要不然会报错哦\(^o^)/~,发送消息的按键必须是回车键)
num = cint(inputbox(请输入要轰炸的次数必须是数字!!)) '将字符串转化为数字
msgbox 欢迎使用qq*你有10秒的时间定位要轰炸qq的对话框
wscript.sleep 10000
const i=1
for k= i to num ‘步进为1默认,开始次数1,循环次数num变量等等待用户输入
wshshell.sendkeys wen ’发送用户输入的消息
wshshell.sendkeys {ENTER}
wscript.sleep 100
next

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 怎样判断有毒蛇和无毒蛇?? 不用面粉,不用烤箱怎么做蛋糕 怎样区分无毒的蛇和有毒的蛇 c++中的for循环是怎样循环的 如何不用烤箱也可以做蛋糕? 如何分辨蛇是无毒还是有毒蛇? 不用烤箱做蛋糕 c++中的for循环是怎样循环的? c语言入门基础教程下载 怎样判断蛇是否有毒? linux 常用实用命令 怎样从外形上分辨蛇是否有毒? C语言初级教程从0开始 for循环到底是什么意思嘛。。。求概念 苹果手机关闭微信支付? 0基础自学C语言 怎么分辨蛇有没有毒,在野外遇到蛇该怎么保护自己? 怎么分辨蛇有没有毒 学C语言该怎么入门? 请问那个for循环是什么意思 长沙各地区均出现蛇的身影,如何分辨蛇有没有毒性? C语言中for循环是什么循环类型 如何鉴别毒蛇 怎么区分有毒蛇和无毒蛇? 全新奥迪A3作为豪华品牌紧凑型车,优势在哪里呢? 不用烤箱,不用打蛋清怎样做个蛋糕 被蛇咬了怎么判别是不是有毒的蛇 内外兼修 全新一代奥迪A3能否引领豪华A级细分市场? 怎么做蛋糕,不用烤箱、微波炉、电饭锅? 如何判断蛇是否有毒? 家里没有烤箱,能不能用别的办法来做蛋挞? 奥迪a3商业保险大概多少钱 做蛋糕,不用烤箱做蛋糕,怎样用平底锅做蛋 怎样做家庭蛋糕,但是不用烤箱? 2020款两厢奥迪A3时尚,提车价格纪录,技巧心得 备受诟病的奥迪a3,真的有那么差吗? 不用烤箱怎么做蛋糕(二)没有电动打蛋 怎么样不用烤箱做蛋卷 只用白糖和鸡蛋做蛋糕不用烤箱? 奥迪A3为什么那么多人喜欢?