"Андрей Богатырев. Руководство полного идиота по программированию (на языке Си)" - читать интересную книгу автора

-----|
/ x / |
--------|------
| 12 V |
---------------

Стало:
-----
/ x /
---------------
| 15 |
---------------

В переменной с тем же именем теперь находится новое значение,
она изменилась. Потому и "переменная".

В некоторых языках программирования, например в Pascal или Modula,
операция присваивания обозначается символом := а не =
Это уменьшает путаницу, но к смыслу = можно привыкнуть довольно быстро.
Не огорчайтесь.

В правой части значение переменной может использоваться несколько раз:

z = x * x + 2 * x;

Тут есть две переменные:

z - для результата.
x - уже имеющая какое-то значение.

x * x означает "умножить икс на икс" (при этом само значение,
лежащее в ящике икс не изменяется!)

x * 2 означает "взять два значения икс"

+ означает сложение.

Переменные надо ОБЪЯВЛЯТЬ.
Это необходимо потому, что иначе, если бы переменные вводились просто
использованием имени переменной, и мы вдруг допустили бы ОПЕЧАТКУ, например:

иднекс = 1;

вместо

индекс = 1;

то у нас появилась бы "лишняя" переменная "иднекс", а ожидаемое действие не
произошло бы. Такую ошибку найти черезвычайно тяжело. Если же переменные
надо объявлять, то необъявленные переменные будут выявлены еще на стадии