Abuse two's complement
A lot of expressions can be changed by (ab)using two's complement. Take this for example:
getchar()+1
If you need higher precedence, you can use this:
-~getchar()
Or, if you're using it as the condition for a loop, this can be used:
~getchar()
Additionally, instead of subtracting one after another subtraction:
a+b-1
you can add the bitwise-NOT of the second operand:
a+~b
This applies similarly to multiplication by 2:
2*(a-b)-1
can be shortened to:
a-b+a+~b