C Tutorial  Logical operators  
Introduction to C language Integer types Char constants Int constants Type combination and promotion Int overflow Floating point types Comments Variables Assignment operator Truncation Int vs float arithmatic Mathematical operators Unary Increment Operators Pre and Post Variations C Programming Cleverness and Ego Issues Relational Operators Logical Operators Bitwise Operators Other Assignment Operators

The value 0 is false, anything else is true. The operators evaluate left to right and stop as soon as the truth or falsity of the expression can be deduced. (Such operators are called "short circuiting") In ANSI C, these are furthermore guaranteed to use 1 to represent true, and not just some random nonzero bit pattern. However, there are many C programs out there which use values other than 1 for true (nonzero pointers for example), so when programming, do not assume that a true boolean is necessarily 1 exactly.
! Boolean not (unary)
&& Boolean and
 Boolean or

