Rather than calling it sloppy, I would instead say types barely exist at all in C. A type in C is really just a transient label reminding you and the compiler how to interepret some block of 1's and 0's, which is the only true type.
The Python type system really has quite a lot of overhead compared to this :P
And as disgusted as you might be that is also part of it's strengths - allowing various optimizations and not having to focus too much on typing.