I am not able to figure out why arent the values of b and c not incremented???
It has nothing to do with precedence (syntax), and everything to do with semantics. Specifically, it's because of short-circuit evaluation.
Boolean OR (||) first evaluates its left hand operand (++a, in this case). If the operand is true (non-zero), the right hand operand (++b && ++c) is not evaluated, and the OR operation evaluates to true. Only if the left hand side is false is the right hand side evaluated.
This is because, if x is a boolean value,
(true || x) == true
(false || x) == x
(true && x) == x
(false && x) == false