if和while是C语言中常用的两个语句,但是区别很大,完全不同。
1.if用来做条件判断
if用来做条件判断,与else搭配使用。在if条件判断中,若逻辑条件表达式为真,则运行语句或语句块;如果逻辑条件表达式为假,则跳过语句;
例如,超过五点下班走人,否则就继续上班。在这里“时间”就是判断条件,时间就是下班或者上班
只要时间超过五点,即判断条件为真,则执行的事件就是下班,else语句不再执行,即不再执行上班语句;只要事件没有超过五点,则执行上班语句。
2.while是循环语句
在C语言中通常用while来表示循环,例如在main()函数中一般都用while(1)来让主程序循环执行。即在逻辑条件表达式为真的情况下,while反复执行循环体内包含的语句或语句块,直到条件不成立。
例如:天气如果是下雨就执行睡觉指令,直到不下雨为止;如阴天、晴天或者下雪等其他天气就不执行睡觉指令。
3.do-while 循环语句
do-while也是经常使用的循环语句,但是与while循环存在区别。
do-while先执行循环中的语句,然后再判断表达式是否为真,如果为真则继续循环;如果为假, 则终止循环。因此, do-while循环至少要执行一次循环语句。while循环是先判断后循环 ,而do–while循环是先循环后判断。
例如,先执行睡觉指令,然后才判断天气是不是下雨,如果天气是下雨就继续睡;如果天气不是下雨,就终止睡觉事件。总之,不管天气有没有下雨,判断之前先睡觉。
这是两种类型的语句。
if语句叫做选择语句,一般和else一起使用。判断条件是否成立,成立则执行if后面的分支,不成立则执行else后面的分支。执行完毕则转入下条语句。
while语句叫做循环语句。同样是判断条件是否成立。但是执行完毕后继续判断该条件,直到该条件不成立则转入下一条语句。
对于一个假条件,两者的执行情况是一致的。对于一个真条件,执行完毕后if语句就顺序执行下一条,while还要继续判断和执行。这就是两者的不同吧。
对于while语句,必须要在执行语句中设置改变判断条件结果的语句或者设置跳出语句以避免陷入死循环。