In C, any non-zero value is true, and only zero is false. So, when evaluating your expression (and ignoring precedence rules because they don't matter in this example)
true OR true AND true
will always be true. So a non-zero value will be returned. In this case, the C compiler returns 1 for true. Simples!