В чём разница между операндом и литералом?
Слово "литерал" переводится как "буквальный". Это объект, значение которого -- его буквальное значение. Например: "hello" -- это строковый литерал со значением "hello". Или 42 -- это целочисленный литерал со значением 42. Противоположностью литерала, в некотором смысле, является переменная. Переменная -- это объект, значение которого -- последнее присвоенное ему значение. Например: char a[] = "hello world"; a -- это строковая переменная, со значением "hello world". Или int answer = 40 + 2; answer -- целочисленная переменная со значением 42.
Операнд -- это аргумент операции. Во многих контекстах литералы и переменные могут быть операндами. Например: a[0]; операция здесь -- [], взятие элемента массива, операнды -- a и 0, один из них -- переменная, другой -- литерал.
Что говорит Wikipedia:
Литерал (англ. literal ) — запись в исходном коде компьютерной программы, представляющая собой фиксированное значение. Литералами также называют представление значения некоторого типа данных.
Опера́нд (англ. operand) в языках программирования ― аргумент операции; данные, которые обрабатываются командой; грамматическая конструкция, обозначающая выражение, задающее значение аргумента операции. Иногда операндом называют место, позицию в тексте, где должен стоять аргумент операции.
Делаем вывод - операнд и литерал - это не одно и то же.