c语言中 for循环 中()里的 三个表达式 分别省略都是什么意思 与什么等价?

如题所述

for(单次表达式;条件表达式;末尾循环体)

{

中间循环体;

}

其中,表示式可以省略,但是分号不可省略。

for循环是开界的。它的一般形式为: for(; <条件表达式>; ) 语句; 初始化总是一个赋值语句, 它用来给循环控制变量赋初值; 条件表达式是一个关系表达式, 它决定什么时候退出循环; 增量定义循环控制变量每循环一次后 按什么方式变化。这三个部分之间用";"分开。 例如: for(i=1; i<10时, 结束循环。

    for循环中语句可以为语句体,但要用"{"和"}"将参加循环的语句括起来。

    for循环中的"参数初始化表达式"、"条件表达式"和"更新循环变量表达式"都是选择项,即可以缺省,但";"不能缺省。省略了初始化,表示不对循环控制变量赋初值。省略了条件表达式,则不做其它处理时便成为死循环。省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。for循环的三个表达式都是逗号表达式,也就是说每个表达式可以由几个表达式构成,中间用",”隔开。

    for循环可以有多层嵌套。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-10
第一个省略代表起始值省略,当你在循环前定义了循环变量的初值时可省追答

第二个是终止条件,当你在循环内部设置break跳出循环时可省

第三个是改变步长,当你在循环体中有可以终止循环的操作时可省

第2个回答  2015-01-10
都省略相当於 while(1)追问

分别省略呢

追答

第一条省略,就是没有初始化语句,第二条省略,就是没有判断条件,默认为true,第三条就是没有改变条件。
可以用while来模拟for

追问

假如第二条语句没有 就无限循环了吗?

追答

是的,你可以测试一下

追问

第三条语句 没有 就是 变量的值一直都不会改变

追答

是的,其实你也可以把改变变量的值,放到for循环的最後,效果是一样的。for只不过是一种格式而已。

追问

嗯嗯 明白 谢谢 又是你回答的😊

本回答被提问者采纳
第3个回答  2015-01-10
死循环,和while(1)等价追问

我说的是 分别省略 不是一下子都省略了

追答

第一个用于变量初始化,第二个是判断循环条件,第三个修改循环控制变量的;
第一个主要是初始化变量,可以是循环控制变量,或者其他变量,也可以不写。(前提是循环控制变量在for()之前初始化过了);
第二个判断是否满足循环条件,不写就是默认为真,无条件进入循环,要想退出循用break才行了。
第三个是修改循环控制变量的,(写在循环体内也行)

追问

谢谢 稍稍慢了一点 你说的很明白 我看懂了 感谢你打了这么多字

相似回答