I don't know if this has the logical ring to it that many in the computing community appreciate, but I can't get past an emotional interpretation:
"DON'T do that!" always has a "!" on the end of it. At least, it certainly did since childhood for me. Other examples: "No!" and "I told you, NO!".
There's a pretty strong negation in that character. It symbolizes alarm, that there's something wrong. I'd choose that character for negation.
Even now, whenever I see an exclamation mark, there is a sudden amygdalic spasm and a subconscious urge to pull back my hands and cover my mouth while I stare I what I shouldn't have been doing.
So where in a positive case, it might be ==
"yes, this", its !=
"no, NOT this!". i.e. Stop. ALARM Stop what? Stop 'this'.
Before I encountered coding (which isn't very much, btw) or logic (perhaps even less), I used to use "!" in handwritten notes for lab protocols ("caution", "error", etc, (but also, "activated") or as a shorthand for pain/physical injury in my training diaries.
!
as the array indexing operator. (The Development of the C Language)!
is the factorial function./=
or|=
would also work as approximations of≠
, but C uses those operators for other things.¬
(and the broken-pipe symbol) - but the US keyboard doesn't - so methinks if K&R had a British keyboard for some reason then we'd be using better symbology all around, especially in C-derived languages today :)