Type conversion in C provides two methods: implicit type conversion which occurs automatically during expressions, and explicit type conversion using cast expressions. Implicit conversion occurs when different types are used in expressions, such as when an int is used in a calculation with a float. The usual arithmetic conversions implicitly promote operands to the smallest type that can accommodate both values. Explicit casting uses cast operators to force a type conversion.