Основано на:

Операторы

Оператор - это атомарная единица ЯП производящая вычисление.

Дополнительные операторы:

Операнды - это "аргумент" оператора. Операндом может быть любое выражение и литерал.

Порядок выполнения операторов

Выражение (Expression)

Выражение это последовательность операторов и их операндов, которые совершают некоторое вычисление. Выполнение выражения может произвести некоторый результат (например выполнение выражения 2+2 вернет значение 4) и может привести к side-эффекту. Так например вызов printf("%d", 4) напечатает в стандартном выводе символ 4.

Инструкция (Statement)

Инструкция - это единица императивного языка программирования, которая выражает некоторое действие, которое должно быть выполнено. Инструкции выполняются последовательно друг за другом. Например, тело функции это последовательность инструкций:

int main(void)
{ // start of a compound statement
    int n = 1; // declaration (not a statement)
    n = n+1; // expression statement
    printf("n = %d\\n", n); // expression statement
    return 0; // return statement
} // end of compound statement, end of function body

Различают 5 типов инструкций:

  1. compound statements - последовательность инструкций и объявлений заключенных в фигурные скобки. Блок позволяет сгруппировать последовательность инструкций и объявлений, чтобы этот блок было возможно использовать везде, где подразумевается использовать одну инструкцию. Например, в инструкции if или while.
  2. expression statements - Выражение, после которого стоит точка с запятой считается инструкцией.