C++において

if[((a!=b)&&(e==b) || (c<=0)&&(c==e))]{
a=a+1;
}else{
b=b+1;
}

といったif文の時、最初のif[((a!=b)&&(e==b) || (c<=0)&&(c==e))]条件は
どういった順番でチェックがかかり、どの条件で真、偽になるのでしょうか?