c语言中,while循环和if循环有什么不同

c语言中,while循环和if循环有什么不同,第1张

if是判断,while是循环。第一个的if,只执行一次后继续外面for循环。第二个while是根据判断条件决定是否循环,一旦进入了while循环后由于i和m的值不能改变,所以判断结果一直为真,在循环里出不来,即死循环。

总的来说if和while都是java条件判断的语句,执行顺序也不同,if用于单个判断,while是用于循环判断的,这是最大的区别,下面分别讲解一下:

1if 是条件判断 如果条件满足则执行if 不执行else反之如果if 条件不满足 则执行else部分注意if 是可以单独使用的 但是使用else时一定要与if搭配使用。

比如:

int i =5;

if(i==4){//判断是否为4

Systemoutprintln(“这个数是:4”);//如果是,输出结果。

}else{

Systemoutprintln(“这个数是:”+i);//如果不是,输出这个数。

}

2 while一般用于 不清楚需要循环多少次的情况下 每次执行时先判断条件是否满足 与if搭配使用时 可以使用if来判断条件 跳出循环,使用break,return可以跳出循环。例:

while(true){ //循环条件中直接为TRUE

//循环内容

if(符合某条件){ //直到符合条件后跳出本循环 否则一直循环下去

break;

}

}

2个当然有区别了,一个是判断语句if,一个是循环语句while,和while类似的是for,也是循环。

if是判断,你这个if是判断n++<=2的真假。判断语句不管真假,只执行一次。还有格式问题。不管判断语句还是循环语句,上下都是算一条语句的,你加了 ; 就说明语句结束,所以下面的printf("%d" ,n);这条语句和循环和判断语句就无关了。

不是这样的啊。你要先明白if语句和while语句的结构。

if (test) //括号里是判断条件,如果判断为真,则执行下面的语句,如果为假,不执行

; //执行语句

你刚开始if后面加了 ; 这个符号,程序就将if语句结束了,也就是默认下面的语句为空,随便if为真还是假,执行不执行,没影响了。 而你printf("%d" ,n);原来的这句,则变成一条新的输出语句,和if真假无关了。

while(test)

; 这个语句和if结构差不多,这是循环语句,也就是说,如果条件判断为真,则执行下面的语句,而且,他还会再次判定,如果还是真,继续执行,一直循环为假,才跳过这条语句执行下面的语句。

来看你的题目, n的初始值为0,n++<=2 为真,所以执行判断语句的后半部分。因为n++为1,所以输出1

另外那个循环,第一次,n为0,n++<=2 为真,执行下面的语句,输出1然后继续循环,此时n为1,n++<=2 为真,输出2,然后一直循环,到n =3时,n++<=2 为假,就不执行下面的语句了,循环结束

对啊,while是当条件满足时进行循环;而if 是当条件满足时执行一次。

把print1函数的while改为if  才能够运行出正确结果。因为在print1函数中,没有修改变量a的值,a的值就永远是321。就会永远“死循环”。

而改为if 后,因为递归能把十位以上的数字打印出来,所以只要执行一次就够了。

仔细思考程序逻辑。程序要做的是当-1≤a≤1且-1≤b≤1时输出yes,然后判断a和b是否同时为0,是则结束循环。如果你把if(a==0&&b==0) break放到最前面,那么当a和b都为0时直接跳出循环,还会执行下面的判断吗?

以上就是关于c语言中,while循环和if循环有什么不同全部的内容,包括:c语言中,while循环和if循环有什么不同、Java中if与while怎么区别,为什么输出时结果会不一样呢、c++ if 与while 的使用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10079762.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存