for(i=3;i;i--)什么意思?
2个回答
展开全部
for(i=3;i;i--)什么意思?
这是一句C语言,或者是相似语言的语句程序句。
下面按着它是c语言来讲(其实有这种结构的其他语言,含义是非常一模一样的)。
首先for语句是循环语句,他后面的括号内的内容是控制这个循环的设置参数。
For语句的控制参数一共有三项,这三项用分号隔开,所以for后面的括号内一共有两个分号。
第一部分的控制内容是在循环前,给循环的设初始值,一般是给循环变量进行赋值。本例中的循环变量是i,i=3,就是给变量i赋值3。
第二部分是控制继续循环的条件,符合条件就继续循环,不符合条件时循环就结束。一般这里要写一个逻辑判断语句,或者一个关系语句。其结果应该是逻辑真或者逻辑假,逻辑真实就继续循环,逻辑假时就停止循环了。在本例中,第二项内容只有一个I,显然这是用i的值作为逻辑值控制循环继续还是终止的标志。因为在C语言中,把一个非0数字的数字值解释为逻辑真,而只对零解释逻辑假。所以这个循环是只要i不为零,就继续循环;i是0,就退出循环。
第三部分是定义循环的步长。它每循环完一次都要执行一次。也就是说,每执行循环体一次,循环变量都要有相应的变动,如果不变动的话,循环就永远进行,永远就结束不了了。本例中只是一个i--,这是一个后自减语句,那么每运行一次循环体,i就减掉1。
下面是运行过程:
最开始是i=3,判断I不是零,然后进行第一次循环,执行完循环体以后再执行一次i--,i变成了2。
这时再返回for语句判断,i=2,还不是零,那么继续进行第二次循环,再运行完循环体后,又执行i--又变成了1。
这时候再返回第一句再判断i是不是为零?这时候i=1仍然不为0,又第三次运行循环体,再运行i--,这回i变成了零。
再返回第一句比较i是否为0,结果是i为零,逻辑假成立,跳出循环。
所以在这个循环过程中,i从三变成了零。而循环体,一共运行了三次。
有什么问题请留言。
这是一句C语言,或者是相似语言的语句程序句。
下面按着它是c语言来讲(其实有这种结构的其他语言,含义是非常一模一样的)。
首先for语句是循环语句,他后面的括号内的内容是控制这个循环的设置参数。
For语句的控制参数一共有三项,这三项用分号隔开,所以for后面的括号内一共有两个分号。
第一部分的控制内容是在循环前,给循环的设初始值,一般是给循环变量进行赋值。本例中的循环变量是i,i=3,就是给变量i赋值3。
第二部分是控制继续循环的条件,符合条件就继续循环,不符合条件时循环就结束。一般这里要写一个逻辑判断语句,或者一个关系语句。其结果应该是逻辑真或者逻辑假,逻辑真实就继续循环,逻辑假时就停止循环了。在本例中,第二项内容只有一个I,显然这是用i的值作为逻辑值控制循环继续还是终止的标志。因为在C语言中,把一个非0数字的数字值解释为逻辑真,而只对零解释逻辑假。所以这个循环是只要i不为零,就继续循环;i是0,就退出循环。
第三部分是定义循环的步长。它每循环完一次都要执行一次。也就是说,每执行循环体一次,循环变量都要有相应的变动,如果不变动的话,循环就永远进行,永远就结束不了了。本例中只是一个i--,这是一个后自减语句,那么每运行一次循环体,i就减掉1。
下面是运行过程:
最开始是i=3,判断I不是零,然后进行第一次循环,执行完循环体以后再执行一次i--,i变成了2。
这时再返回for语句判断,i=2,还不是零,那么继续进行第二次循环,再运行完循环体后,又执行i--又变成了1。
这时候再返回第一句再判断i是不是为零?这时候i=1仍然不为0,又第三次运行循环体,再运行i--,这回i变成了零。
再返回第一句比较i是否为0,结果是i为零,逻辑假成立,跳出循环。
所以在这个循环过程中,i从三变成了零。而循环体,一共运行了三次。
有什么问题请留言。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询