判断语句if
第一种形式为基本形式:if
if(表达式) 语句
其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。
注意if(表达式)后面不加分号;。如果后面只有一条语句可以省略{},如果超过一条语句就不能省略。
第二种形式为: if-else
if(表达式)
语句1;
else
语句2;
其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。
第三种形式为if - else if形式
前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
…
else if(表达式m)
语句m;
else
语句n;
其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。
if语句的嵌套
当if语句中的执行语句又是if语句时,则构成了if 语句嵌套的情形。其一般形式可表示如下:
if(表达式1)
if(表达式2)
语句1;
else
语句2;
为了避免二义性,C语言规定,else 总是与它前面最近的if配对
注意事项
if 关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,也可以是一个变量。
例如:
在定义了int i =5的前提下有一下的if形式:
if(i=5) 语句;
if(i==5)语句;
if(i>5)语句;
if(i) 语句;
都是允许的。只要表达式的值为非0,即为“真”。
注意if(表达式)后面不加分号;
如果后面只有一条语句可以省略{},如果超过一条语句就不能省略{}。