Выражение, оканчивающееся точкой с запятой, является оператором, т.е. наименьшей элементарной частью программы.
БНФ:
оператор = выражение ";"
Пример:
ab = ( c = d + 5 ) * 6; /* это оператор */
В дальнейшем будем строго придерживаться этой терминологии, т.е. выражением будем называть совокупность операндов, связанных операциями, а оператором - выражение заканчивающейся точкой с запятой.
При участии в арифметических операциях операндов разных типов, перед выполнением операции осуществляется преобразование типов так, чтобы не было потери точности. Затем осуществляется сама операция.
Типы данных в порядке возрастания точности:
char, short, int, long, float, double.
Пример:
int a, c;
float d, e;
e = d*(c+e); /* c будет преобразовано в float */
a = 'A' + 20; /* 'A' будет преобразовано в int */
В некоторых случаях правила преобразования типов не позволяют получить верный результат, например:
int a, b;
float c;
a = 7; b = 14;
c = a/b; /* результат 0 */
Для получения правильного результата можно поступить так
c = a; c = c/b;
А можно применить операцию преобразования типа:
БНФ:
преобразование_типа = "("имя_типа ")" выражение
имя_типа - название любого типа, в том числе и заданного программистом.
Для нашего примера применение операции преобразования типа будет выглядеть так:
c = (float)a / (float)b;
Операция преобразования типа имеет приоритет более высокий, чем арифметическая операция.
В любых арифметических выражениях можно использовать стандартные математические функции, которые можно применять к любым числовым операндам.
При использовании этих функций в программу необходимо включить файл <math.h>, т.е. необходимо использовать директиву #include <math.h> . При этом будут определены следующие функции: