我今天碰到一条C程序 源程序如下:

main()
{
int i=0,sum=0;
while(1)
{
sum+=i;
i++;
if(i>100)
break;
}
printf("sum=%d",sum);
}
程序能正常运行,但我不知道这里while(1)里的这个“1”是什么意思

holdtom
浏览 141回答 3
3回答

缥缈止盈

C语言中while的用法解析如下:一、1表示true,在bool类型取值false和true,0为false,非0为true(例如-1和2都是true)。程序中,这里1就表示永真,直到循环体内遇到break。二、while用法演示解析:1、含义:While 循环会在指定条件为真时循环执行代码块。2、语法如下:(如果忘记增加条件中所用变量的值,该循环永远不会结束。该可能导致程序崩溃。)3、实例:例中的循环将继续运行,只要变量 i 小于 5:4、执行结果如下:

慕姐8265434

while表示的是循环,使用的标准格式为:while(表达式){循环语句体;}其中表达式是循环进行的条件在此程序中,while(1)表示的是无限循环。

慕斯709654

这里的1表示真,是bool类型,非0为真。程序当中while(1)里括号内是判断条件,整型1转为bool型后结果为true,所以判断条件为真,接着做下面的语句。bool表示布尔型变量,也就是逻辑型变量的定义符,以英国数学家、布尔代数的奠基人乔治·布尔(George Boole)命名。布尔型变量的值只有 真 (true) 和假 (false),0为false,非0为true(例如-1和2都是true)。布尔型变量可用于逻辑表达式,也就是“或”“与”“非”之类的逻辑运算和大于小于之类的关系运算,逻辑表达式运算结果为真或为假。比如:#include<iostream>using namespace std;int main(){bool b =2; //执行此行后,b=true(整型2转为bool型后结果为true)if(b)cout << "ok!" << endl;b = b-1; //执行此行后,b=false(bool型数据true参与算术运算时会转为int值1,减1后结果为0,赋值给b时会转换为bool值false)}
打开App,查看更多内容
随时随地看视频慕课网APP