В выражениях языка Си допустимо смешение переменных разного типа. Приведем правила, использующиеся для автоматического приведения типов при вычислении арифметического выражения.
1. Все переменные типа char и short int преобразуются в int, все переменные типа float преобразуются в double.
2. Для любой пары операндов: если один из операндов long double, то и другой преобразуется в long double; если один из операндов double, то и другой преобразуется в double; если один из операндов long, то и другой преобразуется в long; если один из операндов unsigned, то и другой преобразуется в unsigned.
3. В операторе присваивания конечный результат приводится к типу переменной в левой части оператора присваивания.
Тип результата вычисления выражения можно изменить, используя конструкцию «приведение», имеющую следующий вид:
(тип) выражение,
где «тип» – один из стандартных типов данных языка Си.
Например, если необходимо, чтобы результат деления переменной х типа int на 2 был типа float, записываем
(float) x/2;