1. 8 (https://godbolt.org/z/Udcuj0)
2. 0 (https://godbolt.org/z/kZz1YQ)
3. -96 (https://godbolt.org/z/1Xq_Oo)
4. 1 (https://godbolt.org/z/MIo0s_)
5. 2 (https://godbolt.org/z/J0dsVW)
I agree, you can argue that it's unspecified, undefined, or whatever. It might not be well defined by the C specification, but none of these programs produce surprising output. Programming in the real world requires that you are able to read and write code like this, even if it requires that you investigate (and depend) the specific behaviour of your compiler/platform.