Q.  Why there is no logical XOR(^^) operator in C?

A.  There are, at least, two reasons for why C does not have the logical XOR 
    operator.  They are:

    +   An XOR logical operator can not be short circuited as the AND and OR
        operators can.  For example, in the boolean expression:

            a && b

        if a is FALSE, then further computation of subexpressions are not 
        necessary.  The value of the boolean expression is FALSE.  Similary,
        for the boolean expression:

            a || b

        if a is TRUE, the value of the expression is TRUE.  This is called
        short circuiting of a boolean expression, which can not be applied for
        the XOR operator.  

    +   The logical XOR operation can be implemented using the existing 
        operators as:

            a ^^ b      ==      !(a) ^ !(b)

    Source: geocities.com/vijoeyz/faq/c

               ( geocities.com/vijoeyz/faq)                   ( geocities.com/vijoeyz)