Why !(0 || 1 || 0) is 0?
<p>I am trying to understand Boolean logic and operators. 
I found this example but can't understand why this expression will evaluate to the one shown below. </p>

<p>Say, a = 0, b = 1, c = 0</p>

<pre><code>           Expression           Will Evaluate to
val1 = !(a || b || c);        !(0 || 1 || 0) = !(1) = 0
</code></pre>

<p>As I see it, val1 is not <code>a</code> or not <code>b</code> or not <code>c</code>, so why it evaluates to not 1 ?</p>