C语言里for(;1;)是什么意思?

如题所述

永远为真的for循环语句。

循环语句由循环体及循环的判定条件两部分组成,其表达式为:for(单次表达式;条件表达式;末尾循环体){中间循环体;}。

表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。


扩展资料

for循环小括号里第一个“;”号前为一个为不参与循环的单次表达式,其可作为某一变量的初始化赋值语句, 用来给循环控制变量赋初值; 也可用来计算其它与for循环无关但先于循环部分处理的一个表达式。

“;”号之间的条件表达式是一个关系表达式,其为循环的正式开端,当条件表达式成立时执行中间循环体。

执行的中间循环体可以为一个语句,也可以为多个语句,当中间循环体只有一个语句时,其大括号{}可以省略,执行完中间循环体后接着执行末尾循环体。

执行末尾循环体后将再次进行条件判断,若条件还成立,则继续重复上述循环,当条件不成立时则跳出当下for循环。


参考资料来源:百度百科-for循环

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-28

1 这是一个省略了初始化表达式和更新表达式,而测试表达式永远为真的for循环

2 在C语言中,for循环的一般形式如下

for(初始化表达式;测试表达式;更新表达式){
    循环体;
}

其中初始化表达式可以省略,其后的分号不可省略,其用来初始化一个或多个变量

测试表达式可以省略,其后的分号不可省略,其返回值为布尔型,用来判定循环是否终止

更新表达式可以省略,其后的分号不可省略,其用来更新变量

3 在C语言中,整型和布尔型可以相互转化

任何不为0的整型强制转换成布尔型为true

而0强制转换成布尔型为false

因此在本题中的测试表达式的返回值1转换为布尔型为true

4 扩展

如果不在循环体中终止该循环的话,那么该循环就是一个死循环

在循环体中终止该循环的方法是使用break;语句

第2个回答  2013-10-19
for 是循环语句
例如
for(int a=1;a<=10;a++)
/* 先定义一个变量且初始化, 然后定义表达式 a<=10(a小于等于10), a++是a自加相当于a=a+1 这句语句的意思就是 定义整型a=1 当a小于等于10时 for执行循环 并且a自加 当a=10时循环停止*/
{
cout<<"循环了"<<a<<"次"<<endl;
}
第3个回答  2013-10-19
就是一个无限循环语句,在C里面,只要不为0就是true,0就是false,因此你给了一个1,就是一直为true的去做循环~
第4个回答  2013-10-19
哈哈,这简单!就是代表一直执行循环,直到用break;等中断;用法和while(1)相同