if控制语句允许我们测试一个条件表达式对程序进行分支处理。但如果需要同时满足多个条件时,则需要使用逻辑运算符,C语言提供了3种逻辑运算符。
&&(逻辑与运算)
||(逻辑或运算)
! (逻辑非运算)
加减(+-)运算需要左右两个操作数,如a+b。与此类似,与运算符(&&)与或运算符(||)也需要左右两个条件表达式,这被称为双目运算符,具有从左向右的结合性。如,a&&b,表示先计算a表达式再计算b表达式。赋值运算符(=)用于将右端值赋给左边变量,这被称为右结合性,非运算(!)与之类似,具有右结合性。!0表示非0,即为真。
与运算(&&)
与运算是一个并且关系,即当所有条件同时成立时结果为true,如果有一个条件不成立则整个判断结束。
在下面的代码中,如果玩家等级大于2并且等级小于5时,整个条件表达式为true。如果此时玩家等级是1,在第一个判断处已经失败,因此后面的判断便不会在进行计算,整个表达式为false,将执行后面的语句。
你也已经注意到,我使用一个;作为成立时的语句,这是可行的。因为在C语言中;号代表语句的结果。这里它是一条