&& (логическое И) имеет более высокий приоритет, чем || (логическое ИЛИ). Поэтому следующие идентичные:
a || b && c
a || (b && c)
Хорошее мнемоническое правило - помнить, что AND похоже на умножение, а OR - на сложение. Если мы заменим AND на * и OR на +, мы получим более знакомый эквивалент:
a + b * c
a + (b * c)
На самом деле, в булевой логике И и ИЛИ действуют подобно этим арифметическим операторам:
a b a AND b a * b a OR b a + b
---------------------------------------
0 0 0 0 0 0
0 1 0 0 1 1
1 0 0 0 1 1
1 1 1 1 1 1 (2 really, but we pretend it's 1)